diff --git a/Cargo.lock b/Cargo.lock index 2ab659eb327..fbe9be60938 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4723,11 +4723,18 @@ name = "namada_tx_prelude" version = "0.28.1" dependencies = [ "borsh", - "borsh-ext", "masp_primitives", + "namada_account", "namada_core", + "namada_governance", + "namada_ibc", "namada_macros", + "namada_parameters", "namada_proof_of_stake", + "namada_storage", + "namada_token", + "namada_tx", + "namada_tx_env", "namada_vm_env", "sha2 0.9.9", "thiserror", diff --git a/tx_prelude/Cargo.toml b/tx_prelude/Cargo.toml index c23d66530e8..f561dfdd3ee 100644 --- a/tx_prelude/Cargo.toml +++ b/tx_prelude/Cargo.toml @@ -16,12 +16,20 @@ version.workspace = true default = [] [dependencies] -namada_core = {path = "../core", default-features = false} -namada_macros = {path = "../macros"} -namada_proof_of_stake = {path = "../proof_of_stake", default-features = false} -namada_vm_env = {path = "../vm_env", default-features = false} +namada_account = { path = "../account" } +namada_core = { path = "../core", default-features = false } +namada_governance = { path = "../governance" } +namada_ibc = { path = "../ibc" } +namada_macros = { path = "../macros" } +namada_parameters = { path = "../parameters" } +namada_proof_of_stake = { path = "../proof_of_stake", default-features = false } +namada_storage = { path = "../storage" } +namada_token = { path = "../token" } +namada_tx = { path = "../tx" } +namada_tx_env = { path = "../tx_env" } +namada_vm_env = { path = "../vm_env", default-features = false } + borsh.workspace = true -borsh-ext.workspace = true masp_primitives.workspace = true sha2.workspace = true thiserror.workspace = true diff --git a/tx_prelude/src/account.rs b/tx_prelude/src/account.rs index da6c213601e..5054411a90d 100644 --- a/tx_prelude/src/account.rs +++ b/tx_prelude/src/account.rs @@ -1,4 +1,4 @@ -use namada_core::types::transaction::account::InitAccount; +use namada_tx::data::account::InitAccount; use super::*; @@ -7,7 +7,7 @@ pub fn init_account( owner: &Address, data: InitAccount, ) -> EnvResult
{ - storage_api::account::init_account_storage( + namada_account::init_account_storage( ctx, owner, &data.public_keys, diff --git a/tx_prelude/src/ibc.rs b/tx_prelude/src/ibc.rs index ebf97e7859a..45a6c6e4480 100644 --- a/tx_prelude/src/ibc.rs +++ b/tx_prelude/src/ibc.rs @@ -3,14 +3,14 @@ use std::cell::RefCell; use std::rc::Rc; -pub use namada_core::ledger::ibc::{ - IbcActions, IbcCommonContext, IbcStorageContext, ProofSpec, TransferModule, -}; -use namada_core::ledger::masp_utils; -use namada_core::ledger::tx_env::TxEnv; use namada_core::types::address::{Address, InternalAddress}; pub use namada_core::types::ibc::{IbcEvent, IbcShieldedTransfer}; use namada_core::types::token::DenominatedAmount; +pub use namada_ibc::{ + IbcActions, IbcCommonContext, IbcStorageContext, ProofSpec, TransferModule, +}; +use namada_token::denom_to_amount; +use namada_tx_env::TxEnv; use crate::token::{burn, mint, transfer}; use crate::{Ctx, Error}; @@ -53,12 +53,15 @@ impl IbcStorageContext for Ctx { &mut self, shielded: &IbcShieldedTransfer, ) -> Result<(), Error> { - masp_utils::handle_masp_tx( + namada_token::utils::handle_masp_tx( self, &shielded.transfer, &shielded.masp_tx, )?; - masp_utils::update_note_commitment_tree(self, &shielded.masp_tx) + namada_token::utils::update_note_commitment_tree( + self, + &shielded.masp_tx, + ) } fn mint_token( @@ -72,7 +75,7 @@ impl IbcStorageContext for Ctx { &Address::Internal(InternalAddress::Ibc), target, token, - amount.to_amount(token, self)?, + denom_to_amount(amount, token, self)?, ) } @@ -82,7 +85,7 @@ impl IbcStorageContext for Ctx { token: &Address, amount: DenominatedAmount, ) -> Result<(), Error> { - burn(self, target, token, amount.to_amount(token, self)?) + burn(self, target, token, denom_to_amount(amount, token, self)?) } fn log_string(&self, message: String) { diff --git a/tx_prelude/src/key.rs b/tx_prelude/src/key.rs index 32a6c2089d3..a273d25cc74 100644 --- a/tx_prelude/src/key.rs +++ b/tx_prelude/src/key.rs @@ -7,5 +7,5 @@ use super::*; /// Reveal a PK of an implicit account - the PK is written into the storage /// of the address derived from the PK. pub fn reveal_pk(ctx: &mut Ctx, pk: &common::PublicKey) -> EnvResult<()> { - storage_api::key::reveal_pk(ctx, pk) + namada_account::reveal_pk(ctx, pk) } diff --git a/tx_prelude/src/lib.rs b/tx_prelude/src/lib.rs index fbb6e03a788..e3a66487440 100644 --- a/tx_prelude/src/lib.rs +++ b/tx_prelude/src/lib.rs @@ -16,34 +16,33 @@ pub mod token; use core::slice; use std::marker::PhantomData; -pub use borsh::{BorshDeserialize, BorshSerialize}; -pub use borsh_ext; -use borsh_ext::BorshSerializeExt; use masp_primitives::transaction::Transaction; -pub use namada_core::ledger::governance::storage as gov_storage; -pub use namada_core::ledger::parameters::storage as parameters_storage; -pub use namada_core::ledger::storage::types::encode; -pub use namada_core::ledger::storage_api::{ - self, governance, iter_prefix, iter_prefix_bytes, Error, OptionExt, - ResultExt, StorageRead, StorageWrite, +pub use namada_core::borsh::{ + BorshDeserialize, BorshSerialize, BorshSerializeExt, }; -pub use namada_core::ledger::tx_env::TxEnv; -pub use namada_core::ledger::{eth_bridge, parameters}; -pub use namada_core::proto::{Section, Tx}; -use namada_core::types::account::AccountPublicKeysMap; +pub use namada_core::ledger::eth_bridge; pub use namada_core::types::address::Address; use namada_core::types::chain::CHAIN_ID_LENGTH; pub use namada_core::types::ethereum_events::EthAddress; use namada_core::types::internal::HostEnvResult; -use namada_core::types::key::common; +use namada_core::types::key::{common, AccountPublicKeysMap}; use namada_core::types::storage::TxIndex; pub use namada_core::types::storage::{ self, BlockHash, BlockHeight, Epoch, Header, BLOCK_HASH_LENGTH, }; -pub use namada_core::types::{eth_bridge_pool, *}; +pub use namada_core::types::{encode, eth_bridge_pool, *}; +pub use namada_governance::storage as gov_storage; pub use namada_macros::transaction; +pub use namada_parameters::storage as parameters_storage; +pub use namada_storage::{ + iter_prefix, iter_prefix_bytes, Error, OptionExt, ResultExt, StorageRead, + StorageWrite, +}; +pub use namada_tx::{Section, Tx}; +pub use namada_tx_env::TxEnv; use namada_vm_env::tx::*; use namada_vm_env::{read_from_buffer, read_key_val_bytes_from_buffer}; +pub use {namada_governance as governance, namada_parameters as parameters}; /// Log a string. The message will be printed at the `tracing::Level::Info`. pub fn log_string