diff --git a/Cargo.lock b/Cargo.lock index ca4c4fe7..87146e37 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -193,15 +193,6 @@ dependencies = [ "generic-array", ] -[[package]] -name = "bls-signature" -version = "0.0.0" -dependencies = [ - "multiversx-sc", - "multiversx-sc-scenario", - "transaction", -] - [[package]] name = "bumpalo" version = "3.16.0" @@ -500,7 +491,6 @@ checksum = "c34f04666d835ff5d62e058c3995147c06f42fe86ff053337632bca83e42702d" name = "enshrine-esdt-safe" version = "0.0.0" dependencies = [ - "bls-signature", "fee-market", "header-verifier", "hex", @@ -570,7 +560,6 @@ dependencies = [ name = "esdt-safe" version = "0.0.0" dependencies = [ - "bls-signature", "fee-market", "header-verifier", "hex", @@ -606,7 +595,6 @@ checksum = "486f806e73c5707928240ddc295403b1b93c96a02038563881c4a2fd84b81ac4" name = "fee-market" version = "0.0.0" dependencies = [ - "bls-signature", "multiversx-sc", "multiversx-sc-scenario", "num-bigint", @@ -795,7 +783,6 @@ checksum = "3a9bfc1af68b1726ea47d3d5109de126281def866b33970e10fbab11b5dafab3" name = "header-verifier" version = "0.0.0" dependencies = [ - "bls-signature", "multiversx-sc", "multiversx-sc-scenario", "num-bigint", @@ -1858,7 +1845,6 @@ dependencies = [ name = "rust-interact-esdt-safe" version = "0.0.0" dependencies = [ - "bls-signature", "clap", "enshrine-esdt-safe", "fee-market", @@ -2301,7 +2287,6 @@ dependencies = [ name = "token-whitelist" version = "0.0.0" dependencies = [ - "bls-signature", "multiversx-sc", "multiversx-sc-scenario", "setup-phase", @@ -2501,7 +2486,6 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" name = "utils" version = "0.0.0" dependencies = [ - "bls-signature", "multiversx-sc", ] diff --git a/chain-factory/wasm-chain-factory-full/Cargo.lock b/chain-factory/wasm-chain-factory-full/Cargo.lock index aa138a0e..cfcb5e5a 100644 --- a/chain-factory/wasm-chain-factory-full/Cargo.lock +++ b/chain-factory/wasm-chain-factory-full/Cargo.lock @@ -20,14 +20,6 @@ version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" -[[package]] -name = "bls-signature" -version = "0.0.0" -dependencies = [ - "multiversx-sc", - "transaction", -] - [[package]] name = "chain-config" version = "0.0.0" @@ -257,6 +249,5 @@ checksum = "151ac09978d3c2862c4e39b557f4eceee2cc72150bc4cb4f16abf061b6e381fb" name = "utils" version = "0.0.0" dependencies = [ - "bls-signature", "multiversx-sc", ] diff --git a/chain-factory/wasm-chain-factory-view/Cargo.lock b/chain-factory/wasm-chain-factory-view/Cargo.lock index a29390fe..8bb0ea74 100644 --- a/chain-factory/wasm-chain-factory-view/Cargo.lock +++ b/chain-factory/wasm-chain-factory-view/Cargo.lock @@ -20,14 +20,6 @@ version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" -[[package]] -name = "bls-signature" -version = "0.0.0" -dependencies = [ - "multiversx-sc", - "transaction", -] - [[package]] name = "chain-config" version = "0.0.0" @@ -257,6 +249,5 @@ checksum = "151ac09978d3c2862c4e39b557f4eceee2cc72150bc4cb4f16abf061b6e381fb" name = "utils" version = "0.0.0" dependencies = [ - "bls-signature", "multiversx-sc", ] diff --git a/chain-factory/wasm/Cargo.lock b/chain-factory/wasm/Cargo.lock index 87236058..6926b0e5 100644 --- a/chain-factory/wasm/Cargo.lock +++ b/chain-factory/wasm/Cargo.lock @@ -20,14 +20,6 @@ version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" -[[package]] -name = "bls-signature" -version = "0.0.0" -dependencies = [ - "multiversx-sc", - "transaction", -] - [[package]] name = "chain-config" version = "0.0.0" @@ -257,6 +249,5 @@ checksum = "151ac09978d3c2862c4e39b557f4eceee2cc72150bc4cb4f16abf061b6e381fb" name = "utils" version = "0.0.0" dependencies = [ - "bls-signature", "multiversx-sc", ] diff --git a/common/bls-signature/Cargo.toml b/common/bls-signature/Cargo.toml deleted file mode 100644 index 37561b50..00000000 --- a/common/bls-signature/Cargo.toml +++ /dev/null @@ -1,14 +0,0 @@ -[package] -name = "bls-signature" -version = "0.0.0" -authors = ["dorin-iancu "] -edition = "2018" - -[dependencies.multiversx-sc] -version = "=0.54.3" - -[dependencies.transaction] -path = "../transaction" - -[dev-dependencies.multiversx-sc-scenario] -version = "=0.54.3" diff --git a/common/bls-signature/src/lib.rs b/common/bls-signature/src/lib.rs deleted file mode 100644 index 4fcee705..00000000 --- a/common/bls-signature/src/lib.rs +++ /dev/null @@ -1,82 +0,0 @@ -#![no_std] - -use transaction::Transaction; - -multiversx_sc::imports!(); - -pub const BLS_SIGNATURE_LEN: usize = 48; -pub type BlsSignature = ManagedByteArray; - -#[multiversx_sc::module] -pub trait BlsSignatureModule { - #[only_owner] - #[endpoint(setMinValidSigners)] - fn set_min_valid_signers(&self, new_value: u32) { - self.min_valid_signers().set(new_value); - } - - #[only_owner] - #[endpoint(addSigners)] - fn add_signers(&self, signers: MultiValueEncoded) { - for signer in signers { - let _ = self.all_signers().insert(signer); - } - } - - #[only_owner] - #[endpoint(removeSigners)] - fn remove_signers(&self, signers: MultiValueEncoded) { - for signer in signers { - let _ = self.all_signers().swap_remove(&signer); - } - } - - fn verify_bls_signature( - &self, - transactions: MultiValueEncoded>, - signature: &BlsSignature, - ) -> ManagedVec> { - let mut deserialized_transactions = ManagedVec::new(); - let mut serialized_signature_data = ManagedBuffer::new(); - for transaction in transactions { - let _ = transaction.dep_encode(&mut serialized_signature_data); - - deserialized_transactions.push(transaction); - } - - self.multi_verify_signature(&serialized_signature_data, signature); - - deserialized_transactions - } - - fn multi_verify_signature( - &self, - signature_data: &ManagedBuffer, - signature: &BlsSignature, - ) { - let all_signers = self.all_signers(); - - let mut total_valid_signatures = 0; - for signer in all_signers.iter() { - self.crypto().verify_bls( - signer.as_managed_buffer(), - signature_data, - signature.as_managed_buffer(), - ); - - total_valid_signatures += 1; - } - - let min_valid_signers = self.min_valid_signers().get(); - require!( - total_valid_signatures >= min_valid_signers, - "Invalid signature" - ); - } - - #[storage_mapper("allSigners")] - fn all_signers(&self) -> UnorderedSetMapper; - - #[storage_mapper("minValidSigners")] - fn min_valid_signers(&self) -> SingleValueMapper; -} diff --git a/common/proxies/src/enshrine_esdt_safe_proxy.rs b/common/proxies/src/enshrine_esdt_safe_proxy.rs index 39250e47..c239166a 100644 --- a/common/proxies/src/enshrine_esdt_safe_proxy.rs +++ b/common/proxies/src/enshrine_esdt_safe_proxy.rs @@ -161,45 +161,6 @@ where .original_result() } - pub fn set_min_valid_signers< - Arg0: ProxyArg, - >( - self, - new_value: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("setMinValidSigners") - .argument(&new_value) - .original_result() - } - - pub fn add_signers< - Arg0: ProxyArg>>, - >( - self, - signers: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("addSigners") - .argument(&signers) - .original_result() - } - - pub fn remove_signers< - Arg0: ProxyArg>>, - >( - self, - signers: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("removeSigners") - .argument(&signers) - .original_result() - } - pub fn execute_operations< Arg0: ProxyArg>, Arg1: ProxyArg>, @@ -228,94 +189,6 @@ where .original_result() } - pub fn set_max_tx_batch_size< - Arg0: ProxyArg, - >( - self, - new_max_tx_batch_size: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("setMaxTxBatchSize") - .argument(&new_max_tx_batch_size) - .original_result() - } - - pub fn set_max_tx_batch_block_duration< - Arg0: ProxyArg, - >( - self, - new_max_tx_batch_block_duration: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("setMaxTxBatchBlockDuration") - .argument(&new_max_tx_batch_block_duration) - .original_result() - } - - pub fn get_current_tx_batch( - self, - ) -> TxTypedCall, ManagedAddress, ManagedVec>, ManagedVec>, Option>>>>>> { - self.wrapped_tx - .payment(NotPayable) - .raw_call("getCurrentTxBatch") - .original_result() - } - - pub fn get_first_batch_any_status( - self, - ) -> TxTypedCall, ManagedAddress, ManagedVec>, ManagedVec>, Option>>>>>> { - self.wrapped_tx - .payment(NotPayable) - .raw_call("getFirstBatchAnyStatus") - .original_result() - } - - pub fn get_batch< - Arg0: ProxyArg, - >( - self, - batch_id: Arg0, - ) -> TxTypedCall, ManagedAddress, ManagedVec>, ManagedVec>, Option>>>>>> { - self.wrapped_tx - .payment(NotPayable) - .raw_call("getBatch") - .argument(&batch_id) - .original_result() - } - - pub fn get_batch_status< - Arg0: ProxyArg, - >( - self, - batch_id: Arg0, - ) -> TxTypedCall> { - self.wrapped_tx - .payment(NotPayable) - .raw_call("getBatchStatus") - .argument(&batch_id) - .original_result() - } - - pub fn first_batch_id( - self, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("getFirstBatchId") - .original_result() - } - - pub fn last_batch_id( - self, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("getLastBatchId") - .original_result() - } - pub fn set_max_bridged_amount< Arg0: ProxyArg>, Arg1: ProxyArg>, diff --git a/common/proxies/src/esdt_safe_proxy.rs b/common/proxies/src/esdt_safe_proxy.rs index 81e2e31d..3d4dd625 100644 --- a/common/proxies/src/esdt_safe_proxy.rs +++ b/common/proxies/src/esdt_safe_proxy.rs @@ -152,45 +152,6 @@ where .original_result() } - pub fn set_min_valid_signers< - Arg0: ProxyArg, - >( - self, - new_value: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("setMinValidSigners") - .argument(&new_value) - .original_result() - } - - pub fn add_signers< - Arg0: ProxyArg>>, - >( - self, - signers: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("addSigners") - .argument(&signers) - .original_result() - } - - pub fn remove_signers< - Arg0: ProxyArg>>, - >( - self, - signers: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("removeSigners") - .argument(&signers) - .original_result() - } - pub fn register_token< Arg0: ProxyArg>, Arg1: ProxyArg, @@ -231,94 +192,6 @@ where .original_result() } - pub fn set_max_tx_batch_size< - Arg0: ProxyArg, - >( - self, - new_max_tx_batch_size: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("setMaxTxBatchSize") - .argument(&new_max_tx_batch_size) - .original_result() - } - - pub fn set_max_tx_batch_block_duration< - Arg0: ProxyArg, - >( - self, - new_max_tx_batch_block_duration: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("setMaxTxBatchBlockDuration") - .argument(&new_max_tx_batch_block_duration) - .original_result() - } - - pub fn get_current_tx_batch( - self, - ) -> TxTypedCall, ManagedAddress, ManagedVec>, ManagedVec>, Option>>>>>> { - self.wrapped_tx - .payment(NotPayable) - .raw_call("getCurrentTxBatch") - .original_result() - } - - pub fn get_first_batch_any_status( - self, - ) -> TxTypedCall, ManagedAddress, ManagedVec>, ManagedVec>, Option>>>>>> { - self.wrapped_tx - .payment(NotPayable) - .raw_call("getFirstBatchAnyStatus") - .original_result() - } - - pub fn get_batch< - Arg0: ProxyArg, - >( - self, - batch_id: Arg0, - ) -> TxTypedCall, ManagedAddress, ManagedVec>, ManagedVec>, Option>>>>>> { - self.wrapped_tx - .payment(NotPayable) - .raw_call("getBatch") - .argument(&batch_id) - .original_result() - } - - pub fn get_batch_status< - Arg0: ProxyArg, - >( - self, - batch_id: Arg0, - ) -> TxTypedCall> { - self.wrapped_tx - .payment(NotPayable) - .raw_call("getBatchStatus") - .argument(&batch_id) - .original_result() - } - - pub fn first_batch_id( - self, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("getFirstBatchId") - .original_result() - } - - pub fn last_batch_id( - self, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("getLastBatchId") - .original_result() - } - pub fn set_max_bridged_amount< Arg0: ProxyArg>, Arg1: ProxyArg>, diff --git a/common/proxies/src/fee_market_proxy.rs b/common/proxies/src/fee_market_proxy.rs index 774b6ec5..58527eb4 100644 --- a/common/proxies/src/fee_market_proxy.rs +++ b/common/proxies/src/fee_market_proxy.rs @@ -206,45 +206,6 @@ where .raw_call("getUsersWhitelist") .original_result() } - - pub fn set_min_valid_signers< - Arg0: ProxyArg, - >( - self, - new_value: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("setMinValidSigners") - .argument(&new_value) - .original_result() - } - - pub fn add_signers< - Arg0: ProxyArg>>, - >( - self, - signers: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("addSigners") - .argument(&signers) - .original_result() - } - - pub fn remove_signers< - Arg0: ProxyArg>>, - >( - self, - signers: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("removeSigners") - .argument(&signers) - .original_result() - } } #[type_abi] diff --git a/common/proxies/src/header_verifier_proxy.rs b/common/proxies/src/header_verifier_proxy.rs index f850ab26..9de9ca01 100644 --- a/common/proxies/src/header_verifier_proxy.rs +++ b/common/proxies/src/header_verifier_proxy.rs @@ -86,7 +86,7 @@ where Gas: TxGas, { pub fn register_bridge_operations< - Arg0: ProxyArg>, + Arg0: ProxyArg>, Arg1: ProxyArg>, Arg2: ProxyArg>>, >( @@ -148,43 +148,4 @@ where .argument(&operation_hash) .original_result() } - - pub fn set_min_valid_signers< - Arg0: ProxyArg, - >( - self, - new_value: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("setMinValidSigners") - .argument(&new_value) - .original_result() - } - - pub fn add_signers< - Arg0: ProxyArg>>, - >( - self, - signers: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("addSigners") - .argument(&signers) - .original_result() - } - - pub fn remove_signers< - Arg0: ProxyArg>>, - >( - self, - signers: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("removeSigners") - .argument(&signers) - .original_result() - } } diff --git a/common/proxies/src/lib.rs b/common/proxies/src/lib.rs index 7ffdc938..a7bb5a6d 100644 --- a/common/proxies/src/lib.rs +++ b/common/proxies/src/lib.rs @@ -5,4 +5,5 @@ pub mod enshrine_esdt_safe_proxy; pub mod esdt_safe_proxy; pub mod fee_market_proxy; pub mod header_verifier_proxy; +pub mod testing_sc_proxy; pub mod token_handler_proxy; diff --git a/esdt-safe/interactor/src/proxies/testing_sc_proxy.rs b/common/proxies/src/testing_sc_proxy.rs similarity index 100% rename from esdt-safe/interactor/src/proxies/testing_sc_proxy.rs rename to common/proxies/src/testing_sc_proxy.rs diff --git a/common/token-whitelist/Cargo.toml b/common/token-whitelist/Cargo.toml index 6709c61a..be1fcf38 100644 --- a/common/token-whitelist/Cargo.toml +++ b/common/token-whitelist/Cargo.toml @@ -4,9 +4,6 @@ version = "0.0.0" authors = ["dorin-iancu "] edition = "2018" -[dependencies.bls-signature] -path = "../bls-signature" - [dependencies.setup-phase] path = "../setup-phase" diff --git a/common/token-whitelist/src/lib.rs b/common/token-whitelist/src/lib.rs index 56524102..53e5cdd0 100644 --- a/common/token-whitelist/src/lib.rs +++ b/common/token-whitelist/src/lib.rs @@ -3,9 +3,7 @@ multiversx_sc::imports!(); #[multiversx_sc::module] -pub trait TokenWhitelistModule: - bls_signature::BlsSignatureModule + setup_phase::SetupPhaseModule + utils::UtilsModule -{ +pub trait TokenWhitelistModule: setup_phase::SetupPhaseModule + utils::UtilsModule { /// Tokens in the whitelist can be transferred without fees #[endpoint(addTokensToWhitelist)] fn add_tokens_to_whitelist( diff --git a/common/tx-batch-module/src/batch_status.rs b/common/tx-batch-module/src/batch_status.rs deleted file mode 100644 index cdf6f902..00000000 --- a/common/tx-batch-module/src/batch_status.rs +++ /dev/null @@ -1,16 +0,0 @@ -multiversx_sc::derive_imports!(); - -use multiversx_sc::{api::ManagedTypeApi, types::ManagedVec}; -use transaction::{BlockNonce, TxNonce}; - -#[derive(TopEncode, TopDecode, TypeAbi)] -pub enum BatchStatus { - AlreadyProcessed, - Empty, - PartiallyFull { - end_block_nonce: BlockNonce, - tx_ids: ManagedVec, - }, - Full, - WaitingForSignatures, -} diff --git a/common/tx-batch-module/src/lib.rs b/common/tx-batch-module/src/lib.rs index 527f2795..6e94ebe7 100644 --- a/common/tx-batch-module/src/lib.rs +++ b/common/tx-batch-module/src/lib.rs @@ -3,247 +3,10 @@ multiversx_sc::imports!(); multiversx_sc::derive_imports!(); -pub use batch_status::BatchStatus; -use transaction::{BatchId, Transaction, TxBatchSplitInFields, TxNonce, MIN_BLOCKS_FOR_FINALITY}; -use tx_batch_mapper::TxBatchMapper; - -pub const FIRST_BATCH_ID: BatchId = 1; - -pub mod batch_status; -pub mod tx_batch_mapper; +use transaction::TxNonce; #[multiversx_sc::module] pub trait TxBatchModule { - // endpoints - owner-only - - #[only_owner] - #[endpoint(setMaxTxBatchSize)] - fn set_max_tx_batch_size(&self, new_max_tx_batch_size: usize) { - require!( - new_max_tx_batch_size > 0, - "Max tx batch size must be more than 0" - ); - - self.max_tx_batch_size().set(new_max_tx_batch_size); - } - - #[only_owner] - #[endpoint(setMaxTxBatchBlockDuration)] - fn set_max_tx_batch_block_duration(&self, new_max_tx_batch_block_duration: u64) { - require!( - new_max_tx_batch_block_duration > 0, - "Max tx batch block duration must be more than 0" - ); - - self.max_tx_batch_block_duration() - .set(new_max_tx_batch_block_duration); - } - - // views - - #[view(getCurrentTxBatch)] - fn get_current_tx_batch(&self) -> OptionalValue> { - let first_batch_id = self.first_batch_id().get(); - let first_batch = self.pending_batches(first_batch_id); - - if self.is_batch_full(&first_batch, first_batch_id, first_batch_id) - && self.is_batch_final(&first_batch) - { - let mut result_vec = MultiValueEncoded::new(); - for tx in first_batch.iter() { - result_vec.push(tx.into_multiresult()); - } - - return OptionalValue::Some((first_batch_id, result_vec).into()); - } - - OptionalValue::None - } - - #[view(getFirstBatchAnyStatus)] - fn get_first_batch_any_status(&self) -> OptionalValue> { - let first_batch_id = self.first_batch_id().get(); - self.get_batch(first_batch_id) - } - - #[view(getBatch)] - fn get_batch(&self, batch_id: BatchId) -> OptionalValue> { - let tx_batch = self.pending_batches(batch_id); - if tx_batch.is_empty() { - return OptionalValue::None; - } - - let mut result_vec = MultiValueEncoded::new(); - for tx in tx_batch.iter() { - result_vec.push(tx.into_multiresult()); - } - - OptionalValue::Some((batch_id, result_vec).into()) - } - - #[view(getBatchStatus)] - fn get_batch_status(&self, batch_id: BatchId) -> BatchStatus { - let first_batch_id = self.first_batch_id().get(); - if batch_id < first_batch_id { - return BatchStatus::AlreadyProcessed; - } - - let tx_batch = self.pending_batches(batch_id); - if tx_batch.is_empty() { - return BatchStatus::Empty; - } - - if self.is_batch_full(&tx_batch, batch_id, first_batch_id) { - if batch_id == first_batch_id { - return BatchStatus::WaitingForSignatures; - } else { - return BatchStatus::Full; - } - } - - let mut tx_ids = ManagedVec::new(); - for tx in tx_batch.iter() { - tx_ids.push(tx.nonce); - } - - let max_tx_batch_block_duration = self.max_tx_batch_block_duration().get(); - let first_tx_in_batch_block_nonce = tx_batch.get_first_tx().block_nonce; - - BatchStatus::PartiallyFull { - end_block_nonce: first_tx_in_batch_block_nonce + max_tx_batch_block_duration, - tx_ids, - } - } - - // private - - fn add_to_batch(&self, transaction: Transaction) -> BatchId { - let first_batch_id = self.first_batch_id().get(); - let last_batch_id = self.last_batch_id().get(); - let mut last_batch = self.pending_batches(last_batch_id); - - if self.is_batch_full(&last_batch, last_batch_id, first_batch_id) { - let (new_batch_id, _) = self.create_new_batch(transaction); - - new_batch_id - } else { - last_batch.push(transaction); - - last_batch_id - } - } - - // optimized to prevent reading/storing the batch over and over - fn add_multiple_tx_to_batch( - &self, - transactions: &ManagedVec>, - ) -> ManagedVec { - if transactions.is_empty() { - return ManagedVec::new(); - } - - let first_batch_id = self.first_batch_id().get(); - let mut last_batch_id = self.last_batch_id().get(); - let mut last_batch = self.pending_batches(last_batch_id); - let mut batch_ids = ManagedVec::new(); - - for tx in transactions { - if self.is_batch_full(&last_batch, last_batch_id, first_batch_id) { - (last_batch_id, last_batch) = self.create_new_batch(tx); - } else { - last_batch.push(tx); - } - - batch_ids.push(last_batch_id); - } - - batch_ids - } - - fn create_new_batch( - &self, - transaction: Transaction, - ) -> (BatchId, TxBatchMapper) { - let last_batch_id = self.last_batch_id().get(); - let new_batch_id = last_batch_id + 1; - - let mut new_batch = self.pending_batches(new_batch_id); - new_batch.push(transaction); - - self.last_batch_id().set(new_batch_id); - - (new_batch_id, new_batch) - } - - fn is_batch_full( - &self, - tx_batch: &TxBatchMapper, - batch_id: BatchId, - first_batch_id: BatchId, - ) -> bool { - if tx_batch.is_empty() { - return false; - } - - let max_batch_size = self.max_tx_batch_size().get(); - if tx_batch.len() == max_batch_size { - return true; - } - - // if this is not the first batch, we ignore the timestamp checks - // we only check for max len - if batch_id > first_batch_id { - return false; - } - - let current_block_nonce = self.blockchain().get_block_nonce(); - let first_tx_in_batch_block_nonce = tx_batch.get_first_tx().block_nonce; - - // reorg protection - if current_block_nonce < first_tx_in_batch_block_nonce { - return false; - } - - let block_diff = current_block_nonce - first_tx_in_batch_block_nonce; - let max_tx_batch_block_duration = self.max_tx_batch_block_duration().get(); - - block_diff >= max_tx_batch_block_duration - } - - fn is_batch_final(&self, tx_batch: &TxBatchMapper) -> bool { - if tx_batch.is_empty() { - return false; - } - - let last_tx_in_batch = tx_batch.get_last_tx(); - let current_block = self.blockchain().get_block_nonce(); - - // reorg protection - if current_block < last_tx_in_batch.block_nonce { - return false; - } - - let block_diff = current_block - last_tx_in_batch.block_nonce; - - block_diff > MIN_BLOCKS_FOR_FINALITY - } - - fn clear_first_batch(&self, mapper: &mut TxBatchMapper) { - let first_batch_id = self.first_batch_id().get(); - let new_first_batch_id = first_batch_id + 1; - - // for the case when the last existing batch was processed - // otherwise, we'd create a batch with the same ID again - self.last_batch_id().update(|last_batch_id| { - if *last_batch_id == first_batch_id { - *last_batch_id = new_first_batch_id; - } - }); - self.first_batch_id().set(new_first_batch_id); - - mapper.clear(); - } - fn get_and_save_next_tx_id(&self) -> TxNonce { self.last_tx_nonce().update(|last_tx_nonce| { *last_tx_nonce += 1; @@ -251,27 +14,6 @@ pub trait TxBatchModule { }) } - // storage - - #[view(getFirstBatchId)] - #[storage_mapper("firstBatchId")] - fn first_batch_id(&self) -> SingleValueMapper; - - #[view(getLastBatchId)] - #[storage_mapper("lastBatchId")] - fn last_batch_id(&self) -> SingleValueMapper; - - #[storage_mapper("pendingBatches")] - fn pending_batches(&self, batch_id: BatchId) -> TxBatchMapper; - #[storage_mapper("lastTxNonce")] fn last_tx_nonce(&self) -> SingleValueMapper; - - // configurable - - #[storage_mapper("maxTxBatchSize")] - fn max_tx_batch_size(&self) -> SingleValueMapper; - - #[storage_mapper("maxTxBatchBlockDuration")] - fn max_tx_batch_block_duration(&self) -> SingleValueMapper; } diff --git a/common/tx-batch-module/src/tx_batch_mapper.rs b/common/tx-batch-module/src/tx_batch_mapper.rs deleted file mode 100644 index 589d7c08..00000000 --- a/common/tx-batch-module/src/tx_batch_mapper.rs +++ /dev/null @@ -1,141 +0,0 @@ -use multiversx_sc::{ - api::{ErrorApiImpl, StorageMapperApi}, - storage::{ - mappers::{StorageClearable, StorageMapper, VecMapper}, - StorageKey, - }, -}; -use transaction::Transaction; - -static EMPTY_VEC_ERR_MSG: &[u8] = b"Empty vec"; - -pub struct TxBatchMapper -where - SA: StorageMapperApi, -{ - vec_mapper: VecMapper>, - vec_len: usize, - first_tx: Option>, - last_tx: Option>, -} - -impl StorageMapper for TxBatchMapper -where - SA: StorageMapperApi, -{ - fn new(base_key: StorageKey) -> Self { - let vec_mapper = VecMapper::new(base_key); - let vec_len = vec_mapper.len(); - - let (first_tx, last_tx) = if vec_len > 0 { - (Some(vec_mapper.get(1)), Some(vec_mapper.get(vec_len))) - } else { - (None, None) - }; - - TxBatchMapper { - vec_mapper, - vec_len, - first_tx, - last_tx, - } - } -} - -impl StorageClearable for TxBatchMapper -where - SA: StorageMapperApi, -{ - fn clear(&mut self) { - self.vec_mapper.clear(); - } -} - -impl TxBatchMapper -where - SA: StorageMapperApi, -{ - #[inline] - pub fn len(&self) -> usize { - self.vec_len - } - - #[inline] - pub fn is_empty(&self) -> bool { - self.len() == 0 - } - - pub fn get_first_tx(&self) -> &Transaction { - if self.is_empty() { - SA::error_api_impl().signal_error(EMPTY_VEC_ERR_MSG); - } - - unsafe { self.first_tx.as_ref().unwrap_unchecked() } - } - - pub fn get_last_tx(&self) -> &Transaction { - if self.is_empty() { - SA::error_api_impl().signal_error(EMPTY_VEC_ERR_MSG); - } - - unsafe { self.last_tx.as_ref().unwrap_unchecked() } - } - - pub fn push(&mut self, tx: Transaction) { - if self.is_empty() { - self.first_tx = Some(tx.clone()); - } - - self.vec_mapper.push(&tx); - self.vec_len += 1; - self.last_tx = Some(tx); - } - - /// Provides a forward iterator. - pub fn iter(&self) -> Iter<'_, SA> { - Iter::new(self) - } -} - -pub struct Iter<'a, SA> -where - SA: StorageMapperApi, -{ - index: usize, - mapper: &'a TxBatchMapper, -} - -impl<'a, SA> Iter<'a, SA> -where - SA: StorageMapperApi, -{ - fn new(mapper: &'a TxBatchMapper) -> Iter<'a, SA> { - Iter { index: 1, mapper } - } -} - -impl<'a, SA> Iterator for Iter<'a, SA> -where - SA: StorageMapperApi, -{ - type Item = Transaction; - - #[inline] - fn next(&mut self) -> Option { - let current_index = self.index; - if current_index > self.mapper.len() { - return None; - } - - self.index += 1; - - if current_index == 1 { - return Some(self.mapper.get_first_tx().clone()); - } - if current_index == self.mapper.len() { - return Some(self.mapper.get_last_tx().clone()); - } - - Some(self.mapper.vec_mapper.get_unchecked(current_index)) - } -} diff --git a/common/utils/Cargo.toml b/common/utils/Cargo.toml index 3bed23a7..29cb1dae 100644 --- a/common/utils/Cargo.toml +++ b/common/utils/Cargo.toml @@ -7,9 +7,6 @@ edition = "2021" [lib] path = "src/lib.rs" -[dependencies.bls-signature] -path = "../bls-signature" - [dependencies.multiversx-sc] version = "=0.54.3" features = ["esdt-token-payment-legacy-decode"] diff --git a/enshrine-esdt-safe/Cargo.toml b/enshrine-esdt-safe/Cargo.toml index 0d4b1a04..ea240a30 100644 --- a/enshrine-esdt-safe/Cargo.toml +++ b/enshrine-esdt-safe/Cargo.toml @@ -17,9 +17,6 @@ path = "../common/tx-batch-module" [dependencies.max-bridged-amount-module] path = "../common/max-bridged-amount-module" -[dependencies.bls-signature] -path = "../common/bls-signature" - [dependencies.setup-phase] path = "../common/setup-phase" diff --git a/enshrine-esdt-safe/interactor/Cargo.toml b/enshrine-esdt-safe/interactor/Cargo.toml index be20ccaf..57946c81 100644 --- a/enshrine-esdt-safe/interactor/Cargo.toml +++ b/enshrine-esdt-safe/interactor/Cargo.toml @@ -21,9 +21,6 @@ path = "../../common/tx-batch-module" [dependencies.max-bridged-amount-module] path = "../../common/max-bridged-amount-module" -[dependencies.bls-signature] -path = "../../common/bls-signature" - [dependencies.setup-phase] path = "../../common/setup-phase" diff --git a/enshrine-esdt-safe/interactor/src/interactor_main.rs b/enshrine-esdt-safe/interactor/src/interactor_main.rs index 221ba7bf..1d1e2823 100644 --- a/enshrine-esdt-safe/interactor/src/interactor_main.rs +++ b/enshrine-esdt-safe/interactor/src/interactor_main.rs @@ -46,19 +46,8 @@ async fn main() { .deposit(OptionalTransferData::None, Option::None) .await } - "setMinValidSigners" => interact.set_min_valid_signers().await, - "addSigners" => interact.add_signers().await, - "removeSigners" => interact.remove_signers().await, "executeBridgeOps" => interact.execute_operations().await, "registerNewTokenID" => interact.register_new_token_id().await, - "setMaxTxBatchSize" => interact.set_max_tx_batch_size().await, - "setMaxTxBatchBlockDuration" => interact.set_max_tx_batch_block_duration().await, - "getCurrentTxBatch" => interact.get_current_tx_batch().await, - "getFirstBatchAnyStatus" => interact.get_first_batch_any_status().await, - "getBatch" => interact.get_batch().await, - "getBatchStatus" => interact.get_batch_status().await, - "getFirstBatchId" => interact.first_batch_id().await, - "getLastBatchId" => interact.last_batch_id().await, "setMaxBridgedAmount" => interact.set_max_bridged_amount().await, "getMaxBridgedAmount" => interact.max_bridged_amount().await, "endSetupPhase" => interact.end_setup_phase().await, @@ -440,61 +429,6 @@ impl ContractInteract { } } } - - async fn set_min_valid_signers(&mut self) { - let new_value = 0u32; - - let response = self - .interactor - .tx() - .from(&self.wallet_address) - .to(self.state.current_address()) - .gas(30_000_000u64) - .typed(enshrine_esdt_safe_proxy::EnshrineEsdtSafeProxy) - .set_min_valid_signers(new_value) - .returns(ReturnsResultUnmanaged) - .run() - .await; - - println!("Result: {response:?}"); - } - - async fn add_signers(&mut self) { - let signers = MultiValueVec::from(vec![bech32::decode("")]); - - let response = self - .interactor - .tx() - .from(&self.wallet_address) - .to(self.state.current_address()) - .gas(30_000_000u64) - .typed(enshrine_esdt_safe_proxy::EnshrineEsdtSafeProxy) - .add_signers(signers) - .returns(ReturnsResultUnmanaged) - .run() - .await; - - println!("Result: {response:?}"); - } - - async fn remove_signers(&mut self) { - let signers = MultiValueVec::from(vec![bech32::decode("")]); - - let response = self - .interactor - .tx() - .from(&self.wallet_address) - .to(self.state.current_address()) - .gas(30_000_000u64) - .typed(enshrine_esdt_safe_proxy::EnshrineEsdtSafeProxy) - .remove_signers(signers) - .returns(ReturnsResultUnmanaged) - .run() - .await; - - println!("Result: {response:?}"); - } - async fn execute_operations(&mut self) { let hash_of_hashes = ManagedBuffer::new_from_bytes(&b""[..]); let operation = Operation::new( @@ -545,121 +479,6 @@ impl ContractInteract { println!("Result: {response:?}"); } - async fn set_max_tx_batch_size(&mut self) { - let new_max_tx_batch_size = 0u32; - - let response = self - .interactor - .tx() - .from(&self.wallet_address) - .to(self.state.current_address()) - .gas(30_000_000u64) - .typed(enshrine_esdt_safe_proxy::EnshrineEsdtSafeProxy) - .set_max_tx_batch_size(new_max_tx_batch_size) - .returns(ReturnsResultUnmanaged) - .run() - .await; - - println!("Result: {response:?}"); - } - - async fn set_max_tx_batch_block_duration(&mut self) { - let new_max_tx_batch_block_duration = 0u64; - - let response = self - .interactor - .tx() - .from(&self.wallet_address) - .to(self.state.current_address()) - .gas(30_000_000u64) - .typed(enshrine_esdt_safe_proxy::EnshrineEsdtSafeProxy) - .set_max_tx_batch_block_duration(new_max_tx_batch_block_duration) - .returns(ReturnsResultUnmanaged) - .run() - .await; - - println!("Result: {response:?}"); - } - - async fn get_current_tx_batch(&mut self) { - let _ = self - .interactor - .query() - .to(self.state.current_address()) - .typed(enshrine_esdt_safe_proxy::EnshrineEsdtSafeProxy) - .get_current_tx_batch() - .returns(ReturnsResultUnmanaged) - .run() - .await; - } - - async fn get_first_batch_any_status(&mut self) { - let _ = self - .interactor - .query() - .to(self.state.current_address()) - .typed(enshrine_esdt_safe_proxy::EnshrineEsdtSafeProxy) - .get_first_batch_any_status() - .returns(ReturnsResultUnmanaged) - .run() - .await; - } - - async fn get_batch(&mut self) { - let batch_id = 0u64; - - let _ = self - .interactor - .query() - .to(self.state.current_address()) - .typed(enshrine_esdt_safe_proxy::EnshrineEsdtSafeProxy) - .get_batch(batch_id) - .returns(ReturnsResultUnmanaged) - .run() - .await; - } - - async fn get_batch_status(&mut self) { - let batch_id = 0u64; - - self.interactor - .query() - .to(self.state.current_address()) - .typed(enshrine_esdt_safe_proxy::EnshrineEsdtSafeProxy) - .get_batch_status(batch_id) - .returns(ReturnsResultUnmanaged) - .run() - .await; - } - - async fn first_batch_id(&mut self) { - let result_value = self - .interactor - .query() - .to(self.state.current_address()) - .typed(enshrine_esdt_safe_proxy::EnshrineEsdtSafeProxy) - .first_batch_id() - .returns(ReturnsResultUnmanaged) - .run() - .await; - - println!("Result: {result_value:?}"); - } - - async fn last_batch_id(&mut self) { - let result_value = self - .interactor - .query() - .to(self.state.current_address()) - .typed(enshrine_esdt_safe_proxy::EnshrineEsdtSafeProxy) - .last_batch_id() - .returns(ReturnsResultUnmanaged) - .run() - .await; - - println!("Result: {result_value:?}"); - } - async fn set_max_bridged_amount(&mut self) { let token_id = TokenIdentifier::from_esdt_bytes(&b""[..]); let max_amount = BigUint::::from(0u128); diff --git a/enshrine-esdt-safe/interactor/src/proxy.rs b/enshrine-esdt-safe/interactor/src/proxy.rs index 39250e47..c239166a 100644 --- a/enshrine-esdt-safe/interactor/src/proxy.rs +++ b/enshrine-esdt-safe/interactor/src/proxy.rs @@ -161,45 +161,6 @@ where .original_result() } - pub fn set_min_valid_signers< - Arg0: ProxyArg, - >( - self, - new_value: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("setMinValidSigners") - .argument(&new_value) - .original_result() - } - - pub fn add_signers< - Arg0: ProxyArg>>, - >( - self, - signers: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("addSigners") - .argument(&signers) - .original_result() - } - - pub fn remove_signers< - Arg0: ProxyArg>>, - >( - self, - signers: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("removeSigners") - .argument(&signers) - .original_result() - } - pub fn execute_operations< Arg0: ProxyArg>, Arg1: ProxyArg>, @@ -228,94 +189,6 @@ where .original_result() } - pub fn set_max_tx_batch_size< - Arg0: ProxyArg, - >( - self, - new_max_tx_batch_size: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("setMaxTxBatchSize") - .argument(&new_max_tx_batch_size) - .original_result() - } - - pub fn set_max_tx_batch_block_duration< - Arg0: ProxyArg, - >( - self, - new_max_tx_batch_block_duration: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("setMaxTxBatchBlockDuration") - .argument(&new_max_tx_batch_block_duration) - .original_result() - } - - pub fn get_current_tx_batch( - self, - ) -> TxTypedCall, ManagedAddress, ManagedVec>, ManagedVec>, Option>>>>>> { - self.wrapped_tx - .payment(NotPayable) - .raw_call("getCurrentTxBatch") - .original_result() - } - - pub fn get_first_batch_any_status( - self, - ) -> TxTypedCall, ManagedAddress, ManagedVec>, ManagedVec>, Option>>>>>> { - self.wrapped_tx - .payment(NotPayable) - .raw_call("getFirstBatchAnyStatus") - .original_result() - } - - pub fn get_batch< - Arg0: ProxyArg, - >( - self, - batch_id: Arg0, - ) -> TxTypedCall, ManagedAddress, ManagedVec>, ManagedVec>, Option>>>>>> { - self.wrapped_tx - .payment(NotPayable) - .raw_call("getBatch") - .argument(&batch_id) - .original_result() - } - - pub fn get_batch_status< - Arg0: ProxyArg, - >( - self, - batch_id: Arg0, - ) -> TxTypedCall> { - self.wrapped_tx - .payment(NotPayable) - .raw_call("getBatchStatus") - .argument(&batch_id) - .original_result() - } - - pub fn first_batch_id( - self, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("getFirstBatchId") - .original_result() - } - - pub fn last_batch_id( - self, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("getLastBatchId") - .original_result() - } - pub fn set_max_bridged_amount< Arg0: ProxyArg>, Arg1: ProxyArg>, diff --git a/enshrine-esdt-safe/src/from_sovereign/transfer_tokens.rs b/enshrine-esdt-safe/src/from_sovereign/transfer_tokens.rs index bad67293..cd65defb 100644 --- a/enshrine-esdt-safe/src/from_sovereign/transfer_tokens.rs +++ b/enshrine-esdt-safe/src/from_sovereign/transfer_tokens.rs @@ -24,8 +24,7 @@ impl Default for SplitResult { #[multiversx_sc::module] pub trait TransferTokensModule: - bls_signature::BlsSignatureModule - + super::events::EventsModule + super::events::EventsModule + tx_batch_module::TxBatchModule + max_bridged_amount_module::MaxBridgedAmountModule + multiversx_sc_modules::pause::PauseModule diff --git a/enshrine-esdt-safe/src/lib.rs b/enshrine-esdt-safe/src/lib.rs index 3d2526d5..750cce35 100644 --- a/enshrine-esdt-safe/src/lib.rs +++ b/enshrine-esdt-safe/src/lib.rs @@ -11,7 +11,6 @@ pub mod to_sovereign; pub trait EnshrineEsdtSafe: to_sovereign::create_tx::CreateTxModule + to_sovereign::events::EventsModule - + bls_signature::BlsSignatureModule + from_sovereign::events::EventsModule + from_sovereign::transfer_tokens::TransferTokensModule + tx_batch_module::TxBatchModule diff --git a/enshrine-esdt-safe/src/to_sovereign/create_tx.rs b/enshrine-esdt-safe/src/to_sovereign/create_tx.rs index 1983c247..da03c345 100644 --- a/enshrine-esdt-safe/src/to_sovereign/create_tx.rs +++ b/enshrine-esdt-safe/src/to_sovereign/create_tx.rs @@ -14,7 +14,6 @@ pub trait CreateTxModule: + tx_batch_module::TxBatchModule + max_bridged_amount_module::MaxBridgedAmountModule + token_whitelist::TokenWhitelistModule - + bls_signature::BlsSignatureModule + setup_phase::SetupPhaseModule + utils::UtilsModule + multiversx_sc_modules::pause::PauseModule diff --git a/enshrine-esdt-safe/tests/enshrine_esdt_safe_blackbox_test.rs b/enshrine-esdt-safe/tests/enshrine_esdt_safe_blackbox_test.rs index cd02d148..85f8a3d5 100644 --- a/enshrine-esdt-safe/tests/enshrine_esdt_safe_blackbox_test.rs +++ b/enshrine-esdt-safe/tests/enshrine_esdt_safe_blackbox_test.rs @@ -1,8 +1,7 @@ -use bls_signature::BlsSignature; use multiversx_sc::codec::TopEncode; use multiversx_sc::imports::{MultiValue3, OptionalValue}; use multiversx_sc::types::{ - Address, BigUint, EsdtTokenData, EsdtTokenPayment, ManagedBuffer, ManagedByteArray, ManagedVec, + Address, BigUint, EsdtTokenData, EsdtTokenPayment, ManagedBuffer, ManagedVec, MultiValueEncoded, TestAddress, TestSCAddress, TestTokenIdentifier, TokenIdentifier, }; use multiversx_sc_scenario::api::StaticApi; @@ -259,7 +258,7 @@ impl EnshrineTestState { operations_hashes.push(operation_hash.clone()); - let mock_signature = self.mock_bls_signature(&operation_hash); + let mock_signature = ManagedBuffer::new(); let hash_of_hashes = ManagedBuffer::new_from_bytes(&sha256(&operation_hash.to_vec())); self.world @@ -409,17 +408,6 @@ impl EnshrineTestState { .run(); } - fn mock_bls_signature( - &mut self, - operation_hash: &ManagedBuffer, - ) -> BlsSignature { - let byte_arr: &mut [u8; 48] = &mut [0; 48]; - operation_hash.load_to_byte_array(byte_arr); - let mock_signature: BlsSignature = ManagedByteArray::new_from_bytes(byte_arr); - - mock_signature - } - fn setup_payments( &mut self, token_ids: &Vec, diff --git a/enshrine-esdt-safe/wasm-enshrine-esdt-safe-full/Cargo.lock b/enshrine-esdt-safe/wasm-enshrine-esdt-safe-full/Cargo.lock index 959d9567..8d40c918 100644 --- a/enshrine-esdt-safe/wasm-enshrine-esdt-safe-full/Cargo.lock +++ b/enshrine-esdt-safe/wasm-enshrine-esdt-safe-full/Cargo.lock @@ -20,14 +20,6 @@ version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" -[[package]] -name = "bls-signature" -version = "0.0.0" -dependencies = [ - "multiversx-sc", - "transaction", -] - [[package]] name = "chain-config" version = "0.0.0" @@ -59,7 +51,6 @@ checksum = "c34f04666d835ff5d62e058c3995147c06f42fe86ff053337632bca83e42702d" name = "enshrine-esdt-safe" version = "0.0.0" dependencies = [ - "bls-signature", "fee-market", "header-verifier", "max-bridged-amount-module", @@ -86,7 +77,6 @@ dependencies = [ name = "fee-market" version = "0.0.0" dependencies = [ - "bls-signature", "multiversx-sc", "proxies", "transaction", @@ -97,7 +87,6 @@ dependencies = [ name = "header-verifier" version = "0.0.0" dependencies = [ - "bls-signature", "multiversx-sc", "proxies", "transaction", @@ -294,7 +283,6 @@ dependencies = [ name = "token-whitelist" version = "0.0.0" dependencies = [ - "bls-signature", "multiversx-sc", "setup-phase", "utils", @@ -331,6 +319,5 @@ checksum = "151ac09978d3c2862c4e39b557f4eceee2cc72150bc4cb4f16abf061b6e381fb" name = "utils" version = "0.0.0" dependencies = [ - "bls-signature", "multiversx-sc", ] diff --git a/enshrine-esdt-safe/wasm-enshrine-esdt-safe-full/src/lib.rs b/enshrine-esdt-safe/wasm-enshrine-esdt-safe-full/src/lib.rs index b31426e6..0813353d 100644 --- a/enshrine-esdt-safe/wasm-enshrine-esdt-safe-full/src/lib.rs +++ b/enshrine-esdt-safe/wasm-enshrine-esdt-safe-full/src/lib.rs @@ -6,9 +6,9 @@ // Init: 1 // Upgrade: 1 -// Endpoints: 30 +// Endpoints: 19 // Async Callback: 1 -// Total number of exported functions: 33 +// Total number of exported functions: 22 #![no_std] @@ -25,19 +25,8 @@ multiversx_sc_wasm_adapter::endpoints! { setMaxTxGasLimit => set_max_user_tx_gas_limit setBannedEndpoint => set_banned_endpoint deposit => deposit - setMinValidSigners => set_min_valid_signers - addSigners => add_signers - removeSigners => remove_signers executeBridgeOps => execute_operations registerNewTokenID => register_new_token_id - setMaxTxBatchSize => set_max_tx_batch_size - setMaxTxBatchBlockDuration => set_max_tx_batch_block_duration - getCurrentTxBatch => get_current_tx_batch - getFirstBatchAnyStatus => get_first_batch_any_status - getBatch => get_batch - getBatchStatus => get_batch_status - getFirstBatchId => first_batch_id - getLastBatchId => last_batch_id setMaxBridgedAmount => set_max_bridged_amount getMaxBridgedAmount => max_bridged_amount endSetupPhase => end_setup_phase diff --git a/enshrine-esdt-safe/wasm-enshrine-esdt-safe-view/Cargo.lock b/enshrine-esdt-safe/wasm-enshrine-esdt-safe-view/Cargo.lock index 0f44580a..9ccdf214 100644 --- a/enshrine-esdt-safe/wasm-enshrine-esdt-safe-view/Cargo.lock +++ b/enshrine-esdt-safe/wasm-enshrine-esdt-safe-view/Cargo.lock @@ -20,14 +20,6 @@ version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" -[[package]] -name = "bls-signature" -version = "0.0.0" -dependencies = [ - "multiversx-sc", - "transaction", -] - [[package]] name = "chain-config" version = "0.0.0" @@ -59,7 +51,6 @@ checksum = "c34f04666d835ff5d62e058c3995147c06f42fe86ff053337632bca83e42702d" name = "enshrine-esdt-safe" version = "0.0.0" dependencies = [ - "bls-signature", "fee-market", "header-verifier", "max-bridged-amount-module", @@ -86,7 +77,6 @@ dependencies = [ name = "fee-market" version = "0.0.0" dependencies = [ - "bls-signature", "multiversx-sc", "proxies", "transaction", @@ -97,7 +87,6 @@ dependencies = [ name = "header-verifier" version = "0.0.0" dependencies = [ - "bls-signature", "multiversx-sc", "proxies", "transaction", @@ -294,7 +283,6 @@ dependencies = [ name = "token-whitelist" version = "0.0.0" dependencies = [ - "bls-signature", "multiversx-sc", "setup-phase", "utils", @@ -331,6 +319,5 @@ checksum = "151ac09978d3c2862c4e39b557f4eceee2cc72150bc4cb4f16abf061b6e381fb" name = "utils" version = "0.0.0" dependencies = [ - "bls-signature", "multiversx-sc", ] diff --git a/enshrine-esdt-safe/wasm/Cargo.lock b/enshrine-esdt-safe/wasm/Cargo.lock index 5f5d1a0e..a2cf7257 100644 --- a/enshrine-esdt-safe/wasm/Cargo.lock +++ b/enshrine-esdt-safe/wasm/Cargo.lock @@ -20,14 +20,6 @@ version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" -[[package]] -name = "bls-signature" -version = "0.0.0" -dependencies = [ - "multiversx-sc", - "transaction", -] - [[package]] name = "chain-config" version = "0.0.0" @@ -59,7 +51,6 @@ checksum = "c34f04666d835ff5d62e058c3995147c06f42fe86ff053337632bca83e42702d" name = "enshrine-esdt-safe" version = "0.0.0" dependencies = [ - "bls-signature", "fee-market", "header-verifier", "max-bridged-amount-module", @@ -86,7 +77,6 @@ dependencies = [ name = "fee-market" version = "0.0.0" dependencies = [ - "bls-signature", "multiversx-sc", "proxies", "transaction", @@ -97,7 +87,6 @@ dependencies = [ name = "header-verifier" version = "0.0.0" dependencies = [ - "bls-signature", "multiversx-sc", "proxies", "transaction", @@ -294,7 +283,6 @@ dependencies = [ name = "token-whitelist" version = "0.0.0" dependencies = [ - "bls-signature", "multiversx-sc", "setup-phase", "utils", @@ -331,6 +319,5 @@ checksum = "151ac09978d3c2862c4e39b557f4eceee2cc72150bc4cb4f16abf061b6e381fb" name = "utils" version = "0.0.0" dependencies = [ - "bls-signature", "multiversx-sc", ] diff --git a/enshrine-esdt-safe/wasm/src/lib.rs b/enshrine-esdt-safe/wasm/src/lib.rs index b31426e6..0813353d 100644 --- a/enshrine-esdt-safe/wasm/src/lib.rs +++ b/enshrine-esdt-safe/wasm/src/lib.rs @@ -6,9 +6,9 @@ // Init: 1 // Upgrade: 1 -// Endpoints: 30 +// Endpoints: 19 // Async Callback: 1 -// Total number of exported functions: 33 +// Total number of exported functions: 22 #![no_std] @@ -25,19 +25,8 @@ multiversx_sc_wasm_adapter::endpoints! { setMaxTxGasLimit => set_max_user_tx_gas_limit setBannedEndpoint => set_banned_endpoint deposit => deposit - setMinValidSigners => set_min_valid_signers - addSigners => add_signers - removeSigners => remove_signers executeBridgeOps => execute_operations registerNewTokenID => register_new_token_id - setMaxTxBatchSize => set_max_tx_batch_size - setMaxTxBatchBlockDuration => set_max_tx_batch_block_duration - getCurrentTxBatch => get_current_tx_batch - getFirstBatchAnyStatus => get_first_batch_any_status - getBatch => get_batch - getBatchStatus => get_batch_status - getFirstBatchId => first_batch_id - getLastBatchId => last_batch_id setMaxBridgedAmount => set_max_bridged_amount getMaxBridgedAmount => max_bridged_amount endSetupPhase => end_setup_phase diff --git a/esdt-safe/Cargo.toml b/esdt-safe/Cargo.toml index 9b1bf7ed..e0df7173 100644 --- a/esdt-safe/Cargo.toml +++ b/esdt-safe/Cargo.toml @@ -17,9 +17,6 @@ path = "../common/tx-batch-module" [dependencies.max-bridged-amount-module] path = "../common/max-bridged-amount-module" -[dependencies.bls-signature] -path = "../common/bls-signature" - [dependencies.setup-phase] path = "../common/setup-phase" diff --git a/esdt-safe/interactor/src/interactor_main.rs b/esdt-safe/interactor/src/interactor_main.rs index 8d5e5ca3..484c5c2c 100644 --- a/esdt-safe/interactor/src/interactor_main.rs +++ b/esdt-safe/interactor/src/interactor_main.rs @@ -2,21 +2,19 @@ // TODO: Remove this when interactor setup is complete #![allow(dead_code)] -mod proxies; - -use ::proxies::fee_market_proxy::{FeeMarketProxy, FeeStruct, FeeType}; -use header_verifier_proxy::HeaderverifierProxy; use multiversx_sc_scenario::multiversx_chain_vm::crypto_functions::{sha256, SHA256_RESULT_LEN}; use multiversx_sc_scenario::scenario_model::TxResponseStatus; use multiversx_sc_snippets::imports::*; use multiversx_sc_snippets::sdk::{self}; -use proxies::*; +use proxies::esdt_safe_proxy::EsdtSafeProxy; +use proxies::fee_market_proxy::{FeeMarketProxy, FeeStruct, FeeType}; +use proxies::header_verifier_proxy::HeaderverifierProxy; +use proxies::testing_sc_proxy::TestingScProxy; use serde::{Deserialize, Serialize}; use std::{ io::{Read, Write}, path::Path, }; -use testing_sc_proxy::TestingScProxy; use transaction::{GasLimit, Operation, OperationData, PaymentsVec}; use transaction::{OperationEsdtPayment, TransferData}; const GATEWAY: &str = sdk::gateway::DEVNET_GATEWAY; @@ -47,19 +45,7 @@ async fn main() { "setFeeMarketAddress" => interact.set_fee_market_address().await, "setHeaderVerifierAddress" => interact.set_header_verifier_address().await, "deposit" => interact.deposit(OptionalTransferData::None, None).await, - "setMinValidSigners" => interact.set_min_valid_signers().await, - "addSigners" => interact.add_signers().await, - "removeSigners" => interact.remove_signers().await, "registerToken" => interact.register_token().await, - // "executeBridgeOps" => interact.execute_operations().await, - "setMaxTxBatchSize" => interact.set_max_tx_batch_size().await, - "setMaxTxBatchBlockDuration" => interact.set_max_tx_batch_block_duration().await, - "getCurrentTxBatch" => interact.get_current_tx_batch().await, - "getFirstBatchAnyStatus" => interact.get_first_batch_any_status().await, - "getBatch" => interact.get_batch().await, - "getBatchStatus" => interact.get_batch_status().await, - "getFirstBatchId" => interact.first_batch_id().await, - "getLastBatchId" => interact.last_batch_id().await, "setMaxBridgedAmount" => interact.set_max_bridged_amount().await, "getMaxBridgedAmount" => interact.max_bridged_amount().await, "endSetupPhase" => interact.end_setup_phase().await, @@ -192,7 +178,7 @@ impl ContractInteract { .tx() .from(&self.wallet_address) .gas(110_000_000u64) - .typed(proxy::EsdtSafeProxy) + .typed(EsdtSafeProxy) .init(is_sov_chain) .code(code_path) .returns(ReturnsNewAddress) @@ -246,7 +232,7 @@ impl ContractInteract { .tx() .from(&self.wallet_address) .gas(100_000_000u64) - .typed(header_verifier_proxy::HeaderverifierProxy) + .typed(HeaderverifierProxy) .init(MultiValueEncoded::new()) .code(header_verifier_code_path) .returns(ReturnsNewAddress) @@ -311,7 +297,7 @@ impl ContractInteract { .to(self.state.current_address()) .from(&self.wallet_address) .gas(30_000_000u64) - .typed(proxy::EsdtSafeProxy) + .typed(EsdtSafeProxy) .upgrade() .code(code_path) .code_metadata(CodeMetadata::UPGRADEABLE) @@ -330,7 +316,7 @@ impl ContractInteract { .from(&self.wallet_address) .to(self.state.current_address()) .gas(30_000_000u64) - .typed(proxy::EsdtSafeProxy) + .typed(EsdtSafeProxy) .set_fee_market_address(fee_market_address) .returns(ReturnsResultUnmanaged) .run() @@ -348,7 +334,7 @@ impl ContractInteract { .from(&self.wallet_address) .to(self.state.current_address()) .gas(30_000_000u64) - .typed(proxy::EsdtSafeProxy) + .typed(EsdtSafeProxy) .set_header_verifier_address(header_verifier_address) .returns(ReturnsResultUnmanaged) .run() @@ -381,7 +367,7 @@ impl ContractInteract { .from(&self.wallet_address) .to(self.state.current_address()) .gas(90_000_000u64) - .typed(proxy::EsdtSafeProxy) + .typed(EsdtSafeProxy) .deposit(to, transfer_data) .payment(payments) .returns(error) @@ -394,7 +380,7 @@ impl ContractInteract { .from(&self.wallet_address) .to(self.state.current_address()) .gas(90_000_000u64) - .typed(proxy::EsdtSafeProxy) + .typed(EsdtSafeProxy) .deposit(to, transfer_data) .payment(payments) .returns(ReturnsResultUnmanaged) @@ -404,60 +390,6 @@ impl ContractInteract { } } - async fn set_min_valid_signers(&mut self) { - let new_value = 0u32; - - let response = self - .interactor - .tx() - .from(&self.wallet_address) - .to(self.state.current_address()) - .gas(30_000_000u64) - .typed(proxy::EsdtSafeProxy) - .set_min_valid_signers(new_value) - .returns(ReturnsResultUnmanaged) - .run() - .await; - - println!("Result: {response:?}"); - } - - async fn add_signers(&mut self) { - let signers = MultiValueVec::from(vec![bech32::decode("")]); - - let response = self - .interactor - .tx() - .from(&self.wallet_address) - .to(self.state.current_address()) - .gas(30_000_000u64) - .typed(proxy::EsdtSafeProxy) - .add_signers(signers) - .returns(ReturnsResultUnmanaged) - .run() - .await; - - println!("Result: {response:?}"); - } - - async fn remove_signers(&mut self) { - let signers = MultiValueVec::from(vec![bech32::decode("")]); - - let response = self - .interactor - .tx() - .from(&self.wallet_address) - .to(self.state.current_address()) - .gas(30_000_000u64) - .typed(proxy::EsdtSafeProxy) - .remove_signers(signers) - .returns(ReturnsResultUnmanaged) - .run() - .await; - - println!("Result: {response:?}"); - } - async fn register_token(&mut self) { let egld_amount = BigUint::::from(50_000_000_000_000_000u64); @@ -473,7 +405,7 @@ impl ContractInteract { .from(&self.wallet_address) .to(self.state.current_address()) .gas(90_000_000u64) - .typed(proxy::EsdtSafeProxy) + .typed(EsdtSafeProxy) .register_token( sov_token_id, token_type, @@ -502,7 +434,7 @@ impl ContractInteract { .from(&self.wallet_address) .to(self.state.current_address()) .gas(70_000_000u64) - .typed(proxy::EsdtSafeProxy) + .typed(EsdtSafeProxy) .execute_operations(&hash_of_hashes, operation) .returns(ReturnsHandledOrError::new().returns(ReturnsResultUnmanaged)) .run() @@ -526,7 +458,7 @@ impl ContractInteract { .from(&self.wallet_address) .to(self.state.current_address()) .gas(30_000_000u64) - .typed(proxy::EsdtSafeProxy) + .typed(EsdtSafeProxy) .execute_operations(&operation_hash, operation) .returns(error_msg) .run() @@ -535,121 +467,6 @@ impl ContractInteract { println!("Result: {response:?}"); } - async fn set_max_tx_batch_size(&mut self) { - let new_max_tx_batch_size = 0u32; - - let response = self - .interactor - .tx() - .from(&self.wallet_address) - .to(self.state.current_address()) - .gas(30_000_000u64) - .typed(proxy::EsdtSafeProxy) - .set_max_tx_batch_size(new_max_tx_batch_size) - .returns(ReturnsResultUnmanaged) - .run() - .await; - - println!("Result: {response:?}"); - } - - async fn set_max_tx_batch_block_duration(&mut self) { - let new_max_tx_batch_block_duration = 0u64; - - let response = self - .interactor - .tx() - .from(&self.wallet_address) - .to(self.state.current_address()) - .gas(30_000_000u64) - .typed(proxy::EsdtSafeProxy) - .set_max_tx_batch_block_duration(new_max_tx_batch_block_duration) - .returns(ReturnsResultUnmanaged) - .run() - .await; - - println!("Result: {response:?}"); - } - - async fn get_current_tx_batch(&mut self) { - let _ = self - .interactor - .query() - .to(self.state.current_address()) - .typed(proxy::EsdtSafeProxy) - .get_current_tx_batch() - .returns(ReturnsResultUnmanaged) - .run() - .await; - } - - async fn get_first_batch_any_status(&mut self) { - let _ = self - .interactor - .query() - .to(self.state.current_address()) - .typed(proxy::EsdtSafeProxy) - .get_first_batch_any_status() - .returns(ReturnsResultUnmanaged) - .run() - .await; - } - - async fn get_batch(&mut self) { - let batch_id = 0u64; - - let _ = self - .interactor - .query() - .to(self.state.current_address()) - .typed(proxy::EsdtSafeProxy) - .get_batch(batch_id) - .returns(ReturnsResultUnmanaged) - .run() - .await; - } - - async fn get_batch_status(&mut self) { - let batch_id = 0u64; - - self.interactor - .query() - .to(self.state.current_address()) - .typed(proxy::EsdtSafeProxy) - .get_batch_status(batch_id) - .returns(ReturnsResultUnmanaged) - .run() - .await; - } - - async fn first_batch_id(&mut self) { - let result_value = self - .interactor - .query() - .to(self.state.current_address()) - .typed(proxy::EsdtSafeProxy) - .first_batch_id() - .returns(ReturnsResultUnmanaged) - .run() - .await; - - println!("Result: {result_value:?}"); - } - - async fn last_batch_id(&mut self) { - let result_value = self - .interactor - .query() - .to(self.state.current_address()) - .typed(proxy::EsdtSafeProxy) - .last_batch_id() - .returns(ReturnsResultUnmanaged) - .run() - .await; - - println!("Result: {result_value:?}"); - } - async fn set_max_bridged_amount(&mut self) { let token_id = TokenIdentifier::from_esdt_bytes(&b""[..]); let max_amount = BigUint::::from(0u128); @@ -660,7 +477,7 @@ impl ContractInteract { .from(&self.wallet_address) .to(self.state.current_address()) .gas(30_000_000u64) - .typed(proxy::EsdtSafeProxy) + .typed(EsdtSafeProxy) .set_max_bridged_amount(token_id, max_amount) .returns(ReturnsResultUnmanaged) .run() @@ -676,7 +493,7 @@ impl ContractInteract { .interactor .query() .to(self.state.current_address()) - .typed(proxy::EsdtSafeProxy) + .typed(EsdtSafeProxy) .max_bridged_amount(token_id) .returns(ReturnsResultUnmanaged) .run() @@ -692,7 +509,7 @@ impl ContractInteract { .from(&self.wallet_address) .to(self.state.current_address()) .gas(30_000_000u64) - .typed(proxy::EsdtSafeProxy) + .typed(EsdtSafeProxy) .end_setup_phase() .returns(ReturnsResultUnmanaged) .run() @@ -710,7 +527,7 @@ impl ContractInteract { .from(&self.wallet_address) .to(self.state.current_address()) .gas(30_000_000u64) - .typed(proxy::EsdtSafeProxy) + .typed(EsdtSafeProxy) .add_tokens_to_whitelist(tokens) .returns(ReturnsResultUnmanaged) .run() @@ -728,7 +545,7 @@ impl ContractInteract { .from(&self.wallet_address) .to(self.state.current_address()) .gas(30_000_000u64) - .typed(proxy::EsdtSafeProxy) + .typed(EsdtSafeProxy) .remove_tokens_from_whitelist(tokens) .returns(ReturnsResultUnmanaged) .run() @@ -746,7 +563,7 @@ impl ContractInteract { .from(&self.wallet_address) .to(self.state.current_address()) .gas(30_000_000u64) - .typed(proxy::EsdtSafeProxy) + .typed(EsdtSafeProxy) .add_tokens_to_blacklist(tokens) .returns(ReturnsResultUnmanaged) .run() @@ -764,7 +581,7 @@ impl ContractInteract { .from(&self.wallet_address) .to(self.state.current_address()) .gas(30_000_000u64) - .typed(proxy::EsdtSafeProxy) + .typed(EsdtSafeProxy) .remove_tokens_from_blacklist(tokens) .returns(ReturnsResultUnmanaged) .run() @@ -778,7 +595,7 @@ impl ContractInteract { .interactor .query() .to(self.state.current_address()) - .typed(proxy::EsdtSafeProxy) + .typed(EsdtSafeProxy) .token_whitelist() .returns(ReturnsResultUnmanaged) .run() @@ -792,7 +609,7 @@ impl ContractInteract { .interactor .query() .to(self.state.current_address()) - .typed(proxy::EsdtSafeProxy) + .typed(EsdtSafeProxy) .token_blacklist() .returns(ReturnsResultUnmanaged) .run() @@ -808,7 +625,7 @@ impl ContractInteract { .from(&self.wallet_address) .to(self.state.current_address()) .gas(30_000_000u64) - .typed(proxy::EsdtSafeProxy) + .typed(EsdtSafeProxy) .pause_endpoint() .returns(ReturnsResultUnmanaged) .run() @@ -824,7 +641,7 @@ impl ContractInteract { .from(&self.wallet_address) .to(self.state.current_address()) .gas(30_000_000u64) - .typed(proxy::EsdtSafeProxy) + .typed(EsdtSafeProxy) .unpause_endpoint() .returns(ReturnsResultUnmanaged) .run() @@ -838,7 +655,7 @@ impl ContractInteract { .interactor .query() .to(self.state.current_address()) - .typed(proxy::EsdtSafeProxy) + .typed(EsdtSafeProxy) .paused_status() .returns(ReturnsResultUnmanaged) .run() @@ -914,7 +731,7 @@ impl ContractInteract { } async fn register_operations(&mut self, operation: &Operation) { - let bls_signature = ManagedByteArray::default(); + let bls_signature = ManagedBuffer::new(); let operation_hash = self.get_operation_hash(operation); let hash_of_hashes = sha256(&operation_hash); @@ -933,7 +750,7 @@ impl ContractInteract { .tx() .from(&self.wallet_address) .to(header_verifier_address) - .typed(header_verifier_proxy::HeaderverifierProxy) + .typed(HeaderverifierProxy) .register_bridge_operations( bls_signature, managed_hash_of_hashes, diff --git a/esdt-safe/interactor/src/proxies/fee_market_proxy.rs b/esdt-safe/interactor/src/proxies/fee_market_proxy.rs deleted file mode 100644 index 774b6ec5..00000000 --- a/esdt-safe/interactor/src/proxies/fee_market_proxy.rs +++ /dev/null @@ -1,288 +0,0 @@ -// Code generated by the multiversx-sc proxy generator. DO NOT EDIT. - -//////////////////////////////////////////////////// -////////////////// AUTO-GENERATED ////////////////// -//////////////////////////////////////////////////// - -#![allow(dead_code)] -#![allow(clippy::all)] - -use multiversx_sc::proxy_imports::*; - -pub struct FeeMarketProxy; - -impl TxProxyTrait for FeeMarketProxy -where - Env: TxEnv, - From: TxFrom, - To: TxTo, - Gas: TxGas, -{ - type TxProxyMethods = FeeMarketProxyMethods; - - fn proxy_methods(self, tx: Tx) -> Self::TxProxyMethods { - FeeMarketProxyMethods { wrapped_tx: tx } - } -} - -pub struct FeeMarketProxyMethods -where - Env: TxEnv, - From: TxFrom, - To: TxTo, - Gas: TxGas, -{ - wrapped_tx: Tx, -} - -#[rustfmt::skip] -impl FeeMarketProxyMethods -where - Env: TxEnv, - Env::Api: VMApi, - From: TxFrom, - Gas: TxGas, -{ - pub fn init< - Arg0: ProxyArg>, - Arg1: ProxyArg>>, - >( - self, - esdt_safe_address: Arg0, - fee: Arg1, - ) -> TxTypedDeploy { - self.wrapped_tx - .payment(NotPayable) - .raw_deploy() - .argument(&esdt_safe_address) - .argument(&fee) - .original_result() - } -} - -#[rustfmt::skip] -impl FeeMarketProxyMethods -where - Env: TxEnv, - Env::Api: VMApi, - From: TxFrom, - To: TxTo, - Gas: TxGas, -{ - pub fn upgrade( - self, - ) -> TxTypedUpgrade { - self.wrapped_tx - .payment(NotPayable) - .raw_upgrade() - .original_result() - } -} - -#[rustfmt::skip] -impl FeeMarketProxyMethods -where - Env: TxEnv, - Env::Api: VMApi, - From: TxFrom, - To: TxTo, - Gas: TxGas, -{ - pub fn set_price_aggregator_address< - Arg0: ProxyArg>, - >( - self, - price_aggregator_address: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("setPriceAggregatorAddress") - .argument(&price_aggregator_address) - .original_result() - } - - pub fn set_fee< - Arg0: ProxyArg>, - >( - self, - fee_struct: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("setFee") - .argument(&fee_struct) - .original_result() - } - - pub fn remove_fee< - Arg0: ProxyArg>, - >( - self, - base_token: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("removeFee") - .argument(&base_token) - .original_result() - } - - pub fn token_fee< - Arg0: ProxyArg>, - >( - self, - token_id: Arg0, - ) -> TxTypedCall> { - self.wrapped_tx - .payment(NotPayable) - .raw_call("getTokenFee") - .argument(&token_id) - .original_result() - } - - pub fn add_users_to_whitelist< - Arg0: ProxyArg>>, - >( - self, - users: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("addUsersToWhitelist") - .argument(&users) - .original_result() - } - - pub fn remove_users_from_whitelist< - Arg0: ProxyArg>>, - >( - self, - users: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("removeUsersFromWhitelist") - .argument(&users) - .original_result() - } - - /// Percentages have to be between 0 and 10_000, and must all add up to 100% (i.e. 10_000) - pub fn distribute_fees< - Arg0: ProxyArg, usize>>>, - >( - self, - address_percentage_pairs: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("distributeFees") - .argument(&address_percentage_pairs) - .original_result() - } - - pub fn subtract_fee< - Arg0: ProxyArg>, - Arg1: ProxyArg, - Arg2: ProxyArg>, - >( - self, - original_caller: Arg0, - total_transfers: Arg1, - opt_gas_limit: Arg2, - ) -> TxTypedCall> { - self.wrapped_tx - .raw_call("subtractFee") - .argument(&original_caller) - .argument(&total_transfers) - .argument(&opt_gas_limit) - .original_result() - } - - pub fn users_whitelist( - self, - ) -> TxTypedCall>> { - self.wrapped_tx - .payment(NotPayable) - .raw_call("getUsersWhitelist") - .original_result() - } - - pub fn set_min_valid_signers< - Arg0: ProxyArg, - >( - self, - new_value: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("setMinValidSigners") - .argument(&new_value) - .original_result() - } - - pub fn add_signers< - Arg0: ProxyArg>>, - >( - self, - signers: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("addSigners") - .argument(&signers) - .original_result() - } - - pub fn remove_signers< - Arg0: ProxyArg>>, - >( - self, - signers: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("removeSigners") - .argument(&signers) - .original_result() - } -} - -#[type_abi] -#[derive(TopDecode, TopEncode, NestedEncode, NestedDecode, Clone)] -pub struct FeeStruct -where - Api: ManagedTypeApi, -{ - pub base_token: TokenIdentifier, - pub fee_type: FeeType, -} - -#[rustfmt::skip] -#[type_abi] -#[derive(TopEncode, TopDecode, NestedEncode, NestedDecode, Clone)] -pub enum FeeType -where - Api: ManagedTypeApi, -{ - None, - Fixed { - token: TokenIdentifier, - per_transfer: BigUint, - per_gas: BigUint, - }, - AnyToken { - base_fee_token: TokenIdentifier, - per_transfer: BigUint, - per_gas: BigUint, - }, -} - -#[type_abi] -#[derive(TopEncode, TopDecode)] -pub struct FinalPayment -where - Api: ManagedTypeApi, -{ - pub fee: EsdtTokenPayment, - pub remaining_tokens: EsdtTokenPayment, -} diff --git a/esdt-safe/interactor/src/proxies/header_verifier_proxy.rs b/esdt-safe/interactor/src/proxies/header_verifier_proxy.rs deleted file mode 100644 index 4f57c709..00000000 --- a/esdt-safe/interactor/src/proxies/header_verifier_proxy.rs +++ /dev/null @@ -1,174 +0,0 @@ -// Code generated by the multiversx-sc proxy generator. DO NOT EDIT. - -//////////////////////////////////////////////////// -////////////////// AUTO-GENERATED ////////////////// -//////////////////////////////////////////////////// - -#![allow(dead_code)] -#![allow(clippy::all)] - -use multiversx_sc::proxy_imports::*; - -pub struct HeaderverifierProxy; - -impl TxProxyTrait for HeaderverifierProxy -where - Env: TxEnv, - From: TxFrom, - To: TxTo, - Gas: TxGas, -{ - type TxProxyMethods = HeaderverifierProxyMethods; - - fn proxy_methods(self, tx: Tx) -> Self::TxProxyMethods { - HeaderverifierProxyMethods { wrapped_tx: tx } - } -} - -pub struct HeaderverifierProxyMethods -where - Env: TxEnv, - From: TxFrom, - To: TxTo, - Gas: TxGas, -{ - wrapped_tx: Tx, -} - -#[rustfmt::skip] -impl HeaderverifierProxyMethods -where - Env: TxEnv, - Env::Api: VMApi, - From: TxFrom, - Gas: TxGas, -{ - pub fn init< - Arg0: ProxyArg>>, - >( - self, - bls_pub_keys: Arg0, - ) -> TxTypedDeploy { - self.wrapped_tx - .payment(NotPayable) - .raw_deploy() - .argument(&bls_pub_keys) - .original_result() - } -} - -#[rustfmt::skip] -impl HeaderverifierProxyMethods -where - Env: TxEnv, - Env::Api: VMApi, - From: TxFrom, - To: TxTo, - Gas: TxGas, -{ - pub fn upgrade( - self, - ) -> TxTypedUpgrade { - self.wrapped_tx - .payment(NotPayable) - .raw_upgrade() - .original_result() - } -} - -#[rustfmt::skip] -impl HeaderverifierProxyMethods -where - Env: TxEnv, - Env::Api: VMApi, - From: TxFrom, - To: TxTo, - Gas: TxGas, -{ - pub fn register_bridge_operations< - Arg0: ProxyArg>, - Arg1: ProxyArg>, - Arg2: ProxyArg>>, - >( - self, - signature: Arg0, - bridge_operations_hash: Arg1, - operations_hashes: Arg2, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("registerBridgeOps") - .argument(&signature) - .argument(&bridge_operations_hash) - .argument(&operations_hashes) - .original_result() - } - - pub fn set_esdt_safe_address< - Arg0: ProxyArg>, - >( - self, - esdt_safe_address: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("setEsdtSafeAddress") - .argument(&esdt_safe_address) - .original_result() - } - - pub fn remove_executed_hash< - Arg0: ProxyArg>, - Arg1: ProxyArg>, - >( - self, - hash_of_hashes: Arg0, - operation_hash: Arg1, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("removeExecutedHash") - .argument(&hash_of_hashes) - .argument(&operation_hash) - .original_result() - } - - pub fn set_min_valid_signers< - Arg0: ProxyArg, - >( - self, - new_value: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("setMinValidSigners") - .argument(&new_value) - .original_result() - } - - pub fn add_signers< - Arg0: ProxyArg>>, - >( - self, - signers: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("addSigners") - .argument(&signers) - .original_result() - } - - pub fn remove_signers< - Arg0: ProxyArg>>, - >( - self, - signers: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("removeSigners") - .argument(&signers) - .original_result() - } -} diff --git a/esdt-safe/interactor/src/proxies/mod.rs b/esdt-safe/interactor/src/proxies/mod.rs deleted file mode 100644 index 171e160b..00000000 --- a/esdt-safe/interactor/src/proxies/mod.rs +++ /dev/null @@ -1,5 +0,0 @@ -pub mod fee_market_proxy; -pub mod header_verifier_proxy; -pub mod price_aggregator_proxy; -pub mod proxy; -pub mod testing_sc_proxy; diff --git a/esdt-safe/interactor/src/proxies/price_aggregator_proxy.rs b/esdt-safe/interactor/src/proxies/price_aggregator_proxy.rs deleted file mode 100644 index 7a7e2aaa..00000000 --- a/esdt-safe/interactor/src/proxies/price_aggregator_proxy.rs +++ /dev/null @@ -1,416 +0,0 @@ -// Code generated by the multiversx-sc proxy generator. DO NOT EDIT. - -//////////////////////////////////////////////////// -////////////////// AUTO-GENERATED ////////////////// -//////////////////////////////////////////////////// - -#![allow(dead_code)] -#![allow(clippy::all)] - -use multiversx_sc::proxy_imports::*; - -pub struct PriceAggregatorProxy; - -impl TxProxyTrait for PriceAggregatorProxy -where - Env: TxEnv, - From: TxFrom, - To: TxTo, - Gas: TxGas, -{ - type TxProxyMethods = PriceAggregatorProxyMethods; - - fn proxy_methods(self, tx: Tx) -> Self::TxProxyMethods { - PriceAggregatorProxyMethods { wrapped_tx: tx } - } -} - -pub struct PriceAggregatorProxyMethods -where - Env: TxEnv, - From: TxFrom, - To: TxTo, - Gas: TxGas, -{ - wrapped_tx: Tx, -} - -#[rustfmt::skip] -impl PriceAggregatorProxyMethods -where - Env: TxEnv, - Env::Api: VMApi, - From: TxFrom, - Gas: TxGas, -{ - pub fn init< - Arg0: ProxyArg>, - Arg1: ProxyArg>, - Arg2: ProxyArg>, - Arg3: ProxyArg, - Arg4: ProxyArg, - Arg5: ProxyArg>>, - >( - self, - staking_token: Arg0, - staking_amount: Arg1, - slash_amount: Arg2, - slash_quorum: Arg3, - submission_count: Arg4, - oracles: Arg5, - ) -> TxTypedDeploy { - self.wrapped_tx - .payment(NotPayable) - .raw_deploy() - .argument(&staking_token) - .argument(&staking_amount) - .argument(&slash_amount) - .argument(&slash_quorum) - .argument(&submission_count) - .argument(&oracles) - .original_result() - } -} - -#[rustfmt::skip] -impl PriceAggregatorProxyMethods -where - Env: TxEnv, - Env::Api: VMApi, - From: TxFrom, - To: TxTo, - Gas: TxGas, -{ - pub fn upgrade( - self, - ) -> TxTypedUpgrade { - self.wrapped_tx - .payment(NotPayable) - .raw_upgrade() - .original_result() - } -} - -#[rustfmt::skip] -impl PriceAggregatorProxyMethods -where - Env: TxEnv, - Env::Api: VMApi, - From: TxFrom, - To: TxTo, - Gas: TxGas, -{ - pub fn change_amounts< - Arg0: ProxyArg>, - Arg1: ProxyArg>, - >( - self, - staking_amount: Arg0, - slash_amount: Arg1, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("changeAmounts") - .argument(&staking_amount) - .argument(&slash_amount) - .original_result() - } - - pub fn add_oracles< - Arg0: ProxyArg>>, - >( - self, - oracles: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("addOracles") - .argument(&oracles) - .original_result() - } - - /// Also receives submission count, - /// so the owner does not have to update it manually with setSubmissionCount before this call - pub fn remove_oracles< - Arg0: ProxyArg, - Arg1: ProxyArg>>, - >( - self, - submission_count: Arg0, - oracles: Arg1, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("removeOracles") - .argument(&submission_count) - .argument(&oracles) - .original_result() - } - - pub fn submit< - Arg0: ProxyArg>, - Arg1: ProxyArg>, - Arg2: ProxyArg, - Arg3: ProxyArg>, - Arg4: ProxyArg, - >( - self, - from: Arg0, - to: Arg1, - submission_timestamp: Arg2, - price: Arg3, - decimals: Arg4, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("submit") - .argument(&from) - .argument(&to) - .argument(&submission_timestamp) - .argument(&price) - .argument(&decimals) - .original_result() - } - - pub fn submit_batch< - Arg0: ProxyArg, ManagedBuffer, u64, BigUint, u8>>>, - >( - self, - submissions: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("submitBatch") - .argument(&submissions) - .original_result() - } - - pub fn latest_round_data( - self, - ) -> TxTypedCall>> { - self.wrapped_tx - .payment(NotPayable) - .raw_call("latestRoundData") - .original_result() - } - - pub fn latest_price_feed< - Arg0: ProxyArg>, - Arg1: ProxyArg>, - >( - self, - from: Arg0, - to: Arg1, - ) -> TxTypedCall, ManagedBuffer, u64, BigUint, u8>> { - self.wrapped_tx - .payment(NotPayable) - .raw_call("latestPriceFeed") - .argument(&from) - .argument(&to) - .original_result() - } - - pub fn latest_price_feed_optional< - Arg0: ProxyArg>, - Arg1: ProxyArg>, - >( - self, - from: Arg0, - to: Arg1, - ) -> TxTypedCall, ManagedBuffer, u64, BigUint, u8>>> { - self.wrapped_tx - .payment(NotPayable) - .raw_call("latestPriceFeedOptional") - .argument(&from) - .argument(&to) - .original_result() - } - - pub fn set_submission_count< - Arg0: ProxyArg, - >( - self, - submission_count: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("setSubmissionCount") - .argument(&submission_count) - .original_result() - } - - pub fn get_oracles( - self, - ) -> TxTypedCall>> { - self.wrapped_tx - .payment(NotPayable) - .raw_call("getOracles") - .original_result() - } - - pub fn set_pair_decimals< - Arg0: ProxyArg>, - Arg1: ProxyArg>, - Arg2: ProxyArg, - >( - self, - from: Arg0, - to: Arg1, - decimals: Arg2, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("setPairDecimals") - .argument(&from) - .argument(&to) - .argument(&decimals) - .original_result() - } - - pub fn get_pair_decimals< - Arg0: ProxyArg>, - Arg1: ProxyArg>, - >( - self, - from: Arg0, - to: Arg1, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("getPairDecimals") - .argument(&from) - .argument(&to) - .original_result() - } - - pub fn submission_count( - self, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("submission_count") - .original_result() - } - - pub fn pause_endpoint( - self, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("pause") - .original_result() - } - - pub fn unpause_endpoint( - self, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("unpause") - .original_result() - } - - pub fn paused_status( - self, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("isPaused") - .original_result() - } - - pub fn stake( - self, - ) -> TxTypedCall { - self.wrapped_tx - .raw_call("stake") - .original_result() - } - - pub fn unstake< - Arg0: ProxyArg>, - >( - self, - unstake_amount: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("unstake") - .argument(&unstake_amount) - .original_result() - } - - pub fn vote_slash_member< - Arg0: ProxyArg>, - >( - self, - member_to_slash: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("voteSlashMember") - .argument(&member_to_slash) - .original_result() - } - - pub fn cancel_vote_slash_member< - Arg0: ProxyArg>, - >( - self, - member_to_slash: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("cancelVoteSlashMember") - .argument(&member_to_slash) - .original_result() - } - - pub fn slash_member< - Arg0: ProxyArg>, - >( - self, - member_to_slash: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("slashMember") - .argument(&member_to_slash) - .original_result() - } -} - -#[type_abi] -#[derive(NestedEncode, NestedDecode, TopEncode, TopDecode)] -pub struct PriceFeed -where - Api: ManagedTypeApi, -{ - pub round_id: u32, - pub from: ManagedBuffer, - pub to: ManagedBuffer, - pub timestamp: u64, - pub price: BigUint, - pub decimals: u8, -} - -#[type_abi] -#[derive(TopEncode)] -pub struct NewRoundEvent -where - Api: ManagedTypeApi, -{ - pub price: BigUint, - pub timestamp: u64, - pub decimals: u8, - pub block: u64, - pub epoch: u64, -} - -#[type_abi] -#[derive(TopEncode)] -pub struct DiscardSubmissionEvent { - pub submission_timestamp: u64, - pub first_submission_timestamp: u64, - pub has_caller_already_submitted: bool, -} diff --git a/esdt-safe/interactor/src/proxies/proxy.rs b/esdt-safe/interactor/src/proxies/proxy.rs deleted file mode 100644 index 81e2e31d..00000000 --- a/esdt-safe/interactor/src/proxies/proxy.rs +++ /dev/null @@ -1,458 +0,0 @@ -// Code generated by the multiversx-sc proxy generator. DO NOT EDIT. - -//////////////////////////////////////////////////// -////////////////// AUTO-GENERATED ////////////////// -//////////////////////////////////////////////////// - -#![allow(dead_code)] -#![allow(clippy::all)] - -use multiversx_sc::proxy_imports::*; - -pub struct EsdtSafeProxy; - -impl TxProxyTrait for EsdtSafeProxy -where - Env: TxEnv, - From: TxFrom, - To: TxTo, - Gas: TxGas, -{ - type TxProxyMethods = EsdtSafeProxyMethods; - - fn proxy_methods(self, tx: Tx) -> Self::TxProxyMethods { - EsdtSafeProxyMethods { wrapped_tx: tx } - } -} - -pub struct EsdtSafeProxyMethods -where - Env: TxEnv, - From: TxFrom, - To: TxTo, - Gas: TxGas, -{ - wrapped_tx: Tx, -} - -#[rustfmt::skip] -impl EsdtSafeProxyMethods -where - Env: TxEnv, - Env::Api: VMApi, - From: TxFrom, - Gas: TxGas, -{ - pub fn init< - Arg0: ProxyArg, - >( - self, - is_sovereign_chain: Arg0, - ) -> TxTypedDeploy { - self.wrapped_tx - .payment(NotPayable) - .raw_deploy() - .argument(&is_sovereign_chain) - .original_result() - } -} - -#[rustfmt::skip] -impl EsdtSafeProxyMethods -where - Env: TxEnv, - Env::Api: VMApi, - From: TxFrom, - To: TxTo, - Gas: TxGas, -{ - pub fn upgrade( - self, - ) -> TxTypedUpgrade { - self.wrapped_tx - .payment(NotPayable) - .raw_upgrade() - .original_result() - } -} - -#[rustfmt::skip] -impl EsdtSafeProxyMethods -where - Env: TxEnv, - Env::Api: VMApi, - From: TxFrom, - To: TxTo, - Gas: TxGas, -{ - pub fn set_fee_market_address< - Arg0: ProxyArg>, - >( - self, - fee_market_address: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("setFeeMarketAddress") - .argument(&fee_market_address) - .original_result() - } - - pub fn set_header_verifier_address< - Arg0: ProxyArg>, - >( - self, - header_verifier_address: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("setHeaderVerifierAddress") - .argument(&header_verifier_address) - .original_result() - } - - pub fn set_max_user_tx_gas_limit< - Arg0: ProxyArg, - >( - self, - max_user_tx_gas_limit: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("setMaxTxGasLimit") - .argument(&max_user_tx_gas_limit) - .original_result() - } - - pub fn set_banned_endpoint< - Arg0: ProxyArg>, - >( - self, - endpoint_name: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("setBannedEndpoint") - .argument(&endpoint_name) - .original_result() - } - - pub fn deposit< - Arg0: ProxyArg>, - Arg1: ProxyArg, ManagedVec>>>>, - >( - self, - to: Arg0, - optional_transfer_data: Arg1, - ) -> TxTypedCall { - self.wrapped_tx - .raw_call("deposit") - .argument(&to) - .argument(&optional_transfer_data) - .original_result() - } - - pub fn set_min_valid_signers< - Arg0: ProxyArg, - >( - self, - new_value: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("setMinValidSigners") - .argument(&new_value) - .original_result() - } - - pub fn add_signers< - Arg0: ProxyArg>>, - >( - self, - signers: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("addSigners") - .argument(&signers) - .original_result() - } - - pub fn remove_signers< - Arg0: ProxyArg>>, - >( - self, - signers: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("removeSigners") - .argument(&signers) - .original_result() - } - - pub fn register_token< - Arg0: ProxyArg>, - Arg1: ProxyArg, - Arg2: ProxyArg>, - Arg3: ProxyArg>, - Arg4: ProxyArg, - >( - self, - sov_token_id: Arg0, - token_type: Arg1, - token_display_name: Arg2, - token_ticker: Arg3, - num_decimals: Arg4, - ) -> TxTypedCall { - self.wrapped_tx - .raw_call("registerToken") - .argument(&sov_token_id) - .argument(&token_type) - .argument(&token_display_name) - .argument(&token_ticker) - .argument(&num_decimals) - .original_result() - } - - pub fn execute_operations< - Arg0: ProxyArg>, - Arg1: ProxyArg>, - >( - self, - hash_of_hashes: Arg0, - operation: Arg1, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("executeBridgeOps") - .argument(&hash_of_hashes) - .argument(&operation) - .original_result() - } - - pub fn set_max_tx_batch_size< - Arg0: ProxyArg, - >( - self, - new_max_tx_batch_size: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("setMaxTxBatchSize") - .argument(&new_max_tx_batch_size) - .original_result() - } - - pub fn set_max_tx_batch_block_duration< - Arg0: ProxyArg, - >( - self, - new_max_tx_batch_block_duration: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("setMaxTxBatchBlockDuration") - .argument(&new_max_tx_batch_block_duration) - .original_result() - } - - pub fn get_current_tx_batch( - self, - ) -> TxTypedCall, ManagedAddress, ManagedVec>, ManagedVec>, Option>>>>>> { - self.wrapped_tx - .payment(NotPayable) - .raw_call("getCurrentTxBatch") - .original_result() - } - - pub fn get_first_batch_any_status( - self, - ) -> TxTypedCall, ManagedAddress, ManagedVec>, ManagedVec>, Option>>>>>> { - self.wrapped_tx - .payment(NotPayable) - .raw_call("getFirstBatchAnyStatus") - .original_result() - } - - pub fn get_batch< - Arg0: ProxyArg, - >( - self, - batch_id: Arg0, - ) -> TxTypedCall, ManagedAddress, ManagedVec>, ManagedVec>, Option>>>>>> { - self.wrapped_tx - .payment(NotPayable) - .raw_call("getBatch") - .argument(&batch_id) - .original_result() - } - - pub fn get_batch_status< - Arg0: ProxyArg, - >( - self, - batch_id: Arg0, - ) -> TxTypedCall> { - self.wrapped_tx - .payment(NotPayable) - .raw_call("getBatchStatus") - .argument(&batch_id) - .original_result() - } - - pub fn first_batch_id( - self, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("getFirstBatchId") - .original_result() - } - - pub fn last_batch_id( - self, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("getLastBatchId") - .original_result() - } - - pub fn set_max_bridged_amount< - Arg0: ProxyArg>, - Arg1: ProxyArg>, - >( - self, - token_id: Arg0, - max_amount: Arg1, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("setMaxBridgedAmount") - .argument(&token_id) - .argument(&max_amount) - .original_result() - } - - pub fn max_bridged_amount< - Arg0: ProxyArg>, - >( - self, - token_id: Arg0, - ) -> TxTypedCall> { - self.wrapped_tx - .payment(NotPayable) - .raw_call("getMaxBridgedAmount") - .argument(&token_id) - .original_result() - } - - pub fn end_setup_phase( - self, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("endSetupPhase") - .original_result() - } - - /// Tokens in the whitelist can be transferred without fees - pub fn add_tokens_to_whitelist< - Arg0: ProxyArg>>, - >( - self, - tokens: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("addTokensToWhitelist") - .argument(&tokens) - .original_result() - } - - pub fn remove_tokens_from_whitelist< - Arg0: ProxyArg>>, - >( - self, - tokens: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("removeTokensFromWhitelist") - .argument(&tokens) - .original_result() - } - - /// Tokens in blacklist cannot be transferred - pub fn add_tokens_to_blacklist< - Arg0: ProxyArg>>, - >( - self, - tokens: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("addTokensToBlacklist") - .argument(&tokens) - .original_result() - } - - pub fn remove_tokens_from_blacklist< - Arg0: ProxyArg>>, - >( - self, - tokens: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("removeTokensFromBlacklist") - .argument(&tokens) - .original_result() - } - - pub fn token_whitelist( - self, - ) -> TxTypedCall>> { - self.wrapped_tx - .payment(NotPayable) - .raw_call("getTokenWhitelist") - .original_result() - } - - pub fn token_blacklist( - self, - ) -> TxTypedCall>> { - self.wrapped_tx - .payment(NotPayable) - .raw_call("getTokenBlacklist") - .original_result() - } - - pub fn pause_endpoint( - self, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("pause") - .original_result() - } - - pub fn unpause_endpoint( - self, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("unpause") - .original_result() - } - - pub fn paused_status( - self, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("isPaused") - .original_result() - } -} diff --git a/esdt-safe/interactor/src/proxy.rs b/esdt-safe/interactor/src/proxy.rs index 81e2e31d..3d4dd625 100644 --- a/esdt-safe/interactor/src/proxy.rs +++ b/esdt-safe/interactor/src/proxy.rs @@ -152,45 +152,6 @@ where .original_result() } - pub fn set_min_valid_signers< - Arg0: ProxyArg, - >( - self, - new_value: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("setMinValidSigners") - .argument(&new_value) - .original_result() - } - - pub fn add_signers< - Arg0: ProxyArg>>, - >( - self, - signers: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("addSigners") - .argument(&signers) - .original_result() - } - - pub fn remove_signers< - Arg0: ProxyArg>>, - >( - self, - signers: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("removeSigners") - .argument(&signers) - .original_result() - } - pub fn register_token< Arg0: ProxyArg>, Arg1: ProxyArg, @@ -231,94 +192,6 @@ where .original_result() } - pub fn set_max_tx_batch_size< - Arg0: ProxyArg, - >( - self, - new_max_tx_batch_size: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("setMaxTxBatchSize") - .argument(&new_max_tx_batch_size) - .original_result() - } - - pub fn set_max_tx_batch_block_duration< - Arg0: ProxyArg, - >( - self, - new_max_tx_batch_block_duration: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("setMaxTxBatchBlockDuration") - .argument(&new_max_tx_batch_block_duration) - .original_result() - } - - pub fn get_current_tx_batch( - self, - ) -> TxTypedCall, ManagedAddress, ManagedVec>, ManagedVec>, Option>>>>>> { - self.wrapped_tx - .payment(NotPayable) - .raw_call("getCurrentTxBatch") - .original_result() - } - - pub fn get_first_batch_any_status( - self, - ) -> TxTypedCall, ManagedAddress, ManagedVec>, ManagedVec>, Option>>>>>> { - self.wrapped_tx - .payment(NotPayable) - .raw_call("getFirstBatchAnyStatus") - .original_result() - } - - pub fn get_batch< - Arg0: ProxyArg, - >( - self, - batch_id: Arg0, - ) -> TxTypedCall, ManagedAddress, ManagedVec>, ManagedVec>, Option>>>>>> { - self.wrapped_tx - .payment(NotPayable) - .raw_call("getBatch") - .argument(&batch_id) - .original_result() - } - - pub fn get_batch_status< - Arg0: ProxyArg, - >( - self, - batch_id: Arg0, - ) -> TxTypedCall> { - self.wrapped_tx - .payment(NotPayable) - .raw_call("getBatchStatus") - .argument(&batch_id) - .original_result() - } - - pub fn first_batch_id( - self, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("getFirstBatchId") - .original_result() - } - - pub fn last_batch_id( - self, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("getLastBatchId") - .original_result() - } - pub fn set_max_bridged_amount< Arg0: ProxyArg>, Arg1: ProxyArg>, diff --git a/esdt-safe/src/from_sovereign/transfer_tokens.rs b/esdt-safe/src/from_sovereign/transfer_tokens.rs index 019eacbc..ca1b3bc6 100644 --- a/esdt-safe/src/from_sovereign/transfer_tokens.rs +++ b/esdt-safe/src/from_sovereign/transfer_tokens.rs @@ -11,8 +11,7 @@ const ESDT_TRANSACTION_GAS: GasLimit = 5_000_000; #[multiversx_sc::module] pub trait TransferTokensModule: - bls_signature::BlsSignatureModule - + super::events::EventsModule + super::events::EventsModule + super::token_mapping::TokenMappingModule + tx_batch_module::TxBatchModule + max_bridged_amount_module::MaxBridgedAmountModule diff --git a/esdt-safe/src/lib.rs b/esdt-safe/src/lib.rs index ba36033a..49b9ec56 100644 --- a/esdt-safe/src/lib.rs +++ b/esdt-safe/src/lib.rs @@ -14,7 +14,6 @@ const MAX_USER_TX_GAS_LIMIT: GasLimit = 60_000_000; pub trait EsdtSafe: to_sovereign::create_tx::CreateTxModule + to_sovereign::events::EventsModule - + bls_signature::BlsSignatureModule + from_sovereign::events::EventsModule + from_sovereign::token_mapping::TokenMappingModule + from_sovereign::transfer_tokens::TransferTokensModule diff --git a/esdt-safe/src/to_sovereign/create_tx.rs b/esdt-safe/src/to_sovereign/create_tx.rs index d22f3ba3..fa4a8552 100644 --- a/esdt-safe/src/to_sovereign/create_tx.rs +++ b/esdt-safe/src/to_sovereign/create_tx.rs @@ -16,7 +16,6 @@ pub trait CreateTxModule: + tx_batch_module::TxBatchModule + max_bridged_amount_module::MaxBridgedAmountModule + token_whitelist::TokenWhitelistModule - + bls_signature::BlsSignatureModule + setup_phase::SetupPhaseModule + utils::UtilsModule + multiversx_sc_modules::pause::PauseModule diff --git a/esdt-safe/tests/bridge_blackbox_tests.rs b/esdt-safe/tests/bridge_blackbox_tests.rs index c0e1d75f..1f77d6ac 100644 --- a/esdt-safe/tests/bridge_blackbox_tests.rs +++ b/esdt-safe/tests/bridge_blackbox_tests.rs @@ -1,8 +1,6 @@ -use bls_signature::BlsSignature; use multiversx_sc::codec::TopEncode; use multiversx_sc::types::{ - Address, EsdtTokenData, ManagedByteArray, MultiValueEncoded, TestTokenIdentifier, - TokenIdentifier, + Address, EsdtTokenData, MultiValueEncoded, TestTokenIdentifier, TokenIdentifier, }; use multiversx_sc::{ imports::{MultiValue3, OptionalValue}, @@ -304,7 +302,7 @@ impl BridgeTestState { operations_hashes.push(operation_hash.clone()); - let mock_signature = self.mock_bls_signature(&operation_hash); + let mock_signature = ManagedBuffer::new(); let hash_of_hashes = ManagedBuffer::new_from_bytes(&sha256(&operation_hash.to_vec())); self.world @@ -356,17 +354,6 @@ impl BridgeTestState { ManagedBuffer::new_from_bytes(&sha256) } - - fn mock_bls_signature( - &mut self, - operation_hash: &ManagedBuffer, - ) -> BlsSignature { - let byte_arr: &mut [u8; 48] = &mut [0; 48]; - operation_hash.load_to_byte_array(byte_arr); - let mock_signature: BlsSignature = ManagedByteArray::new_from_bytes(byte_arr); - - mock_signature - } } #[test] diff --git a/esdt-safe/wasm-esdt-safe-full/Cargo.lock b/esdt-safe/wasm-esdt-safe-full/Cargo.lock index 2c42545e..5c173bd2 100644 --- a/esdt-safe/wasm-esdt-safe-full/Cargo.lock +++ b/esdt-safe/wasm-esdt-safe-full/Cargo.lock @@ -20,14 +20,6 @@ version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" -[[package]] -name = "bls-signature" -version = "0.0.0" -dependencies = [ - "multiversx-sc", - "transaction", -] - [[package]] name = "endian-type" version = "0.1.2" @@ -38,7 +30,6 @@ checksum = "c34f04666d835ff5d62e058c3995147c06f42fe86ff053337632bca83e42702d" name = "esdt-safe" version = "0.0.0" dependencies = [ - "bls-signature", "fee-market", "header-verifier", "max-bridged-amount-module", @@ -64,7 +55,6 @@ dependencies = [ name = "fee-market" version = "0.0.0" dependencies = [ - "bls-signature", "multiversx-sc", "proxies", "transaction", @@ -75,7 +65,6 @@ dependencies = [ name = "header-verifier" version = "0.0.0" dependencies = [ - "bls-signature", "multiversx-sc", "proxies", "transaction", @@ -262,7 +251,6 @@ dependencies = [ name = "token-whitelist" version = "0.0.0" dependencies = [ - "bls-signature", "multiversx-sc", "setup-phase", "utils", @@ -299,6 +287,5 @@ checksum = "151ac09978d3c2862c4e39b557f4eceee2cc72150bc4cb4f16abf061b6e381fb" name = "utils" version = "0.0.0" dependencies = [ - "bls-signature", "multiversx-sc", ] diff --git a/esdt-safe/wasm-esdt-safe-full/src/lib.rs b/esdt-safe/wasm-esdt-safe-full/src/lib.rs index 83bd0032..aa3bfcc9 100644 --- a/esdt-safe/wasm-esdt-safe-full/src/lib.rs +++ b/esdt-safe/wasm-esdt-safe-full/src/lib.rs @@ -6,10 +6,10 @@ // Init: 1 // Upgrade: 1 -// Endpoints: 30 +// Endpoints: 19 // Async Callback (empty): 1 // Promise callbacks: 2 -// Total number of exported functions: 35 +// Total number of exported functions: 24 #![no_std] @@ -26,19 +26,8 @@ multiversx_sc_wasm_adapter::endpoints! { setMaxTxGasLimit => set_max_user_tx_gas_limit setBannedEndpoint => set_banned_endpoint deposit => deposit - setMinValidSigners => set_min_valid_signers - addSigners => add_signers - removeSigners => remove_signers registerToken => register_token executeBridgeOps => execute_operations - setMaxTxBatchSize => set_max_tx_batch_size - setMaxTxBatchBlockDuration => set_max_tx_batch_block_duration - getCurrentTxBatch => get_current_tx_batch - getFirstBatchAnyStatus => get_first_batch_any_status - getBatch => get_batch - getBatchStatus => get_batch_status - getFirstBatchId => first_batch_id - getLastBatchId => last_batch_id setMaxBridgedAmount => set_max_bridged_amount getMaxBridgedAmount => max_bridged_amount endSetupPhase => end_setup_phase diff --git a/esdt-safe/wasm-esdt-safe-view/Cargo.lock b/esdt-safe/wasm-esdt-safe-view/Cargo.lock index 8d8ddf92..de3f0909 100644 --- a/esdt-safe/wasm-esdt-safe-view/Cargo.lock +++ b/esdt-safe/wasm-esdt-safe-view/Cargo.lock @@ -20,14 +20,6 @@ version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" -[[package]] -name = "bls-signature" -version = "0.0.0" -dependencies = [ - "multiversx-sc", - "transaction", -] - [[package]] name = "endian-type" version = "0.1.2" @@ -38,7 +30,6 @@ checksum = "c34f04666d835ff5d62e058c3995147c06f42fe86ff053337632bca83e42702d" name = "esdt-safe" version = "0.0.0" dependencies = [ - "bls-signature", "fee-market", "header-verifier", "max-bridged-amount-module", @@ -64,7 +55,6 @@ dependencies = [ name = "fee-market" version = "0.0.0" dependencies = [ - "bls-signature", "multiversx-sc", "proxies", "transaction", @@ -75,7 +65,6 @@ dependencies = [ name = "header-verifier" version = "0.0.0" dependencies = [ - "bls-signature", "multiversx-sc", "proxies", "transaction", @@ -262,7 +251,6 @@ dependencies = [ name = "token-whitelist" version = "0.0.0" dependencies = [ - "bls-signature", "multiversx-sc", "setup-phase", "utils", @@ -299,6 +287,5 @@ checksum = "151ac09978d3c2862c4e39b557f4eceee2cc72150bc4cb4f16abf061b6e381fb" name = "utils" version = "0.0.0" dependencies = [ - "bls-signature", "multiversx-sc", ] diff --git a/esdt-safe/wasm/Cargo.lock b/esdt-safe/wasm/Cargo.lock index 5da8a30e..a79cc7b7 100644 --- a/esdt-safe/wasm/Cargo.lock +++ b/esdt-safe/wasm/Cargo.lock @@ -20,14 +20,6 @@ version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" -[[package]] -name = "bls-signature" -version = "0.0.0" -dependencies = [ - "multiversx-sc", - "transaction", -] - [[package]] name = "endian-type" version = "0.1.2" @@ -38,7 +30,6 @@ checksum = "c34f04666d835ff5d62e058c3995147c06f42fe86ff053337632bca83e42702d" name = "esdt-safe" version = "0.0.0" dependencies = [ - "bls-signature", "fee-market", "header-verifier", "max-bridged-amount-module", @@ -64,7 +55,6 @@ dependencies = [ name = "fee-market" version = "0.0.0" dependencies = [ - "bls-signature", "multiversx-sc", "proxies", "transaction", @@ -75,7 +65,6 @@ dependencies = [ name = "header-verifier" version = "0.0.0" dependencies = [ - "bls-signature", "multiversx-sc", "proxies", "transaction", @@ -262,7 +251,6 @@ dependencies = [ name = "token-whitelist" version = "0.0.0" dependencies = [ - "bls-signature", "multiversx-sc", "setup-phase", "utils", @@ -299,6 +287,5 @@ checksum = "151ac09978d3c2862c4e39b557f4eceee2cc72150bc4cb4f16abf061b6e381fb" name = "utils" version = "0.0.0" dependencies = [ - "bls-signature", "multiversx-sc", ] diff --git a/esdt-safe/wasm/src/lib.rs b/esdt-safe/wasm/src/lib.rs index 83bd0032..aa3bfcc9 100644 --- a/esdt-safe/wasm/src/lib.rs +++ b/esdt-safe/wasm/src/lib.rs @@ -6,10 +6,10 @@ // Init: 1 // Upgrade: 1 -// Endpoints: 30 +// Endpoints: 19 // Async Callback (empty): 1 // Promise callbacks: 2 -// Total number of exported functions: 35 +// Total number of exported functions: 24 #![no_std] @@ -26,19 +26,8 @@ multiversx_sc_wasm_adapter::endpoints! { setMaxTxGasLimit => set_max_user_tx_gas_limit setBannedEndpoint => set_banned_endpoint deposit => deposit - setMinValidSigners => set_min_valid_signers - addSigners => add_signers - removeSigners => remove_signers registerToken => register_token executeBridgeOps => execute_operations - setMaxTxBatchSize => set_max_tx_batch_size - setMaxTxBatchBlockDuration => set_max_tx_batch_block_duration - getCurrentTxBatch => get_current_tx_batch - getFirstBatchAnyStatus => get_first_batch_any_status - getBatch => get_batch - getBatchStatus => get_batch_status - getFirstBatchId => first_batch_id - getLastBatchId => last_batch_id setMaxBridgedAmount => set_max_bridged_amount getMaxBridgedAmount => max_bridged_amount endSetupPhase => end_setup_phase diff --git a/fee-market/Cargo.toml b/fee-market/Cargo.toml index 218e9b12..408e96db 100644 --- a/fee-market/Cargo.toml +++ b/fee-market/Cargo.toml @@ -14,9 +14,6 @@ path = "../common/utils" [dependencies.transaction] path = "../common/transaction" -[dependencies.bls-signature] -path = "../common/bls-signature" - [dependencies.proxies] path = "../common/proxies" diff --git a/fee-market/sc-config.toml b/fee-market/sc-config.toml index 91c6f0a4..c1f4524c 100644 --- a/fee-market/sc-config.toml +++ b/fee-market/sc-config.toml @@ -16,7 +16,4 @@ add-unlabelled = false add-labels = ["fee-market-external-view"] [[proxy]] -path = "src/fee_market_proxy.rs" - -[[proxy]] -path = "../esdt-safe/interactor/src/proxies/fee_market_proxy.rs" +path = "../common/proxies/src/fee_market_proxy.rs" diff --git a/fee-market/src/fee_market_proxy.rs b/fee-market/src/fee_market_proxy.rs index 774b6ec5..58527eb4 100644 --- a/fee-market/src/fee_market_proxy.rs +++ b/fee-market/src/fee_market_proxy.rs @@ -206,45 +206,6 @@ where .raw_call("getUsersWhitelist") .original_result() } - - pub fn set_min_valid_signers< - Arg0: ProxyArg, - >( - self, - new_value: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("setMinValidSigners") - .argument(&new_value) - .original_result() - } - - pub fn add_signers< - Arg0: ProxyArg>>, - >( - self, - signers: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("addSigners") - .argument(&signers) - .original_result() - } - - pub fn remove_signers< - Arg0: ProxyArg>>, - >( - self, - signers: Arg0, - ) -> TxTypedCall { - self.wrapped_tx - .payment(NotPayable) - .raw_call("removeSigners") - .argument(&signers) - .original_result() - } } #[type_abi] diff --git a/fee-market/src/fee_type.rs b/fee-market/src/fee_type.rs index b3a7b1ca..7e7c0b34 100644 --- a/fee-market/src/fee_type.rs +++ b/fee-market/src/fee_type.rs @@ -25,7 +25,7 @@ pub struct FeeStruct { } #[multiversx_sc::module] -pub trait FeeTypeModule: utils::UtilsModule + bls_signature::BlsSignatureModule { +pub trait FeeTypeModule: utils::UtilsModule { #[only_owner] #[endpoint(setFee)] fn set_fee(&self, fee_struct: FeeStruct) { diff --git a/fee-market/src/lib.rs b/fee-market/src/lib.rs index 0929585f..4cca4631 100644 --- a/fee-market/src/lib.rs +++ b/fee-market/src/lib.rs @@ -16,7 +16,6 @@ pub trait FeeMarket: + subtract_fee::SubtractFeeModule + price_aggregator::PriceAggregatorModule + utils::UtilsModule - + bls_signature::BlsSignatureModule { #[init] fn init(&self, esdt_safe_address: ManagedAddress, fee: Option>) { diff --git a/fee-market/src/subtract_fee.rs b/fee-market/src/subtract_fee.rs index db5e440f..32bdf971 100644 --- a/fee-market/src/subtract_fee.rs +++ b/fee-market/src/subtract_fee.rs @@ -34,7 +34,6 @@ pub trait SubtractFeeModule: + crate::fee_common::CommonFeeModule + crate::price_aggregator::PriceAggregatorModule + utils::UtilsModule - + bls_signature::BlsSignatureModule { #[only_owner] #[endpoint(addUsersToWhitelist)] diff --git a/fee-market/wasm-fee-market-view/Cargo.lock b/fee-market/wasm-fee-market-view/Cargo.lock index 1235cd07..2dc01aa9 100644 --- a/fee-market/wasm-fee-market-view/Cargo.lock +++ b/fee-market/wasm-fee-market-view/Cargo.lock @@ -20,14 +20,6 @@ version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" -[[package]] -name = "bls-signature" -version = "0.0.0" -dependencies = [ - "multiversx-sc", - "transaction", -] - [[package]] name = "endian-type" version = "0.1.2" @@ -38,7 +30,6 @@ checksum = "c34f04666d835ff5d62e058c3995147c06f42fe86ff053337632bca83e42702d" name = "fee-market" version = "0.0.0" dependencies = [ - "bls-signature", "multiversx-sc", "proxies", "transaction", @@ -238,6 +229,5 @@ checksum = "151ac09978d3c2862c4e39b557f4eceee2cc72150bc4cb4f16abf061b6e381fb" name = "utils" version = "0.0.0" dependencies = [ - "bls-signature", "multiversx-sc", ] diff --git a/fee-market/wasm-fee-market/Cargo.lock b/fee-market/wasm-fee-market/Cargo.lock index 9166eb3d..fe6409ef 100644 --- a/fee-market/wasm-fee-market/Cargo.lock +++ b/fee-market/wasm-fee-market/Cargo.lock @@ -20,14 +20,6 @@ version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" -[[package]] -name = "bls-signature" -version = "0.0.0" -dependencies = [ - "multiversx-sc", - "transaction", -] - [[package]] name = "endian-type" version = "0.1.2" @@ -38,7 +30,6 @@ checksum = "c34f04666d835ff5d62e058c3995147c06f42fe86ff053337632bca83e42702d" name = "fee-market" version = "0.0.0" dependencies = [ - "bls-signature", "multiversx-sc", "proxies", "transaction", @@ -238,6 +229,5 @@ checksum = "151ac09978d3c2862c4e39b557f4eceee2cc72150bc4cb4f16abf061b6e381fb" name = "utils" version = "0.0.0" dependencies = [ - "bls-signature", "multiversx-sc", ] diff --git a/fee-market/wasm-fee-market/src/lib.rs b/fee-market/wasm-fee-market/src/lib.rs index 0c3e5426..afd57dc7 100644 --- a/fee-market/wasm-fee-market/src/lib.rs +++ b/fee-market/wasm-fee-market/src/lib.rs @@ -6,9 +6,9 @@ // Init: 1 // Upgrade: 1 -// Endpoints: 12 +// Endpoints: 9 // Async Callback (empty): 1 -// Total number of exported functions: 15 +// Total number of exported functions: 12 #![no_std] @@ -29,9 +29,6 @@ multiversx_sc_wasm_adapter::endpoints! { distributeFees => distribute_fees subtractFee => subtract_fee getUsersWhitelist => users_whitelist - setMinValidSigners => set_min_valid_signers - addSigners => add_signers - removeSigners => remove_signers ) } diff --git a/fee-market/wasm/Cargo.lock b/fee-market/wasm/Cargo.lock index 9166eb3d..fe6409ef 100644 --- a/fee-market/wasm/Cargo.lock +++ b/fee-market/wasm/Cargo.lock @@ -20,14 +20,6 @@ version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" -[[package]] -name = "bls-signature" -version = "0.0.0" -dependencies = [ - "multiversx-sc", - "transaction", -] - [[package]] name = "endian-type" version = "0.1.2" @@ -38,7 +30,6 @@ checksum = "c34f04666d835ff5d62e058c3995147c06f42fe86ff053337632bca83e42702d" name = "fee-market" version = "0.0.0" dependencies = [ - "bls-signature", "multiversx-sc", "proxies", "transaction", @@ -238,6 +229,5 @@ checksum = "151ac09978d3c2862c4e39b557f4eceee2cc72150bc4cb4f16abf061b6e381fb" name = "utils" version = "0.0.0" dependencies = [ - "bls-signature", "multiversx-sc", ] diff --git a/fee-market/wasm/src/lib.rs b/fee-market/wasm/src/lib.rs index 0c3e5426..afd57dc7 100644 --- a/fee-market/wasm/src/lib.rs +++ b/fee-market/wasm/src/lib.rs @@ -6,9 +6,9 @@ // Init: 1 // Upgrade: 1 -// Endpoints: 12 +// Endpoints: 9 // Async Callback (empty): 1 -// Total number of exported functions: 15 +// Total number of exported functions: 12 #![no_std] @@ -29,9 +29,6 @@ multiversx_sc_wasm_adapter::endpoints! { distributeFees => distribute_fees subtractFee => subtract_fee getUsersWhitelist => users_whitelist - setMinValidSigners => set_min_valid_signers - addSigners => add_signers - removeSigners => remove_signers ) } diff --git a/header-verifier/Cargo.toml b/header-verifier/Cargo.toml index e5bc52a1..1dc49c47 100644 --- a/header-verifier/Cargo.toml +++ b/header-verifier/Cargo.toml @@ -11,9 +11,6 @@ path = "src/lib.rs" [dependencies.multiversx-sc] version = "=0.54.3" -[dependencies.bls-signature] -path = "../common/bls-signature" - [dependencies.transaction] path = "../common/transaction" diff --git a/header-verifier/src/lib.rs b/header-verifier/src/lib.rs index 7d033a76..d01736d5 100644 --- a/header-verifier/src/lib.rs +++ b/header-verifier/src/lib.rs @@ -1,6 +1,5 @@ #![no_std] -use bls_signature::BlsSignature; use multiversx_sc::codec; use multiversx_sc::proxy_imports::{TopDecode, TopEncode}; @@ -13,7 +12,7 @@ pub enum OperationHashStatus { } #[multiversx_sc::contract] -pub trait Headerverifier: bls_signature::BlsSignatureModule { +pub trait Headerverifier { #[init] fn init(&self, bls_pub_keys: MultiValueEncoded) { for pub_key in bls_pub_keys { @@ -27,7 +26,7 @@ pub trait Headerverifier: bls_signature::BlsSignatureModule { #[endpoint(registerBridgeOps)] fn register_bridge_operations( &self, - signature: BlsSignature, + signature: ManagedBuffer, bridge_operations_hash: ManagedBuffer, operations_hashes: MultiValueEncoded, ) { @@ -128,7 +127,7 @@ pub trait Headerverifier: bls_signature::BlsSignatureModule { // TODO fn verify_bls( &self, - _signature: &BlsSignature, + _signature: &ManagedBuffer, _bridge_operations_hash: &ManagedBuffer, ) -> bool { true diff --git a/header-verifier/tests/header_verifier_blackbox_test.rs b/header-verifier/tests/header_verifier_blackbox_test.rs index 2d2b640c..0a01ac5b 100644 --- a/header-verifier/tests/header_verifier_blackbox_test.rs +++ b/header-verifier/tests/header_verifier_blackbox_test.rs @@ -1,9 +1,8 @@ -use bls_signature::BlsSignature; use header_verifier::{Headerverifier, OperationHashStatus}; use multiversx_sc::types::ManagedBuffer; use multiversx_sc::{ api::ManagedTypeApi, - types::{BigUint, ManagedByteArray, MultiValueEncoded, TestAddress, TestSCAddress}, + types::{BigUint, MultiValueEncoded, TestAddress, TestSCAddress}, }; use multiversx_sc_scenario::{ api::StaticApi, imports::MxscPath, multiversx_chain_vm::crypto_functions::sha256, DebugApi, @@ -24,7 +23,7 @@ type BlsKeys = MultiValueEncoded>; #[derive(Clone)] pub struct BridgeOperation { - signature: BlsSignature, + signature: ManagedBuffer, bridge_operation_hash: ManagedBuffer, operations_hashes: MultiValueEncoded>, } @@ -146,7 +145,7 @@ impl HeaderVerifierTestState { &mut self, operation_hashes: Vec<&ManagedBuffer>, ) -> BridgeOperation { - let mock_signature: BlsSignature = ManagedByteArray::new_from_bytes(&[0; 48]); + let mock_signature = ManagedBuffer::new(); let mut bridge_operations: MultiValueEncoded> = MultiValueEncoded::new(); diff --git a/header-verifier/wasm-header-verifier-full/Cargo.lock b/header-verifier/wasm-header-verifier-full/Cargo.lock index 18ace981..9d448ad4 100644 --- a/header-verifier/wasm-header-verifier-full/Cargo.lock +++ b/header-verifier/wasm-header-verifier-full/Cargo.lock @@ -20,14 +20,6 @@ version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" -[[package]] -name = "bls-signature" -version = "0.0.0" -dependencies = [ - "multiversx-sc", - "transaction", -] - [[package]] name = "endian-type" version = "0.1.2" @@ -38,7 +30,6 @@ checksum = "c34f04666d835ff5d62e058c3995147c06f42fe86ff053337632bca83e42702d" name = "header-verifier" version = "0.0.0" dependencies = [ - "bls-signature", "multiversx-sc", "proxies", "transaction", diff --git a/header-verifier/wasm-header-verifier-full/src/lib.rs b/header-verifier/wasm-header-verifier-full/src/lib.rs index 627b95c0..67d2506f 100644 --- a/header-verifier/wasm-header-verifier-full/src/lib.rs +++ b/header-verifier/wasm-header-verifier-full/src/lib.rs @@ -6,9 +6,9 @@ // Init: 1 // Upgrade: 1 -// Endpoints: 7 +// Endpoints: 4 // Async Callback (empty): 1 -// Total number of exported functions: 10 +// Total number of exported functions: 7 #![no_std] @@ -24,9 +24,6 @@ multiversx_sc_wasm_adapter::endpoints! { setEsdtSafeAddress => set_esdt_safe_address removeExecutedHash => remove_executed_hash lockOperationHash => lock_operation_hash - setMinValidSigners => set_min_valid_signers - addSigners => add_signers - removeSigners => remove_signers ) } diff --git a/header-verifier/wasm-multisig-view/Cargo.lock b/header-verifier/wasm-multisig-view/Cargo.lock index 2f2895a7..23edbaec 100644 --- a/header-verifier/wasm-multisig-view/Cargo.lock +++ b/header-verifier/wasm-multisig-view/Cargo.lock @@ -20,14 +20,6 @@ version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" -[[package]] -name = "bls-signature" -version = "0.0.0" -dependencies = [ - "multiversx-sc", - "transaction", -] - [[package]] name = "endian-type" version = "0.1.2" @@ -38,7 +30,6 @@ checksum = "c34f04666d835ff5d62e058c3995147c06f42fe86ff053337632bca83e42702d" name = "header-verifier" version = "0.0.0" dependencies = [ - "bls-signature", "multiversx-sc", "proxies", "transaction", diff --git a/header-verifier/wasm/Cargo.lock b/header-verifier/wasm/Cargo.lock index c18d62da..4f2ef4ec 100644 --- a/header-verifier/wasm/Cargo.lock +++ b/header-verifier/wasm/Cargo.lock @@ -20,14 +20,6 @@ version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" -[[package]] -name = "bls-signature" -version = "0.0.0" -dependencies = [ - "multiversx-sc", - "transaction", -] - [[package]] name = "endian-type" version = "0.1.2" @@ -38,7 +30,6 @@ checksum = "c34f04666d835ff5d62e058c3995147c06f42fe86ff053337632bca83e42702d" name = "header-verifier" version = "0.0.0" dependencies = [ - "bls-signature", "multiversx-sc", "proxies", "transaction", diff --git a/header-verifier/wasm/src/lib.rs b/header-verifier/wasm/src/lib.rs index 627b95c0..67d2506f 100644 --- a/header-verifier/wasm/src/lib.rs +++ b/header-verifier/wasm/src/lib.rs @@ -6,9 +6,9 @@ // Init: 1 // Upgrade: 1 -// Endpoints: 7 +// Endpoints: 4 // Async Callback (empty): 1 -// Total number of exported functions: 10 +// Total number of exported functions: 7 #![no_std] @@ -24,9 +24,6 @@ multiversx_sc_wasm_adapter::endpoints! { setEsdtSafeAddress => set_esdt_safe_address removeExecutedHash => remove_executed_hash lockOperationHash => lock_operation_hash - setMinValidSigners => set_min_valid_signers - addSigners => add_signers - removeSigners => remove_signers ) } diff --git a/testing-sc/sc-config.toml b/testing-sc/sc-config.toml index 637d7d75..844c7291 100644 --- a/testing-sc/sc-config.toml +++ b/testing-sc/sc-config.toml @@ -16,4 +16,4 @@ add-unlabelled = false add-labels = ["testing-sc-external-view"] [[proxy]] -path = "../esdt-safe/interactor/src/proxies/testing_sc_proxy.rs" +path = "../common/proxies/src/testing_sc_proxy.rs" diff --git a/token-handler/tests/token_handler_scenario_rs_test.rs b/token-handler/tests/token_handler_scenario_rs_test.rs deleted file mode 100644 index 769abd45..00000000 --- a/token-handler/tests/token_handler_scenario_rs_test.rs +++ /dev/null @@ -1,11 +0,0 @@ -use multiversx_sc_scenario::*; - -fn world() -> ScenarioWorld { - let mut blockchain = ScenarioWorld::new(); - - blockchain.register_contract( - "mxsc:output/token-handler.mxsc.json", - token_handler::ContractBuilder, - ); - blockchain -} diff --git a/token-handler/wasm-token-handler-full/Cargo.lock b/token-handler/wasm-token-handler-full/Cargo.lock index a24491b4..77e44baa 100644 --- a/token-handler/wasm-token-handler-full/Cargo.lock +++ b/token-handler/wasm-token-handler-full/Cargo.lock @@ -20,14 +20,6 @@ version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" -[[package]] -name = "bls-signature" -version = "0.0.0" -dependencies = [ - "multiversx-sc", - "transaction", -] - [[package]] name = "chain-config" version = "0.0.0" @@ -267,6 +259,5 @@ checksum = "151ac09978d3c2862c4e39b557f4eceee2cc72150bc4cb4f16abf061b6e381fb" name = "utils" version = "0.0.0" dependencies = [ - "bls-signature", "multiversx-sc", ] diff --git a/token-handler/wasm-token-handler-view/Cargo.lock b/token-handler/wasm-token-handler-view/Cargo.lock index 94b2756b..d7fe0e31 100644 --- a/token-handler/wasm-token-handler-view/Cargo.lock +++ b/token-handler/wasm-token-handler-view/Cargo.lock @@ -20,14 +20,6 @@ version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" -[[package]] -name = "bls-signature" -version = "0.0.0" -dependencies = [ - "multiversx-sc", - "transaction", -] - [[package]] name = "chain-config" version = "0.0.0" @@ -267,6 +259,5 @@ checksum = "151ac09978d3c2862c4e39b557f4eceee2cc72150bc4cb4f16abf061b6e381fb" name = "utils" version = "0.0.0" dependencies = [ - "bls-signature", "multiversx-sc", ] diff --git a/token-handler/wasm/Cargo.lock b/token-handler/wasm/Cargo.lock index 01780169..866d5c34 100644 --- a/token-handler/wasm/Cargo.lock +++ b/token-handler/wasm/Cargo.lock @@ -20,14 +20,6 @@ version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" -[[package]] -name = "bls-signature" -version = "0.0.0" -dependencies = [ - "multiversx-sc", - "transaction", -] - [[package]] name = "chain-config" version = "0.0.0" @@ -267,6 +259,5 @@ checksum = "151ac09978d3c2862c4e39b557f4eceee2cc72150bc4cb4f16abf061b6e381fb" name = "utils" version = "0.0.0" dependencies = [ - "bls-signature", "multiversx-sc", ]