From c490f89f2501491d2f4162498a02e335f07c8721 Mon Sep 17 00:00:00 2001 From: Gianmarco Fraccaroli Date: Wed, 5 Jul 2023 14:38:35 +0200 Subject: [PATCH 1/4] vp/masp: invalid condition, minor logs --- wasm/wasm_source/src/vp_masp.rs | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/wasm/wasm_source/src/vp_masp.rs b/wasm/wasm_source/src/vp_masp.rs index 6fa86b510c..5eef7ef295 100644 --- a/wasm/wasm_source/src/vp_masp.rs +++ b/wasm/wasm_source/src/vp_masp.rs @@ -168,21 +168,13 @@ fn validate_tx( shielded_tx.transparent_bundle().ok_or_err_msg( "Expected transparent outputs in unshielding transaction", )?; - if transp_bundle.vout.len() != 1 { - debug_log!( - "Transparent output to a transaction from the masp must \ - be 1 but is {}", - transp_bundle.vin.len() - ); - return reject(); - } let out_length = transp_bundle.vout.len(); if !(1..=4).contains(&out_length) { debug_log!( "Transparent output to a transaction to the masp must be \ beteween 1 and 4 but is {}", - transp_bundle.vin.len() + transp_bundle.vout.len() ); return reject(); @@ -264,7 +256,7 @@ fn validate_tx( debug_log!( "Transparent output to a transaction from the masp \ must be 0 but is {}", - transp_bundle.vin.len() + transp_bundle.vout.len() ); return reject(); } From 9a319d333a26c1cb718788b02134868ba730f672 Mon Sep 17 00:00:00 2001 From: Gianmarco Fraccaroli Date: Wed, 5 Jul 2023 15:21:51 +0200 Subject: [PATCH 2/4] e2e/masp_incentives: wait for first epoch --- tests/src/e2e/ledger_tests.rs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/tests/src/e2e/ledger_tests.rs b/tests/src/e2e/ledger_tests.rs index 4593bf50e1..29e5213fbd 100644 --- a/tests/src/e2e/ledger_tests.rs +++ b/tests/src/e2e/ledger_tests.rs @@ -1049,7 +1049,7 @@ fn masp_incentives() -> Result<()> { |genesis| { let parameters = ParametersConfig { epochs_per_year: epochs_per_year_from_min_duration( - if is_debug_mode() { 240 } else { 60 }, + if is_debug_mode() { 340 } else { 85 }, ), min_num_of_blocks: 1, ..genesis.parameters @@ -1073,7 +1073,7 @@ fn masp_incentives() -> Result<()> { let validator_one_rpc = get_actor_rpc(&test, &Who::Validator(0)); // Wait till epoch boundary - let ep0 = get_epoch(&test, &validator_one_rpc)?; + let ep0 = epoch_sleep(&test, &validator_one_rpc, 720)?; // Send 20 BTC from Albert to PA(A) let mut client = run!( @@ -1453,7 +1453,7 @@ fn masp_incentives() -> Result<()> { client.exp_string("No shielded eth balance found")?; client.assert_success(); - let mut ep = get_epoch(&test, &validator_one_rpc)?; + // let mut ep = get_epoch(&test, &validator_one_rpc)?; // Assert NAM balance at VK(B) is 10*ETH_reward*(ep-epoch_3) let mut client = run!( @@ -1470,7 +1470,7 @@ fn masp_incentives() -> Result<()> { ], Some(60) )?; - let amt = (amt10 * masp_rewards[&(eth(), None)]).0 * (ep.0 - ep3.0); + let amt = (amt10 * masp_rewards[&(eth(), None)]).0 * (ep5.0 - ep3.0); let denominated = DenominatedAmount { amount: amt, denom: NATIVE_MAX_DECIMAL_PLACES.into(), @@ -1478,7 +1478,7 @@ fn masp_incentives() -> Result<()> { client.exp_string(&format!("nam: {}", denominated,))?; client.assert_success(); - ep = get_epoch(&test, &validator_one_rpc)?; + // ep = get_epoch(&test, &validator_one_rpc)?; // Assert NAM balance at MASP pool is // 20*BTC_reward*(epoch_5-epoch_0)+10*ETH_reward*(epoch_5-epoch_3) let mut client = run!( @@ -1495,8 +1495,8 @@ fn masp_incentives() -> Result<()> { ], Some(60) )?; - let amt = ((amt20 * masp_rewards[&(btc(), None)]).0 * (ep.0 - ep0.0)) - + ((amt10 * masp_rewards[&(eth(), None)]).0 * (ep.0 - ep3.0)); + let amt = ((amt20 * masp_rewards[&(btc(), None)]).0 * (ep5.0 - ep0.0)) + + ((amt10 * masp_rewards[&(eth(), None)]).0 * (ep5.0 - ep3.0)); let denominated = DenominatedAmount { amount: amt, denom: NATIVE_MAX_DECIMAL_PLACES.into(), From 6abfb491d46d2ae5d2b781a2dec79e1e8ea978e2 Mon Sep 17 00:00:00 2001 From: Gianmarco Fraccaroli Date: Thu, 6 Jul 2023 17:20:14 +0200 Subject: [PATCH 3/4] e2e/masp: fix masp_txs_and_queries --- tests/src/e2e/ledger_tests.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/src/e2e/ledger_tests.rs b/tests/src/e2e/ledger_tests.rs index 29e5213fbd..f7d7ad40b0 100644 --- a/tests/src/e2e/ledger_tests.rs +++ b/tests/src/e2e/ledger_tests.rs @@ -645,6 +645,8 @@ fn masp_txs_and_queries() -> Result<()> { let validator_one_rpc = get_actor_rpc(&test, &Who::Validator(0)); + let _ep1 = epoch_sleep(&test, &validator_one_rpc, 720)?; + let txs_args = vec![ // 2. Attempt to spend 10 BTC at SK(A) to PA(B) ( From 053a8f7c00794b22051f6cbc4955534e8ab8960e Mon Sep 17 00:00:00 2001 From: brentstone Date: Thu, 6 Jul 2023 20:46:16 +0200 Subject: [PATCH 4/4] e2e: fix test_genesis_validators --- tests/src/e2e/ledger_tests.rs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tests/src/e2e/ledger_tests.rs b/tests/src/e2e/ledger_tests.rs index f7d7ad40b0..c931c1fb6b 100644 --- a/tests/src/e2e/ledger_tests.rs +++ b/tests/src/e2e/ledger_tests.rs @@ -4104,6 +4104,11 @@ fn test_genesis_validators() -> Result<()> { wait_for_wasm_pre_compile(&mut validator_1)?; wait_for_wasm_pre_compile(&mut non_validator)?; + // Wait for a first block + validator_0.exp_string("Committed block hash")?; + validator_1.exp_string("Committed block hash")?; + non_validator.exp_string("Committed block hash")?; + let bg_validator_0 = validator_0.background(); let bg_validator_1 = validator_1.background(); let _bg_non_validator = non_validator.background();