Skip to content

Commit a90febc

Browse files
committed
Update tx test vector generation code
1 parent aef297b commit a90febc

File tree

2 files changed

+36
-25
lines changed

2 files changed

+36
-25
lines changed

crates/sdk/src/lib.rs

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1124,9 +1124,11 @@ pub mod testing {
11241124
arb in prop_oneof![
11251125
arb_transparent_transfer(..5).prop_map(|xfer| (xfer, None)),
11261126
arb_shielded_transfer(0..MAX_ASSETS)
1127-
.prop_map(|(w, x, y, z)| (w, Some((x, y, z))))
1127+
.prop_map(|(xfer, masp_tx, asset_types, params, fmd_sec)| {
1128+
(xfer, Some((masp_tx, asset_types, params, fmd_sec)))
1129+
})
11281130
],
1129-
) -> (Transfer, Option<(ShieldedTransfer, HashMap<AssetData, u64>, StoredBuildParams)>) {
1131+
) -> (Transfer, Option<(ShieldedTransfer, HashMap<AssetData, u64>, StoredBuildParams, Section)>) {
11301132
arb
11311133
}
11321134
}
@@ -1143,12 +1145,10 @@ pub mod testing {
11431145
let mut tx = Tx { header, sections: vec![] };
11441146
tx.add_code_from_hash(code_hash, Some(TX_TRANSFER_WASM.to_owned()));
11451147
tx.add_data(transfer.clone());
1146-
if let Some((shielded_transfer, asset_types, build_params)) = aux {
1148+
if let Some((shielded_transfer, asset_types, build_params, fmd_sec)) = aux {
11471149
let shielded_section_hash =
11481150
tx.add_masp_tx_section(shielded_transfer.masp_tx).1;
1149-
tx.add_fmd_flag_ciphertexts(
1150-
&shielded_transfer.fmd_flags,
1151-
);
1151+
tx.add_section(fmd_sec);
11521152
tx.add_masp_builder(MaspBuilder {
11531153
asset_types: asset_types.into_keys().collect(),
11541154
// Store how the Info objects map to Descriptors/Outputs
@@ -1535,7 +1535,7 @@ pub mod testing {
15351535
transfer_aux in option::of(arb_transfer()),
15361536
) -> (
15371537
MsgTransfer<token::Transfer>,
1538-
Option<(ShieldedTransfer, HashMap<AssetData, u64>, StoredBuildParams)>,
1538+
Option<(ShieldedTransfer, HashMap<AssetData, u64>, StoredBuildParams, Section)>,
15391539
) {
15401540
if let Some((transfer, aux)) = transfer_aux {
15411541
(MsgTransfer { message, transfer: Some(transfer) }, aux)
@@ -1557,9 +1557,10 @@ pub mod testing {
15571557
let mut tx = Tx { header, sections: vec![] };
15581558
tx.add_serialized_data(msg_transfer.serialize_to_vec());
15591559
tx.add_code_from_hash(code_hash, Some(TX_IBC_WASM.to_owned()));
1560-
if let Some((shielded_transfer, asset_types, build_params)) = aux {
1560+
if let Some((shielded_transfer, asset_types, build_params, fmd_sec)) = aux {
15611561
let shielded_section_hash =
15621562
tx.add_masp_tx_section(shielded_transfer.masp_tx).1;
1563+
tx.add_section(fmd_sec);
15631564
tx.add_masp_builder(MaspBuilder {
15641565
asset_types: asset_types.into_keys().collect(),
15651566
// Store how the Info objects map to Descriptors/Outputs
@@ -1585,7 +1586,7 @@ pub mod testing {
15851586
transfer_aux in option::of(arb_transfer()),
15861587
) -> (
15871588
MsgNftTransfer<token::Transfer>,
1588-
Option<(ShieldedTransfer, HashMap<AssetData, u64>, StoredBuildParams)>,
1589+
Option<(ShieldedTransfer, HashMap<AssetData, u64>, StoredBuildParams, Section)>,
15891590
) {
15901591
if let Some((transfer, aux)) = transfer_aux {
15911592
(MsgNftTransfer { message, transfer: Some(transfer) }, aux)
@@ -1607,9 +1608,10 @@ pub mod testing {
16071608
let mut tx = Tx { header, sections: vec![] };
16081609
tx.add_serialized_data(msg_transfer.serialize_to_vec());
16091610
tx.add_code_from_hash(code_hash, Some(TX_IBC_WASM.to_owned()));
1610-
if let Some((shielded_transfer, asset_types, build_params)) = aux {
1611+
if let Some((shielded_transfer, asset_types, build_params, fmd_sec)) = aux {
16111612
let shielded_section_hash =
16121613
tx.add_masp_tx_section(shielded_transfer.masp_tx).1;
1614+
tx.add_section(fmd_sec);
16131615
tx.add_masp_builder(MaspBuilder {
16141616
asset_types: asset_types.into_keys().collect(),
16151617
// Store how the Info objects map to Descriptors/Outputs

crates/token/src/lib.rs

Lines changed: 24 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -522,7 +522,13 @@ pub mod testing {
522522
prover_rng in arb_rng().prop_map(TestCsprng),
523523
mut rng in arb_rng().prop_map(TestCsprng),
524524
bparams_rng in arb_rng().prop_map(TestCsprng),
525-
) -> (Transfer, ShieldedTransfer, HashMap<AssetData, u64>, StoredBuildParams) {
525+
) -> (
526+
Transfer,
527+
ShieldedTransfer,
528+
HashMap<AssetData, u64>,
529+
StoredBuildParams,
530+
namada_tx::Section,
531+
) {
526532
let mut rng_build_params = RngBuildParams::new(bparams_rng);
527533
let (masp_tx, metadata) = builder.clone().build(
528534
&MockTxProver(Mutex::new(prover_rng)),
@@ -535,23 +541,26 @@ pub mod testing {
535541
)
536542
.take(builder.sapling_outputs().len())
537543
.collect();
538-
let fmd_sechash = {
539-
let sec = namada_tx::Section::ExtraData(
540-
namada_tx::Code::from_borsh_encoded(&fmd_flags),
541-
);
542-
sec.get_hash()
543-
};
544+
let fmd_sec = namada_tx::Section::ExtraData(
545+
namada_tx::Code::from_borsh_encoded(&fmd_flags),
546+
);
544547
transfer.shielded_data = Some(MaspTxData {
545548
masp_tx_id: masp_tx.txid().into(),
546-
flag_ciphertext_sechash: fmd_sechash,
549+
flag_ciphertext_sechash: fmd_sec.get_hash(),
547550
});
548-
(transfer, ShieldedTransfer {
549-
builder: builder.map_builder(WalletMap),
550-
metadata,
551-
masp_tx,
552-
epoch,
553-
fmd_flags,
554-
}, asset_types, rng_build_params.to_stored().unwrap())
551+
(
552+
transfer,
553+
ShieldedTransfer {
554+
builder: builder.map_builder(WalletMap),
555+
metadata,
556+
masp_tx,
557+
epoch,
558+
fmd_flags,
559+
},
560+
asset_types,
561+
rng_build_params.to_stored().unwrap(),
562+
fmd_sec,
563+
)
555564
}
556565
}
557566
}

0 commit comments

Comments
 (0)