From 1ebcb5e7d345a83a68c62717430fb5c2e8dbf8f8 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 | 117 +++++++------------ wasm/tx_shielded_transfer/Cargo.toml | 18 --- wasm/tx_shielded_transfer/src/lib.rs | 29 ----- wasm/tx_shielding_transfer/Cargo.toml | 18 --- wasm/tx_shielding_transfer/src/lib.rs | 41 ------- wasm/tx_unshielding_transfer/Cargo.toml | 18 --- wasm/tx_unshielding_transfer/src/lib.rs | 41 ------- 9 files changed, 52 insertions(+), 272 deletions(-) delete mode 100644 wasm/tx_shielded_transfer/Cargo.toml 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 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 483a4901500..7ef90591a07 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 6e483b48718..5e9c58657d3 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 5c92356887c..d515b3a63ec 100644 --- a/crates/sdk/src/signing.rs +++ b/crates/sdk/src/signing.rs @@ -706,68 +706,57 @@ 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 +1329,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 +1350,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 +1364,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/wasm/tx_shielded_transfer/Cargo.toml b/wasm/tx_shielded_transfer/Cargo.toml deleted file mode 100644 index 8398b69750e..00000000000 --- a/wasm/tx_shielded_transfer/Cargo.toml +++ /dev/null @@ -1,18 +0,0 @@ -[package] -name = "tx_shielded_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_shielded_transfer/src/lib.rs b/wasm/tx_shielded_transfer/src/lib.rs deleted file mode 100644 index cc9e70a6384..00000000000 --- 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 54dca625ec9..00000000000 --- 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 499f983b3cc..00000000000 --- 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_unshielding_transfer/Cargo.toml b/wasm/tx_unshielding_transfer/Cargo.toml deleted file mode 100644 index 03d9aa125db..00000000000 --- 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 f0bf375c73c..00000000000 --- 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(()) -}