diff --git a/.changelog/unreleased/improvements/1636-disable-encryption.md b/.changelog/unreleased/improvements/1636-disable-encryption.md new file mode 100644 index 0000000000..7a407171d4 --- /dev/null +++ b/.changelog/unreleased/improvements/1636-disable-encryption.md @@ -0,0 +1,2 @@ +- Disable encryption when sending transactions + ([\#1636](https://github.com/anoma/namada/pull/1636)) \ No newline at end of file diff --git a/apps/src/lib/client/tx.rs b/apps/src/lib/client/tx.rs index 3fb7d06cf6..93ca4479a6 100644 --- a/apps/src/lib/client/tx.rs +++ b/apps/src/lib/client/tx.rs @@ -1180,4 +1180,4 @@ mod test_tx { // MaspDenom::One // assert_eq!(zero.abs(), Uint::zero()); } -} \ No newline at end of file +} diff --git a/apps/src/lib/node/ledger/shell/finalize_block.rs b/apps/src/lib/node/ledger/shell/finalize_block.rs index 13796ebb88..1c4a78871c 100644 --- a/apps/src/lib/node/ledger/shell/finalize_block.rs +++ b/apps/src/lib/node/ledger/shell/finalize_block.rs @@ -992,9 +992,8 @@ mod test_finalize_block { wrapper.set_code(Code::new( format!("transaction data: {}", i).as_bytes().to_owned(), )); - wrapper.encrypt(&Default::default()); wrapper.add_section(Section::Signature(Signature::new( - vec![wrapper.header_hash(), wrapper.sections[0].get_hash()], + wrapper.sechashes(), &keypair, ))); if i > 1 { @@ -1067,7 +1066,6 @@ mod test_finalize_block { outer_tx.set_data(Data::new( String::from("transaction data").as_bytes().to_owned(), )); - outer_tx.encrypt(&Default::default()); shell.enqueue_tx(outer_tx.clone()); outer_tx.update_header(TxType::Decrypted(DecryptedTx::Decrypted { @@ -1193,7 +1191,6 @@ mod test_finalize_block { .as_bytes() .to_owned(), )); - outer_tx.encrypt(&Default::default()); shell.enqueue_tx(outer_tx.clone()); outer_tx.update_header(TxType::Decrypted(DecryptedTx::Decrypted { #[cfg(not(feature = "mainnet"))] @@ -1230,12 +1227,8 @@ mod test_finalize_block { .as_bytes() .to_owned(), )); - wrapper_tx.encrypt(&Default::default()); wrapper_tx.add_section(Section::Signature(Signature::new( - vec![ - wrapper_tx.header_hash(), - wrapper_tx.sections[0].get_hash(), - ], + wrapper_tx.sechashes(), &keypair, ))); valid_txs.push(wrapper_tx.clone()); @@ -1778,7 +1771,6 @@ mod test_finalize_block { "Encrypted transaction data".as_bytes().to_owned(), )); let mut decrypted_tx = wrapper_tx.clone(); - wrapper_tx.encrypt(&Default::default()); decrypted_tx.update_header(TxType::Decrypted(DecryptedTx::Decrypted { #[cfg(not(feature = "mainnet"))] diff --git a/apps/src/lib/node/ledger/shell/mod.rs b/apps/src/lib/node/ledger/shell/mod.rs index be1cbc8513..29ddeaf7aa 100644 --- a/apps/src/lib/node/ledger/shell/mod.rs +++ b/apps/src/lib/node/ledger/shell/mod.rs @@ -1272,7 +1272,6 @@ mod test_utils { wrapper.header.chain_id = shell.chain_id.clone(); wrapper.set_code(Code::new("wasm_code".as_bytes().to_owned())); wrapper.set_data(Data::new("transaction data".as_bytes().to_owned())); - wrapper.encrypt(&Default::default()); shell.wl_storage.storage.tx_queue.push(TxInQueue { tx: wrapper, @@ -1341,7 +1340,6 @@ mod test_mempool_validate { unsigned_wrapper.set_code(Code::new("wasm_code".as_bytes().to_owned())); unsigned_wrapper .set_data(Data::new("transaction data".as_bytes().to_owned())); - unsigned_wrapper.encrypt(&Default::default()); let mut result = shell.mempool_validate( unsigned_wrapper.to_bytes().as_ref(), @@ -1378,12 +1376,8 @@ mod test_mempool_validate { invalid_wrapper.set_code(Code::new("wasm_code".as_bytes().to_owned())); invalid_wrapper .set_data(Data::new("transaction data".as_bytes().to_owned())); - invalid_wrapper.encrypt(&Default::default()); invalid_wrapper.add_section(Section::Signature(Signature::new( - vec![ - invalid_wrapper.header_hash(), - invalid_wrapper.sections[0].get_hash(), - ], + invalid_wrapper.sechashes(), &keypair, ))); @@ -1446,9 +1440,8 @@ mod test_mempool_validate { wrapper.header.chain_id = shell.chain_id.clone(); wrapper.set_code(Code::new("wasm_code".as_bytes().to_owned())); wrapper.set_data(Data::new("transaction data".as_bytes().to_owned())); - wrapper.encrypt(&Default::default()); wrapper.add_section(Section::Signature(Signature::new( - vec![wrapper.header_hash(), wrapper.sections[0].get_hash()], + wrapper.sechashes(), &keypair, ))); diff --git a/apps/src/lib/node/ledger/shell/prepare_proposal.rs b/apps/src/lib/node/ledger/shell/prepare_proposal.rs index 2cce0e53b9..5db83745dd 100644 --- a/apps/src/lib/node/ledger/shell/prepare_proposal.rs +++ b/apps/src/lib/node/ledger/shell/prepare_proposal.rs @@ -328,7 +328,6 @@ mod test_prepare_proposal { wrapper.header.chain_id = shell.chain_id.clone(); wrapper.set_code(Code::new("wasm_code".as_bytes().to_owned())); wrapper.set_data(Data::new("transaction_data".as_bytes().to_owned())); - wrapper.encrypt(&Default::default()); let wrapper = wrapper.to_bytes(); #[allow(clippy::redundant_clone)] let req = RequestPrepareProposal { @@ -371,9 +370,8 @@ mod test_prepare_proposal { tx.set_data(Data::new( format!("transaction data: {}", i).as_bytes().to_owned(), )); - tx.encrypt(&Default::default()); tx.add_section(Section::Signature(Signature::new( - vec![tx.header_hash(), tx.sections[0].get_hash()], + tx.sechashes(), &keypair, ))); @@ -438,9 +436,8 @@ mod test_prepare_proposal { wrapper.header.chain_id = shell.chain_id.clone(); wrapper.set_code(Code::new("wasm_code".as_bytes().to_owned())); wrapper.set_data(Data::new("transaction data".as_bytes().to_owned())); - wrapper.encrypt(&Default::default()); wrapper.add_section(Section::Signature(Signature::new( - vec![wrapper.header_hash(), wrapper.sections[0].get_hash()], + wrapper.sechashes(), &keypair, ))); @@ -490,9 +487,8 @@ mod test_prepare_proposal { wrapper.header.chain_id = shell.chain_id.clone(); wrapper.set_code(Code::new("wasm_code".as_bytes().to_owned())); wrapper.set_data(Data::new("transaction data".as_bytes().to_owned())); - wrapper.encrypt(&Default::default()); wrapper.add_section(Section::Signature(Signature::new( - vec![wrapper.header_hash(), wrapper.sections[0].get_hash()], + wrapper.sechashes(), &keypair, ))); @@ -531,9 +527,8 @@ mod test_prepare_proposal { wrapper.header.chain_id = shell.chain_id.clone(); wrapper.set_code(Code::new("wasm_code".as_bytes().to_owned())); wrapper.set_data(Data::new("transaction data".as_bytes().to_owned())); - wrapper.encrypt(&Default::default()); wrapper.add_section(Section::Signature(Signature::new( - vec![wrapper.header_hash(), wrapper.sections[0].get_hash()], + wrapper.sechashes(), &keypair, ))); let inner_unsigned_hash = @@ -586,9 +581,8 @@ mod test_prepare_proposal { wrapper.set_code(tx_code.clone()); let tx_data = Data::new("transaction data".as_bytes().to_owned()); wrapper.set_data(tx_data.clone()); - wrapper.encrypt(&Default::default()); wrapper.add_section(Section::Signature(Signature::new( - vec![wrapper.header_hash(), wrapper.sections[0].get_hash()], + wrapper.sechashes(), &keypair, ))); @@ -608,12 +602,8 @@ mod test_prepare_proposal { new_wrapper.header.timestamp = wrapper.header.timestamp; new_wrapper.set_code(tx_code); new_wrapper.set_data(tx_data); - new_wrapper.encrypt(&Default::default()); new_wrapper.add_section(Section::Signature(Signature::new( - vec![ - new_wrapper.header_hash(), - new_wrapper.sections[0].get_hash(), - ], + wrapper.sechashes(), &keypair, ))); @@ -654,9 +644,8 @@ mod test_prepare_proposal { wrapper_tx.set_code(Code::new("wasm_code".as_bytes().to_owned())); wrapper_tx .set_data(Data::new("transaction data".as_bytes().to_owned())); - wrapper_tx.encrypt(&Default::default()); wrapper_tx.add_section(Section::Signature(Signature::new( - vec![wrapper_tx.header_hash(), wrapper_tx.sections[0].get_hash()], + wrapper_tx.sechashes(), &keypair, ))); diff --git a/apps/src/lib/node/ledger/shell/process_proposal.rs b/apps/src/lib/node/ledger/shell/process_proposal.rs index 2008abf33c..ced79d2485 100644 --- a/apps/src/lib/node/ledger/shell/process_proposal.rs +++ b/apps/src/lib/node/ledger/shell/process_proposal.rs @@ -549,7 +549,6 @@ mod test_process_proposal { outer_tx.header.chain_id = shell.chain_id.clone(); outer_tx.set_code(Code::new("wasm_code".as_bytes().to_owned())); outer_tx.set_data(Data::new("transaction data".as_bytes().to_owned())); - outer_tx.encrypt(&Default::default()); let tx = outer_tx.to_bytes(); #[allow(clippy::redundant_clone)] let request = ProcessProposal { @@ -594,9 +593,8 @@ mod test_process_proposal { outer_tx.header.chain_id = shell.chain_id.clone(); outer_tx.set_code(Code::new("wasm_code".as_bytes().to_owned())); outer_tx.set_data(Data::new("transaction data".as_bytes().to_owned())); - outer_tx.encrypt(&Default::default()); outer_tx.add_section(Section::Signature(Signature::new( - vec![outer_tx.header_hash(), outer_tx.sections[0].get_hash()], + outer_tx.sechashes(), &keypair, ))); let mut new_tx = outer_tx.clone(); @@ -658,9 +656,8 @@ mod test_process_proposal { outer_tx.header.chain_id = shell.chain_id.clone(); outer_tx.set_code(Code::new("wasm_code".as_bytes().to_owned())); outer_tx.set_data(Data::new("transaction data".as_bytes().to_owned())); - outer_tx.encrypt(&Default::default()); outer_tx.add_section(Section::Signature(Signature::new( - vec![outer_tx.header_hash(), outer_tx.sections[0].get_hash()], + outer_tx.sechashes(), &keypair, ))); @@ -725,9 +722,8 @@ mod test_process_proposal { outer_tx.header.chain_id = shell.chain_id.clone(); outer_tx.set_code(Code::new("wasm_code".as_bytes().to_owned())); outer_tx.set_data(Data::new("transaction data".as_bytes().to_owned())); - outer_tx.encrypt(&Default::default()); outer_tx.add_section(Section::Signature(Signature::new( - vec![outer_tx.header_hash(), outer_tx.sections[0].get_hash()], + outer_tx.sechashes(), &keypair, ))); @@ -778,7 +774,6 @@ mod test_process_proposal { outer_tx.set_data(Data::new( format!("transaction data: {}", i).as_bytes().to_owned(), )); - outer_tx.encrypt(&Default::default()); shell.enqueue_tx(outer_tx.clone()); outer_tx.update_header(TxType::Decrypted(DecryptedTx::Decrypted { @@ -835,7 +830,6 @@ mod test_process_proposal { tx.header.chain_id = shell.chain_id.clone(); tx.set_code(Code::new("wasm_code".as_bytes().to_owned())); tx.set_data(Data::new("transaction data".as_bytes().to_owned())); - tx.encrypt(&Default::default()); shell.enqueue_tx(tx.clone()); tx.header.tx_type = TxType::Decrypted(DecryptedTx::Undecryptable); @@ -885,7 +879,6 @@ mod test_process_proposal { tx.set_data(Data::new("transaction data".as_bytes().to_owned())); tx.set_code_sechash(Hash([0u8; 32])); tx.set_data_sechash(Hash([0u8; 32])); - tx.encrypt(&Default::default()); shell.enqueue_tx(tx.clone()); @@ -1034,9 +1027,8 @@ mod test_process_proposal { wrapper.header.chain_id = shell.chain_id.clone(); wrapper.set_data(Data::new("transaction data".as_bytes().to_owned())); wrapper.set_code(Code::new("wasm_code".as_bytes().to_owned())); - wrapper.encrypt(&Default::default()); wrapper.add_section(Section::Signature(Signature::new( - vec![wrapper.header_hash(), wrapper.sections[0].get_hash()], + wrapper.sechashes(), &keypair, ))); @@ -1109,9 +1101,8 @@ mod test_process_proposal { wrapper.header.chain_id = shell.chain_id.clone(); wrapper.set_code(Code::new("wasm_code".as_bytes().to_owned())); wrapper.set_data(Data::new("transaction data".as_bytes().to_owned())); - wrapper.encrypt(&Default::default()); wrapper.add_section(Section::Signature(Signature::new( - vec![wrapper.header_hash(), wrapper.sections[0].get_hash()], + wrapper.sechashes(), &keypair, ))); @@ -1167,9 +1158,8 @@ mod test_process_proposal { wrapper.header.chain_id = shell.chain_id.clone(); wrapper.set_code(Code::new("wasm_code".as_bytes().to_owned())); wrapper.set_data(Data::new("transaction data".as_bytes().to_owned())); - wrapper.encrypt(&Default::default()); wrapper.add_section(Section::Signature(Signature::new( - vec![wrapper.header_hash(), wrapper.sections[0].get_hash()], + wrapper.sechashes(), &keypair, ))); let inner_unsigned_hash = @@ -1258,9 +1248,8 @@ mod test_process_proposal { wrapper.set_code(Code::new("wasm_code".as_bytes().to_owned())); wrapper.set_data(Data::new("transaction data".as_bytes().to_owned())); let mut new_wrapper = wrapper.clone(); - wrapper.encrypt(&Default::default()); wrapper.add_section(Section::Signature(Signature::new( - vec![wrapper.header_hash(), wrapper.sections[0].get_hash()], + wrapper.sechashes(), &keypair, ))); let inner_unsigned_hash = @@ -1277,12 +1266,8 @@ mod test_process_proposal { #[cfg(not(feature = "mainnet"))] None, )))); - new_wrapper.encrypt(&Default::default()); new_wrapper.add_section(Section::Signature(Signature::new( - vec![ - new_wrapper.header_hash(), - new_wrapper.sections[0].get_hash(), - ], + new_wrapper.sechashes(), &keypair, ))); @@ -1333,9 +1318,8 @@ mod test_process_proposal { wrapper.set_code(Code::new("wasm_code".as_bytes().to_owned())); wrapper.set_data(Data::new("transaction data".as_bytes().to_owned())); let mut protocol_tx = wrapper.clone(); - wrapper.encrypt(&Default::default()); wrapper.add_section(Section::Signature(Signature::new( - vec![wrapper.header_hash(), wrapper.sections[0].get_hash()], + wrapper.sechashes(), &keypair, ))); @@ -1401,17 +1385,12 @@ mod test_process_proposal { wrapper .set_data(Data::new("new transaction data".as_bytes().to_owned())); let mut decrypted = wrapper.clone(); - wrapper.encrypt(&Default::default()); decrypted.update_header(TxType::Decrypted(DecryptedTx::Decrypted { has_valid_pow: false, })); decrypted.add_section(Section::Signature(Signature::new( - vec![ - decrypted.header_hash(), - decrypted.sections[0].get_hash(), - decrypted.sections[1].get_hash(), - ], + decrypted.sechashes(), &keypair, ))); let wrapper_in_queue = TxInQueue { @@ -1465,9 +1444,8 @@ mod test_process_proposal { wrapper.header.expiration = Some(DateTimeUtc::now()); wrapper.set_code(Code::new("wasm_code".as_bytes().to_owned())); wrapper.set_data(Data::new("transaction data".as_bytes().to_owned())); - wrapper.encrypt(&Default::default()); wrapper.add_section(Section::Signature(Signature::new( - vec![wrapper.header_hash(), wrapper.sections[0].get_hash()], + wrapper.sechashes(), &keypair, ))); @@ -1510,17 +1488,12 @@ mod test_process_proposal { wrapper .set_data(Data::new("new transaction data".as_bytes().to_owned())); let mut decrypted = wrapper.clone(); - wrapper.encrypt(&Default::default()); decrypted.update_header(TxType::Decrypted(DecryptedTx::Decrypted { has_valid_pow: false, })); decrypted.add_section(Section::Signature(Signature::new( - vec![ - decrypted.header_hash(), - decrypted.sections[0].get_hash(), - decrypted.sections[1].get_hash(), - ], + decrypted.sechashes(), &keypair, ))); let wrapper_in_queue = TxInQueue { diff --git a/core/src/types/transaction/mod.rs b/core/src/types/transaction/mod.rs index cfeed3ed75..fc7c09de4e 100644 --- a/core/src/types/transaction/mod.rs +++ b/core/src/types/transaction/mod.rs @@ -331,9 +331,8 @@ mod test_process_tx { )))); tx.set_code(Code::new("wasm code".as_bytes().to_owned())); tx.set_data(Data::new("transaction data".as_bytes().to_owned())); - tx.encrypt(&Default::default()); tx.add_section(Section::Signature(Signature::new( - vec![tx.header_hash(), tx.sections[0].get_hash()], + tx.sechashes(), &keypair, ))); @@ -367,7 +366,6 @@ mod test_process_tx { )))); tx.set_code(Code::new("wasm code".as_bytes().to_owned())); tx.set_data(Data::new("transaction data".as_bytes().to_owned())); - tx.encrypt(&Default::default()); let result = tx.validate_tx().expect_err("Test failed"); assert_matches!(result, TxError::SigError(_)); } diff --git a/core/src/types/transaction/wrapper.rs b/core/src/types/transaction/wrapper.rs index 95529e6be6..1bbfceadc2 100644 --- a/core/src/types/transaction/wrapper.rs +++ b/core/src/types/transaction/wrapper.rs @@ -446,6 +446,10 @@ pub mod wrapper_tx { tx.set_code(Code::new("wasm code".as_bytes().to_owned())); tx.set_data(Data::new("transaction data".as_bytes().to_owned())); + tx.add_section(Section::Signature(Signature::new( + tx.sechashes(), + &keypair, + ))); // we now try to alter the inner tx maliciously // malicious transaction @@ -453,12 +457,6 @@ pub mod wrapper_tx { // We change the commitment appropriately let malicious = "Give me all the money".as_bytes().to_owned(); tx.set_data(Data::new(malicious.clone())); - tx.encrypt(&Default::default()); - - tx.add_section(Section::Signature(Signature::new( - vec![tx.header_hash(), tx.sections[0].get_hash()], - &keypair, - ))); // we check ciphertext validity still passes assert!(tx.validate_ciphertext()); diff --git a/shared/src/ledger/signing.rs b/shared/src/ledger/signing.rs index 775a2c6b6c..b6b06f0dae 100644 --- a/shared/src/ledger/signing.rs +++ b/shared/src/ledger/signing.rs @@ -219,8 +219,6 @@ pub async fn sign_tx( ))); // Remove all the sensitive sections tx.protocol_filter(); - // Encrypt all sections not relating to the header - tx.encrypt(&Default::default()); // Then sign over the bound wrapper tx.add_section(Section::Signature(Signature::new( tx.sechashes(), @@ -499,8 +497,6 @@ pub async fn sign_wrapper< // Remove all the sensitive sections tx.protocol_filter(); - // Encrypt all sections not relating to the header - tx.encrypt(&Default::default()); // Then sign over the bound wrapper committing to all other sections tx.add_section(Section::Signature(Signature::new(tx.sechashes(), keypair))); // We use this to determine when the wrapper tx makes it on-chain diff --git a/shared/src/ledger/tx.rs b/shared/src/ledger/tx.rs index 894887eeaa..1c2e8ee5d8 100644 --- a/shared/src/ledger/tx.rs +++ b/shared/src/ledger/tx.rs @@ -287,8 +287,6 @@ pub async fn process_tx< if args.dry_run { expect_dry_broadcast(TxBroadcastData::DryRun(tx), client).await } else { - // Encrypt all sections not relating to the header - tx.encrypt(&Default::default()); // We use this to determine when the wrapper tx makes it on-chain let wrapper_hash = tx.header_hash().to_string(); // We use this to determine when the decrypted inner tx makes it diff --git a/wasm/checksums.json b/wasm/checksums.json index 68000e2f7d..42c6ffae5c 100644 --- a/wasm/checksums.json +++ b/wasm/checksums.json @@ -1,21 +1,21 @@ { - "tx_bond.wasm": "tx_bond.cc32955f1d4db4a3da181422d18a7f957f9621b6741f89833368c4401f906a4b.wasm", - "tx_change_validator_commission.wasm": "tx_change_validator_commission.204e819544ae9ea6a3b1da4737eb7d17c4cdf2b9a13a2ebca0437abaee8aa93c.wasm", - "tx_ibc.wasm": "tx_ibc.e4900783fd0432da76a4d8670e6fb4c8ffbbbbafcd6f7c297470b1fb2101e89c.wasm", - "tx_init_account.wasm": "tx_init_account.804728adb12afd263bb2e85bee2d54b6075fc5dbac960cfc0bd515d1885d1953.wasm", - "tx_init_proposal.wasm": "tx_init_proposal.f59e980d3d6318f55bb9b415696810b7ea74e1561c79e5535cf921b86a732469.wasm", - "tx_init_validator.wasm": "tx_init_validator.a4a46d9d8260c2ae6fa0457b94e9d68226e36082a5e40e224a2543ad8b2dee7b.wasm", - "tx_reveal_pk.wasm": "tx_reveal_pk.0c739b1bb6e27476d81e662816b61abdaa4096dc44d3125351fec6c2334ac8bf.wasm", - "tx_transfer.wasm": "tx_transfer.aa377c8949f3248f6497d520fd14ba877211eec328866bc2189cc777c18c1402.wasm", - "tx_unbond.wasm": "tx_unbond.e87561880b0dc53b44de1464e5ef2ac3d87f9d88458888d99fc2934416edad51.wasm", - "tx_unjail_validator.wasm": "tx_unjail_validator.fc0f2633868c70e650ed6c98fdc7b6c29059346bca2580f9b6bbc191fe31c892.wasm", - "tx_update_vp.wasm": "tx_update_vp.c264b31144dec6ca24624351c3a37ba7d47f618dd7b3f6b3d0b679b0e0fb9c47.wasm", - "tx_vote_proposal.wasm": "tx_vote_proposal.ee75560b69a2566ecfd2fe8eb2fb166aeb8528048ee11003cf427939f765f3ad.wasm", - "tx_withdraw.wasm": "tx_withdraw.01dccfcac196e7df1d0e1a4abb9162c551d4d5350764d0130fa4b40f4d2a92fd.wasm", - "vp_implicit.wasm": "vp_implicit.a3292269ba4e807ea9ed0601bdee00957eb3105448587c2faf2e46fded7b3895.wasm", - "vp_masp.wasm": "vp_masp.2b0fa9b4666ee36d9e5cee481b24e5d9946c566ccb0db7cca4f066448be86a3a.wasm", - "vp_testnet_faucet.wasm": "vp_testnet_faucet.304915e0f5188937529ee8163b25dcc175a580062f60c256277db72cd5296555.wasm", - "vp_token.wasm": "vp_token.8b36f44e51ff3d73c06a06f5cd4aa38a358d2bfe7a7b5c146c515878c254932f.wasm", - "vp_user.wasm": "vp_user.054d109bc1415e8bc8f9df23281b10a1b844d70150b224ba34ae699fed9568e3.wasm", - "vp_validator.wasm": "vp_validator.87d47ebcf7141cff0399d5ee797c213ea1c29e031c840a5b09c248d8c02deec2.wasm" + "tx_bond.wasm": "tx_bond.c67add23bd1d92a2cc637c46cb6d6c7a1a5f4673754d633b5ca6f9f52090eb12.wasm", + "tx_change_validator_commission.wasm": "tx_change_validator_commission.ca3fe76c81134c8444166d57ad25f121b6b992999e7eae93c1622fb59de4d006.wasm", + "tx_ibc.wasm": "tx_ibc.cfb94c4c897667205d70cec32824692baef594a6009b489f1d6cafd77bdb5429.wasm", + "tx_init_account.wasm": "tx_init_account.18a917ec1c05f5906c8c5bdfae88dd2843e222b9decf4ac76cf5a3fa05f223b9.wasm", + "tx_init_proposal.wasm": "tx_init_proposal.3233ff34a1de572aa5a06cbd266bda67e8cd204f407fd9d336764410dbec9706.wasm", + "tx_init_validator.wasm": "tx_init_validator.b28bf2b3b0c2d1f3ea9e72aadb24cffbc1f358eda3abe0454a9aec913194e118.wasm", + "tx_reveal_pk.wasm": "tx_reveal_pk.63b19e8261df8a06576a97642f8fc8e4d3b661a2fdbdc906e1ad15631802c4e3.wasm", + "tx_transfer.wasm": "tx_transfer.c07c6afbc7b43d615ee4aa878abb6ec8097873bad5e106f78e1bae3be5a73eab.wasm", + "tx_unbond.wasm": "tx_unbond.e5db24ec8278700413ace6a55dca8c1f499f1f8128c8fe271fd0acdc6d85c160.wasm", + "tx_unjail_validator.wasm": "tx_unjail_validator.1a5d7514d7af3103b8bf96282520add9d8caa5d538b5d4e5222cab68b392f961.wasm", + "tx_update_vp.wasm": "tx_update_vp.a18c4b0e5316be62fd32a5a2e10598cff7f0f6927a40a8a6eb91baeda487e030.wasm", + "tx_vote_proposal.wasm": "tx_vote_proposal.2f06fa72e89e68f4e35597d4efae48d30aa482b5bc24a13d3de241f2604e97ca.wasm", + "tx_withdraw.wasm": "tx_withdraw.5ce202dbfef367ccb0a2192a26c000b9459bbb612c1af78f915ea420a95d7c1f.wasm", + "vp_implicit.wasm": "vp_implicit.f4238c6df57bb3151fb8db7cc9d06bb15ac7c4a89de7e29ab4652b4e188b3825.wasm", + "vp_masp.wasm": "vp_masp.1084b2e3c30baa7cc7b680130e53722a2bc0b7485eac9b0a590f1bd4be660b37.wasm", + "vp_testnet_faucet.wasm": "vp_testnet_faucet.883ef9ddde8e59ec8281a0dc1ee574c2e7cc4b43675b30544b2eb686aeea9117.wasm", + "vp_token.wasm": "vp_token.cd5e207d08cc0464818a3db4f474b602a20ee66383719c6d82488ba7b0ee9178.wasm", + "vp_user.wasm": "vp_user.2f5e95cd167f054e0edf8fde190e11ed31a042e6ebbb74b9e9cb83a752a2e76a.wasm", + "vp_validator.wasm": "vp_validator.5dea20049334d528337a3d1befff8f38ec38f050b955cbd714014c340b5afcd1.wasm" } \ No newline at end of file diff --git a/wasm_for_tests/tx_memory_limit.wasm b/wasm_for_tests/tx_memory_limit.wasm index caba19deec..dbd06f5a96 100755 Binary files a/wasm_for_tests/tx_memory_limit.wasm and b/wasm_for_tests/tx_memory_limit.wasm differ diff --git a/wasm_for_tests/tx_mint_tokens.wasm b/wasm_for_tests/tx_mint_tokens.wasm index 2b9a77652e..f329a58f54 100755 Binary files a/wasm_for_tests/tx_mint_tokens.wasm and b/wasm_for_tests/tx_mint_tokens.wasm differ diff --git a/wasm_for_tests/tx_no_op.wasm b/wasm_for_tests/tx_no_op.wasm index 0a5b81ff03..294ffeb2bb 100755 Binary files a/wasm_for_tests/tx_no_op.wasm and b/wasm_for_tests/tx_no_op.wasm differ diff --git a/wasm_for_tests/tx_proposal_code.wasm b/wasm_for_tests/tx_proposal_code.wasm index ef4e11b935..7347576b7d 100755 Binary files a/wasm_for_tests/tx_proposal_code.wasm and b/wasm_for_tests/tx_proposal_code.wasm differ diff --git a/wasm_for_tests/tx_read_storage_key.wasm b/wasm_for_tests/tx_read_storage_key.wasm index 9afdf98b7a..f44749eb5c 100755 Binary files a/wasm_for_tests/tx_read_storage_key.wasm and b/wasm_for_tests/tx_read_storage_key.wasm differ diff --git a/wasm_for_tests/tx_write.wasm b/wasm_for_tests/tx_write.wasm index ac3075deeb..6a7a893b15 100755 Binary files a/wasm_for_tests/tx_write.wasm and b/wasm_for_tests/tx_write.wasm differ diff --git a/wasm_for_tests/tx_write_storage_key.wasm b/wasm_for_tests/tx_write_storage_key.wasm index a0fb758ae9..5d600d185f 100755 Binary files a/wasm_for_tests/tx_write_storage_key.wasm and b/wasm_for_tests/tx_write_storage_key.wasm differ diff --git a/wasm_for_tests/vp_always_false.wasm b/wasm_for_tests/vp_always_false.wasm index 6b8b88b7f8..5cc8268251 100755 Binary files a/wasm_for_tests/vp_always_false.wasm and b/wasm_for_tests/vp_always_false.wasm differ diff --git a/wasm_for_tests/vp_always_true.wasm b/wasm_for_tests/vp_always_true.wasm index 87d2b85338..39ef26ba11 100755 Binary files a/wasm_for_tests/vp_always_true.wasm and b/wasm_for_tests/vp_always_true.wasm differ diff --git a/wasm_for_tests/vp_eval.wasm b/wasm_for_tests/vp_eval.wasm index 6f9652534c..1465529324 100755 Binary files a/wasm_for_tests/vp_eval.wasm and b/wasm_for_tests/vp_eval.wasm differ diff --git a/wasm_for_tests/vp_memory_limit.wasm b/wasm_for_tests/vp_memory_limit.wasm index 793e1e44d1..f793ad821a 100755 Binary files a/wasm_for_tests/vp_memory_limit.wasm and b/wasm_for_tests/vp_memory_limit.wasm differ diff --git a/wasm_for_tests/vp_read_storage_key.wasm b/wasm_for_tests/vp_read_storage_key.wasm index a67d42f920..53538255d7 100755 Binary files a/wasm_for_tests/vp_read_storage_key.wasm and b/wasm_for_tests/vp_read_storage_key.wasm differ