From 29a64ebb06577f620ff5bcb0af8fc8d58161a5cc Mon Sep 17 00:00:00 2001 From: Murisi Tarusenga Date: Thu, 27 Jun 2024 18:38:50 +0200 Subject: [PATCH] Remove now dead code. --- crates/light_sdk/src/transaction/transfer.rs | 32 ++--- crates/sdk/src/lib.rs | 10 +- crates/sdk/src/signing.rs | 116 ++++++------------ crates/sdk/src/tx.rs | 2 +- wasm/Cargo.lock | 2 +- wasm/Cargo.toml | 2 +- wasm/checksums.json | 6 +- wasm/tx_shielded_transfer/src/lib.rs | 29 ----- wasm/tx_shielding_transfer/Cargo.toml | 18 --- wasm/tx_shielding_transfer/src/lib.rs | 41 ------- .../Cargo.toml | 2 +- .../src/lib.rs | 0 wasm/tx_transparent_transfer/Cargo.toml | 18 --- wasm/tx_unshielding_transfer/Cargo.toml | 18 --- wasm/tx_unshielding_transfer/src/lib.rs | 41 ------- 15 files changed, 56 insertions(+), 281 deletions(-) delete mode 100644 wasm/tx_shielded_transfer/src/lib.rs delete mode 100644 wasm/tx_shielding_transfer/Cargo.toml delete mode 100644 wasm/tx_shielding_transfer/src/lib.rs rename wasm/{tx_shielded_transfer => tx_transfer}/Cargo.toml (92%) rename wasm/{tx_transparent_transfer => tx_transfer}/src/lib.rs (100%) delete mode 100644 wasm/tx_transparent_transfer/Cargo.toml delete mode 100644 wasm/tx_unshielding_transfer/Cargo.toml delete mode 100644 wasm/tx_unshielding_transfer/src/lib.rs diff --git a/crates/light_sdk/src/transaction/transfer.rs b/crates/light_sdk/src/transaction/transfer.rs index 483a490150..167d264ae5 100644 --- a/crates/light_sdk/src/transaction/transfer.rs +++ b/crates/light_sdk/src/transaction/transfer.rs @@ -16,10 +16,15 @@ pub struct TransferBuilder(Tx); impl TransferBuilder { /// Build a transparent transfer transaction from the given parameters - pub fn transparent(transfers: Transfer, args: GlobalArgs) -> Self { + pub fn transparent(transfers: Vec, args: GlobalArgs) -> Self { + let data = namada_sdk::token::Transfer { + data: transfers, + shielded_section_hash: None, + }; + Self(transaction::build_tx( args, - transfers, + data, TX_TRANSFER_WASM.to_string(), )) } @@ -42,27 +47,8 @@ impl TransferBuilder { Self(tx) } - /// Build a shielding transfer transaction from the given parameters - pub fn shielding( - transfers: Vec, - shielded_section_hash: Hash, - transaction: Transaction, - args: GlobalArgs, - ) -> Self { - let data = namada_sdk::token::Transfer { - data: transfers, - shielded_section_hash: Some(shielded_section_hash), - }; - - let mut tx = - transaction::build_tx(args, data, TX_TRANSFER_WASM.to_string()); - tx.add_masp_tx_section(transaction); - - Self(tx) - } - - /// Build an unshielding transfer transaction from the given parameters - pub fn unshielding( + /// Build a MASP transfer transaction from the given parameters + pub fn masp( transfers: Vec, shielded_section_hash: Hash, transaction: Transaction, diff --git a/crates/sdk/src/lib.rs b/crates/sdk/src/lib.rs index 6e483b4871..5e9c58657d 100644 --- a/crates/sdk/src/lib.rs +++ b/crates/sdk/src/lib.rs @@ -908,9 +908,7 @@ pub mod testing { VoteProposal(VoteProposalData), Withdraw(Withdraw), TransparentTransfer(Transfer), - ShieldedTransfer(Transfer, (StoredBuildParams, String)), - ShieldingTransfer(Transfer, (StoredBuildParams, String)), - UnshieldingTransfer(Transfer, (StoredBuildParams, String)), + MaspTransfer(Transfer, (StoredBuildParams, String)), Bond(Bond), Redelegation(Redelegation), UpdateStewardCommission(UpdateStewardCommission), @@ -1128,7 +1126,7 @@ pub mod testing { shielded_section_hash: Some(shielded_section_hash), }; tx.add_data(data.clone()); - TxData::ShieldedTransfer(data, (build_params, build_param_bytes)) + TxData::MaspTransfer(data, (build_params, build_param_bytes)) }, MaspTxType::Shielding => { // Set the transparent amount and token @@ -1152,7 +1150,7 @@ pub mod testing { shielded_section_hash: Some(shielded_section_hash), }; tx.add_data(data.clone()); - TxData::ShieldingTransfer(data, (build_params, build_param_bytes)) + TxData::MaspTransfer(data, (build_params, build_param_bytes)) }, MaspTxType::Unshielding => { // Set the transparent amount and token @@ -1173,7 +1171,7 @@ pub mod testing { ).collect(); let data = Transfer{data, shielded_section_hash: Some(shielded_section_hash) }; tx.add_data(data.clone()); - TxData::UnshieldingTransfer(data, (build_params, build_param_bytes)) + TxData::MaspTransfer(data, (build_params, build_param_bytes)) }, }; tx.add_masp_builder(MaspBuilder { diff --git a/crates/sdk/src/signing.rs b/crates/sdk/src/signing.rs index 5c92356887..b37a750aec 100644 --- a/crates/sdk/src/signing.rs +++ b/crates/sdk/src/signing.rs @@ -706,68 +706,56 @@ enum TransferSide<'a> { Target(&'a Address), } -enum TokenTransfer<'a> { - Transparent(&'a token::Transfer), -} +struct TokenTransfer<'a>(&'a token::Transfer); impl TokenTransfer<'_> { fn sources(&self) -> Vec<&Address> { - match self { - TokenTransfer::Transparent(transfers) => transfers - .data - .iter() - .map(|transfer| &transfer.source) - .collect(), - } + self.0 + .data + .iter() + .map(|transfer| &transfer.source) + .collect() } fn targets(&self) -> Vec<&Address> { - match self { - TokenTransfer::Transparent(transfers) => transfers - .data - .iter() - .map(|transfer| &transfer.target) - .collect(), - } + self.0 + .data + .iter() + .map(|transfer| &transfer.target) + .collect() } fn tokens_and_amounts( &self, address: TransferSide<'_>, ) -> Result, Error> { - Ok(match self { - TokenTransfer::Transparent(transfers) => { - let mut map: HashMap<&Address, DenominatedAmount> = - HashMap::new(); - - match address { - TransferSide::Source(source) => { - for transfer in &transfers.data { - if source == &transfer.source { - Self::update_token_amount_map( - &mut map, - &transfer.token, - transfer.amount, - )?; - } - } + let mut map: HashMap<&Address, DenominatedAmount> = HashMap::new(); + + match address { + TransferSide::Source(source) => { + for transfer in &self.0.data { + if source == &transfer.source { + Self::update_token_amount_map( + &mut map, + &transfer.token, + transfer.amount, + )?; } - TransferSide::Target(target) => { - for transfer in &transfers.data { - if target == &transfer.target { - Self::update_token_amount_map( - &mut map, - &transfer.token, - transfer.amount, - )?; - } - } + } + } + TransferSide::Target(target) => { + for transfer in &self.0.data { + if target == &transfer.target { + Self::update_token_amount_map( + &mut map, + &transfer.token, + transfer.amount, + )?; } } - - map } - }) + } + Ok(map) } fn update_token_amount_map<'a>( @@ -1340,34 +1328,6 @@ pub async fn to_ledger_vector( .map_err(|err| { Error::from(EncodingError::Conversion(err.to_string())) })?; - - tv.name = "Transfer_0".to_string(); - - tv.output.push("Type : TransparentTransfer".to_string()); - make_ledger_token_transfer_endpoints( - &tokens, - &mut tv.output, - TokenTransfer::Transparent(&transfer), - None, - &HashMap::default(), - ) - .await?; - make_ledger_token_transfer_endpoints( - &tokens, - &mut tv.output_expert, - TokenTransfer::Transparent(&transfer), - None, - &HashMap::default(), - ) - .await?; - } else if code_sec.tag == Some(TX_TRANSFER_WASM.to_string()) { - let transfer = token::Transfer::try_from_slice( - &tx.data(cmt) - .ok_or_else(|| Error::Other("Invalid Data".to_string()))?, - ) - .map_err(|err| { - Error::from(EncodingError::Conversion(err.to_string())) - })?; // To facilitate lookups of MASP AssetTypes let mut asset_types = HashMap::new(); let builder = tx.sections.iter().find_map(|x| match x { @@ -1389,13 +1349,13 @@ pub async fn to_ledger_vector( _ => None, }); - tv.name = "ShieldedTransfer_0".to_string(); + tv.name = "Transfer_0".to_string(); - tv.output.push("Type : ShieldedTransfer".to_string()); + tv.output.push("Type : Transfer".to_string()); make_ledger_token_transfer_endpoints( &tokens, &mut tv.output, - TokenTransfer::Transparent(&transfer), + TokenTransfer(&transfer), builder, &asset_types, ) @@ -1403,7 +1363,7 @@ pub async fn to_ledger_vector( make_ledger_token_transfer_endpoints( &tokens, &mut tv.output_expert, - TokenTransfer::Transparent(&transfer), + TokenTransfer(&transfer), builder, &asset_types, ) diff --git a/crates/sdk/src/tx.rs b/crates/sdk/src/tx.rs index db613a5fc7..7c27a08a59 100644 --- a/crates/sdk/src/tx.rs +++ b/crates/sdk/src/tx.rs @@ -108,7 +108,7 @@ pub const TX_REVEAL_PK: &str = "tx_reveal_pk.wasm"; /// Update validity predicate WASM path pub const TX_UPDATE_ACCOUNT_WASM: &str = "tx_update_account.wasm"; /// Transparent transfer transaction WASM path -pub const TX_TRANSFER_WASM: &str = "tx_transparent_transfer.wasm"; +pub const TX_TRANSFER_WASM: &str = "tx_transfer.wasm"; /// IBC transaction WASM path pub const TX_IBC_WASM: &str = "tx_ibc.wasm"; /// User validity predicate WASM path diff --git a/wasm/Cargo.lock b/wasm/Cargo.lock index d7ac775cc1..bc3953440f 100644 --- a/wasm/Cargo.lock +++ b/wasm/Cargo.lock @@ -6889,7 +6889,7 @@ dependencies = [ ] [[package]] -name = "tx_transparent_transfer" +name = "tx_transfer" version = "0.39.0" dependencies = [ "getrandom 0.2.15", diff --git a/wasm/Cargo.toml b/wasm/Cargo.toml index 7cebbe0304..f9b0737140 100644 --- a/wasm/Cargo.toml +++ b/wasm/Cargo.toml @@ -17,7 +17,7 @@ members = [ "tx_redelegate", "tx_resign_steward", "tx_reveal_pk", - "tx_transparent_transfer", + "tx_transfer", "tx_unbond", "tx_unjail_validator", "tx_update_account", diff --git a/wasm/checksums.json b/wasm/checksums.json index 59d828bca9..f73d7a0fd7 100644 --- a/wasm/checksums.json +++ b/wasm/checksums.json @@ -14,13 +14,9 @@ "tx_redelegate.wasm": "tx_redelegate.c584955237fb27964fc94c1aaa2c04eb9190894f6c24b4634e0b07cee511cce8.wasm", "tx_resign_steward.wasm": "tx_resign_steward.c3f8a4465aad3fb674dbd80c2c994e1881a25315215b615dcd570885271c481b.wasm", "tx_reveal_pk.wasm": "tx_reveal_pk.79455aadb09effe70b407a88dcb50552344e32d9b9e30897b7e0e24ce34e76a2.wasm", - "tx_shielded_transfer.wasm": "tx_shielded_transfer.325ffb8c64c659ae32b23ba16604dcbd8bc4a2ddf9e9996796ef21ceed46acbc.wasm", - "tx_shielding_transfer.wasm": "tx_shielding_transfer.faa52f9523afc330bc32df84d8f71fa933dbb65bf8ff84bcf0bfbb84f79dc09c.wasm", - "tx_transfer.wasm": "tx_transfer.8acfe426d01adc17018c07b1c9f2eb3f77ddff4a6e452c8d5ae16832a0e79c85.wasm", - "tx_transparent_transfer.wasm": "tx_transparent_transfer.fcf550221ccdad9c1d7125acd058b9376bc7202bcd0d9084f4405644a62111c9.wasm", + "tx_transfer.wasm": "tx_transfer.a3fd5a7966b2a56790b7e8ca3578e492e8ae2ef03dadd090ec0e82f521f5c493.wasm", "tx_unbond.wasm": "tx_unbond.3d69f98b7832de1d63cdff4e2dec3eb8ba6da44104af00ed0607f040c300d52c.wasm", "tx_unjail_validator.wasm": "tx_unjail_validator.d736868736feccea85d7bb8a5bd5cc67c19315521f608838ad60befbfc9e7738.wasm", - "tx_unshielding_transfer.wasm": "tx_unshielding_transfer.45f38800ba76682d965cb1aa894a29801d2c9faf3e9d41b2394a12e44aa99055.wasm", "tx_update_account.wasm": "tx_update_account.3daaa7d67b1545a161a65efb99fa930a09f3ecdc87e3f0a6e965d49756912b6c.wasm", "tx_update_steward_commission.wasm": "tx_update_steward_commission.a62fcce86de9723ceff0f838d106be6f912d06f48cf10a3163dbb9ef53620c96.wasm", "tx_vote_proposal.wasm": "tx_vote_proposal.724a81d2cc2a0e491381d98d22753f46003f781f09f968bff29ad57bddd6f5f8.wasm", diff --git a/wasm/tx_shielded_transfer/src/lib.rs b/wasm/tx_shielded_transfer/src/lib.rs deleted file mode 100644 index cc9e70a638..0000000000 --- a/wasm/tx_shielded_transfer/src/lib.rs +++ /dev/null @@ -1,29 +0,0 @@ -//! A tx for shielded token transfer. - -use namada_tx_prelude::action::{Action, MaspAction, Write}; -use namada_tx_prelude::*; - -#[transaction] -fn apply_tx(ctx: &mut Ctx, tx_data: BatchedTx) -> TxResult { - let data = ctx.get_tx_data(&tx_data)?; - let transfer = token::ShieldedTransfer::try_from_slice(&data[..]) - .wrap_err("Failed to decode token::ShieldedTransfer tx data")?; - debug_log!("apply_tx called with transfer: {:#?}", transfer); - - let masp_section_ref = transfer.section_hash; - let shielded = tx_data - .tx - .get_section(&masp_section_ref) - .and_then(|x| x.as_ref().masp_tx()) - .ok_or_err_msg("Unable to find required shielded section in tx data") - .map_err(|err| { - ctx.set_commitment_sentinel(); - err - })?; - token::utils::handle_masp_tx(ctx, &shielded) - .wrap_err("Encountered error while handling MASP transaction")?; - update_masp_note_commitment_tree(&shielded) - .wrap_err("Failed to update the MASP commitment tree")?; - ctx.push_action(Action::Masp(MaspAction { masp_section_ref }))?; - Ok(()) -} diff --git a/wasm/tx_shielding_transfer/Cargo.toml b/wasm/tx_shielding_transfer/Cargo.toml deleted file mode 100644 index 54dca625ec..0000000000 --- a/wasm/tx_shielding_transfer/Cargo.toml +++ /dev/null @@ -1,18 +0,0 @@ -[package] -name = "tx_shielding_transfer" -description = "WASM transaction to transfer tokens" -authors.workspace = true -edition.workspace = true -license.workspace = true -version.workspace = true - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[dependencies] -namada_tx_prelude.workspace = true - -rlsf.workspace = true -getrandom.workspace = true - -[lib] -crate-type = ["cdylib"] diff --git a/wasm/tx_shielding_transfer/src/lib.rs b/wasm/tx_shielding_transfer/src/lib.rs deleted file mode 100644 index 499f983b3c..0000000000 --- a/wasm/tx_shielding_transfer/src/lib.rs +++ /dev/null @@ -1,41 +0,0 @@ -//! A tx for shielding token transfer. - -use namada_tx_prelude::action::{Action, MaspAction, Write}; -use namada_tx_prelude::*; - -#[transaction] -fn apply_tx(ctx: &mut Ctx, tx_data: BatchedTx) -> TxResult { - let data = ctx.get_tx_data(&tx_data)?; - let transfers = token::ShieldingMultiTransfer::try_from_slice(&data[..]) - .wrap_err("Failed to decode token::ShieldingTransfer tx data")?; - debug_log!("apply_tx called with transfer: {:#?}", transfers); - - for transfer in transfers.data { - token::transfer( - ctx, - &transfer.source, - &address::MASP, - &transfer.token, - transfer.amount.amount(), - ) - .wrap_err("Token transfer failed")?; - } - - let masp_section_ref = transfers.shielded_section_hash; - let shielded = tx_data - .tx - .get_section(&masp_section_ref) - .and_then(|x| x.as_ref().masp_tx()) - .ok_or_err_msg("Unable to find required shielded section in tx data") - .map_err(|err| { - ctx.set_commitment_sentinel(); - err - })?; - token::utils::handle_masp_tx(ctx, &shielded) - .wrap_err("Encountered error while handling MASP transaction")?; - update_masp_note_commitment_tree(&shielded) - .wrap_err("Failed to update the MASP commitment tree")?; - ctx.push_action(Action::Masp(MaspAction { masp_section_ref }))?; - - Ok(()) -} diff --git a/wasm/tx_shielded_transfer/Cargo.toml b/wasm/tx_transfer/Cargo.toml similarity index 92% rename from wasm/tx_shielded_transfer/Cargo.toml rename to wasm/tx_transfer/Cargo.toml index 8398b69750..868a5e6538 100644 --- a/wasm/tx_shielded_transfer/Cargo.toml +++ b/wasm/tx_transfer/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "tx_shielded_transfer" +name = "tx_transfer" description = "WASM transaction to transfer tokens" authors.workspace = true edition.workspace = true diff --git a/wasm/tx_transparent_transfer/src/lib.rs b/wasm/tx_transfer/src/lib.rs similarity index 100% rename from wasm/tx_transparent_transfer/src/lib.rs rename to wasm/tx_transfer/src/lib.rs diff --git a/wasm/tx_transparent_transfer/Cargo.toml b/wasm/tx_transparent_transfer/Cargo.toml deleted file mode 100644 index 7408b86688..0000000000 --- a/wasm/tx_transparent_transfer/Cargo.toml +++ /dev/null @@ -1,18 +0,0 @@ -[package] -name = "tx_transparent_transfer" -description = "WASM transaction to transfer tokens" -authors.workspace = true -edition.workspace = true -license.workspace = true -version.workspace = true - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[dependencies] -namada_tx_prelude.workspace = true - -rlsf.workspace = true -getrandom.workspace = true - -[lib] -crate-type = ["cdylib"] diff --git a/wasm/tx_unshielding_transfer/Cargo.toml b/wasm/tx_unshielding_transfer/Cargo.toml deleted file mode 100644 index 03d9aa125d..0000000000 --- a/wasm/tx_unshielding_transfer/Cargo.toml +++ /dev/null @@ -1,18 +0,0 @@ -[package] -name = "tx_unshielding_transfer" -description = "WASM transaction to transfer tokens" -authors.workspace = true -edition.workspace = true -license.workspace = true -version.workspace = true - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[dependencies] -namada_tx_prelude.workspace = true - -rlsf.workspace = true -getrandom.workspace = true - -[lib] -crate-type = ["cdylib"] diff --git a/wasm/tx_unshielding_transfer/src/lib.rs b/wasm/tx_unshielding_transfer/src/lib.rs deleted file mode 100644 index f0bf375c73..0000000000 --- a/wasm/tx_unshielding_transfer/src/lib.rs +++ /dev/null @@ -1,41 +0,0 @@ -//! A tx for unshielding token transfer. - -use namada_tx_prelude::action::{Action, MaspAction, Write}; -use namada_tx_prelude::*; - -#[transaction] -fn apply_tx(ctx: &mut Ctx, tx_data: BatchedTx) -> TxResult { - let data = ctx.get_tx_data(&tx_data)?; - let transfers = token::UnshieldingMultiTransfer::try_from_slice(&data[..]) - .wrap_err("Failed to decode token::UnshieldingTransfer tx data")?; - debug_log!("apply_tx called with transfer: {:#?}", transfers); - - for transfer in transfers.data { - token::transfer( - ctx, - &address::MASP, - &transfer.target, - &transfer.token, - transfer.amount.amount(), - ) - .wrap_err("Token transfer failed")?; - } - - let masp_section_ref = transfers.shielded_section_hash; - let shielded = tx_data - .tx - .get_section(&masp_section_ref) - .and_then(|x| x.as_ref().masp_tx()) - .ok_or_err_msg("Unable to find required shielded section in tx data") - .map_err(|err| { - ctx.set_commitment_sentinel(); - err - })?; - token::utils::handle_masp_tx(ctx, &shielded) - .wrap_err("Encountered error while handling MASP transaction")?; - update_masp_note_commitment_tree(&shielded) - .wrap_err("Failed to update the MASP commitment tree")?; - ctx.push_action(Action::Masp(MaspAction { masp_section_ref }))?; - - Ok(()) -}