Skip to content

Commit a6ff93d

Browse files
author
Lech Głowiak
committed
WIP
1 parent a174754 commit a6ff93d

File tree

1 file changed

+13
-2
lines changed
  • toolkit/smart-contracts/offchain/src/bridge

1 file changed

+13
-2
lines changed

toolkit/smart-contracts/offchain/src/bridge/deposit.rs

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,9 @@ use crate::{
1616
},
1717
};
1818
use cardano_serialization_lib::{
19-
Address, AssetName, BigNum, MultiAsset, PlutusData, ScriptHash, Transaction,
20-
TransactionBuilder, TransactionOutputBuilder, TxInputsBuilder,
19+
Address, AssetName, BigNum, JsError, MetadataMap, MultiAsset, PlutusData, ScriptHash,
20+
Transaction, TransactionBuilder, TransactionMetadatum, TransactionOutputBuilder,
21+
TxInputsBuilder,
2122
};
2223
use ogmios_client::{
2324
query_ledger_state::{QueryLedgerState, QueryUtxoByUtxoId},
@@ -103,6 +104,7 @@ fn deposit_only_tx(
103104
.with_address(ics_address)
104105
.with_plutus_data(&to_user_transfer_datum(pc_address))
105106
.next()?;
107+
tx_builder.add_metadatum(&0u64.into(), &to_user_transfer_metadatum(pc_address)?);
106108
let ma = MultiAsset::new().with_asset_amount(&token_amount.token, token_amount.amount)?;
107109
let output = output_builder.with_minimum_ada_and_asset(&ma, ctx)?.build()?;
108110
tx_builder.add_output(&output)?;
@@ -240,3 +242,12 @@ fn deposit_tx(
240242
fn to_user_transfer_datum(pc_address: &[u8]) -> PlutusData {
241243
TokenTransferDatumV1::UserTransfer { receiver: ByteString(pc_address.to_vec()) }.into()
242244
}
245+
246+
fn to_user_transfer_metadatum(pc_address: &[u8]) -> Result<TransactionMetadatum, JsError> {
247+
let mut map = MetadataMap::new();
248+
map.insert(
249+
&TransactionMetadatum::new_text("receiver".to_string())?,
250+
&TransactionMetadatum::new_bytes(pc_address.to_vec())?,
251+
);
252+
Ok(TransactionMetadatum::new_map(&map))
253+
}

0 commit comments

Comments
 (0)