From b91a6a10df2b60a408afeb17181d3ba1d758c205 Mon Sep 17 00:00:00 2001 From: Alin Cruceat Date: Tue, 13 Feb 2024 15:56:02 +0200 Subject: [PATCH 01/36] add upgrade to template contracts --- contracts/examples/crypto-zombies/src/lib.rs | 3 +++ contracts/examples/empty/src/empty.rs | 3 +++ contracts/examples/ping-pong-egld/src/ping_pong.rs | 3 +++ 3 files changed, 9 insertions(+) diff --git a/contracts/examples/crypto-zombies/src/lib.rs b/contracts/examples/crypto-zombies/src/lib.rs index 80d7e2b9b0..e48180a910 100644 --- a/contracts/examples/crypto-zombies/src/lib.rs +++ b/contracts/examples/crypto-zombies/src/lib.rs @@ -27,6 +27,9 @@ pub trait CryptoZombies: self.cooldown_time().set(86400u64); } + #[upgrade] + fn upgrade(&self) {} + #[only_owner] #[endpoint] fn set_crypto_kitties_sc_address(&self, address: ManagedAddress) { diff --git a/contracts/examples/empty/src/empty.rs b/contracts/examples/empty/src/empty.rs index 05c2ddb437..986e66f63a 100644 --- a/contracts/examples/empty/src/empty.rs +++ b/contracts/examples/empty/src/empty.rs @@ -7,4 +7,7 @@ multiversx_sc::imports!(); pub trait EmptyContract { #[init] fn init(&self) {} + + #[upgrade] + fn upgrade(&self) {} } diff --git a/contracts/examples/ping-pong-egld/src/ping_pong.rs b/contracts/examples/ping-pong-egld/src/ping_pong.rs index 26b5e74880..1e4aaf21ae 100644 --- a/contracts/examples/ping-pong-egld/src/ping_pong.rs +++ b/contracts/examples/ping-pong-egld/src/ping_pong.rs @@ -47,6 +47,9 @@ pub trait PingPong { self.max_funds().set(max_funds.into_option()); } + #[upgrade] + fn upgrade(&self) {} + /// User sends some EGLD to be locked in the contract for a period of time. /// Optional `_data` argument is ignored. #[payable("EGLD")] From 1464bb79202755c5600e2e2efc8373e84f9e4150 Mon Sep 17 00:00:00 2001 From: Andrei Marinica Date: Thu, 15 Feb 2024 14:36:49 +0200 Subject: [PATCH 02/36] deprecated SCResult --- contracts/core/price-aggregator/src/lib.rs | 12 ++++++------ .../tests/price_aggregator_blackbox_test.rs | 5 ++--- .../tests/price_aggregator_whitebox_test.rs | 5 ++--- contracts/examples/check-pause/src/check_pause.rs | 4 ++-- .../alloc-features/src/macro_features_legacy.rs | 10 ++++++---- .../tests/alloc_features_general_test.rs | 2 ++ .../src/storage_mapper_map_storage.rs | 13 ++++--------- .../basic-features/src/storage_mapper_queue.rs | 4 ++-- .../feature-tests/use-module/src/use_module.rs | 4 ++-- framework/base/src/macros.rs | 13 +++++++------ framework/base/src/types/io/sc_result.rs | 4 ++++ framework/scenario/tests/contract_without_macros.rs | 5 ++--- 12 files changed, 41 insertions(+), 40 deletions(-) diff --git a/contracts/core/price-aggregator/src/lib.rs b/contracts/core/price-aggregator/src/lib.rs index 70c1f5b586..1dbed54848 100644 --- a/contracts/core/price-aggregator/src/lib.rs +++ b/contracts/core/price-aggregator/src/lib.rs @@ -303,16 +303,16 @@ pub trait PriceAggregator: &self, from: ManagedBuffer, to: ManagedBuffer, - ) -> SCResult> { - require_old!(self.not_paused(), PAUSED_ERROR_MSG); + ) -> MultiValue6 { + require!(self.not_paused(), PAUSED_ERROR_MSG); let token_pair = TokenPair { from, to }; let round_values = self .rounds() .get(&token_pair) - .ok_or("token pair not found")?; + .unwrap_or_else(|| sc_panic!("token pair not found")); let feed = self.make_price_feed(token_pair, round_values); - Ok(( + ( feed.round_id, feed.from, feed.to, @@ -320,7 +320,7 @@ pub trait PriceAggregator: feed.price, feed.decimals, ) - .into()) + .into() } #[view(latestPriceFeedOptional)] @@ -329,7 +329,7 @@ pub trait PriceAggregator: from: ManagedBuffer, to: ManagedBuffer, ) -> OptionalValue> { - self.latest_price_feed(from, to).ok().into() + Some(self.latest_price_feed(from, to)).into() } #[only_owner] diff --git a/contracts/core/price-aggregator/tests/price_aggregator_blackbox_test.rs b/contracts/core/price-aggregator/tests/price_aggregator_blackbox_test.rs index 0c478ff82a..b1b28e4fcf 100644 --- a/contracts/core/price-aggregator/tests/price_aggregator_blackbox_test.rs +++ b/contracts/core/price-aggregator/tests/price_aggregator_blackbox_test.rs @@ -288,9 +288,8 @@ fn test_price_aggregator_submit_round_ok() { state .world .whitebox_query(&state.price_aggregator_whitebox, |sc| { - let result = sc - .latest_price_feed(managed_buffer!(EGLD_TICKER), managed_buffer!(USD_TICKER)) - .unwrap(); + let result = + sc.latest_price_feed(managed_buffer!(EGLD_TICKER), managed_buffer!(USD_TICKER)); let (round_id, from, to, timestamp, price, decimals) = result.into_tuple(); assert_eq!(round_id, 1); diff --git a/contracts/core/price-aggregator/tests/price_aggregator_whitebox_test.rs b/contracts/core/price-aggregator/tests/price_aggregator_whitebox_test.rs index 22a00bccbf..a2a432127e 100644 --- a/contracts/core/price-aggregator/tests/price_aggregator_whitebox_test.rs +++ b/contracts/core/price-aggregator/tests/price_aggregator_whitebox_test.rs @@ -255,9 +255,8 @@ fn test_price_aggregator_submit_round_ok() { ); world.whitebox_query(&price_aggregator_whitebox, |sc| { - let result = sc - .latest_price_feed(managed_buffer!(EGLD_TICKER), managed_buffer!(USD_TICKER)) - .unwrap(); + let result = + sc.latest_price_feed(managed_buffer!(EGLD_TICKER), managed_buffer!(USD_TICKER)); let (round_id, from, to, timestamp, price, decimals) = result.into_tuple(); assert_eq!(round_id, 1); diff --git a/contracts/examples/check-pause/src/check_pause.rs b/contracts/examples/check-pause/src/check_pause.rs index 82f5ba55a9..5f36260961 100644 --- a/contracts/examples/check-pause/src/check_pause.rs +++ b/contracts/examples/check-pause/src/check_pause.rs @@ -10,7 +10,7 @@ pub trait CheckPauseContract: pause::PauseModule { fn init(&self) {} #[endpoint(checkPause)] - fn check_pause(&self) -> SCResult { - Ok(self.is_paused()) + fn check_pause(&self) -> bool { + self.is_paused() } } diff --git a/contracts/feature-tests/alloc-features/src/macro_features_legacy.rs b/contracts/feature-tests/alloc-features/src/macro_features_legacy.rs index 3e91e7dec7..1efc5ff38e 100644 --- a/contracts/feature-tests/alloc-features/src/macro_features_legacy.rs +++ b/contracts/feature-tests/alloc-features/src/macro_features_legacy.rs @@ -1,3 +1,5 @@ +#![allow(deprecated)] + multiversx_sc::imports!(); use multiversx_sc::types::String; @@ -11,12 +13,12 @@ pub trait MacroFeaturesLegacy { #[view] fn only_owner_legacy(&self) -> SCResult<()> { multiversx_sc::only_owner!(self, "Custom only owner message"); - Ok(()) + SCResult::Ok(()) } #[view] fn return_sc_error(&self) -> SCResult<()> { - sc_error!("return_sc_error") + multiversx_sc::sc_error!("return_sc_error") } #[view] @@ -55,13 +57,13 @@ pub trait MacroFeaturesLegacy { require!(test, "test argument is false"); let unwrapped = SCResult::::from_result(arg.ok_or("option argument is none"))?; - Ok(unwrapped) + SCResult::Ok(unwrapped) } #[endpoint] fn result_echo_2(&self, arg: Option) -> SCResult { let unwrapped = arg.ok_or("option argument is none")?; - Ok(unwrapped) + SCResult::Ok(unwrapped) } #[endpoint] diff --git a/contracts/feature-tests/alloc-features/tests/alloc_features_general_test.rs b/contracts/feature-tests/alloc-features/tests/alloc_features_general_test.rs index 5a17183dd2..2987b2d740 100644 --- a/contracts/feature-tests/alloc-features/tests/alloc_features_general_test.rs +++ b/contracts/feature-tests/alloc-features/tests/alloc_features_general_test.rs @@ -1,3 +1,5 @@ +#![allow(deprecated)] + use multiversx_sc::types::{SCResult, StaticSCError}; use multiversx_sc_scenario::api::StaticApi; diff --git a/contracts/feature-tests/basic-features/src/storage_mapper_map_storage.rs b/contracts/feature-tests/basic-features/src/storage_mapper_map_storage.rs index 4e334d9846..0179d9bab9 100644 --- a/contracts/feature-tests/basic-features/src/storage_mapper_map_storage.rs +++ b/contracts/feature-tests/basic-features/src/storage_mapper_map_storage.rs @@ -46,24 +46,19 @@ pub trait MapStorageMapperFeatures { } #[endpoint] - fn map_storage_mapper_insert_value( - &self, - item: u32, - key: u32, - value: u32, - ) -> SCResult> { + fn map_storage_mapper_insert_value(&self, item: u32, key: u32, value: u32) -> Option { let map_storage_mapper = self.map_storage_mapper(); if let Some(mut map) = map_storage_mapper.get(&item) { - return Ok(map.insert(key, value)); + return map.insert(key, value); } sc_panic!("No storage!") } #[endpoint] - fn map_storage_mapper_get_value(&self, item: u32, key: u32) -> SCResult> { + fn map_storage_mapper_get_value(&self, item: u32, key: u32) -> Option { let map_storage_mapper = self.map_storage_mapper(); if let Some(map) = map_storage_mapper.get(&item) { - return Ok(map.get(&key)); + return map.get(&key); } sc_panic!("No storage!") } diff --git a/contracts/feature-tests/basic-features/src/storage_mapper_queue.rs b/contracts/feature-tests/basic-features/src/storage_mapper_queue.rs index 262de7513b..ba228ff2b5 100644 --- a/contracts/feature-tests/basic-features/src/storage_mapper_queue.rs +++ b/contracts/feature-tests/basic-features/src/storage_mapper_queue.rs @@ -20,9 +20,9 @@ pub trait QueueMapperFeatures { } #[endpoint] - fn queue_mapper_front(&self) -> SCResult { + fn queue_mapper_front(&self) -> u32 { if let Some(front) = self.queue_mapper().front() { - return Ok(front); + return front; } sc_panic!("Queue empty!") } diff --git a/contracts/feature-tests/use-module/src/use_module.rs b/contracts/feature-tests/use-module/src/use_module.rs index 7cd54c9ec3..64d2e32c16 100644 --- a/contracts/feature-tests/use-module/src/use_module.rs +++ b/contracts/feature-tests/use-module/src/use_module.rs @@ -63,7 +63,7 @@ pub trait UseModule: } #[endpoint(checkPause)] - fn check_pause(&self) -> SCResult { - Ok(self.is_paused()) + fn check_pause(&self) -> bool { + self.is_paused() } } diff --git a/framework/base/src/macros.rs b/framework/base/src/macros.rs index 159b639195..b8dd5c7757 100644 --- a/framework/base/src/macros.rs +++ b/framework/base/src/macros.rs @@ -24,12 +24,9 @@ macro_rules! imports { io::*, non_zero_usize, non_zero_util::*, - require, require_old, sc_error, sc_format, sc_panic, sc_print, + require, require_old, sc_format, sc_panic, sc_print, storage::mappers::*, - types::{ - SCResult::{Err, Ok}, - *, - }, + types::*, }; }; } @@ -50,6 +47,10 @@ macro_rules! derive_imports { } /// Compact way of returning a static error message. +#[deprecated( + since = "0.48.0", + note = "Use `sc_panic!` instead, which terminates immediately." +)] #[macro_export] macro_rules! sc_error { ($s:expr) => { @@ -197,7 +198,7 @@ macro_rules! sc_try { macro_rules! only_owner { ($trait_self: expr, $error_msg:expr) => { if ($trait_self.blockchain().get_caller() != $trait_self.blockchain().get_owner_address()) { - return sc_error!($error_msg); + return multiversx_sc::sc_error!($error_msg); } }; } diff --git a/framework/base/src/types/io/sc_result.rs b/framework/base/src/types/io/sc_result.rs index c602723127..6278987b45 100644 --- a/framework/base/src/types/io/sc_result.rs +++ b/framework/base/src/types/io/sc_result.rs @@ -12,6 +12,10 @@ use core::{ use super::{SCError, StaticSCError}; /// Default way to optionally return an error from a smart contract endpoint. +#[deprecated( + since = "0.48.0", + note = "Use in-place error handling instead, such as `require!` or `sc_panic!`" +)] #[must_use] #[derive(Debug, PartialEq, Eq, Clone)] pub enum SCResult { diff --git a/framework/scenario/tests/contract_without_macros.rs b/framework/scenario/tests/contract_without_macros.rs index cff92ceab8..5dc7ec7048 100644 --- a/framework/scenario/tests/contract_without_macros.rs +++ b/framework/scenario/tests/contract_without_macros.rs @@ -123,15 +123,14 @@ mod sample_adder { fn init(&self, initial_value: &BigInt) { self.set_sum(initial_value); } - fn add(&self, value: BigInt) -> SCResult<()> { + fn add(&self, value: BigInt) { let mut sum = self.get_sum(); sum.add_assign(value); self.set_sum(&sum); - Ok(()) } fn get_sum(&self) -> BigInt; fn set_sum(&self, sum: &BigInt); - fn add_version(&self) -> SCResult<()> { + fn add_version(&self) { self.add(self.version()) } fn callback(&self); From dc6d8be7d02b7aa0e7c3abc50234114c85df995b Mon Sep 17 00:00:00 2001 From: Andrei Marinica Date: Thu, 15 Feb 2024 14:47:50 +0200 Subject: [PATCH 03/36] deprecated require_old! --- framework/base/src/macros.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/framework/base/src/macros.rs b/framework/base/src/macros.rs index b8dd5c7757..1cb056692c 100644 --- a/framework/base/src/macros.rs +++ b/framework/base/src/macros.rs @@ -24,7 +24,7 @@ macro_rules! imports { io::*, non_zero_usize, non_zero_util::*, - require, require_old, sc_format, sc_panic, sc_print, + require, sc_format, sc_panic, sc_print, storage::mappers::*, types::*, }; @@ -75,6 +75,10 @@ macro_rules! sc_error { /// } /// # } /// ``` +#[deprecated( + since = "0.48.0", + note = "Use `require!` instead, which terminates immediately." +)] #[macro_export] macro_rules! require_old { ($expression:expr, $error_msg:expr) => { From 6b764c30868f3504eb71aabd62d8eb8b52b2399f Mon Sep 17 00:00:00 2001 From: Andrei Marinica Date: Thu, 15 Feb 2024 14:46:07 +0200 Subject: [PATCH 04/36] imports modules --- framework/base/src/lib.rs | 38 ++++++++++++++++++++++++++++++++++++ framework/base/src/macros.rs | 33 ++----------------------------- 2 files changed, 40 insertions(+), 31 deletions(-) diff --git a/framework/base/src/lib.rs b/framework/base/src/lib.rs index 8d45f7dff1..bf82b19999 100644 --- a/framework/base/src/lib.rs +++ b/framework/base/src/lib.rs @@ -39,3 +39,41 @@ pub mod types; pub use hex_call_data::*; pub use hex_literal; pub use storage::{storage_clear, storage_get, storage_get_len, storage_set}; + +/// Conveniently groups all framework imports required by a smart contract form the framework. +pub mod imports { + pub use crate::{ + abi::TypeAbi, + api::{ErrorApiImpl, ManagedTypeApi}, + arrayvec::ArrayVec, + codec::{ + multi_types::*, DecodeError, IntoMultiValue, NestedDecode, NestedEncode, TopDecode, + TopEncode, + }, + contract_base::{ContractBase, ProxyObjBase}, + err_msg, + esdt::*, + io::*, + non_zero_usize, + non_zero_util::*, + require, sc_format, sc_panic, sc_print, + storage::mappers::*, + types::*, + }; + pub use core::ops::{ + Add, AddAssign, BitAnd, BitAndAssign, BitOr, BitOrAssign, BitXor, BitXorAssign, Div, + DivAssign, Mul, MulAssign, Rem, RemAssign, Shl, ShlAssign, Shr, ShrAssign, Sub, SubAssign, + }; +} + +/// Conveniently groups all imports required for deriving framework-related traits for types. +pub mod derive_imports { + pub use crate::{ + codec, + codec::derive::{ + NestedDecode, NestedEncode, TopDecode, TopDecodeOrDefault, TopEncode, + TopEncodeOrDefault, + }, + derive::{ManagedVecItem, TypeAbi}, + }; +} diff --git a/framework/base/src/macros.rs b/framework/base/src/macros.rs index 1cb056692c..1754688d03 100644 --- a/framework/base/src/macros.rs +++ b/framework/base/src/macros.rs @@ -5,29 +5,7 @@ #[macro_export] macro_rules! imports { () => { - use core::ops::{ - Add, AddAssign, BitAnd, BitAndAssign, BitOr, BitOrAssign, BitXor, BitXorAssign, Div, - DivAssign, Mul, MulAssign, Rem, RemAssign, Shl, ShlAssign, Shr, ShrAssign, Sub, - SubAssign, - }; - use multiversx_sc::{ - abi::TypeAbi, - api::{ErrorApiImpl, ManagedTypeApi}, - arrayvec::ArrayVec, - codec::{ - multi_types::*, DecodeError, IntoMultiValue, NestedDecode, NestedEncode, TopDecode, - TopEncode, - }, - contract_base::{ContractBase, ProxyObjBase}, - err_msg, - esdt::*, - io::*, - non_zero_usize, - non_zero_util::*, - require, sc_format, sc_panic, sc_print, - storage::mappers::*, - types::*, - }; + use multiversx_sc::imports::*; }; } @@ -35,14 +13,7 @@ macro_rules! imports { #[macro_export] macro_rules! derive_imports { () => { - use multiversx_sc::{ - codec, - codec::derive::{ - NestedDecode, NestedEncode, TopDecode, TopDecodeOrDefault, TopEncode, - TopEncodeOrDefault, - }, - derive::{ManagedVecItem, TypeAbi}, - }; + use multiversx_sc::derive_imports::*; }; } From ae442d881f806cdd9780e8a925a916f12f459269 Mon Sep 17 00:00:00 2001 From: Andrei Marinica Date: Thu, 15 Feb 2024 23:03:31 +0200 Subject: [PATCH 05/36] features cleanup --- framework/base/src/lib.rs | 6 ++++-- framework/wasm-adapter/src/lib.rs | 1 - 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/framework/base/src/lib.rs b/framework/base/src/lib.rs index bf82b19999..cbd7331a2f 100644 --- a/framework/base/src/lib.rs +++ b/framework/base/src/lib.rs @@ -1,15 +1,17 @@ #![no_std] + #![feature(never_type)] #![feature(exhaustive_patterns)] #![feature(try_trait_v2)] #![feature(control_flow_enum)] -#![allow(clippy::type_complexity)] -#![allow(deprecated)] #![feature(maybe_uninit_uninit_array)] #![feature(maybe_uninit_array_assume_init)] #![feature(negative_impls)] #![feature(generic_const_exprs)] + #![allow(incomplete_features)] +#![allow(deprecated)] + pub use multiversx_sc_derive::{self as derive, contract, module, proxy}; // re-export basic heap types diff --git a/framework/wasm-adapter/src/lib.rs b/framework/wasm-adapter/src/lib.rs index bf7e6797d0..d105af6bcc 100644 --- a/framework/wasm-adapter/src/lib.rs +++ b/framework/wasm-adapter/src/lib.rs @@ -1,6 +1,5 @@ #![no_std] #![feature(panic_info_message)] -#![feature(int_roundings)] // Allows us to use alloc::vec::Vec; // TODO: get rid of the legacy API and also of this. From 50ffd151fe8c7bf55b2599224a33d1b049a26c78 Mon Sep 17 00:00:00 2001 From: Andrei Marinica Date: Thu, 15 Feb 2024 23:04:53 +0200 Subject: [PATCH 06/36] clippy fix --- framework/scenario/tests/contract_without_macros.rs | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/framework/scenario/tests/contract_without_macros.rs b/framework/scenario/tests/contract_without_macros.rs index 5dc7ec7048..0252be4b1e 100644 --- a/framework/scenario/tests/contract_without_macros.rs +++ b/framework/scenario/tests/contract_without_macros.rs @@ -196,8 +196,7 @@ mod sample_adder { Self::Api, (multiversx_sc::types::BigInt, ()), >(("value", ())); - let result = self.add(value); - multiversx_sc::io::finish_multi::(&result); + self.add(value); } fn call(&self, fn_name: &str) -> bool { @@ -417,15 +416,15 @@ fn contract_without_macros_basic() { adder.init(&BigInt::from(5)); assert_eq!(BigInt::from(5), adder.get_sum()); - let _ = adder.add(BigInt::from(7)); + adder.add(BigInt::from(7)); assert_eq!(BigInt::from(12), adder.get_sum()); - let _ = adder.add(BigInt::from(-1)); + adder.add(BigInt::from(-1)); assert_eq!(BigInt::from(11), adder.get_sum()); assert_eq!(BigInt::from(100), adder.version()); - let _ = adder.add_version(); + adder.add_version(); assert_eq!(BigInt::from(111), adder.get_sum()); assert!(!adder.call("invalid_endpoint")); From e164fff3ee9a409efc721a0c7cebda434fa9830a Mon Sep 17 00:00:00 2001 From: Andrei Marinica Date: Thu, 15 Feb 2024 23:19:50 +0200 Subject: [PATCH 07/36] updated imports in example contracts --- contracts/examples/adder/src/adder.rs | 3 ++- .../bonding-curve-contract/src/bonding_curve_contract.rs | 3 +-- .../examples/bonding-curve-contract/src/function_selector.rs | 3 +-- contracts/examples/check-pause/src/check_pause.rs | 2 +- .../examples/crowdfunding-esdt/src/crowdfunding_esdt.rs | 3 +-- contracts/examples/crypto-bubbles/src/crypto_bubbles.rs | 2 +- contracts/examples/crypto-kitties/common/kitty/src/color.rs | 2 +- .../examples/crypto-kitties/common/kitty/src/kitty_genes.rs | 2 +- contracts/examples/crypto-kitties/common/kitty/src/lib.rs | 2 +- .../examples/crypto-kitties/kitty-auction/src/auction.rs | 2 +- contracts/examples/crypto-kitties/kitty-auction/src/lib.rs | 2 +- .../examples/crypto-kitties/kitty-genetic-alg/src/lib.rs | 2 -- contracts/examples/crypto-kitties/kitty-ownership/src/lib.rs | 2 +- .../examples/crypto-zombies/src/crypto_kitties_proxy.rs | 3 +-- contracts/examples/crypto-zombies/src/lib.rs | 3 +-- contracts/examples/crypto-zombies/src/storage.rs | 3 +-- contracts/examples/crypto-zombies/src/zombie.rs | 3 +-- contracts/examples/crypto-zombies/src/zombie_attack.rs | 2 +- contracts/examples/crypto-zombies/src/zombie_factory.rs | 3 +-- contracts/examples/crypto-zombies/src/zombie_feeding.rs | 3 +-- contracts/examples/crypto-zombies/src/zombie_helper.rs | 2 +- contracts/examples/digital-cash/src/deposit_info.rs | 3 +-- contracts/examples/digital-cash/src/digital_cash.rs | 3 +-- contracts/examples/digital-cash/src/helpers.rs | 2 +- contracts/examples/digital-cash/src/pay_fee_and_fund.rs | 3 +-- contracts/examples/digital-cash/src/signature_operations.rs | 3 +-- contracts/examples/digital-cash/src/storage.rs | 3 +-- contracts/examples/empty/src/empty.rs | 3 ++- .../esdt-transfer-with-fee/src/esdt_transfer_with_fee.rs | 2 +- contracts/examples/esdt-transfer-with-fee/src/fee.rs | 3 +-- contracts/examples/factorial/src/factorial.rs | 3 ++- contracts/examples/fractional-nfts/src/fractional_nfts.rs | 4 ++-- .../examples/fractional-nfts/src/fractional_uri_info.rs | 3 +-- contracts/examples/lottery-esdt/src/lottery.rs | 2 +- contracts/examples/lottery-esdt/src/lottery_info.rs | 2 +- contracts/examples/lottery-esdt/src/status.rs | 2 +- contracts/examples/multisig/src/action.rs | 2 +- contracts/examples/multisig/src/multisig.rs | 2 +- contracts/examples/multisig/src/multisig_events.rs | 2 +- contracts/examples/multisig/src/multisig_perform.rs | 2 +- contracts/examples/multisig/src/multisig_propose.rs | 2 +- contracts/examples/multisig/src/multisig_state.rs | 2 +- contracts/examples/multisig/src/user_role.rs | 2 +- contracts/examples/nft-minter/src/lib.rs | 5 +---- contracts/examples/nft-minter/src/nft_module.rs | 3 +-- .../examples/nft-storage-prepay/src/nft_storage_prepay.rs | 2 +- contracts/examples/nft-subscription/src/lib.rs | 3 +-- contracts/examples/order-book/factory/src/lib.rs | 3 +-- contracts/examples/order-book/pair/src/common.rs | 3 +-- contracts/examples/order-book/pair/src/events.rs | 3 +-- contracts/examples/order-book/pair/src/global.rs | 3 +-- contracts/examples/order-book/pair/src/lib.rs | 3 +-- contracts/examples/order-book/pair/src/orders.rs | 3 +-- contracts/examples/order-book/pair/src/validation.rs | 3 +-- contracts/examples/ping-pong-egld/src/ping_pong.rs | 2 +- contracts/examples/ping-pong-egld/src/user_status.rs | 2 +- contracts/examples/proxy-pause/src/proxy_pause.rs | 4 +--- .../rewards-distribution/src/rewards_distribution.rs | 5 +---- .../rewards-distribution/tests/mock_seed_nft_minter.rs | 2 +- .../examples/seed-nft-minter/src/distribution_module.rs | 3 +-- contracts/examples/seed-nft-minter/src/nft_module.rs | 3 +-- contracts/examples/seed-nft-minter/src/seed_nft_minter.rs | 5 ++--- contracts/examples/token-release/src/contract_data.rs | 2 +- contracts/examples/token-release/src/token_release.rs | 3 +-- framework/base/src/lib.rs | 2 -- 65 files changed, 68 insertions(+), 106 deletions(-) diff --git a/contracts/examples/adder/src/adder.rs b/contracts/examples/adder/src/adder.rs index 9b261c5aa8..ff08501b42 100644 --- a/contracts/examples/adder/src/adder.rs +++ b/contracts/examples/adder/src/adder.rs @@ -1,6 +1,7 @@ #![no_std] -multiversx_sc::imports!(); +use multiversx_sc::imports::*; + /// One of the simplest smart contracts possible, /// it holds a single variable in storage, which anyone can increment. #[multiversx_sc::contract] diff --git a/contracts/examples/bonding-curve-contract/src/bonding_curve_contract.rs b/contracts/examples/bonding-curve-contract/src/bonding_curve_contract.rs index 2b9acedf7c..6ab29068d3 100644 --- a/contracts/examples/bonding-curve-contract/src/bonding_curve_contract.rs +++ b/contracts/examples/bonding-curve-contract/src/bonding_curve_contract.rs @@ -1,7 +1,6 @@ #![no_std] -multiversx_sc::imports!(); -multiversx_sc::derive_imports!(); +use multiversx_sc::imports::*; use function_selector::FunctionSelector; use multiversx_sc_modules::{ diff --git a/contracts/examples/bonding-curve-contract/src/function_selector.rs b/contracts/examples/bonding-curve-contract/src/function_selector.rs index 94a8831e5a..218a490c9c 100644 --- a/contracts/examples/bonding-curve-contract/src/function_selector.rs +++ b/contracts/examples/bonding-curve-contract/src/function_selector.rs @@ -1,5 +1,4 @@ -multiversx_sc::imports!(); -multiversx_sc::derive_imports!(); +use multiversx_sc::{derive_imports::*, imports::*}; use crate::bonding_curve::{ curves::{curve_function::CurveFunction, linear_function::LinearFunction}, diff --git a/contracts/examples/check-pause/src/check_pause.rs b/contracts/examples/check-pause/src/check_pause.rs index 5f36260961..c5b4742d52 100644 --- a/contracts/examples/check-pause/src/check_pause.rs +++ b/contracts/examples/check-pause/src/check_pause.rs @@ -1,6 +1,6 @@ #![no_std] -multiversx_sc::imports!(); +use multiversx_sc::imports::*; use multiversx_sc_modules::pause; diff --git a/contracts/examples/crowdfunding-esdt/src/crowdfunding_esdt.rs b/contracts/examples/crowdfunding-esdt/src/crowdfunding_esdt.rs index 625cd24487..8fa04d2e46 100644 --- a/contracts/examples/crowdfunding-esdt/src/crowdfunding_esdt.rs +++ b/contracts/examples/crowdfunding-esdt/src/crowdfunding_esdt.rs @@ -1,7 +1,6 @@ #![no_std] -multiversx_sc::imports!(); -multiversx_sc::derive_imports!(); +use multiversx_sc::{derive_imports::*, imports::*}; #[derive(TopEncode, TopDecode, TypeAbi, PartialEq, Eq, Clone, Copy, Debug)] pub enum Status { diff --git a/contracts/examples/crypto-bubbles/src/crypto_bubbles.rs b/contracts/examples/crypto-bubbles/src/crypto_bubbles.rs index 75af47f65c..da481fd273 100644 --- a/contracts/examples/crypto-bubbles/src/crypto_bubbles.rs +++ b/contracts/examples/crypto-bubbles/src/crypto_bubbles.rs @@ -1,6 +1,6 @@ #![no_std] -multiversx_sc::imports!(); +use multiversx_sc::imports::*; #[multiversx_sc::contract] pub trait CryptoBubbles { diff --git a/contracts/examples/crypto-kitties/common/kitty/src/color.rs b/contracts/examples/crypto-kitties/common/kitty/src/color.rs index 32b273d754..0b02aecf49 100644 --- a/contracts/examples/crypto-kitties/common/kitty/src/color.rs +++ b/contracts/examples/crypto-kitties/common/kitty/src/color.rs @@ -1,4 +1,4 @@ -multiversx_sc::derive_imports!(); +use multiversx_sc::derive_imports::*; use random::*; diff --git a/contracts/examples/crypto-kitties/common/kitty/src/kitty_genes.rs b/contracts/examples/crypto-kitties/common/kitty/src/kitty_genes.rs index b0906860e8..4deb4100e6 100644 --- a/contracts/examples/crypto-kitties/common/kitty/src/kitty_genes.rs +++ b/contracts/examples/crypto-kitties/common/kitty/src/kitty_genes.rs @@ -1,4 +1,4 @@ -multiversx_sc::derive_imports!(); +use multiversx_sc::derive_imports::*; use super::color::*; use random::*; diff --git a/contracts/examples/crypto-kitties/common/kitty/src/lib.rs b/contracts/examples/crypto-kitties/common/kitty/src/lib.rs index 5c385d01de..c06f376e8d 100644 --- a/contracts/examples/crypto-kitties/common/kitty/src/lib.rs +++ b/contracts/examples/crypto-kitties/common/kitty/src/lib.rs @@ -1,6 +1,6 @@ #![no_std] -multiversx_sc::derive_imports!(); +use multiversx_sc::derive_imports::*; const SECONDS_PER_MINUTE: u64 = 60; const MAX_COOLDOWN: u64 = 60 * 60 * 24 * 7; // 7 days diff --git a/contracts/examples/crypto-kitties/kitty-auction/src/auction.rs b/contracts/examples/crypto-kitties/kitty-auction/src/auction.rs index c71aeac0a8..fda71eb13d 100644 --- a/contracts/examples/crypto-kitties/kitty-auction/src/auction.rs +++ b/contracts/examples/crypto-kitties/kitty-auction/src/auction.rs @@ -1,4 +1,4 @@ -multiversx_sc::derive_imports!(); +use multiversx_sc::derive_imports::*; use multiversx_sc::{ api::ManagedTypeApi, diff --git a/contracts/examples/crypto-kitties/kitty-auction/src/lib.rs b/contracts/examples/crypto-kitties/kitty-auction/src/lib.rs index b371268418..af7c7c1736 100644 --- a/contracts/examples/crypto-kitties/kitty-auction/src/lib.rs +++ b/contracts/examples/crypto-kitties/kitty-auction/src/lib.rs @@ -1,6 +1,6 @@ #![no_std] -multiversx_sc::imports!(); +use multiversx_sc::imports::*; pub mod auction; use auction::*; diff --git a/contracts/examples/crypto-kitties/kitty-genetic-alg/src/lib.rs b/contracts/examples/crypto-kitties/kitty-genetic-alg/src/lib.rs index f2571fda2c..aab6154cec 100644 --- a/contracts/examples/crypto-kitties/kitty-genetic-alg/src/lib.rs +++ b/contracts/examples/crypto-kitties/kitty-genetic-alg/src/lib.rs @@ -1,7 +1,5 @@ #![no_std] -multiversx_sc::imports!(); - use kitty::{kitty_genes::*, Kitty}; use random::Random; diff --git a/contracts/examples/crypto-kitties/kitty-ownership/src/lib.rs b/contracts/examples/crypto-kitties/kitty-ownership/src/lib.rs index e3fd696b65..2514592465 100644 --- a/contracts/examples/crypto-kitties/kitty-ownership/src/lib.rs +++ b/contracts/examples/crypto-kitties/kitty-ownership/src/lib.rs @@ -1,7 +1,7 @@ #![no_std] #![allow(clippy::suspicious_operation_groupings)] -multiversx_sc::imports!(); +use multiversx_sc::imports::*; use core::cmp::max; diff --git a/contracts/examples/crypto-zombies/src/crypto_kitties_proxy.rs b/contracts/examples/crypto-zombies/src/crypto_kitties_proxy.rs index 50a651b59d..ea4d366994 100644 --- a/contracts/examples/crypto-zombies/src/crypto_kitties_proxy.rs +++ b/contracts/examples/crypto-zombies/src/crypto_kitties_proxy.rs @@ -1,5 +1,4 @@ -multiversx_sc::imports!(); -multiversx_sc::derive_imports!(); +use multiversx_sc::derive_imports::*; #[derive(NestedEncode, NestedDecode, TopEncode, TopDecode, TypeAbi)] pub struct Kitty { diff --git a/contracts/examples/crypto-zombies/src/lib.rs b/contracts/examples/crypto-zombies/src/lib.rs index e48180a910..f2f47688ad 100644 --- a/contracts/examples/crypto-zombies/src/lib.rs +++ b/contracts/examples/crypto-zombies/src/lib.rs @@ -1,7 +1,6 @@ #![no_std] -multiversx_sc::imports!(); -multiversx_sc::derive_imports!(); +use multiversx_sc::imports::*; mod crypto_kitties_proxy; mod storage; diff --git a/contracts/examples/crypto-zombies/src/storage.rs b/contracts/examples/crypto-zombies/src/storage.rs index e6361efd65..608456b688 100644 --- a/contracts/examples/crypto-zombies/src/storage.rs +++ b/contracts/examples/crypto-zombies/src/storage.rs @@ -1,5 +1,4 @@ -multiversx_sc::imports!(); -multiversx_sc::derive_imports!(); +use multiversx_sc::imports::*; use crate::zombie::Zombie; diff --git a/contracts/examples/crypto-zombies/src/zombie.rs b/contracts/examples/crypto-zombies/src/zombie.rs index 3d814b9e3a..414c343f28 100644 --- a/contracts/examples/crypto-zombies/src/zombie.rs +++ b/contracts/examples/crypto-zombies/src/zombie.rs @@ -1,5 +1,4 @@ -multiversx_sc::imports!(); -multiversx_sc::derive_imports!(); +use multiversx_sc::{derive_imports::*, imports::*}; #[derive(NestedEncode, NestedDecode, TopEncode, TopDecode, TypeAbi)] pub struct Zombie { diff --git a/contracts/examples/crypto-zombies/src/zombie_attack.rs b/contracts/examples/crypto-zombies/src/zombie_attack.rs index 7678947365..e4bebdeca4 100644 --- a/contracts/examples/crypto-zombies/src/zombie_attack.rs +++ b/contracts/examples/crypto-zombies/src/zombie_attack.rs @@ -1,4 +1,4 @@ -multiversx_sc::imports!(); +use multiversx_sc::imports::*; use crate::{storage, zombie_factory, zombie_feeding, zombie_helper}; diff --git a/contracts/examples/crypto-zombies/src/zombie_factory.rs b/contracts/examples/crypto-zombies/src/zombie_factory.rs index 0a637880eb..3ee8339b9c 100644 --- a/contracts/examples/crypto-zombies/src/zombie_factory.rs +++ b/contracts/examples/crypto-zombies/src/zombie_factory.rs @@ -1,5 +1,4 @@ -multiversx_sc::imports!(); -multiversx_sc::derive_imports!(); +use multiversx_sc::imports::*; use crate::{storage, zombie::Zombie}; diff --git a/contracts/examples/crypto-zombies/src/zombie_feeding.rs b/contracts/examples/crypto-zombies/src/zombie_feeding.rs index df3a598779..e27b3e69ad 100644 --- a/contracts/examples/crypto-zombies/src/zombie_feeding.rs +++ b/contracts/examples/crypto-zombies/src/zombie_feeding.rs @@ -1,5 +1,4 @@ -multiversx_sc::imports!(); -multiversx_sc::derive_imports!(); +use multiversx_sc::imports::*; use crate::{ crypto_kitties_proxy::{self, Kitty}, diff --git a/contracts/examples/crypto-zombies/src/zombie_helper.rs b/contracts/examples/crypto-zombies/src/zombie_helper.rs index 20d1263bf3..000ffda770 100644 --- a/contracts/examples/crypto-zombies/src/zombie_helper.rs +++ b/contracts/examples/crypto-zombies/src/zombie_helper.rs @@ -1,4 +1,4 @@ -multiversx_sc::imports!(); +use multiversx_sc::imports::*; use crate::storage; diff --git a/contracts/examples/digital-cash/src/deposit_info.rs b/contracts/examples/digital-cash/src/deposit_info.rs index 2838d5de84..9fb14661ea 100644 --- a/contracts/examples/digital-cash/src/deposit_info.rs +++ b/contracts/examples/digital-cash/src/deposit_info.rs @@ -1,5 +1,4 @@ -multiversx_sc::imports!(); -multiversx_sc::derive_imports!(); +use multiversx_sc::{derive_imports::*, imports::*}; #[derive(NestedEncode, NestedDecode, TopEncode, TopDecode, TypeAbi)] pub struct DepositInfo { diff --git a/contracts/examples/digital-cash/src/digital_cash.rs b/contracts/examples/digital-cash/src/digital_cash.rs index c1d6ac4af2..b46c2b7331 100644 --- a/contracts/examples/digital-cash/src/digital_cash.rs +++ b/contracts/examples/digital-cash/src/digital_cash.rs @@ -1,8 +1,7 @@ #![no_std] #![allow(unused_attributes)] -multiversx_sc::imports!(); -multiversx_sc::derive_imports!(); +use multiversx_sc::imports::*; mod constants; mod deposit_info; diff --git a/contracts/examples/digital-cash/src/helpers.rs b/contracts/examples/digital-cash/src/helpers.rs index c9bb1ea0aa..d300e35d08 100644 --- a/contracts/examples/digital-cash/src/helpers.rs +++ b/contracts/examples/digital-cash/src/helpers.rs @@ -1,4 +1,4 @@ -multiversx_sc::imports!(); +use multiversx_sc::imports::*; use crate::{ constants::*, diff --git a/contracts/examples/digital-cash/src/pay_fee_and_fund.rs b/contracts/examples/digital-cash/src/pay_fee_and_fund.rs index 246ffefb6b..45e913c51d 100644 --- a/contracts/examples/digital-cash/src/pay_fee_and_fund.rs +++ b/contracts/examples/digital-cash/src/pay_fee_and_fund.rs @@ -1,5 +1,4 @@ -multiversx_sc::imports!(); -multiversx_sc::derive_imports!(); +use multiversx_sc::imports::*; use crate::{constants::*, helpers, storage}; diff --git a/contracts/examples/digital-cash/src/signature_operations.rs b/contracts/examples/digital-cash/src/signature_operations.rs index 865276fb72..3da7143f88 100644 --- a/contracts/examples/digital-cash/src/signature_operations.rs +++ b/contracts/examples/digital-cash/src/signature_operations.rs @@ -1,5 +1,4 @@ -multiversx_sc::imports!(); -multiversx_sc::derive_imports!(); +use multiversx_sc::imports::*; use crate::{constants::*, helpers, storage}; diff --git a/contracts/examples/digital-cash/src/storage.rs b/contracts/examples/digital-cash/src/storage.rs index eb0fbef93d..2e18503ccd 100644 --- a/contracts/examples/digital-cash/src/storage.rs +++ b/contracts/examples/digital-cash/src/storage.rs @@ -1,5 +1,4 @@ -multiversx_sc::imports!(); -multiversx_sc::derive_imports!(); +use multiversx_sc::imports::*; use crate::deposit_info::*; diff --git a/contracts/examples/empty/src/empty.rs b/contracts/examples/empty/src/empty.rs index 986e66f63a..81353a08d9 100644 --- a/contracts/examples/empty/src/empty.rs +++ b/contracts/examples/empty/src/empty.rs @@ -1,6 +1,7 @@ #![no_std] -multiversx_sc::imports!(); +#[allow(unused_imports)] +use multiversx_sc::imports::*; /// An empty contract. To be used as a template when starting a new contract from scratch. #[multiversx_sc::contract] diff --git a/contracts/examples/esdt-transfer-with-fee/src/esdt_transfer_with_fee.rs b/contracts/examples/esdt-transfer-with-fee/src/esdt_transfer_with_fee.rs index 85abae23b6..6133e5500f 100644 --- a/contracts/examples/esdt-transfer-with-fee/src/esdt_transfer_with_fee.rs +++ b/contracts/examples/esdt-transfer-with-fee/src/esdt_transfer_with_fee.rs @@ -3,7 +3,7 @@ mod fee; use fee::*; -multiversx_sc::imports!(); +use multiversx_sc::imports::*; #[multiversx_sc::contract] pub trait EsdtTransferWithFee { #[init] diff --git a/contracts/examples/esdt-transfer-with-fee/src/fee.rs b/contracts/examples/esdt-transfer-with-fee/src/fee.rs index fa53190af7..67c88d8742 100644 --- a/contracts/examples/esdt-transfer-with-fee/src/fee.rs +++ b/contracts/examples/esdt-transfer-with-fee/src/fee.rs @@ -1,5 +1,4 @@ -multiversx_sc::imports!(); -multiversx_sc::derive_imports!(); +use multiversx_sc::{derive_imports::*, imports::*}; pub(crate) const PERCENTAGE_DIVISOR: u32 = 10_000; // dividing the percentage fee by this number will result in a 2 decimal percentage diff --git a/contracts/examples/factorial/src/factorial.rs b/contracts/examples/factorial/src/factorial.rs index 509666b86f..ac5c76427c 100644 --- a/contracts/examples/factorial/src/factorial.rs +++ b/contracts/examples/factorial/src/factorial.rs @@ -1,6 +1,7 @@ #![no_std] +#![allow(unused_imports)] -multiversx_sc::imports!(); +use multiversx_sc::imports::*; #[multiversx_sc::contract] pub trait Factorial { diff --git a/contracts/examples/fractional-nfts/src/fractional_nfts.rs b/contracts/examples/fractional-nfts/src/fractional_nfts.rs index a429cfad10..c715edae82 100644 --- a/contracts/examples/fractional-nfts/src/fractional_nfts.rs +++ b/contracts/examples/fractional-nfts/src/fractional_nfts.rs @@ -1,6 +1,6 @@ #![no_std] -multiversx_sc::imports!(); +use multiversx_sc::imports::*; use multiversx_sc_modules::default_issue_callbacks; mod fractional_uri_info; @@ -144,7 +144,7 @@ pub trait FractionalNfts: default_issue_callbacks::DefaultIssueCallbacksModule { } mod nft_marketplace_proxy { - multiversx_sc::imports!(); + use multiversx_sc::imports::*; #[multiversx_sc::proxy] pub trait NftMarketplace { diff --git a/contracts/examples/fractional-nfts/src/fractional_uri_info.rs b/contracts/examples/fractional-nfts/src/fractional_uri_info.rs index 4837ee6fe1..4b41271a72 100644 --- a/contracts/examples/fractional-nfts/src/fractional_uri_info.rs +++ b/contracts/examples/fractional-nfts/src/fractional_uri_info.rs @@ -1,5 +1,4 @@ -multiversx_sc::imports!(); -multiversx_sc::derive_imports!(); +use multiversx_sc::{derive_imports::*, imports::*}; use multiversx_sc::contract_base::ManagedSerializer; diff --git a/contracts/examples/lottery-esdt/src/lottery.rs b/contracts/examples/lottery-esdt/src/lottery.rs index 24a84bc6be..48a94b14b2 100644 --- a/contracts/examples/lottery-esdt/src/lottery.rs +++ b/contracts/examples/lottery-esdt/src/lottery.rs @@ -1,6 +1,6 @@ #![no_std] -multiversx_sc::imports!(); +use multiversx_sc::imports::*; mod lottery_info; mod status; diff --git a/contracts/examples/lottery-esdt/src/lottery_info.rs b/contracts/examples/lottery-esdt/src/lottery_info.rs index a7d7f32992..869a3906a8 100644 --- a/contracts/examples/lottery-esdt/src/lottery_info.rs +++ b/contracts/examples/lottery-esdt/src/lottery_info.rs @@ -3,7 +3,7 @@ use multiversx_sc::{ types::{BigUint, EgldOrEsdtTokenIdentifier, ManagedVec}, }; -multiversx_sc::derive_imports!(); +use multiversx_sc::derive_imports::*; #[derive(NestedEncode, NestedDecode, TopEncode, TopDecode, TypeAbi)] pub struct LotteryInfo { diff --git a/contracts/examples/lottery-esdt/src/status.rs b/contracts/examples/lottery-esdt/src/status.rs index 90eaa84ad0..ba87b5bb84 100644 --- a/contracts/examples/lottery-esdt/src/status.rs +++ b/contracts/examples/lottery-esdt/src/status.rs @@ -1,4 +1,4 @@ -multiversx_sc::derive_imports!(); +use multiversx_sc::derive_imports::*; #[derive(TopEncode, TopDecode, TypeAbi, PartialEq, Eq, Clone, Copy)] pub enum Status { diff --git a/contracts/examples/multisig/src/action.rs b/contracts/examples/multisig/src/action.rs index f5c55cc117..d36af70f90 100644 --- a/contracts/examples/multisig/src/action.rs +++ b/contracts/examples/multisig/src/action.rs @@ -3,7 +3,7 @@ use multiversx_sc::{ types::{BigUint, CodeMetadata, ManagedAddress, ManagedBuffer, ManagedVec}, }; -multiversx_sc::derive_imports!(); +use multiversx_sc::derive_imports::*; #[derive(NestedEncode, NestedDecode, TypeAbi, Clone)] pub struct CallActionData { diff --git a/contracts/examples/multisig/src/multisig.rs b/contracts/examples/multisig/src/multisig.rs index fee8439656..a3baed53ce 100644 --- a/contracts/examples/multisig/src/multisig.rs +++ b/contracts/examples/multisig/src/multisig.rs @@ -10,7 +10,7 @@ pub mod user_role; use action::ActionFullInfo; use user_role::UserRole; -multiversx_sc::imports!(); +use multiversx_sc::imports::*; /// Multi-signature smart contract implementation. /// Acts like a wallet that needs multiple signers for any action performed. diff --git a/contracts/examples/multisig/src/multisig_events.rs b/contracts/examples/multisig/src/multisig_events.rs index 384fdb2c1f..6db1567f28 100644 --- a/contracts/examples/multisig/src/multisig_events.rs +++ b/contracts/examples/multisig/src/multisig_events.rs @@ -1,6 +1,6 @@ use crate::{action::ActionFullInfo, user_role::UserRole}; -multiversx_sc::imports!(); +use multiversx_sc::imports::*; /// Contains all events that can be emitted by the contract. #[multiversx_sc::module] diff --git a/contracts/examples/multisig/src/multisig_perform.rs b/contracts/examples/multisig/src/multisig_perform.rs index 4769923423..1912b85321 100644 --- a/contracts/examples/multisig/src/multisig_perform.rs +++ b/contracts/examples/multisig/src/multisig_perform.rs @@ -3,7 +3,7 @@ use crate::{ user_role::UserRole, }; -multiversx_sc::imports!(); +use multiversx_sc::imports::*; /// Gas required to finish transaction after transfer-execute. const PERFORM_ACTION_FINISH_GAS: u64 = 300_000; diff --git a/contracts/examples/multisig/src/multisig_propose.rs b/contracts/examples/multisig/src/multisig_propose.rs index 053b376236..8d59f58275 100644 --- a/contracts/examples/multisig/src/multisig_propose.rs +++ b/contracts/examples/multisig/src/multisig_propose.rs @@ -1,6 +1,6 @@ use crate::action::{Action, CallActionData}; -multiversx_sc::imports!(); +use multiversx_sc::imports::*; /// Contains all events that can be emitted by the contract. #[multiversx_sc::module] diff --git a/contracts/examples/multisig/src/multisig_state.rs b/contracts/examples/multisig/src/multisig_state.rs index db64843ade..bfadd8efd6 100644 --- a/contracts/examples/multisig/src/multisig_state.rs +++ b/contracts/examples/multisig/src/multisig_state.rs @@ -1,6 +1,6 @@ use crate::{action::Action, user_role::UserRole}; -multiversx_sc::imports!(); +use multiversx_sc::imports::*; /// Contains all events that can be emitted by the contract. #[multiversx_sc::module] diff --git a/contracts/examples/multisig/src/user_role.rs b/contracts/examples/multisig/src/user_role.rs index fa401130ac..b92b2dea30 100644 --- a/contracts/examples/multisig/src/user_role.rs +++ b/contracts/examples/multisig/src/user_role.rs @@ -1,4 +1,4 @@ -multiversx_sc::derive_imports!(); +use multiversx_sc::derive_imports::*; #[derive(TopEncode, TopDecode, TypeAbi, Clone, Copy, PartialEq, Eq, Debug)] pub enum UserRole { diff --git a/contracts/examples/nft-minter/src/lib.rs b/contracts/examples/nft-minter/src/lib.rs index e65e8a7dff..5f0a8b3f01 100644 --- a/contracts/examples/nft-minter/src/lib.rs +++ b/contracts/examples/nft-minter/src/lib.rs @@ -1,7 +1,6 @@ #![no_std] -multiversx_sc::imports!(); -multiversx_sc::derive_imports!(); +use multiversx_sc::{derive_imports::*, imports::*}; mod nft_module; @@ -87,8 +86,6 @@ pub trait NftMinter: nft_module::NftModule { } mod nft_marketplace_proxy { - multiversx_sc::imports!(); - #[multiversx_sc::proxy] pub trait NftMarketplace { #[endpoint(claimTokens)] diff --git a/contracts/examples/nft-minter/src/nft_module.rs b/contracts/examples/nft-minter/src/nft_module.rs index 5643201724..2b9b73523c 100644 --- a/contracts/examples/nft-minter/src/nft_module.rs +++ b/contracts/examples/nft-minter/src/nft_module.rs @@ -1,5 +1,4 @@ -multiversx_sc::imports!(); -multiversx_sc::derive_imports!(); +use multiversx_sc::{derive_imports::*, imports::*}; const NFT_AMOUNT: u32 = 1; const ROYALTIES_MAX: u32 = 10_000; diff --git a/contracts/examples/nft-storage-prepay/src/nft_storage_prepay.rs b/contracts/examples/nft-storage-prepay/src/nft_storage_prepay.rs index e546da11e3..f21dfcb61b 100644 --- a/contracts/examples/nft-storage-prepay/src/nft_storage_prepay.rs +++ b/contracts/examples/nft-storage-prepay/src/nft_storage_prepay.rs @@ -1,6 +1,6 @@ #![no_std] -multiversx_sc::imports!(); +use multiversx_sc::imports::*; #[multiversx_sc::contract] pub trait NftStoragePrepay { diff --git a/contracts/examples/nft-subscription/src/lib.rs b/contracts/examples/nft-subscription/src/lib.rs index b9c4fcdb8d..d291eaf212 100644 --- a/contracts/examples/nft-subscription/src/lib.rs +++ b/contracts/examples/nft-subscription/src/lib.rs @@ -1,7 +1,6 @@ #![no_std] -multiversx_sc::imports!(); -multiversx_sc::derive_imports!(); +use multiversx_sc::imports::*; use multiversx_sc_modules::{default_issue_callbacks, subscription}; diff --git a/contracts/examples/order-book/factory/src/lib.rs b/contracts/examples/order-book/factory/src/lib.rs index 1227754195..cac1192361 100644 --- a/contracts/examples/order-book/factory/src/lib.rs +++ b/contracts/examples/order-book/factory/src/lib.rs @@ -1,7 +1,6 @@ #![no_std] -multiversx_sc::imports!(); -multiversx_sc::derive_imports!(); +use multiversx_sc::{derive_imports::*, imports::*}; #[derive(TopEncode, TopDecode, NestedEncode, NestedDecode, TypeAbi, Clone)] pub struct TokenIdPair { diff --git a/contracts/examples/order-book/pair/src/common.rs b/contracts/examples/order-book/pair/src/common.rs index 17a5704073..1c4b2e893c 100644 --- a/contracts/examples/order-book/pair/src/common.rs +++ b/contracts/examples/order-book/pair/src/common.rs @@ -1,5 +1,4 @@ -multiversx_sc::imports!(); -multiversx_sc::derive_imports!(); +use multiversx_sc::{derive_imports::*, imports::*}; pub const MAX_ORDERS_PER_USER: usize = 100; pub const PERCENT_BASE_POINTS: u64 = 100_000; diff --git a/contracts/examples/order-book/pair/src/events.rs b/contracts/examples/order-book/pair/src/events.rs index 997ae9990c..ddbd6a3496 100644 --- a/contracts/examples/order-book/pair/src/events.rs +++ b/contracts/examples/order-book/pair/src/events.rs @@ -1,5 +1,4 @@ -multiversx_sc::imports!(); -multiversx_sc::derive_imports!(); +use multiversx_sc::imports::*; use super::common::{Order, OrderType}; diff --git a/contracts/examples/order-book/pair/src/global.rs b/contracts/examples/order-book/pair/src/global.rs index 371e661b71..9ed0718048 100644 --- a/contracts/examples/order-book/pair/src/global.rs +++ b/contracts/examples/order-book/pair/src/global.rs @@ -1,5 +1,4 @@ -multiversx_sc::imports!(); -multiversx_sc::derive_imports!(); +use multiversx_sc::imports::*; #[multiversx_sc::module] pub trait GlobalOperationModule { diff --git a/contracts/examples/order-book/pair/src/lib.rs b/contracts/examples/order-book/pair/src/lib.rs index e50b70c0e9..69e3a9f8c5 100644 --- a/contracts/examples/order-book/pair/src/lib.rs +++ b/contracts/examples/order-book/pair/src/lib.rs @@ -1,7 +1,6 @@ #![no_std] -multiversx_sc::imports!(); -multiversx_sc::derive_imports!(); +use multiversx_sc::imports::*; mod common; mod events; diff --git a/contracts/examples/order-book/pair/src/orders.rs b/contracts/examples/order-book/pair/src/orders.rs index 65803fb495..6dd9bdc0bf 100644 --- a/contracts/examples/order-book/pair/src/orders.rs +++ b/contracts/examples/order-book/pair/src/orders.rs @@ -1,5 +1,4 @@ -multiversx_sc::imports!(); -multiversx_sc::derive_imports!(); +use multiversx_sc::imports::*; use crate::common::{FEE_PENALTY_INCREASE_EPOCHS, FEE_PENALTY_INCREASE_PERCENT}; diff --git a/contracts/examples/order-book/pair/src/validation.rs b/contracts/examples/order-book/pair/src/validation.rs index 14f1478e1d..488edbdb24 100644 --- a/contracts/examples/order-book/pair/src/validation.rs +++ b/contracts/examples/order-book/pair/src/validation.rs @@ -1,5 +1,4 @@ -multiversx_sc::imports!(); -multiversx_sc::derive_imports!(); +use multiversx_sc::imports::*; use crate::common::{FeeConfig, FeeConfigEnum}; diff --git a/contracts/examples/ping-pong-egld/src/ping_pong.rs b/contracts/examples/ping-pong-egld/src/ping_pong.rs index 1e4aaf21ae..d2d84546de 100644 --- a/contracts/examples/ping-pong-egld/src/ping_pong.rs +++ b/contracts/examples/ping-pong-egld/src/ping_pong.rs @@ -1,6 +1,6 @@ #![no_std] -multiversx_sc::imports!(); +use multiversx_sc::imports::*; mod user_status; diff --git a/contracts/examples/ping-pong-egld/src/user_status.rs b/contracts/examples/ping-pong-egld/src/user_status.rs index d49da4b213..291981b0d7 100644 --- a/contracts/examples/ping-pong-egld/src/user_status.rs +++ b/contracts/examples/ping-pong-egld/src/user_status.rs @@ -1,4 +1,4 @@ -multiversx_sc::derive_imports!(); +use multiversx_sc::derive_imports::*; #[derive(TopEncode, TopDecode, TypeAbi, PartialEq, Eq, Clone, Copy)] pub enum UserStatus { diff --git a/contracts/examples/proxy-pause/src/proxy_pause.rs b/contracts/examples/proxy-pause/src/proxy_pause.rs index 2a83923866..685a870c7e 100644 --- a/contracts/examples/proxy-pause/src/proxy_pause.rs +++ b/contracts/examples/proxy-pause/src/proxy_pause.rs @@ -1,10 +1,8 @@ #![no_std] -multiversx_sc::imports!(); +use multiversx_sc::imports::*; mod pause_proxy { - multiversx_sc::imports!(); - #[multiversx_sc::proxy] pub trait Pausable { #[endpoint] diff --git a/contracts/examples/rewards-distribution/src/rewards_distribution.rs b/contracts/examples/rewards-distribution/src/rewards_distribution.rs index 59672da272..cef14e0fef 100644 --- a/contracts/examples/rewards-distribution/src/rewards_distribution.rs +++ b/contracts/examples/rewards-distribution/src/rewards_distribution.rs @@ -1,7 +1,6 @@ #![no_std] -multiversx_sc::imports!(); -multiversx_sc::derive_imports!(); +use multiversx_sc::{derive_imports::*, imports::*}; use multiversx_sc_modules::ongoing_operation::{ CONTINUE_OP, DEFAULT_MIN_GAS_TO_SAVE_PROGRESS, STOP_OP, }; @@ -440,8 +439,6 @@ fn ticket_from_storage(position: u64, ticket_id: u64) -> u64 { } mod seed_nft_minter { - multiversx_sc::imports!(); - #[multiversx_sc::proxy] pub trait SeedNftMinter { #[endpoint(getNftCount)] diff --git a/contracts/examples/rewards-distribution/tests/mock_seed_nft_minter.rs b/contracts/examples/rewards-distribution/tests/mock_seed_nft_minter.rs index 0c7a12d297..d4312c8920 100644 --- a/contracts/examples/rewards-distribution/tests/mock_seed_nft_minter.rs +++ b/contracts/examples/rewards-distribution/tests/mock_seed_nft_minter.rs @@ -1,4 +1,4 @@ -multiversx_sc::imports!(); +use multiversx_sc::imports::*; #[multiversx_sc::contract] pub trait MockSeedNftMinter { diff --git a/contracts/examples/seed-nft-minter/src/distribution_module.rs b/contracts/examples/seed-nft-minter/src/distribution_module.rs index df22a12919..9b3bb6d507 100644 --- a/contracts/examples/seed-nft-minter/src/distribution_module.rs +++ b/contracts/examples/seed-nft-minter/src/distribution_module.rs @@ -1,5 +1,4 @@ -multiversx_sc::imports!(); -multiversx_sc::derive_imports!(); +use multiversx_sc::{derive_imports::*, imports::*}; pub const MAX_DISTRIBUTION_PERCENTAGE: u64 = 100_000; // 100% diff --git a/contracts/examples/seed-nft-minter/src/nft_module.rs b/contracts/examples/seed-nft-minter/src/nft_module.rs index f24ea67fc3..885ff36c90 100644 --- a/contracts/examples/seed-nft-minter/src/nft_module.rs +++ b/contracts/examples/seed-nft-minter/src/nft_module.rs @@ -1,7 +1,6 @@ use crate::distribution_module; -multiversx_sc::imports!(); -multiversx_sc::derive_imports!(); +use multiversx_sc::{derive_imports::*, imports::*}; use multiversx_sc_modules::default_issue_callbacks; diff --git a/contracts/examples/seed-nft-minter/src/seed_nft_minter.rs b/contracts/examples/seed-nft-minter/src/seed_nft_minter.rs index 5e42c7a765..42b064e5cd 100644 --- a/contracts/examples/seed-nft-minter/src/seed_nft_minter.rs +++ b/contracts/examples/seed-nft-minter/src/seed_nft_minter.rs @@ -1,7 +1,6 @@ #![no_std] -multiversx_sc::imports!(); -multiversx_sc::derive_imports!(); +use multiversx_sc::{derive_imports::*, imports::*}; mod distribution_module; mod nft_module; @@ -123,7 +122,7 @@ pub trait SeedNftMinter: } mod nft_marketplace_proxy { - multiversx_sc::imports!(); + use multiversx_sc::imports::*; #[multiversx_sc::proxy] pub trait NftMarketplace { diff --git a/contracts/examples/token-release/src/contract_data.rs b/contracts/examples/token-release/src/contract_data.rs index c40f1ac8a5..d224761986 100644 --- a/contracts/examples/token-release/src/contract_data.rs +++ b/contracts/examples/token-release/src/contract_data.rs @@ -1,6 +1,6 @@ use multiversx_sc::{api::ManagedTypeApi, types::BigUint}; -multiversx_sc::derive_imports!(); +use multiversx_sc::derive_imports::*; #[derive(NestedEncode, NestedDecode, TopEncode, TopDecode, PartialEq, Eq, TypeAbi, Clone)] pub enum UnlockType { diff --git a/contracts/examples/token-release/src/token_release.rs b/contracts/examples/token-release/src/token_release.rs index d4f1eba44b..29fb3890e0 100644 --- a/contracts/examples/token-release/src/token_release.rs +++ b/contracts/examples/token-release/src/token_release.rs @@ -1,7 +1,6 @@ #![no_std] -multiversx_sc::imports!(); -multiversx_sc::derive_imports!(); +use multiversx_sc::imports::*; mod contract_data; diff --git a/framework/base/src/lib.rs b/framework/base/src/lib.rs index cbd7331a2f..060fdb85b9 100644 --- a/framework/base/src/lib.rs +++ b/framework/base/src/lib.rs @@ -1,5 +1,4 @@ #![no_std] - #![feature(never_type)] #![feature(exhaustive_patterns)] #![feature(try_trait_v2)] @@ -8,7 +7,6 @@ #![feature(maybe_uninit_array_assume_init)] #![feature(negative_impls)] #![feature(generic_const_exprs)] - #![allow(incomplete_features)] #![allow(deprecated)] From 72db5f7ae0dd08ef50f3c331b122d0d6005319a1 Mon Sep 17 00:00:00 2001 From: Dorin Marian Iancu Date: Fri, 16 Feb 2024 15:30:39 +0200 Subject: [PATCH 08/36] partial impl --- framework/base/src/storage/mappers.rs | 2 + .../mappers/ordered_binary_tree_mapper.rs | 236 ++++++++++++++++++ 2 files changed, 238 insertions(+) create mode 100644 framework/base/src/storage/mappers/ordered_binary_tree_mapper.rs diff --git a/framework/base/src/storage/mappers.rs b/framework/base/src/storage/mappers.rs index 5b220073b8..67fc014859 100644 --- a/framework/base/src/storage/mappers.rs +++ b/framework/base/src/storage/mappers.rs @@ -4,6 +4,7 @@ mod linked_list_mapper; mod map_mapper; mod map_storage_mapper; mod mapper; +mod ordered_binary_tree_mapper; mod queue_mapper; mod set_mapper; mod single_value_mapper; @@ -20,6 +21,7 @@ pub use linked_list_mapper::{LinkedListMapper, LinkedListNode}; pub use map_mapper::MapMapper; pub use map_storage_mapper::MapStorageMapper; pub use mapper::{StorageClearable, StorageMapper}; +pub use ordered_binary_tree_mapper::{NodeId, OrderedBinaryTreeMapper, OrderedBinaryTreeNode}; pub use queue_mapper::QueueMapper; pub use set_mapper::SetMapper; pub use single_value_mapper::{SingleValue, SingleValueMapper}; diff --git a/framework/base/src/storage/mappers/ordered_binary_tree_mapper.rs b/framework/base/src/storage/mappers/ordered_binary_tree_mapper.rs new file mode 100644 index 0000000000..edf1262a53 --- /dev/null +++ b/framework/base/src/storage/mappers/ordered_binary_tree_mapper.rs @@ -0,0 +1,236 @@ +use core::marker::PhantomData; + +use crate::{ + api::StorageMapperApi, + imports::{ErrorApiImpl, ManagedType}, + storage::StorageKey, + storage_set, +}; + +use super::set_mapper::{CurrentStorage, StorageAddress}; + +use crate::codec::{ + self, + derive::{TopDecode, TopEncode}, + NestedDecode, NestedEncode, TopDecode, TopEncode, +}; + +pub type NodeId = u64; + +const NULL_ID: NodeId = 0; + +static ID_SUFFIX: &[u8] = b"_id"; +static LAST_ID_KEY_SUFFIX: &[u8] = b"_lastId"; + +static CORRUPT_TREE_ERR_MGS: &[u8] = b"Corrupt tree"; + +#[derive(TopEncode, TopDecode, Clone)] +pub struct OrderedBinaryTreeNode< + T: TopEncode + TopDecode + NestedEncode + NestedDecode + PartialOrd + PartialEq + Clone, +> { + pub(crate) left_id: NodeId, + pub(crate) right_id: NodeId, + pub(crate) data: T, +} + +impl OrderedBinaryTreeNode +where + T: TopEncode + TopDecode + NestedEncode + NestedDecode + PartialOrd + PartialEq + Clone, +{ + pub fn new(data: T) -> Self { + Self { + data, + left_id: NULL_ID, + right_id: NULL_ID, + } + } + + #[inline] + pub fn get_data(&self) -> &T { + &self.data + } +} + +pub struct OrderedBinaryTreeMapper +where + SA: StorageMapperApi, + A: StorageAddress, + T: TopEncode + TopDecode + NestedEncode + NestedDecode + PartialOrd + PartialEq + Clone, +{ + opt_root: Option>, + address: A, + key: StorageKey, + _phantom_api: PhantomData, + _phantom_item: PhantomData, +} + +impl OrderedBinaryTreeMapper +where + SA: StorageMapperApi, + A: StorageAddress, + T: TopEncode + TopDecode + NestedEncode + NestedDecode + PartialOrd + PartialEq + Clone, +{ + pub fn get_root(&self) -> Option> { + self.opt_root.clone() + } + + pub fn get_node_by_id(&self, id: NodeId) -> Option> { + if id == NULL_ID { + return None; + } + + let key = self.build_key_for_item(id); + let storage_len = self.address.address_storage_get_len(key.as_ref()); + if storage_len == 0 { + return None; + } + + Some(self.address.address_storage_get(key.as_ref())) + } + + pub fn try_get_node_by_id(&self, id: NodeId) -> OrderedBinaryTreeNode { + let opt_node = self.get_node_by_id(id); + if opt_node.is_none() { + SA::error_api_impl().signal_error(CORRUPT_TREE_ERR_MGS); + } + + unsafe { opt_node.unwrap_unchecked() } + } + + pub fn get_depth(&self, node: &OrderedBinaryTreeNode) -> usize { + if self.opt_root.is_none() { + return 0; + } + + let opt_left_node = self.get_node_by_id(node.left_id); + let opt_right_node = self.get_node_by_id(node.right_id); + + let l_depth = match opt_left_node { + Some(left_node) => self.get_depth(&left_node), + None => 0, + }; + let r_depth = match opt_right_node { + Some(right_node) => self.get_depth(&right_node), + None => 0, + }; + + core::cmp::max(l_depth, r_depth) + 1 + } + + pub fn recursive_search( + &self, + opt_node: Option>, + data: &T, + ) -> Option> { + if opt_node.is_none() { + return None; + } + + let node = unsafe { opt_node.unwrap_unchecked() }; + if &node.data == data { + return Some(node); + } + + if data < &node.data { + let opt_left_node = self.get_node_by_id(node.left_id); + self.recursive_search(opt_left_node, data) + } else { + let opt_right_node = self.get_node_by_id(node.right_id); + self.recursive_search(opt_right_node, data) + } + } + + pub fn iterative_search( + &self, + mut opt_node: Option>, + data: &T, + ) -> Option> { + while opt_node.is_some() { + let node = unsafe { opt_node.unwrap_unchecked() }; + if &node.data == data { + return Some(node); + } + + if data < &node.data { + opt_node = self.get_node_by_id(node.left_id); + } else { + opt_node = self.get_node_by_id(node.right_id); + } + } + + None + } + + pub fn find_max(&self, mut node: OrderedBinaryTreeNode) -> OrderedBinaryTreeNode { + while node.right_id != NULL_ID { + node = self.try_get_node_by_id(node.right_id); + } + + node + } + + pub fn find_min(&self, mut node: OrderedBinaryTreeNode) -> OrderedBinaryTreeNode { + while node.left_id != NULL_ID { + node = self.try_get_node_by_id(node.left_id); + } + + node + } + + pub fn find_successor(&self, node: OrderedBinaryTreeNode) -> OrderedBinaryTreeNode { + if node.right_id != NULL_ID { + let right_node = self.try_get_node_by_id(node.right_id); + return self.find_min(right_node); + } + } + + // pub fn insert_element(&mut self, data: T) { + // let new_node = OrderedBinaryTreeNode::new(data); + // if self.opt_root.is_none() { + // let root_id = self.get_and_increment_last_id(); + // self.set_item(root_id, &new_node); + // } + // } +} + +impl OrderedBinaryTreeMapper +where + SA: StorageMapperApi, + A: StorageAddress, + T: TopEncode + TopDecode + NestedEncode + NestedDecode + PartialOrd + PartialEq + Clone, +{ + fn build_key_for_item(&self, id: NodeId) -> StorageKey { + let mut item_key = self.key.clone(); + item_key.append_bytes(ID_SUFFIX); + item_key.append_item(&id); + + item_key + } + + fn build_last_id_key(&self) -> StorageKey { + let mut key = self.key.clone(); + key.append_bytes(LAST_ID_KEY_SUFFIX); + + key + } + + fn get_last_id(&self) -> NodeId { + let key = self.build_last_id_key(); + + self.address.address_storage_get(key.as_ref()) + } + + fn get_and_increment_last_id(&self) -> NodeId { + let key = self.build_last_id_key(); + let last_id: NodeId = self.address.address_storage_get(key.as_ref()); + let new_id = last_id + 1; + storage_set(key.as_ref(), &new_id); + + new_id + } + + fn set_item(&mut self, id: NodeId, node: &OrderedBinaryTreeNode) { + let key = self.build_key_for_item(id); + storage_set(key.as_ref(), node); + } +} From e6a85404a12c264592d491383c82acc86cae0ac5 Mon Sep 17 00:00:00 2001 From: Dorin Marian Iancu Date: Mon, 19 Feb 2024 09:37:13 +0200 Subject: [PATCH 09/36] search --- framework/base/src/storage/mappers.rs | 4 +- .../mappers/ordered_binary_tree_mapper.rs | 141 ++++++++++++------ 2 files changed, 97 insertions(+), 48 deletions(-) diff --git a/framework/base/src/storage/mappers.rs b/framework/base/src/storage/mappers.rs index 67fc014859..b6bac7f06b 100644 --- a/framework/base/src/storage/mappers.rs +++ b/framework/base/src/storage/mappers.rs @@ -21,7 +21,9 @@ pub use linked_list_mapper::{LinkedListMapper, LinkedListNode}; pub use map_mapper::MapMapper; pub use map_storage_mapper::MapStorageMapper; pub use mapper::{StorageClearable, StorageMapper}; -pub use ordered_binary_tree_mapper::{NodeId, OrderedBinaryTreeMapper, OrderedBinaryTreeNode}; +pub use ordered_binary_tree_mapper::{ + NodeId, OrderedBinaryTreeMapper, OrderedBinaryTreeNode, NULL_NODE_ID, +}; pub use queue_mapper::QueueMapper; pub use set_mapper::SetMapper; pub use single_value_mapper::{SingleValue, SingleValueMapper}; diff --git a/framework/base/src/storage/mappers/ordered_binary_tree_mapper.rs b/framework/base/src/storage/mappers/ordered_binary_tree_mapper.rs index edf1262a53..0b7d7e9b65 100644 --- a/framework/base/src/storage/mappers/ordered_binary_tree_mapper.rs +++ b/framework/base/src/storage/mappers/ordered_binary_tree_mapper.rs @@ -12,12 +12,12 @@ use super::set_mapper::{CurrentStorage, StorageAddress}; use crate::codec::{ self, derive::{TopDecode, TopEncode}, - NestedDecode, NestedEncode, TopDecode, TopEncode, + NestedDecode, NestedEncode, }; pub type NodeId = u64; -const NULL_ID: NodeId = 0; +pub const NULL_NODE_ID: NodeId = 0; static ID_SUFFIX: &[u8] = b"_id"; static LAST_ID_KEY_SUFFIX: &[u8] = b"_lastId"; @@ -25,23 +25,25 @@ static LAST_ID_KEY_SUFFIX: &[u8] = b"_lastId"; static CORRUPT_TREE_ERR_MGS: &[u8] = b"Corrupt tree"; #[derive(TopEncode, TopDecode, Clone)] -pub struct OrderedBinaryTreeNode< - T: TopEncode + TopDecode + NestedEncode + NestedDecode + PartialOrd + PartialEq + Clone, -> { +pub struct OrderedBinaryTreeNode { + pub(crate) current_node_id: NodeId, pub(crate) left_id: NodeId, pub(crate) right_id: NodeId, + pub(crate) parent_id: NodeId, pub(crate) data: T, } impl OrderedBinaryTreeNode where - T: TopEncode + TopDecode + NestedEncode + NestedDecode + PartialOrd + PartialEq + Clone, + T: NestedEncode + NestedDecode + PartialOrd + PartialEq + Clone, { - pub fn new(data: T) -> Self { + pub fn new(current_node_id: NodeId, data: T) -> Self { Self { data, - left_id: NULL_ID, - right_id: NULL_ID, + current_node_id, + left_id: NULL_NODE_ID, + right_id: NULL_NODE_ID, + parent_id: NULL_NODE_ID, } } @@ -55,7 +57,7 @@ pub struct OrderedBinaryTreeMapper where SA: StorageMapperApi, A: StorageAddress, - T: TopEncode + TopDecode + NestedEncode + NestedDecode + PartialOrd + PartialEq + Clone, + T: NestedEncode + NestedDecode + PartialOrd + PartialEq + Clone, { opt_root: Option>, address: A, @@ -68,35 +70,12 @@ impl OrderedBinaryTreeMapper where SA: StorageMapperApi, A: StorageAddress, - T: TopEncode + TopDecode + NestedEncode + NestedDecode + PartialOrd + PartialEq + Clone, + T: NestedEncode + NestedDecode + PartialOrd + PartialEq + Clone, { pub fn get_root(&self) -> Option> { self.opt_root.clone() } - pub fn get_node_by_id(&self, id: NodeId) -> Option> { - if id == NULL_ID { - return None; - } - - let key = self.build_key_for_item(id); - let storage_len = self.address.address_storage_get_len(key.as_ref()); - if storage_len == 0 { - return None; - } - - Some(self.address.address_storage_get(key.as_ref())) - } - - pub fn try_get_node_by_id(&self, id: NodeId) -> OrderedBinaryTreeNode { - let opt_node = self.get_node_by_id(id); - if opt_node.is_none() { - SA::error_api_impl().signal_error(CORRUPT_TREE_ERR_MGS); - } - - unsafe { opt_node.unwrap_unchecked() } - } - pub fn get_depth(&self, node: &OrderedBinaryTreeNode) -> usize { if self.opt_root.is_none() { return 0; @@ -162,7 +141,7 @@ where } pub fn find_max(&self, mut node: OrderedBinaryTreeNode) -> OrderedBinaryTreeNode { - while node.right_id != NULL_ID { + while node.right_id != NULL_NODE_ID { node = self.try_get_node_by_id(node.right_id); } @@ -170,35 +149,103 @@ where } pub fn find_min(&self, mut node: OrderedBinaryTreeNode) -> OrderedBinaryTreeNode { - while node.left_id != NULL_ID { + while node.left_id != NULL_NODE_ID { node = self.try_get_node_by_id(node.left_id); } node } - pub fn find_successor(&self, node: OrderedBinaryTreeNode) -> OrderedBinaryTreeNode { - if node.right_id != NULL_ID { + pub fn find_successor( + &self, + mut node: OrderedBinaryTreeNode, + ) -> Option> { + if node.right_id != NULL_NODE_ID { let right_node = self.try_get_node_by_id(node.right_id); - return self.find_min(right_node); + return Some(self.find_min(right_node)); } + + let mut successor_id = node.parent_id; + let mut opt_successor = self.get_node_by_id(successor_id); + while successor_id != NULL_NODE_ID { + if opt_successor.is_none() { + SA::error_api_impl().signal_error(CORRUPT_TREE_ERR_MGS); + } + + let successor = unsafe { opt_successor.unwrap_unchecked() }; + if node.current_node_id != successor.right_id { + return Some(successor); + } + + successor_id = successor.parent_id; + opt_successor = self.get_node_by_id(successor_id); + node = successor; + } + + opt_successor } - // pub fn insert_element(&mut self, data: T) { - // let new_node = OrderedBinaryTreeNode::new(data); - // if self.opt_root.is_none() { - // let root_id = self.get_and_increment_last_id(); - // self.set_item(root_id, &new_node); - // } - // } + pub fn find_predecessor( + &self, + mut node: OrderedBinaryTreeNode, + ) -> Option> { + if node.left_id != NULL_NODE_ID { + let left_node = self.try_get_node_by_id(node.left_id); + return Some(self.find_max(left_node)); + } + + let mut predecessor_id = node.parent_id; + let mut opt_predecessor = self.get_node_by_id(predecessor_id); + while predecessor_id != NULL_NODE_ID { + if opt_predecessor.is_none() { + SA::error_api_impl().signal_error(CORRUPT_TREE_ERR_MGS); + } + + let predecessor = unsafe { opt_predecessor.unwrap_unchecked() }; + if node.current_node_id != predecessor.left_id { + return Some(predecessor); + } + + predecessor_id = predecessor.parent_id; + opt_predecessor = self.get_node_by_id(predecessor_id); + node = predecessor; + } + + opt_predecessor + } + + pub fn insert_element(&mut self, new_data: T) {} } impl OrderedBinaryTreeMapper where SA: StorageMapperApi, A: StorageAddress, - T: TopEncode + TopDecode + NestedEncode + NestedDecode + PartialOrd + PartialEq + Clone, + T: NestedEncode + NestedDecode + PartialOrd + PartialEq + Clone, { + fn get_node_by_id(&self, id: NodeId) -> Option> { + if id == NULL_NODE_ID { + return None; + } + + let key = self.build_key_for_item(id); + let storage_len = self.address.address_storage_get_len(key.as_ref()); + if storage_len == 0 { + return None; + } + + Some(self.address.address_storage_get(key.as_ref())) + } + + fn try_get_node_by_id(&self, id: NodeId) -> OrderedBinaryTreeNode { + let opt_node = self.get_node_by_id(id); + if opt_node.is_none() { + SA::error_api_impl().signal_error(CORRUPT_TREE_ERR_MGS); + } + + unsafe { opt_node.unwrap_unchecked() } + } + fn build_key_for_item(&self, id: NodeId) -> StorageKey { let mut item_key = self.key.clone(); item_key.append_bytes(ID_SUFFIX); From 34477b3baa51d8546a07de98a1ec01e9afdb446d Mon Sep 17 00:00:00 2001 From: Dorin Marian Iancu Date: Mon, 19 Feb 2024 13:15:35 +0200 Subject: [PATCH 10/36] change root storage --- .../mappers/ordered_binary_tree_mapper.rs | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/framework/base/src/storage/mappers/ordered_binary_tree_mapper.rs b/framework/base/src/storage/mappers/ordered_binary_tree_mapper.rs index 0b7d7e9b65..44981ea15a 100644 --- a/framework/base/src/storage/mappers/ordered_binary_tree_mapper.rs +++ b/framework/base/src/storage/mappers/ordered_binary_tree_mapper.rs @@ -19,6 +19,7 @@ pub type NodeId = u64; pub const NULL_NODE_ID: NodeId = 0; +static ROOT_SUFFIX: &[u8] = b"_root"; static ID_SUFFIX: &[u8] = b"_id"; static LAST_ID_KEY_SUFFIX: &[u8] = b"_lastId"; @@ -59,7 +60,6 @@ where A: StorageAddress, T: NestedEncode + NestedDecode + PartialOrd + PartialEq + Clone, { - opt_root: Option>, address: A, key: StorageKey, _phantom_api: PhantomData, @@ -73,11 +73,17 @@ where T: NestedEncode + NestedDecode + PartialOrd + PartialEq + Clone, { pub fn get_root(&self) -> Option> { - self.opt_root.clone() + let root_key = self.build_root_key(); + let storage_len = self.address.address_storage_get_len(root_key.as_ref()); + if storage_len == 0 { + return None; + } + + Some(self.address.address_storage_get(root_key.as_ref())) } pub fn get_depth(&self, node: &OrderedBinaryTreeNode) -> usize { - if self.opt_root.is_none() { + if self.get_root().is_none() { return 0; } @@ -246,6 +252,13 @@ where unsafe { opt_node.unwrap_unchecked() } } + fn build_root_key(&self) -> StorageKey { + let mut key = self.key.clone(); + key.append_bytes(ROOT_SUFFIX); + + key + } + fn build_key_for_item(&self, id: NodeId) -> StorageKey { let mut item_key = self.key.clone(); item_key.append_bytes(ID_SUFFIX); From bbcd96e379718fba75cd4348f90d2b5c1874bbcf Mon Sep 17 00:00:00 2001 From: Dorin Marian Iancu Date: Mon, 19 Feb 2024 13:33:06 +0200 Subject: [PATCH 11/36] insert element --- .../mappers/ordered_binary_tree_mapper.rs | 51 +++++++++++++++++-- 1 file changed, 46 insertions(+), 5 deletions(-) diff --git a/framework/base/src/storage/mappers/ordered_binary_tree_mapper.rs b/framework/base/src/storage/mappers/ordered_binary_tree_mapper.rs index 44981ea15a..7b42e3905a 100644 --- a/framework/base/src/storage/mappers/ordered_binary_tree_mapper.rs +++ b/framework/base/src/storage/mappers/ordered_binary_tree_mapper.rs @@ -25,6 +25,8 @@ static LAST_ID_KEY_SUFFIX: &[u8] = b"_lastId"; static CORRUPT_TREE_ERR_MGS: &[u8] = b"Corrupt tree"; +// https://en.wikipedia.org/wiki/Binary_search_tree + #[derive(TopEncode, TopDecode, Clone)] pub struct OrderedBinaryTreeNode { pub(crate) current_node_id: NodeId, @@ -220,7 +222,46 @@ where opt_predecessor } - pub fn insert_element(&mut self, new_data: T) {} + pub fn insert_element(&mut self, new_data: T) { + let new_node_id = self.get_and_increment_last_id(); + let mut new_node = OrderedBinaryTreeNode::new(new_node_id, new_data); + + let mut opt_new_node_parent = None; + let mut opt_current_node = self.get_root(); + while opt_current_node.is_some() { + opt_new_node_parent = opt_current_node.clone(); + + let current_node = unsafe { opt_current_node.unwrap_unchecked() }; + if new_node.data < current_node.data { + opt_current_node = self.get_node_by_id(current_node.left_id); + } else { + opt_current_node = self.get_node_by_id(current_node.right_id); + } + } + + let new_node_parent_id = match &opt_new_node_parent { + Some(node) => node.current_node_id, + None => NULL_NODE_ID, + }; + new_node.parent_id = new_node_parent_id; + + if opt_new_node_parent.is_none() { + let root_key = self.build_root_key(); + storage_set(root_key.as_ref(), &new_node); + + return; + } + + let mut new_node_parent = unsafe { opt_new_node_parent.unwrap_unchecked() }; + if new_node.data < new_node_parent.data { + new_node_parent.left_id = new_node.current_node_id; + } else { + new_node_parent.right_id = new_node.current_node_id; + } + + self.set_item(new_node_id, &new_node); + self.set_item(new_node_parent.current_node_id, &new_node_parent); + } } impl OrderedBinaryTreeMapper @@ -274,11 +315,11 @@ where key } - fn get_last_id(&self) -> NodeId { - let key = self.build_last_id_key(); + // fn get_last_id(&self) -> NodeId { + // let key = self.build_last_id_key(); - self.address.address_storage_get(key.as_ref()) - } + // self.address.address_storage_get(key.as_ref()) + // } fn get_and_increment_last_id(&self) -> NodeId { let key = self.build_last_id_key(); From 22093e29ec481ffd17a30fa7da07ebc09a0218d0 Mon Sep 17 00:00:00 2001 From: Dorin Marian Iancu Date: Mon, 19 Feb 2024 14:42:56 +0200 Subject: [PATCH 12/36] delete node --- .../mappers/ordered_binary_tree_mapper.rs | 112 ++++++++++++++++-- 1 file changed, 103 insertions(+), 9 deletions(-) diff --git a/framework/base/src/storage/mappers/ordered_binary_tree_mapper.rs b/framework/base/src/storage/mappers/ordered_binary_tree_mapper.rs index 7b42e3905a..2d4915f002 100644 --- a/framework/base/src/storage/mappers/ordered_binary_tree_mapper.rs +++ b/framework/base/src/storage/mappers/ordered_binary_tree_mapper.rs @@ -1,5 +1,7 @@ use core::marker::PhantomData; +use codec::Empty; + use crate::{ api::StorageMapperApi, imports::{ErrorApiImpl, ManagedType}, @@ -109,9 +111,7 @@ where opt_node: Option>, data: &T, ) -> Option> { - if opt_node.is_none() { - return None; - } + opt_node.as_ref()?; let node = unsafe { opt_node.unwrap_unchecked() }; if &node.data == data { @@ -232,6 +232,10 @@ where opt_new_node_parent = opt_current_node.clone(); let current_node = unsafe { opt_current_node.unwrap_unchecked() }; + if new_node.data == current_node.data { + return; + } + if new_node.data < current_node.data { opt_current_node = self.get_node_by_id(current_node.left_id); } else { @@ -262,6 +266,97 @@ where self.set_item(new_node_id, &new_node); self.set_item(new_node_parent.current_node_id, &new_node_parent); } + + pub fn delete_node(&mut self, data: T) { + let opt_root = self.get_root(); + let opt_node = self.iterative_search(opt_root, &data); + if opt_node.is_none() { + SA::error_api_impl().signal_error(b"Node not found"); + } + + let node = unsafe { opt_node.unwrap_unchecked() }; + if node.left_id == NULL_NODE_ID { + let opt_to_add = self.get_node_by_id(node.right_id); + self.shift_nodes(&node, opt_to_add); + + return; + } + + if node.right_id == NULL_NODE_ID { + let opt_to_add = self.get_node_by_id(node.left_id); + self.shift_nodes(&node, opt_to_add); + + return; + } + + let opt_successor = self.find_successor(node.clone()); + if opt_successor.is_none() { + SA::error_api_impl().signal_error(CORRUPT_TREE_ERR_MGS); + } + + let mut successor = unsafe { opt_successor.unwrap_unchecked() }; + if successor.parent_id != node.current_node_id { + let opt_right = self.get_node_by_id(successor.right_id); + self.shift_nodes(&successor, opt_right); + + successor.right_id = node.right_id; + + let opt_successor_right_node = self.get_node_by_id(successor.right_id); + if opt_successor_right_node.is_none() { + SA::error_api_impl().signal_error(CORRUPT_TREE_ERR_MGS); + } + + let mut successor_right_node = unsafe { opt_successor_right_node.unwrap_unchecked() }; + successor_right_node.parent_id = successor.current_node_id; + + self.set_item(successor_right_node.current_node_id, &successor_right_node); + } + + self.shift_nodes(&node, Some(successor.clone())); + successor.left_id = node.left_id; + + let opt_successor_left_node = self.get_node_by_id(successor.left_id); + if opt_successor_left_node.is_none() { + SA::error_api_impl().signal_error(CORRUPT_TREE_ERR_MGS); + } + + let mut successor_left_node = unsafe { opt_successor_left_node.unwrap_unchecked() }; + successor_left_node.parent_id = successor.current_node_id; + + self.set_item(successor_left_node.current_node_id, &successor_left_node); + self.set_item(successor.current_node_id, &successor); + } + + fn shift_nodes( + &mut self, + to_delete: &OrderedBinaryTreeNode, + opt_to_add: Option>, + ) { + if to_delete.parent_id == NULL_NODE_ID { + let root_key = self.build_root_key(); + match opt_to_add { + Some(to_add) => storage_set(root_key.as_ref(), &to_add), + None => storage_set(root_key.as_ref(), &Empty), + }; + + return; + } + + let to_add_id = match opt_to_add { + Some(to_add) => to_add.current_node_id, + None => NULL_NODE_ID, + }; + + let mut parent = self.try_get_node_by_id(to_delete.parent_id); + if to_delete.current_node_id == parent.left_id { + parent.left_id = to_add_id; + } else { + parent.right_id = to_add_id; + } + + self.set_item(parent.current_node_id, &parent); + self.clear_item(to_delete.current_node_id); + } } impl OrderedBinaryTreeMapper @@ -315,12 +410,6 @@ where key } - // fn get_last_id(&self) -> NodeId { - // let key = self.build_last_id_key(); - - // self.address.address_storage_get(key.as_ref()) - // } - fn get_and_increment_last_id(&self) -> NodeId { let key = self.build_last_id_key(); let last_id: NodeId = self.address.address_storage_get(key.as_ref()); @@ -334,4 +423,9 @@ where let key = self.build_key_for_item(id); storage_set(key.as_ref(), node); } + + fn clear_item(&mut self, id: NodeId) { + let key = self.build_key_for_item(id); + storage_set(key.as_ref(), &Empty); + } } From 90fbec910f78f74ec7eabdce146d1e06b9f861e3 Mon Sep 17 00:00:00 2001 From: Dorin Marian Iancu Date: Mon, 19 Feb 2024 15:39:39 +0200 Subject: [PATCH 13/36] test + fixes --- .../basic-features/src/basic_features_main.rs | 3 + ...basic_features_ordered_binary_tree_test.rs | 100 ++++++++++++++++++ .../mappers/ordered_binary_tree_mapper.rs | 71 +++++++++---- 3 files changed, 153 insertions(+), 21 deletions(-) create mode 100644 contracts/feature-tests/basic-features/tests/basic_features_ordered_binary_tree_test.rs diff --git a/contracts/feature-tests/basic-features/src/basic_features_main.rs b/contracts/feature-tests/basic-features/src/basic_features_main.rs index 3375fda456..2be5e1a535 100644 --- a/contracts/feature-tests/basic-features/src/basic_features_main.rs +++ b/contracts/feature-tests/basic-features/src/basic_features_main.rs @@ -100,4 +100,7 @@ pub trait BasicFeatures: arg1 } + + #[storage_mapper("coolTree")] + fn cool_tree(&self) -> OrderedBinaryTreeMapper; } diff --git a/contracts/feature-tests/basic-features/tests/basic_features_ordered_binary_tree_test.rs b/contracts/feature-tests/basic-features/tests/basic_features_ordered_binary_tree_test.rs new file mode 100644 index 0000000000..ef3313c466 --- /dev/null +++ b/contracts/feature-tests/basic-features/tests/basic_features_ordered_binary_tree_test.rs @@ -0,0 +1,100 @@ +#![allow(deprecated)] + +use basic_features::BasicFeatures; +use multiversx_sc::imports::{OrderedBinaryTreeNode, NULL_NODE_ID}; +use multiversx_sc_scenario::{ + managed_biguint, rust_biguint, testing_framework::BlockchainStateWrapper, +}; + +#[test] +fn ordered_binary_tree_test() { + let mut b_mock = BlockchainStateWrapper::new(); + let user = b_mock.create_user_account(&rust_biguint!(0)); + let sc_wrapper = b_mock.create_sc_account( + &rust_biguint!(0), + Some(&user), + basic_features::contract_obj, + "rand wasm path", + ); + + b_mock + .execute_tx(&user, &sc_wrapper, &rust_biguint!(0), |sc| { + let mut my_tree_mapper = sc.cool_tree(); + let opt_root = my_tree_mapper.get_root(); + assert_eq!(opt_root, None); + + my_tree_mapper.insert_element(5u32.into()); + //////////////////// 5 ///////////////////////////// + + let opt_root = my_tree_mapper.get_root(); + assert_eq!( + opt_root, + Some(OrderedBinaryTreeNode { + current_node_id: 1, + left_id: NULL_NODE_ID, + right_id: NULL_NODE_ID, + parent_id: NULL_NODE_ID, + data: managed_biguint!(5) + }) + ); + + let depth = my_tree_mapper.get_depth(&opt_root.unwrap()); + assert_eq!(depth, 1); + + my_tree_mapper.insert_element(3u32.into()); + my_tree_mapper.insert_element(4u32.into()); + my_tree_mapper.insert_element(8u32.into()); + //////////////////// 5 ///////////////////////////// + //////////// 3 ///////////// 8 ////////////////////// + /////////////// 4 ///////////////////////////////////// + + let opt_root = my_tree_mapper.get_root(); + assert_eq!( + opt_root, + Some(OrderedBinaryTreeNode { + current_node_id: 1, + left_id: 2, + right_id: 4, + parent_id: NULL_NODE_ID, + data: managed_biguint!(5) + }) + ); + + let opt_found_item = my_tree_mapper.iterative_search(opt_root.clone(), &4u32.into()); + assert_eq!( + opt_found_item, + Some(OrderedBinaryTreeNode { + current_node_id: 3, + left_id: NULL_NODE_ID, + right_id: NULL_NODE_ID, + parent_id: 2, + data: 4u32.into() + }) + ); + + let opt_found_item = my_tree_mapper.recursive_search(opt_root.clone(), &4u32.into()); + assert_eq!( + opt_found_item, + Some(OrderedBinaryTreeNode { + current_node_id: 3, + left_id: NULL_NODE_ID, + right_id: NULL_NODE_ID, + parent_id: 2, + data: 4u32.into() + }) + ); + + let opt_found_item = my_tree_mapper.recursive_search(opt_root.clone(), &50u32.into()); + assert_eq!(opt_found_item, None); + + let depth = my_tree_mapper.get_depth(&opt_root.unwrap()); + assert_eq!(depth, 3); + + my_tree_mapper.delete_node(4u32.into()); + + let opt_root = my_tree_mapper.get_root(); + let depth = my_tree_mapper.get_depth(&opt_root.unwrap()); + assert_eq!(depth, 2); + }) + .assert_ok(); +} diff --git a/framework/base/src/storage/mappers/ordered_binary_tree_mapper.rs b/framework/base/src/storage/mappers/ordered_binary_tree_mapper.rs index 2d4915f002..851863c099 100644 --- a/framework/base/src/storage/mappers/ordered_binary_tree_mapper.rs +++ b/framework/base/src/storage/mappers/ordered_binary_tree_mapper.rs @@ -9,7 +9,10 @@ use crate::{ storage_set, }; -use super::set_mapper::{CurrentStorage, StorageAddress}; +use super::{ + set_mapper::{CurrentStorage, StorageAddress}, + StorageMapper, +}; use crate::codec::{ self, @@ -21,7 +24,7 @@ pub type NodeId = u64; pub const NULL_NODE_ID: NodeId = 0; -static ROOT_SUFFIX: &[u8] = b"_root"; +static ROOT_ID_SUFFIX: &[u8] = b"_rootId"; static ID_SUFFIX: &[u8] = b"_id"; static LAST_ID_KEY_SUFFIX: &[u8] = b"_lastId"; @@ -29,13 +32,13 @@ static CORRUPT_TREE_ERR_MGS: &[u8] = b"Corrupt tree"; // https://en.wikipedia.org/wiki/Binary_search_tree -#[derive(TopEncode, TopDecode, Clone)] +#[derive(TopEncode, TopDecode, Clone, PartialEq, Debug)] pub struct OrderedBinaryTreeNode { - pub(crate) current_node_id: NodeId, - pub(crate) left_id: NodeId, - pub(crate) right_id: NodeId, - pub(crate) parent_id: NodeId, - pub(crate) data: T, + pub current_node_id: NodeId, + pub left_id: NodeId, + pub right_id: NodeId, + pub parent_id: NodeId, + pub data: T, } impl OrderedBinaryTreeNode @@ -51,11 +54,6 @@ where parent_id: NULL_NODE_ID, } } - - #[inline] - pub fn get_data(&self) -> &T { - &self.data - } } pub struct OrderedBinaryTreeMapper @@ -70,6 +68,22 @@ where _phantom_item: PhantomData, } +impl StorageMapper for OrderedBinaryTreeMapper +where + SA: StorageMapperApi, + T: NestedEncode + NestedDecode + PartialOrd + PartialEq + Clone + 'static, +{ + #[inline] + fn new(base_key: StorageKey) -> Self { + OrderedBinaryTreeMapper { + address: CurrentStorage, + key: base_key, + _phantom_api: PhantomData, + _phantom_item: PhantomData, + } + } +} + impl OrderedBinaryTreeMapper where SA: StorageMapperApi, @@ -87,10 +101,6 @@ where } pub fn get_depth(&self, node: &OrderedBinaryTreeNode) -> usize { - if self.get_root().is_none() { - return 0; - } - let opt_left_node = self.get_node_by_id(node.left_id); let opt_right_node = self.get_node_by_id(node.right_id); @@ -250,6 +260,9 @@ where new_node.parent_id = new_node_parent_id; if opt_new_node_parent.is_none() { + let root_id_key = self.build_root_id_key(); + storage_set(root_id_key.as_ref(), &new_node.current_node_id); + let root_key = self.build_root_key(); storage_set(root_key.as_ref(), &new_node); @@ -333,10 +346,17 @@ where opt_to_add: Option>, ) { if to_delete.parent_id == NULL_NODE_ID { + let root_id_key = self.build_root_id_key(); let root_key = self.build_root_key(); match opt_to_add { - Some(to_add) => storage_set(root_key.as_ref(), &to_add), - None => storage_set(root_key.as_ref(), &Empty), + Some(to_add) => { + storage_set(root_id_key.as_ref(), &to_add.current_node_id); + storage_set(root_key.as_ref(), &to_add); + }, + None => { + storage_set(root_id_key.as_ref(), &Empty); + storage_set(root_key.as_ref(), &Empty); + }, }; return; @@ -388,13 +408,22 @@ where unsafe { opt_node.unwrap_unchecked() } } - fn build_root_key(&self) -> StorageKey { + fn build_root_id_key(&self) -> StorageKey { let mut key = self.key.clone(); - key.append_bytes(ROOT_SUFFIX); + key.append_bytes(ROOT_ID_SUFFIX); key } + fn build_root_key(&self) -> StorageKey { + let mut key = self.key.clone(); + key.append_bytes(ROOT_ID_SUFFIX); + + let root_id = self.address.address_storage_get(key.as_ref()); + + self.build_key_for_item(root_id) + } + fn build_key_for_item(&self, id: NodeId) -> StorageKey { let mut item_key = self.key.clone(); item_key.append_bytes(ID_SUFFIX); From 34f98493a4ad2acac4af3b301bb29d7392a3af46 Mon Sep 17 00:00:00 2001 From: Dorin Marian Iancu Date: Mon, 19 Feb 2024 16:05:48 +0200 Subject: [PATCH 14/36] fix removing root bug --- ...basic_features_ordered_binary_tree_test.rs | 15 +++++++++++++ .../mappers/ordered_binary_tree_mapper.rs | 22 ++++++++++++++----- 2 files changed, 32 insertions(+), 5 deletions(-) diff --git a/contracts/feature-tests/basic-features/tests/basic_features_ordered_binary_tree_test.rs b/contracts/feature-tests/basic-features/tests/basic_features_ordered_binary_tree_test.rs index ef3313c466..071da4a958 100644 --- a/contracts/feature-tests/basic-features/tests/basic_features_ordered_binary_tree_test.rs +++ b/contracts/feature-tests/basic-features/tests/basic_features_ordered_binary_tree_test.rs @@ -95,6 +95,21 @@ fn ordered_binary_tree_test() { let opt_root = my_tree_mapper.get_root(); let depth = my_tree_mapper.get_depth(&opt_root.unwrap()); assert_eq!(depth, 2); + + my_tree_mapper.insert_element(4u32.into()); + my_tree_mapper.delete_node(5u32.into()); + + let opt_root = my_tree_mapper.get_root(); + assert_eq!( + opt_root, + Some(OrderedBinaryTreeNode { + current_node_id: 4, + left_id: 2, + right_id: NULL_NODE_ID, + parent_id: NULL_NODE_ID, + data: 8u32.into() + }) + ); }) .assert_ok(); } diff --git a/framework/base/src/storage/mappers/ordered_binary_tree_mapper.rs b/framework/base/src/storage/mappers/ordered_binary_tree_mapper.rs index 851863c099..ed5d70f3c9 100644 --- a/framework/base/src/storage/mappers/ordered_binary_tree_mapper.rs +++ b/framework/base/src/storage/mappers/ordered_binary_tree_mapper.rs @@ -312,6 +312,7 @@ where let opt_right = self.get_node_by_id(successor.right_id); self.shift_nodes(&successor, opt_right); + successor = self.try_get_node_by_id(successor.current_node_id); successor.right_id = node.right_id; let opt_successor_right_node = self.get_node_by_id(successor.right_id); @@ -326,6 +327,7 @@ where } self.shift_nodes(&node, Some(successor.clone())); + successor = self.try_get_node_by_id(successor.current_node_id); successor.left_id = node.left_id; let opt_successor_left_node = self.get_node_by_id(successor.left_id); @@ -343,17 +345,21 @@ where fn shift_nodes( &mut self, to_delete: &OrderedBinaryTreeNode, - opt_to_add: Option>, + mut opt_to_add: Option>, ) { if to_delete.parent_id == NULL_NODE_ID { let root_id_key = self.build_root_id_key(); - let root_key = self.build_root_key(); - match opt_to_add { + match &mut opt_to_add { Some(to_add) => { + to_add.parent_id = NULL_NODE_ID; storage_set(root_id_key.as_ref(), &to_add.current_node_id); - storage_set(root_key.as_ref(), &to_add); + + let root_key = self.build_root_key(); + storage_set(root_key.as_ref(), to_add); }, None => { + let root_key = self.build_root_key(); + storage_set(root_id_key.as_ref(), &Empty); storage_set(root_key.as_ref(), &Empty); }, @@ -362,7 +368,7 @@ where return; } - let to_add_id = match opt_to_add { + let to_add_id = match &opt_to_add { Some(to_add) => to_add.current_node_id, None => NULL_NODE_ID, }; @@ -374,6 +380,12 @@ where parent.right_id = to_add_id; } + if let Some(to_add) = &mut opt_to_add { + to_add.parent_id = to_delete.parent_id; + + self.set_item(to_add.current_node_id, &to_add); + } + self.set_item(parent.current_node_id, &parent); self.clear_item(to_delete.current_node_id); } From 4b8a3fb063e2386616dad434f9581fd4222718dc Mon Sep 17 00:00:00 2001 From: Dorin Marian Iancu Date: Tue, 20 Feb 2024 08:54:11 +0200 Subject: [PATCH 15/36] clippy --- .../base/src/storage/mappers/ordered_binary_tree_mapper.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/framework/base/src/storage/mappers/ordered_binary_tree_mapper.rs b/framework/base/src/storage/mappers/ordered_binary_tree_mapper.rs index ed5d70f3c9..8d56c302aa 100644 --- a/framework/base/src/storage/mappers/ordered_binary_tree_mapper.rs +++ b/framework/base/src/storage/mappers/ordered_binary_tree_mapper.rs @@ -383,7 +383,7 @@ where if let Some(to_add) = &mut opt_to_add { to_add.parent_id = to_delete.parent_id; - self.set_item(to_add.current_node_id, &to_add); + self.set_item(to_add.current_node_id, to_add); } self.set_item(parent.current_node_id, &parent); From 0c51f9129975ebdd0687e8770b337d08525cceeb Mon Sep 17 00:00:00 2001 From: Alin Cruceat Date: Tue, 20 Feb 2024 13:46:21 +0200 Subject: [PATCH 16/36] remove maybe uninit --- framework/base/src/lib.rs | 2 -- .../src/types/managed/wrapped/managed_vec.rs | 24 +++++++++++++++---- 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/framework/base/src/lib.rs b/framework/base/src/lib.rs index 060fdb85b9..951e3b5b4f 100644 --- a/framework/base/src/lib.rs +++ b/framework/base/src/lib.rs @@ -3,8 +3,6 @@ #![feature(exhaustive_patterns)] #![feature(try_trait_v2)] #![feature(control_flow_enum)] -#![feature(maybe_uninit_uninit_array)] -#![feature(maybe_uninit_array_assume_init)] #![feature(negative_impls)] #![feature(generic_const_exprs)] #![allow(incomplete_features)] diff --git a/framework/base/src/types/managed/wrapped/managed_vec.rs b/framework/base/src/types/managed/wrapped/managed_vec.rs index 6a938c6412..84b42bbdae 100644 --- a/framework/base/src/types/managed/wrapped/managed_vec.rs +++ b/framework/base/src/types/managed/wrapped/managed_vec.rs @@ -1,3 +1,4 @@ +use super::EncodedManagedVecItem; use crate::{ abi::{TypeAbi, TypeDescriptionContainer, TypeName}, api::{ErrorApiImpl, InvalidSliceError, ManagedTypeApi}, @@ -12,9 +13,14 @@ use crate::{ }, }; use alloc::vec::Vec; -use core::{borrow::Borrow, cmp::Ordering, fmt::Debug, iter::FromIterator, marker::PhantomData}; - -use super::EncodedManagedVecItem; +use core::{ + borrow::Borrow, + cmp::Ordering, + fmt::Debug, + iter::FromIterator, + marker::PhantomData, + mem::{transmute_copy, ManuallyDrop, MaybeUninit}, +}; pub(crate) const INDEX_OUT_OF_RANGE_MSG: &[u8] = b"ManagedVec index out of range"; @@ -146,13 +152,23 @@ where if self.len() != N { return None; } - + /* let mut result_uninit = core::mem::MaybeUninit::>::uninit_array(); for (index, value) in self.iter().enumerate() { result_uninit[index].write(value); } let result = unsafe { core::mem::MaybeUninit::array_assume_init(result_uninit) }; + */ + + let mut result_uninit = + unsafe { MaybeUninit::<[MaybeUninit>; N]>::uninit().assume_init() }; + + for (index, value) in self.iter().enumerate() { + result_uninit[index].write(value); + } + + let result = unsafe { transmute_copy(&ManuallyDrop::new(result_uninit)) }; Some(result) } From f1fa4c19e97053f57e969bdf473f4cd5e531dde6 Mon Sep 17 00:00:00 2001 From: Alin Cruceat Date: Tue, 20 Feb 2024 14:00:23 +0200 Subject: [PATCH 17/36] remove commented code --- framework/base/src/types/managed/wrapped/managed_vec.rs | 8 -------- 1 file changed, 8 deletions(-) diff --git a/framework/base/src/types/managed/wrapped/managed_vec.rs b/framework/base/src/types/managed/wrapped/managed_vec.rs index 84b42bbdae..f7b8cad171 100644 --- a/framework/base/src/types/managed/wrapped/managed_vec.rs +++ b/framework/base/src/types/managed/wrapped/managed_vec.rs @@ -152,14 +152,6 @@ where if self.len() != N { return None; } - /* - let mut result_uninit = core::mem::MaybeUninit::>::uninit_array(); - for (index, value) in self.iter().enumerate() { - result_uninit[index].write(value); - } - - let result = unsafe { core::mem::MaybeUninit::array_assume_init(result_uninit) }; - */ let mut result_uninit = unsafe { MaybeUninit::<[MaybeUninit>; N]>::uninit().assume_init() }; From e1d0888a7b397e6d0cfecac38d0ec69b23dc4430 Mon Sep 17 00:00:00 2001 From: Mihai Calin Luca Date: Thu, 22 Feb 2024 04:24:51 +0100 Subject: [PATCH 18/36] upgrade constructor impl for unified syntax + fmt --- .../src/forwarder_raw_alt_init.rs | 2 +- framework/base/src/abi/endpoint_abi.rs | 1 + framework/derive/src/generate/abi_gen.rs | 15 ++++++++++++ framework/derive/src/generate/contract_gen.rs | 1 + .../derive/src/generate/endpoints_mod_gen.rs | 1 + .../derive/src/generate/function_selector.rs | 5 ++++ framework/derive/src/generate/proxy_gen.rs | 1 + framework/derive/src/model/endpoint.rs | 3 +++ .../src/model/endpoint_type_metadata.rs | 4 ++++ framework/derive/src/model/method.rs | 3 +++ framework/derive/src/parse/endpoint_parse.rs | 7 +----- framework/derive/src/parse/method_parse.rs | 4 ++-- .../derive/src/validate/validate_method.rs | 7 +++++- .../meta/src/abi_json/contract_abi_json.rs | 9 ++++++++ .../contract/sc_config/contract_variant.rs | 3 +++ .../sc_config/contract_variant_builder.rs | 1 + .../sc_config/contract_variant_validate.rs | 20 +++++++++++++--- .../cmd/contract/sc_config/wasm_crate_gen.rs | 23 +++++++++++++++---- 18 files changed, 93 insertions(+), 17 deletions(-) diff --git a/contracts/feature-tests/composability/forwarder-raw/src/forwarder_raw_alt_init.rs b/contracts/feature-tests/composability/forwarder-raw/src/forwarder_raw_alt_init.rs index 79cab17a11..d677842e41 100644 --- a/contracts/feature-tests/composability/forwarder-raw/src/forwarder_raw_alt_init.rs +++ b/contracts/feature-tests/composability/forwarder-raw/src/forwarder_raw_alt_init.rs @@ -29,7 +29,7 @@ pub trait ForwarderRawAlterativeInit: super::forwarder_raw_common::ForwarderRawC /// Async calls are explicitly forbidden in upgrade constructors. /// /// TODO: write test once scenario tests support upgrades directly. - #[endpoint(upgrade)] + #[upgrade] #[label("init-async-call")] fn upgrade_async_call( &self, diff --git a/framework/base/src/abi/endpoint_abi.rs b/framework/base/src/abi/endpoint_abi.rs index 1ce6b5c363..ece11d3e63 100644 --- a/framework/base/src/abi/endpoint_abi.rs +++ b/framework/base/src/abi/endpoint_abi.rs @@ -33,6 +33,7 @@ pub enum EndpointMutabilityAbi { pub enum EndpointTypeAbi { #[default] Init, + Upgrade, Endpoint, PromisesCallback, } diff --git a/framework/derive/src/generate/abi_gen.rs b/framework/derive/src/generate/abi_gen.rs index df8755ded7..71c4c1b822 100644 --- a/framework/derive/src/generate/abi_gen.rs +++ b/framework/derive/src/generate/abi_gen.rs @@ -91,6 +91,21 @@ fn generate_endpoint_snippets(contract: &ContractTrait) -> Vec { + let endpoint_def = generate_endpoint_snippet( + m, + "upgrade", + false, + false, + EndpointMutabilityMetadata::Mutable, + EndpointTypeMetadata::Upgrade, + m.is_allow_multiple_var_args(), + ); + Some(quote! { + #endpoint_def + contract_abi.endpoints.push(endpoint_abi); + }) + }, PublicRole::Endpoint(endpoint_metadata) => { let endpoint_def = generate_endpoint_snippet( m, diff --git a/framework/derive/src/generate/contract_gen.rs b/framework/derive/src/generate/contract_gen.rs index 6d3cf620e6..ba7ace5879 100644 --- a/framework/derive/src/generate/contract_gen.rs +++ b/framework/derive/src/generate/contract_gen.rs @@ -28,6 +28,7 @@ pub fn generate_call_methods(contract_trait: &ContractTrait) -> Vec Some(generate_call_method(m)), + PublicRole::Upgrade(_upgrade_metadata) => Some(generate_call_method(m)), PublicRole::Endpoint(_endpoint_metadata) => Some(generate_call_method(m)), PublicRole::CallbackPromise(_callback_metadata) => { Some(generate_promises_callback_call_method(m)) diff --git a/framework/derive/src/generate/endpoints_mod_gen.rs b/framework/derive/src/generate/endpoints_mod_gen.rs index 5f780f0c4a..b32a7ce9a8 100644 --- a/framework/derive/src/generate/endpoints_mod_gen.rs +++ b/framework/derive/src/generate/endpoints_mod_gen.rs @@ -67,6 +67,7 @@ fn generate_wasm_endpoints(contract_trait: &ContractTrait) -> Vec Some(generate_wasm_endpoint(m, "e! { init })), + PublicRole::Upgrade(_) => Some(generate_wasm_endpoint(m, "e! { upgrade })), PublicRole::Endpoint(endpoint_metadata) => { let endpoint_ident = &endpoint_metadata.public_name; Some(generate_wasm_endpoint(m, "e! { #endpoint_ident })) diff --git a/framework/derive/src/generate/function_selector.rs b/framework/derive/src/generate/function_selector.rs index d49a673d71..6f157724f8 100644 --- a/framework/derive/src/generate/function_selector.rs +++ b/framework/derive/src/generate/function_selector.rs @@ -27,6 +27,11 @@ pub fn generate_function_selector_body(contract: &ContractTrait) -> proc_macro2: "init", quote! { if !::external_view_init_override() }, )), + PublicRole::Upgrade(_) => Some(endpoint_match_arm( + m, + "upgrade", + quote! {}, + )), PublicRole::Endpoint(endpoint_metadata) => Some(endpoint_match_arm( m, endpoint_metadata.public_name.to_string().as_str(), diff --git a/framework/derive/src/generate/proxy_gen.rs b/framework/derive/src/generate/proxy_gen.rs index 8f4734558e..2ea199ae54 100644 --- a/framework/derive/src/generate/proxy_gen.rs +++ b/framework/derive/src/generate/proxy_gen.rs @@ -274,6 +274,7 @@ pub fn generate_method_impl(contract_trait: &ContractTrait) -> Vec Some(generate_proxy_deploy(m)), + PublicRole::Upgrade(_) => Some(generate_proxy_endpoint(m, "upgrade".to_string())), PublicRole::Endpoint(endpoint_metadata) => Some(generate_proxy_endpoint( m, endpoint_metadata.public_name.to_string(), diff --git a/framework/derive/src/model/endpoint.rs b/framework/derive/src/model/endpoint.rs index 5c3d403fdc..1385dd1ada 100644 --- a/framework/derive/src/model/endpoint.rs +++ b/framework/derive/src/model/endpoint.rs @@ -29,6 +29,9 @@ pub enum PublicRole { /// The smart contract constructor. There can be only one. Init(InitMetadata), + /// The smart contract upgrade constructor. + Upgrade(InitMetadata), + /// Means it gets a smart contract function generated for it Endpoint(EndpointMetadata), diff --git a/framework/derive/src/model/endpoint_type_metadata.rs b/framework/derive/src/model/endpoint_type_metadata.rs index 4d668b2df7..4c048e94cb 100644 --- a/framework/derive/src/model/endpoint_type_metadata.rs +++ b/framework/derive/src/model/endpoint_type_metadata.rs @@ -2,6 +2,7 @@ #[derive(Debug, Clone)] pub enum EndpointTypeMetadata { Init, + Upgrade, Endpoint, PromisesCallback, } @@ -12,6 +13,9 @@ impl EndpointTypeMetadata { EndpointTypeMetadata::Init => { quote! { multiversx_sc::abi::EndpointTypeAbi::Init } }, + EndpointTypeMetadata::Upgrade => { + quote! { multiversx_sc::abi::EndpointTypeAbi::Upgrade } + }, EndpointTypeMetadata::Endpoint => { quote! { multiversx_sc::abi::EndpointTypeAbi::Endpoint } }, diff --git a/framework/derive/src/model/method.rs b/framework/derive/src/model/method.rs index c705ecb268..776e39dfaa 100644 --- a/framework/derive/src/model/method.rs +++ b/framework/derive/src/model/method.rs @@ -77,6 +77,7 @@ impl Method { pub fn is_payable(&self) -> bool { match &self.public_role { PublicRole::Init(init_metadata) => init_metadata.payable.is_payable(), + PublicRole::Upgrade(upgrade_metadata) => upgrade_metadata.payable.is_payable(), PublicRole::Endpoint(endpoint_metadata) => endpoint_metadata.payable.is_payable(), PublicRole::Callback(_) | PublicRole::CallbackRaw | PublicRole::CallbackPromise(_) => { true @@ -88,6 +89,7 @@ impl Method { pub fn payable_metadata(&self) -> MethodPayableMetadata { match &self.public_role { PublicRole::Init(init_metadata) => init_metadata.payable.clone(), + PublicRole::Upgrade(upgrade_metadata) => upgrade_metadata.payable.clone(), PublicRole::Endpoint(endpoint_metadata) => endpoint_metadata.payable.clone(), PublicRole::Callback(_) | PublicRole::CallbackRaw | PublicRole::CallbackPromise(_) => { MethodPayableMetadata::AnyToken @@ -99,6 +101,7 @@ impl Method { pub fn is_allow_multiple_var_args(&self) -> bool { match &self.public_role { PublicRole::Init(init_metadata) => init_metadata.allow_multiple_var_args, + PublicRole::Upgrade(upgrade_metadata) => upgrade_metadata.allow_multiple_var_args, PublicRole::Endpoint(endpoint_metadata) => endpoint_metadata.allow_multiple_var_args, PublicRole::Callback(callback_metadata) | PublicRole::CallbackPromise(callback_metadata) => { diff --git a/framework/derive/src/parse/endpoint_parse.rs b/framework/derive/src/parse/endpoint_parse.rs index 92fd4ff175..fc68c25c59 100644 --- a/framework/derive/src/parse/endpoint_parse.rs +++ b/framework/derive/src/parse/endpoint_parse.rs @@ -44,13 +44,8 @@ pub fn process_upgrade_attribute( let has_attr = is_upgrade(attr); if has_attr { check_single_role(&*method); - method.public_role = PublicRole::Endpoint(EndpointMetadata { - public_name: proc_macro2::Ident::new("upgrade", proc_macro2::Span::call_site()), + method.public_role = PublicRole::Upgrade(InitMetadata { payable: first_pass_data.payable.clone(), - only_owner: false, - only_admin: false, - only_user_account: false, - mutability: EndpointMutabilityMetadata::Mutable, allow_multiple_var_args: first_pass_data.allow_multiple_var_args, }); true diff --git a/framework/derive/src/parse/method_parse.rs b/framework/derive/src/parse/method_parse.rs index 267e9faa7b..a8c8a111c7 100644 --- a/framework/derive/src/parse/method_parse.rs +++ b/framework/derive/src/parse/method_parse.rs @@ -137,8 +137,8 @@ fn validate_method(method: &Method) { assert!( matches!( method.public_role, - PublicRole::Init(_) | PublicRole::Endpoint(_) | PublicRole::CallbackPromise(_) - ) || method.label_names.is_empty(), + PublicRole::Init(_) | PublicRole::Endpoint(_) | PublicRole::CallbackPromise(_) | PublicRole::Upgrade(_) + ) || method.label_names.is_empty(), "Labels can only be placed on endpoints, constructors, and promises callbacks. Method '{}' is neither.", &method.name.to_string() ) diff --git a/framework/derive/src/validate/validate_method.rs b/framework/derive/src/validate/validate_method.rs index 9683e6c2ff..fafb2322e0 100644 --- a/framework/derive/src/validate/validate_method.rs +++ b/framework/derive/src/validate/validate_method.rs @@ -2,6 +2,7 @@ use super::reserved; use crate::model::{ArgPaymentMetadata, ContractTrait, Method, PublicRole}; const INIT_ENDPOINT_NAME: &str = "init"; +const UPGRADE_ENDPOINT_NAME: &str = "upgrade"; /// TODO: make it work with Result instead of panic pub fn validate_contract(contract_trait: &ContractTrait) { @@ -23,6 +24,10 @@ fn validate_method_name(m: &Method) { endpoint_name_str != INIT_ENDPOINT_NAME, "Cannot declare endpoint with name 'init'. Use #[init] instead." ); + assert!( + endpoint_name_str != UPGRADE_ENDPOINT_NAME, + "Cannot declare endpoint with name 'upgrade'. Use #[upgrade] instead." + ); assert!(!reserved::is_reserved(endpoint_name_str.as_str()), "Cannot declare endpoint with name '{endpoint_name_str}', because that name is reserved by the Arwen API."); } } @@ -73,7 +78,7 @@ fn validate_payment_args(m: &Method) { assert!(num_payment_token == 0, "`#[payment_token]` only allowed in payable endpoints, payable init or callbacks (method: `{}`)", m.name); } - if let PublicRole::Init(init_metadata) = &m.public_role { + if let PublicRole::Init(init_metadata) | PublicRole::Upgrade(init_metadata) = &m.public_role { assert!( init_metadata.payable.no_esdt(), "only EGLD payments currently allowed in constructors" diff --git a/framework/meta/src/abi_json/contract_abi_json.rs b/framework/meta/src/abi_json/contract_abi_json.rs index c4f62916c3..f8d3aad422 100644 --- a/framework/meta/src/abi_json/contract_abi_json.rs +++ b/framework/meta/src/abi_json/contract_abi_json.rs @@ -20,6 +20,10 @@ pub struct ContractAbiJson { #[serde(skip_serializing_if = "Option::is_none")] pub constructor: Option, + #[serde(default)] + #[serde(skip_serializing_if = "Option::is_none")] + pub upgrade_constructor: Option, + #[serde(default)] pub endpoints: Vec, @@ -48,6 +52,11 @@ impl From<&ContractAbi> for ContractAbiJson { docs: abi.docs.iter().map(|d| d.to_string()).collect(), name: abi.name.to_string(), constructor: abi.constructors.first().map(ConstructorAbiJson::from), + upgrade_constructor: abi + .endpoints + .iter() + .find(|c| matches!(c.endpoint_type, EndpointTypeAbi::Upgrade)) + .map(ConstructorAbiJson::from), endpoints: abi.endpoints.iter().map(EndpointAbiJson::from).collect(), promises_callback_names: abi .promise_callbacks diff --git a/framework/meta/src/cmd/contract/sc_config/contract_variant.rs b/framework/meta/src/cmd/contract/sc_config/contract_variant.rs index 6b6cf70cc4..99678a798b 100644 --- a/framework/meta/src/cmd/contract/sc_config/contract_variant.rs +++ b/framework/meta/src/cmd/contract/sc_config/contract_variant.rs @@ -154,6 +154,9 @@ impl ContractVariant { /// Should correspond to all wasm exported functions. pub fn all_exported_function_names(&self) -> Vec { let mut result = vec!["init".to_string()]; + if self.abi.constructors.len() > 1 { + result.push("upgrade".to_string()) + } result.append(&mut self.endpoint_names()); if self.abi.has_callback { result.push("callBack".to_string()); diff --git a/framework/meta/src/cmd/contract/sc_config/contract_variant_builder.rs b/framework/meta/src/cmd/contract/sc_config/contract_variant_builder.rs index d447ab4a0a..1c4c229313 100644 --- a/framework/meta/src/cmd/contract/sc_config/contract_variant_builder.rs +++ b/framework/meta/src/cmd/contract/sc_config/contract_variant_builder.rs @@ -174,6 +174,7 @@ fn build_contract_abi(builder: ContractVariantBuilder, original_abi: &ContractAb for endpoint_abi in builder.collected_endpoints { match endpoint_abi.endpoint_type { multiversx_sc::abi::EndpointTypeAbi::Init => constructors.push(endpoint_abi), + multiversx_sc::abi::EndpointTypeAbi::Upgrade => endpoints.push(endpoint_abi), multiversx_sc::abi::EndpointTypeAbi::Endpoint => endpoints.push(endpoint_abi), multiversx_sc::abi::EndpointTypeAbi::PromisesCallback => { promise_callbacks.push(endpoint_abi) diff --git a/framework/meta/src/cmd/contract/sc_config/contract_variant_validate.rs b/framework/meta/src/cmd/contract/sc_config/contract_variant_validate.rs index a0c0acb886..2b7a729bd1 100644 --- a/framework/meta/src/cmd/contract/sc_config/contract_variant_validate.rs +++ b/framework/meta/src/cmd/contract/sc_config/contract_variant_validate.rs @@ -1,4 +1,4 @@ -use multiversx_sc::abi::{ContractAbi, EndpointAbi}; +use multiversx_sc::abi::{ContractAbi, EndpointAbi, EndpointTypeAbi}; use super::ContractVariant; @@ -16,7 +16,13 @@ fn check_single_constructor(contract_variant: &ContractVariant) -> Result<(), St Err("Missing constructor. Add a method annotated with `#[init]`.".to_string()) }, 1 => Ok(()), - _ => Err("More than one contrctructor present. Exactly one method annotated with `#[init]` is required.".to_string()), + 2 => if has_init(contract_variant) && has_upgrade(contract_variant) { + Ok(()) + } + else { + Err("You can only have two constructors and only one of each: `#[init]` and `#[upgrade]`".to_string()) + } + _ => Err("More than two constructors present. Exactly one method annotated with `#[init]` and another optional `#[upgrade]` is required.".to_string()), } } @@ -25,7 +31,15 @@ fn has_upgrade(contract_variant: &ContractVariant) -> bool { .abi .endpoints .iter() - .any(|endpoint| endpoint.name == "upgrade") + .any(|endpoint| matches!(endpoint.endpoint_type, EndpointTypeAbi::Upgrade)) +} + +fn has_init(contract_variant: &ContractVariant) -> bool { + contract_variant + .abi + .constructors + .iter() + .any(|endpoint| matches!(endpoint.endpoint_type, EndpointTypeAbi::Init)) } /// Note: promise callbacks not included, since they have `#[call_value]` arguments, that are currently not modelled. diff --git a/framework/meta/src/cmd/contract/sc_config/wasm_crate_gen.rs b/framework/meta/src/cmd/contract/sc_config/wasm_crate_gen.rs index 7dde9e9805..386f51761c 100644 --- a/framework/meta/src/cmd/contract/sc_config/wasm_crate_gen.rs +++ b/framework/meta/src/cmd/contract/sc_config/wasm_crate_gen.rs @@ -1,4 +1,7 @@ -use multiversx_sc::{abi::EndpointAbi, external_view_contract::EXTERNAL_VIEW_CONSTRUCTOR_FLAG}; +use multiversx_sc::{ + abi::{EndpointAbi, EndpointTypeAbi}, + external_view_contract::EXTERNAL_VIEW_CONSTRUCTOR_FLAG, +}; use rustc_version::Version; use std::{ fs::{self, File}, @@ -110,7 +113,21 @@ fn write_stat_comment(wasm_lib_file: &mut File, label: &str, number: usize) { impl ContractVariant { /// Writing some nicely formatted comments breaking down all exported functions. fn write_stat_comments(&self, wasm_lib_file: &mut File) { - write_stat_comment(wasm_lib_file, "Init:", NUM_INIT); + let mut total = self.abi.endpoints.len() + NUM_ASYNC_CB + self.abi.promise_callbacks.len(); + + if !self.abi.constructors.is_empty() { + write_stat_comment(wasm_lib_file, "Init:", NUM_INIT); + total += NUM_INIT; + } + if self + .abi + .endpoints + .iter() + .any(|c| matches!(c.endpoint_type, EndpointTypeAbi::Upgrade)) + { + write_stat_comment(wasm_lib_file, "Upgrade:", NUM_INIT); + } + write_stat_comment(wasm_lib_file, "Endpoints:", self.abi.endpoints.len()); if self.abi.has_callback { write_stat_comment(wasm_lib_file, "Async Callback:", NUM_ASYNC_CB); @@ -124,8 +141,6 @@ impl ContractVariant { self.abi.promise_callbacks.len(), ); } - let total = - self.abi.endpoints.len() + NUM_INIT + NUM_ASYNC_CB + self.abi.promise_callbacks.len(); write_stat_comment(wasm_lib_file, "Total number of exported functions:", total); } From 30fe9f4ae93d51e8af797fa6b01ee5d24e2450a1 Mon Sep 17 00:00:00 2001 From: Mihai Calin Luca Date: Thu, 29 Feb 2024 19:53:30 +0100 Subject: [PATCH 19/36] added upgrade constructors as separate field --- contracts/examples/adder/wasm/src/lib.rs | 7 ++++--- contracts/examples/factorial/wasm/src/lib.rs | 5 +++-- .../multisig/wasm-multisig-full/src/lib.rs | 5 +++-- contracts/examples/multisig/wasm/src/lib.rs | 5 +++-- .../src/lib.rs | 5 +++-- .../proxy-test-second/wasm/src/lib.rs | 5 +++-- .../vault/wasm-vault-upgrade/src/lib.rs | 6 +++--- .../composability/vault/wasm/src/lib.rs | 7 ++++--- framework/base/src/abi/contract_abi.rs | 4 ++++ framework/derive/src/generate/abi_gen.rs | 2 +- .../meta/src/abi_json/contract_abi_json.rs | 6 +----- .../contract/sc_config/contract_variant.rs | 3 ++- .../sc_config/contract_variant_builder.rs | 4 +++- .../sc_config/contract_variant_validate.rs | 21 ++++++++----------- .../cmd/contract/sc_config/wasm_crate_gen.rs | 12 ++--------- 15 files changed, 48 insertions(+), 49 deletions(-) diff --git a/contracts/examples/adder/wasm/src/lib.rs b/contracts/examples/adder/wasm/src/lib.rs index 13bb12ad6e..38c36e9d2c 100644 --- a/contracts/examples/adder/wasm/src/lib.rs +++ b/contracts/examples/adder/wasm/src/lib.rs @@ -5,9 +5,10 @@ //////////////////////////////////////////////////// // Init: 1 -// Endpoints: 3 +// Upgrade: 1 +// Endpoints: 2 // Async Callback (empty): 1 -// Total number of exported functions: 5 +// Total number of exported functions: 4 #![no_std] #![allow(internal_features)] @@ -20,8 +21,8 @@ multiversx_sc_wasm_adapter::endpoints! { adder ( init => init - getSum => sum upgrade => upgrade + getSum => sum add => add ) } diff --git a/contracts/examples/factorial/wasm/src/lib.rs b/contracts/examples/factorial/wasm/src/lib.rs index 7819e0b34f..0b5b352a7c 100644 --- a/contracts/examples/factorial/wasm/src/lib.rs +++ b/contracts/examples/factorial/wasm/src/lib.rs @@ -5,9 +5,10 @@ //////////////////////////////////////////////////// // Init: 1 -// Endpoints: 2 +// Upgrade: 1 +// Endpoints: 1 // Async Callback (empty): 1 -// Total number of exported functions: 4 +// Total number of exported functions: 3 #![no_std] #![allow(internal_features)] diff --git a/contracts/examples/multisig/wasm-multisig-full/src/lib.rs b/contracts/examples/multisig/wasm-multisig-full/src/lib.rs index b3f9a29bee..bc725882a2 100644 --- a/contracts/examples/multisig/wasm-multisig-full/src/lib.rs +++ b/contracts/examples/multisig/wasm-multisig-full/src/lib.rs @@ -5,9 +5,10 @@ //////////////////////////////////////////////////// // Init: 1 -// Endpoints: 29 +// Upgrade: 1 +// Endpoints: 28 // Async Callback: 1 -// Total number of exported functions: 31 +// Total number of exported functions: 30 #![no_std] #![allow(internal_features)] diff --git a/contracts/examples/multisig/wasm/src/lib.rs b/contracts/examples/multisig/wasm/src/lib.rs index 0bb7178ce4..553df1cde9 100644 --- a/contracts/examples/multisig/wasm/src/lib.rs +++ b/contracts/examples/multisig/wasm/src/lib.rs @@ -5,9 +5,10 @@ //////////////////////////////////////////////////// // Init: 1 -// Endpoints: 21 +// Upgrade: 1 +// Endpoints: 20 // Async Callback: 1 -// Total number of exported functions: 23 +// Total number of exported functions: 22 #![no_std] #![allow(internal_features)] diff --git a/contracts/feature-tests/composability/forwarder-raw/wasm-forwarder-raw-init-async-call/src/lib.rs b/contracts/feature-tests/composability/forwarder-raw/wasm-forwarder-raw-init-async-call/src/lib.rs index 01c9657fd7..c81e3182c8 100644 --- a/contracts/feature-tests/composability/forwarder-raw/wasm-forwarder-raw-init-async-call/src/lib.rs +++ b/contracts/feature-tests/composability/forwarder-raw/wasm-forwarder-raw-init-async-call/src/lib.rs @@ -5,9 +5,10 @@ //////////////////////////////////////////////////// // Init: 1 -// Endpoints: 1 +// Upgrade: 1 +// Endpoints: 0 // Async Callback: 1 -// Total number of exported functions: 3 +// Total number of exported functions: 2 #![no_std] #![allow(internal_features)] diff --git a/contracts/feature-tests/composability/proxy-test-second/wasm/src/lib.rs b/contracts/feature-tests/composability/proxy-test-second/wasm/src/lib.rs index e10ed79624..bf6cc294c2 100644 --- a/contracts/feature-tests/composability/proxy-test-second/wasm/src/lib.rs +++ b/contracts/feature-tests/composability/proxy-test-second/wasm/src/lib.rs @@ -5,9 +5,10 @@ //////////////////////////////////////////////////// // Init: 1 -// Endpoints: 4 +// Upgrade: 1 +// Endpoints: 3 // Async Callback (empty): 1 -// Total number of exported functions: 6 +// Total number of exported functions: 5 #![no_std] #![allow(internal_features)] diff --git a/contracts/feature-tests/composability/vault/wasm-vault-upgrade/src/lib.rs b/contracts/feature-tests/composability/vault/wasm-vault-upgrade/src/lib.rs index 904a343933..772ffc92ba 100644 --- a/contracts/feature-tests/composability/vault/wasm-vault-upgrade/src/lib.rs +++ b/contracts/feature-tests/composability/vault/wasm-vault-upgrade/src/lib.rs @@ -4,10 +4,10 @@ ////////////////// AUTO-GENERATED ////////////////// //////////////////////////////////////////////////// -// Init: 1 -// Endpoints: 1 +// Upgrade: 1 +// Endpoints: 0 // Async Callback (empty): 1 -// Total number of exported functions: 3 +// Total number of exported functions: 1 #![no_std] #![allow(internal_features)] diff --git a/contracts/feature-tests/composability/vault/wasm/src/lib.rs b/contracts/feature-tests/composability/vault/wasm/src/lib.rs index 3ef976396a..c6e864fbbe 100644 --- a/contracts/feature-tests/composability/vault/wasm/src/lib.rs +++ b/contracts/feature-tests/composability/vault/wasm/src/lib.rs @@ -5,9 +5,10 @@ //////////////////////////////////////////////////// // Init: 1 -// Endpoints: 16 +// Upgrade: 1 +// Endpoints: 15 // Async Callback (empty): 1 -// Total number of exported functions: 18 +// Total number of exported functions: 17 #![no_std] #![allow(internal_features)] @@ -20,6 +21,7 @@ multiversx_sc_wasm_adapter::endpoints! { vault ( init => init + upgrade => upgrade echo_arguments => echo_arguments echo_arguments_without_storage => echo_arguments_without_storage echo_caller => echo_caller @@ -35,7 +37,6 @@ multiversx_sc_wasm_adapter::endpoints! { call_counts => call_counts num_called_retrieve_funds_promises => num_called_retrieve_funds_promises num_async_calls_sent_from_child => num_async_calls_sent_from_child - upgrade => upgrade ) } diff --git a/framework/base/src/abi/contract_abi.rs b/framework/base/src/abi/contract_abi.rs index 3b22d160e7..793b9eed5d 100644 --- a/framework/base/src/abi/contract_abi.rs +++ b/framework/base/src/abi/contract_abi.rs @@ -10,6 +10,7 @@ pub struct ContractAbi { pub docs: Vec, pub name: String, pub constructors: Vec, + pub upgrade_constructors: Vec, pub endpoints: Vec, pub promise_callbacks: Vec, pub events: Vec, @@ -26,6 +27,7 @@ impl ContractAbi { docs: docs.iter().map(|s| s.to_string()).collect(), name: name.to_string(), constructors: Vec::new(), + upgrade_constructors: Vec::new(), endpoints: Vec::new(), promise_callbacks: Vec::new(), events: Vec::new(), @@ -39,6 +41,7 @@ impl ContractAbi { self.constructors .extend_from_slice(other.constructors.as_slice()); self.endpoints.extend_from_slice(other.endpoints.as_slice()); + self.upgrade_constructors.extend_from_slice(other.upgrade_constructors.as_slice()); self.events.extend_from_slice(other.events.as_slice()); self.promise_callbacks .extend_from_slice(other.promise_callbacks.as_slice()); @@ -75,6 +78,7 @@ impl ContractAbi { pub fn iter_all_exports(&self) -> impl Iterator { self.constructors .iter() + .chain(self.upgrade_constructors.iter()) .chain(self.endpoints.iter()) .chain(self.promise_callbacks.iter()) } diff --git a/framework/derive/src/generate/abi_gen.rs b/framework/derive/src/generate/abi_gen.rs index 71c4c1b822..f9a5e8360b 100644 --- a/framework/derive/src/generate/abi_gen.rs +++ b/framework/derive/src/generate/abi_gen.rs @@ -103,7 +103,7 @@ fn generate_endpoint_snippets(contract: &ContractTrait) -> Vec { diff --git a/framework/meta/src/abi_json/contract_abi_json.rs b/framework/meta/src/abi_json/contract_abi_json.rs index f8d3aad422..aa8cc0df7f 100644 --- a/framework/meta/src/abi_json/contract_abi_json.rs +++ b/framework/meta/src/abi_json/contract_abi_json.rs @@ -52,11 +52,7 @@ impl From<&ContractAbi> for ContractAbiJson { docs: abi.docs.iter().map(|d| d.to_string()).collect(), name: abi.name.to_string(), constructor: abi.constructors.first().map(ConstructorAbiJson::from), - upgrade_constructor: abi - .endpoints - .iter() - .find(|c| matches!(c.endpoint_type, EndpointTypeAbi::Upgrade)) - .map(ConstructorAbiJson::from), + upgrade_constructor: abi.upgrade_constructors.first().map(ConstructorAbiJson::from), endpoints: abi.endpoints.iter().map(EndpointAbiJson::from).collect(), promises_callback_names: abi .promise_callbacks diff --git a/framework/meta/src/cmd/contract/sc_config/contract_variant.rs b/framework/meta/src/cmd/contract/sc_config/contract_variant.rs index 99678a798b..e1ff06da5d 100644 --- a/framework/meta/src/cmd/contract/sc_config/contract_variant.rs +++ b/framework/meta/src/cmd/contract/sc_config/contract_variant.rs @@ -154,7 +154,7 @@ impl ContractVariant { /// Should correspond to all wasm exported functions. pub fn all_exported_function_names(&self) -> Vec { let mut result = vec!["init".to_string()]; - if self.abi.constructors.len() > 1 { + if !self.abi.upgrade_constructors.is_empty() { result.push("upgrade".to_string()) } result.append(&mut self.endpoint_names()); @@ -172,6 +172,7 @@ impl std::fmt::Debug for ContractVariant { .field("config_name", &self.contract_id) .field("public_name", &self.contract_name) .field("num-constructors", &self.abi.constructors.len()) + .field("num-upgrade-constructors", &self.abi.upgrade_constructors.len()) .field("num-endpoints", &self.abi.endpoints.len()) .field("settings", &self.settings) .finish() diff --git a/framework/meta/src/cmd/contract/sc_config/contract_variant_builder.rs b/framework/meta/src/cmd/contract/sc_config/contract_variant_builder.rs index 1c4c229313..2d8b9dd54e 100644 --- a/framework/meta/src/cmd/contract/sc_config/contract_variant_builder.rs +++ b/framework/meta/src/cmd/contract/sc_config/contract_variant_builder.rs @@ -169,12 +169,13 @@ fn collect_add_endpoints( fn build_contract_abi(builder: ContractVariantBuilder, original_abi: &ContractAbi) -> ContractAbi { let mut constructors = Vec::new(); + let mut upgrade_constructors = Vec::new(); let mut endpoints = Vec::new(); let mut promise_callbacks = Vec::new(); for endpoint_abi in builder.collected_endpoints { match endpoint_abi.endpoint_type { multiversx_sc::abi::EndpointTypeAbi::Init => constructors.push(endpoint_abi), - multiversx_sc::abi::EndpointTypeAbi::Upgrade => endpoints.push(endpoint_abi), + multiversx_sc::abi::EndpointTypeAbi::Upgrade => upgrade_constructors.push(endpoint_abi), multiversx_sc::abi::EndpointTypeAbi::Endpoint => endpoints.push(endpoint_abi), multiversx_sc::abi::EndpointTypeAbi::PromisesCallback => { promise_callbacks.push(endpoint_abi) @@ -189,6 +190,7 @@ fn build_contract_abi(builder: ContractVariantBuilder, original_abi: &ContractAb docs: original_abi.docs.clone(), name: original_abi.name.clone(), constructors, + upgrade_constructors, endpoints, promise_callbacks, events: original_abi.events.clone(), diff --git a/framework/meta/src/cmd/contract/sc_config/contract_variant_validate.rs b/framework/meta/src/cmd/contract/sc_config/contract_variant_validate.rs index 2b7a729bd1..093650ebd2 100644 --- a/framework/meta/src/cmd/contract/sc_config/contract_variant_validate.rs +++ b/framework/meta/src/cmd/contract/sc_config/contract_variant_validate.rs @@ -1,4 +1,4 @@ -use multiversx_sc::abi::{ContractAbi, EndpointAbi, EndpointTypeAbi}; +use multiversx_sc::abi::{ContractAbi, EndpointAbi}; use super::ContractVariant; @@ -27,24 +27,21 @@ fn check_single_constructor(contract_variant: &ContractVariant) -> Result<(), St } fn has_upgrade(contract_variant: &ContractVariant) -> bool { - contract_variant - .abi - .endpoints - .iter() - .any(|endpoint| matches!(endpoint.endpoint_type, EndpointTypeAbi::Upgrade)) + !contract_variant.abi.upgrade_constructors.is_empty() } fn has_init(contract_variant: &ContractVariant) -> bool { - contract_variant - .abi - .constructors - .iter() - .any(|endpoint| matches!(endpoint.endpoint_type, EndpointTypeAbi::Init)) + !contract_variant.abi.constructors.is_empty() } /// Note: promise callbacks not included, since they have `#[call_value]` arguments, that are currently not modelled. fn validate_contract_var_args(abi: &ContractAbi) -> Result<(), String> { - for endpoint_abi in abi.constructors.iter().chain(abi.endpoints.iter()) { + for endpoint_abi in abi + .constructors + .iter() + .chain(abi.upgrade_constructors.iter()) + .chain(abi.endpoints.iter()) + { validate_endpoint_var_args_number(endpoint_abi)?; validate_endpoint_var_args_order(endpoint_abi)?; } diff --git a/framework/meta/src/cmd/contract/sc_config/wasm_crate_gen.rs b/framework/meta/src/cmd/contract/sc_config/wasm_crate_gen.rs index 386f51761c..e4d0230490 100644 --- a/framework/meta/src/cmd/contract/sc_config/wasm_crate_gen.rs +++ b/framework/meta/src/cmd/contract/sc_config/wasm_crate_gen.rs @@ -1,7 +1,4 @@ -use multiversx_sc::{ - abi::{EndpointAbi, EndpointTypeAbi}, - external_view_contract::EXTERNAL_VIEW_CONSTRUCTOR_FLAG, -}; +use multiversx_sc::{abi::EndpointAbi, external_view_contract::EXTERNAL_VIEW_CONSTRUCTOR_FLAG}; use rustc_version::Version; use std::{ fs::{self, File}, @@ -119,12 +116,7 @@ impl ContractVariant { write_stat_comment(wasm_lib_file, "Init:", NUM_INIT); total += NUM_INIT; } - if self - .abi - .endpoints - .iter() - .any(|c| matches!(c.endpoint_type, EndpointTypeAbi::Upgrade)) - { + if !self.abi.upgrade_constructors.is_empty() { write_stat_comment(wasm_lib_file, "Upgrade:", NUM_INIT); } From 84c5e5d0769adf2c0781ad4154d64fcb51f4472c Mon Sep 17 00:00:00 2001 From: Mihai Calin Luca Date: Fri, 1 Mar 2024 16:06:14 +0100 Subject: [PATCH 20/36] fix after review --- .../abi_tester_expected_main.abi.json | 16 ++++++++++ .../abi-tester/src/abi_tester.rs | 6 ++++ .../feature-tests/abi-tester/wasm/src/lib.rs | 2 ++ .../sc_config/contract_variant_validate.rs | 29 +++++-------------- 4 files changed, 31 insertions(+), 22 deletions(-) diff --git a/contracts/feature-tests/abi-tester/abi_tester_expected_main.abi.json b/contracts/feature-tests/abi-tester/abi_tester_expected_main.abi.json index 430deb54a5..3cf574ed35 100644 --- a/contracts/feature-tests/abi-tester/abi_tester_expected_main.abi.json +++ b/contracts/feature-tests/abi-tester/abi_tester_expected_main.abi.json @@ -44,6 +44,22 @@ ], "outputs": [] }, + "upgradeConstructor": { + "docs": [ + "Upgrade constructor." + ], + "inputs": [ + { + "name": "_constructor_arg_1", + "type": "i32" + }, + { + "name": "_constructor_arg_2", + "type": "OnlyShowsUpInConstructor" + } + ], + "outputs": [] + }, "endpoints": [ { "docs": [ diff --git a/contracts/feature-tests/abi-tester/src/abi_tester.rs b/contracts/feature-tests/abi-tester/src/abi_tester.rs index a68ea341a3..15fe5f3c4a 100644 --- a/contracts/feature-tests/abi-tester/src/abi_tester.rs +++ b/contracts/feature-tests/abi-tester/src/abi_tester.rs @@ -30,6 +30,12 @@ pub trait AbiTester { #[payable("EGLD")] fn init(&self, _constructor_arg_1: i32, _constructor_arg_2: OnlyShowsUpInConstructor) {} + /// Upgrade constructor. + #[upgrade] + fn upgrade(&self, _constructor_arg_1: i32, _constructor_arg_2: OnlyShowsUpInConstructor) { + self.init(_constructor_arg_1, _constructor_arg_2) + } + /// Example endpoint docs. #[endpoint] #[output_name("single output")] diff --git a/contracts/feature-tests/abi-tester/wasm/src/lib.rs b/contracts/feature-tests/abi-tester/wasm/src/lib.rs index 6a15c9899b..e38197e707 100644 --- a/contracts/feature-tests/abi-tester/wasm/src/lib.rs +++ b/contracts/feature-tests/abi-tester/wasm/src/lib.rs @@ -5,6 +5,7 @@ //////////////////////////////////////////////////// // Init: 1 +// Upgrade: 1 // Endpoints: 27 // Async Callback (empty): 1 // Total number of exported functions: 29 @@ -20,6 +21,7 @@ multiversx_sc_wasm_adapter::endpoints! { abi_tester ( init => init + upgrade => upgrade echo_abi_test_type => echo_abi_test_type echo_enum => echo_enum take_managed_type => take_managed_type diff --git a/framework/meta/src/cmd/contract/sc_config/contract_variant_validate.rs b/framework/meta/src/cmd/contract/sc_config/contract_variant_validate.rs index 093650ebd2..eb64d00e48 100644 --- a/framework/meta/src/cmd/contract/sc_config/contract_variant_validate.rs +++ b/framework/meta/src/cmd/contract/sc_config/contract_variant_validate.rs @@ -9,31 +9,16 @@ pub fn validate_contract_variant(contract_variant: &ContractVariant) -> Result<( } fn check_single_constructor(contract_variant: &ContractVariant) -> Result<(), String> { - match contract_variant.abi.constructors.len() { - 0 => if has_upgrade(contract_variant) { - Ok(()) - } else { - Err("Missing constructor. Add a method annotated with `#[init]`.".to_string()) - }, - 1 => Ok(()), - 2 => if has_init(contract_variant) && has_upgrade(contract_variant) { - Ok(()) - } - else { - Err("You can only have two constructors and only one of each: `#[init]` and `#[upgrade]`".to_string()) - } - _ => Err("More than two constructors present. Exactly one method annotated with `#[init]` and another optional `#[upgrade]` is required.".to_string()), + match ( + contract_variant.abi.constructors.len(), + contract_variant.abi.upgrade_constructors.len(), + ) { + (0, 0) => Err("Missing constructor. Add a method annotated with `#[init]`.".to_string()), + (1, 0) | (0, 1) | (1, 1) => Ok(()), + (_, _) => Err("More than two constructors present. Exactly one method annotated with `#[init]` and/or another optional `#[upgrade]` is required. ".to_string()), } } -fn has_upgrade(contract_variant: &ContractVariant) -> bool { - !contract_variant.abi.upgrade_constructors.is_empty() -} - -fn has_init(contract_variant: &ContractVariant) -> bool { - !contract_variant.abi.constructors.is_empty() -} - /// Note: promise callbacks not included, since they have `#[call_value]` arguments, that are currently not modelled. fn validate_contract_var_args(abi: &ContractAbi) -> Result<(), String> { for endpoint_abi in abi From 04564ca1df09d8269b04957a99b3f597014a14c6 Mon Sep 17 00:00:00 2001 From: Mihai Calin Luca Date: Thu, 7 Mar 2024 19:54:27 +0100 Subject: [PATCH 21/36] fixed map mapper get from address issue + tests --- .../storage_mapper_get_at_address.scen.json | 65 ++++++++++++++++++- .../src/storage_mapper_get_at_address.rs | 27 ++++++++ .../basic-features/wasm/src/lib.rs | 7 +- .../base/src/storage/mappers/map_mapper.rs | 8 ++- 4 files changed, 102 insertions(+), 5 deletions(-) diff --git a/contracts/feature-tests/basic-features/scenarios/storage_mapper_get_at_address.scen.json b/contracts/feature-tests/basic-features/scenarios/storage_mapper_get_at_address.scen.json index e2beefa293..6c2feb1d84 100644 --- a/contracts/feature-tests/basic-features/scenarios/storage_mapper_get_at_address.scen.json +++ b/contracts/feature-tests/basic-features/scenarios/storage_mapper_get_at_address.scen.json @@ -240,6 +240,69 @@ "gas": "*", "refund": "*" } + }, + { + "step": "scCall", + "id": "fill map mapper", + "tx": { + "from": "address:an_account", + "to": "sc:to-be-called", + "function": "fill_map_mapper", + "arguments": [ + "5" + ], + "gasLimit": "50,000,000", + "gasPrice": "0" + }, + "expect": { + "out": [], + "status": "", + "logs": "*", + "gas": "*", + "refund": "*" + } + }, + { + "step": "scCall", + "id": "keys at address", + "tx": { + "from": "address:an_account", + "to": "sc:caller", + "function": "keys_at_address", + "arguments": [], + "gasLimit": "50,000,000", + "gasPrice": "0" + }, + "expect": { + "out": [ + "0x0000271100002712000027130000271400002715" + ], + "status": "", + "logs": "*", + "gas": "*", + "refund": "*" + } + }, + { + "step": "scCall", + "id": "values at address", + "tx": { + "from": "address:an_account", + "to": "sc:caller", + "function": "values_at_address", + "arguments": [], + "gasLimit": "50,000,000", + "gasPrice": "0" + }, + "expect": { + "out": [ + "0x0000000100000002000000030000000400000005" + ], + "status": "", + "logs": "*", + "gas": "*", + "refund": "*" + } } ] -} +} \ No newline at end of file diff --git a/contracts/feature-tests/basic-features/src/storage_mapper_get_at_address.rs b/contracts/feature-tests/basic-features/src/storage_mapper_get_at_address.rs index 7fc07d48eb..7970619957 100644 --- a/contracts/feature-tests/basic-features/src/storage_mapper_get_at_address.rs +++ b/contracts/feature-tests/basic-features/src/storage_mapper_get_at_address.rs @@ -70,15 +70,42 @@ pub trait StorageMapperGetAtAddress { mapper.back().unwrap() } + #[endpoint] + fn keys_at_address(&self) -> ManagedVec { + let address = self.contract_address().get(); + let mapper: MapMapper = + MapMapper::new_from_address(address, StorageKey::from("map_mapper")); + mapper.keys().collect() + } + + #[endpoint] + fn values_at_address(&self) -> ManagedVec { + let address = self.contract_address().get(); + let mapper: MapMapper = + MapMapper::new_from_address(address, StorageKey::from("map_mapper")); + mapper.values().collect() + } + /// Storage to be called. For testing, this contract is deployed twice, /// and this module acts both as caller and receiver #[storage_mapper("set_mapper")] fn set_mapper(&self) -> SetMapper; + #[storage_mapper("map_mapper")] + fn map_mapper(&self) -> MapMapper; + #[endpoint] fn fill_set_mapper(&self, value: u32) { for item in 1u32..=value { self.set_mapper().insert(item); } } + + #[endpoint] + fn fill_map_mapper(&self, value: u32) { + for item in 1u32..=value { + let key = 10_000u32 + item; + self.map_mapper().insert(key, item); + } + } } diff --git a/contracts/feature-tests/basic-features/wasm/src/lib.rs b/contracts/feature-tests/basic-features/wasm/src/lib.rs index e87654cc7e..dba8d815a6 100644 --- a/contracts/feature-tests/basic-features/wasm/src/lib.rs +++ b/contracts/feature-tests/basic-features/wasm/src/lib.rs @@ -5,9 +5,9 @@ //////////////////////////////////////////////////// // Init: 1 -// Endpoints: 384 +// Endpoints: 387 // Async Callback: 1 -// Total number of exported functions: 386 +// Total number of exported functions: 389 #![no_std] #![allow(internal_features)] @@ -403,7 +403,10 @@ multiversx_sc_wasm_adapter::endpoints! { previous_at_address => previous_at_address front_at_address => front_at_address back_at_address => back_at_address + keys_at_address => keys_at_address + values_at_address => values_at_address fill_set_mapper => fill_set_mapper + fill_map_mapper => fill_map_mapper ) } diff --git a/framework/base/src/storage/mappers/map_mapper.rs b/framework/base/src/storage/mappers/map_mapper.rs index 8ed38a3c70..af4bbda6ff 100644 --- a/framework/base/src/storage/mappers/map_mapper.rs +++ b/framework/base/src/storage/mappers/map_mapper.rs @@ -11,7 +11,7 @@ use crate::{ multi_encode_iter_or_handle_err, multi_types::MultiValue2, CodecFrom, EncodeErrorHandler, NestedDecode, NestedEncode, TopDecode, TopEncode, TopEncodeMulti, TopEncodeMultiOutput, }, - storage::{storage_clear, storage_get, storage_set, StorageKey}, + storage::{storage_clear, storage_set, StorageKey}, types::{ManagedAddress, ManagedType, MultiValueEncoded}, }; @@ -26,6 +26,7 @@ where V: TopEncode + TopDecode + 'static, { _phantom_api: PhantomData, + address: A, base_key: StorageKey, keys_set: SetMapper, _phantom_value: PhantomData, @@ -40,6 +41,7 @@ where fn new(base_key: StorageKey) -> Self { MapMapper { _phantom_api: PhantomData, + address: CurrentStorage, base_key: base_key.clone(), keys_set: SetMapper::new(base_key), _phantom_value: PhantomData, @@ -106,6 +108,7 @@ where pub fn new_from_address(address: ManagedAddress, base_key: StorageKey) -> Self { MapMapper { _phantom_api: PhantomData, + address: address.clone(), base_key: base_key.clone(), keys_set: SetMapper::new_from_address(address, base_key), _phantom_value: PhantomData, @@ -149,7 +152,8 @@ where } fn get_mapped_value(&self, key: &K) -> V { - storage_get(self.build_named_key(MAPPED_VALUE_IDENTIFIER, key).as_ref()) + self.address + .address_storage_get(self.build_named_key(MAPPED_VALUE_IDENTIFIER, key).as_ref()) } /// Gets a reference to the value in the entry. From 0544f1bceff8025b589f14ee0907e3b8f8b55acb Mon Sep 17 00:00:00 2001 From: Andrei Marinica Date: Fri, 8 Mar 2024 07:43:10 +0200 Subject: [PATCH 22/36] unified syntax - scenario result handler generic env --- .../src/facade/world_tx/scenario_rh_list.rs | 31 +++++++++++++------ .../facade/world_tx/scenario_rh_list_item.rs | 13 +++++--- .../src/facade/world_tx/scenario_tx.rs | 4 +-- .../facade/world_tx/with_tx_raw_response.rs | 11 +++++-- 4 files changed, 40 insertions(+), 19 deletions(-) diff --git a/framework/scenario/src/facade/world_tx/scenario_rh_list.rs b/framework/scenario/src/facade/world_tx/scenario_rh_list.rs index e86bb6910f..4273b83fe7 100644 --- a/framework/scenario/src/facade/world_tx/scenario_rh_list.rs +++ b/framework/scenario/src/facade/world_tx/scenario_rh_list.rs @@ -2,24 +2,34 @@ use multiversx_sc::types::{ConsNoRet, ConsRet, OriginalResultMarker, RHList, RHL use crate::scenario_model::TxResponse; -use super::{RHListItemScenario, ScenarioTxEnvironment}; +use super::RHListItemScenario; -pub trait RHListScenario: RHList { +pub trait RHListScenario: RHList +where + Env: TxEnv, +{ fn item_scenario_result(self, tx_response: &TxResponse) -> Self::ListReturns; } -impl RHListScenario for () { +impl RHListScenario for () +where + Env: TxEnv, +{ fn item_scenario_result(self, tx_response: &TxResponse) -> Self::ListReturns {} } -impl RHListScenario for OriginalResultMarker { +impl RHListScenario for OriginalResultMarker +where + Env: TxEnv, +{ fn item_scenario_result(self, tx_response: &TxResponse) -> Self::ListReturns {} } -impl RHListScenario for ConsRet +impl RHListScenario for ConsRet where - Head: RHListItemScenario, - Tail: RHListScenario, + Env: TxEnv, + Head: RHListItemScenario, + Tail: RHListScenario, { fn item_scenario_result(self, tx_response: &TxResponse) -> Self::ListReturns { let head_result = self.head.item_scenario_result(tx_response); @@ -28,10 +38,11 @@ where } } -impl RHListScenario for ConsNoRet +impl RHListScenario for ConsNoRet where - Head: RHListItemScenario, - Tail: RHListScenario, + Env: TxEnv, + Head: RHListItemScenario, + Tail: RHListScenario, { fn item_scenario_result(self, tx_response: &TxResponse) -> Self::ListReturns { self.head.item_scenario_result(tx_response); diff --git a/framework/scenario/src/facade/world_tx/scenario_rh_list_item.rs b/framework/scenario/src/facade/world_tx/scenario_rh_list_item.rs index da0a98ff99..748df069d1 100644 --- a/framework/scenario/src/facade/world_tx/scenario_rh_list_item.rs +++ b/framework/scenario/src/facade/world_tx/scenario_rh_list_item.rs @@ -10,12 +10,16 @@ use crate::{ use super::ScenarioTxEnvironment; -pub trait RHListItemScenario: RHListItem { +pub trait RHListItemScenario: RHListItem +where + Env: TxEnv, +{ fn item_scenario_result(self, tx_response: &TxResponse) -> Self::Returns; } -impl RHListItemScenario for ReturnsExact +impl RHListItemScenario for ReturnsExact where + Env: TxEnv, Original: TopDecodeMulti, { fn item_scenario_result(self, tx_response: &TxResponse) -> Self::Returns { @@ -26,9 +30,10 @@ where } } -impl RHListItemScenario for WithResultNewAddress +impl RHListItemScenario for WithResultNewAddress where - F: FnOnce(&ManagedAddress), + Env: TxEnv, + F: FnOnce(&ManagedAddress), { fn item_scenario_result(self, tx_response: &TxResponse) -> Self::Returns { let new_address = tx_response diff --git a/framework/scenario/src/facade/world_tx/scenario_tx.rs b/framework/scenario/src/facade/world_tx/scenario_tx.rs index 13449cb8d4..60673f2c44 100644 --- a/framework/scenario/src/facade/world_tx/scenario_tx.rs +++ b/framework/scenario/src/facade/world_tx/scenario_tx.rs @@ -82,7 +82,7 @@ where To: TxToSpecified, Payment: TxPayment, Gas: TxGas, - RH: RHListScenario, + RH: RHListScenario, RH::ListReturns: NestedTupleFlatten, { type Returns = ::Unpacked; @@ -120,7 +120,7 @@ where Payment: TxPayment, Gas: TxGas, CodeValue: TxCodeValue, - RH: RHListScenario, + RH: RHListScenario, RH::ListReturns: NestedTupleFlatten, { type Returns = ::Unpacked; diff --git a/framework/scenario/src/facade/world_tx/with_tx_raw_response.rs b/framework/scenario/src/facade/world_tx/with_tx_raw_response.rs index 8b63cfdfcc..75acd6707c 100644 --- a/framework/scenario/src/facade/world_tx/with_tx_raw_response.rs +++ b/framework/scenario/src/facade/world_tx/with_tx_raw_response.rs @@ -1,6 +1,9 @@ use core::marker::PhantomData; -use multiversx_sc::{codec::TopDecodeMulti, types::RHListItem}; +use multiversx_sc::{ + codec::TopDecodeMulti, + types::{RHListItem, TxEnv}, +}; use crate::scenario_model::TxResponse; @@ -11,15 +14,17 @@ pub struct WithRawTxResponse(pub F) where F: FnOnce(&TxResponse); -impl RHListItem for WithRawTxResponse +impl RHListItem for WithRawTxResponse where + Env: TxEnv, F: FnOnce(&TxResponse), { type Returns = (); } -impl RHListItemScenario for WithRawTxResponse +impl RHListItemScenario for WithRawTxResponse where + Env: TxEnv, Original: TopDecodeMulti, F: FnOnce(&TxResponse), { From 4e773c155d5a28c96435cb4cb3cda41204744abd Mon Sep 17 00:00:00 2001 From: Andrei Marinica Date: Fri, 8 Mar 2024 07:49:38 +0200 Subject: [PATCH 23/36] unified syntax - rename ScenarioTxEnv --- .../src/facade/world_tx/expr/file_expr.rs | 8 ++-- .../src/facade/world_tx/expr/mxsc_expr.rs | 10 ++--- .../src/facade/world_tx/scenario_env.rs | 6 +-- .../facade/world_tx/scenario_rh_list_item.rs | 2 +- .../src/facade/world_tx/scenario_tx.rs | 38 ++++++++----------- .../facade/world_tx/with_tx_raw_response.rs | 2 +- 6 files changed, 29 insertions(+), 37 deletions(-) diff --git a/framework/scenario/src/facade/world_tx/expr/file_expr.rs b/framework/scenario/src/facade/world_tx/expr/file_expr.rs index 1cb80997e4..65965ecf8b 100644 --- a/framework/scenario/src/facade/world_tx/expr/file_expr.rs +++ b/framework/scenario/src/facade/world_tx/expr/file_expr.rs @@ -9,21 +9,21 @@ use multiversx_sc::types::{ TxToSpecified, }; -use crate::{api::StaticApi, ScenarioTxEnvironment}; +use crate::{api::StaticApi, ScenarioTxEnv}; const FILE_PREFIX: &str = "file:"; #[derive(Clone, Copy, Debug, PartialEq, Eq)] pub struct FileExpr<'a>(pub &'a str); -impl<'a> AnnotatedValue> for FileExpr<'a> { - fn annotation(&self, _env: &ScenarioTxEnvironment) -> ManagedBuffer { +impl<'a> AnnotatedValue> for FileExpr<'a> { + fn annotation(&self, _env: &ScenarioTxEnv) -> ManagedBuffer { let mut result = ManagedBuffer::new_from_bytes(FILE_PREFIX.as_bytes()); result.append_bytes(self.0.as_bytes()); result } - fn into_value(self, env: &ScenarioTxEnvironment) -> ManagedBuffer { + fn into_value(self, env: &ScenarioTxEnv) -> ManagedBuffer { let context = InterpreterContext::new().with_dir(env.context_path.clone()); let value = interpret_string(&format!("{FILE_PREFIX}{}", self.0), &context); value.into() diff --git a/framework/scenario/src/facade/world_tx/expr/mxsc_expr.rs b/framework/scenario/src/facade/world_tx/expr/mxsc_expr.rs index a0ba7c4ef9..25f9f21f42 100644 --- a/framework/scenario/src/facade/world_tx/expr/mxsc_expr.rs +++ b/framework/scenario/src/facade/world_tx/expr/mxsc_expr.rs @@ -9,21 +9,21 @@ use multiversx_sc::types::{ TxTo, TxToSpecified, }; -use crate::{api::StaticApi, ScenarioTxEnvironment}; +use crate::{api::StaticApi, ScenarioTxEnv}; const MXSC_PREFIX: &str = "mxsc:"; #[derive(Clone, Copy, Debug, PartialEq, Eq)] pub struct MxscExpr<'a>(pub &'a str); -impl<'a> AnnotatedValue> for MxscExpr<'a> { - fn annotation(&self, _env: &ScenarioTxEnvironment) -> ManagedBuffer { +impl<'a> AnnotatedValue> for MxscExpr<'a> { + fn annotation(&self, _env: &ScenarioTxEnv) -> ManagedBuffer { let mut result = ManagedBuffer::new_from_bytes(MXSC_PREFIX.as_bytes()); result.append_bytes(self.0.as_bytes()); result } - fn into_value(self, env: &ScenarioTxEnvironment) -> ManagedBuffer { + fn into_value(self, env: &ScenarioTxEnv) -> ManagedBuffer { let context = InterpreterContext::new() .with_dir(env.context_path.clone()) .with_allowed_missing_files(); @@ -32,4 +32,4 @@ impl<'a> AnnotatedValue> for Mxs } } -impl<'a> TxCodeValue for MxscExpr<'a> {} +impl<'a> TxCodeValue for MxscExpr<'a> {} diff --git a/framework/scenario/src/facade/world_tx/scenario_env.rs b/framework/scenario/src/facade/world_tx/scenario_env.rs index 6e8a8ef8b4..9076cc5d48 100644 --- a/framework/scenario/src/facade/world_tx/scenario_env.rs +++ b/framework/scenario/src/facade/world_tx/scenario_env.rs @@ -4,15 +4,15 @@ use multiversx_sc::types::{AnnotatedValue, ManagedAddress, TxBaseWithEnv, TxEnv} use crate::{api::StaticApi, scenario_model::TxResponse}; -pub type TxScenarioBase = TxBaseWithEnv; +pub type TxScenarioBase = TxBaseWithEnv; #[derive(Default, Debug, Clone)] -pub struct ScenarioTxEnvironment { +pub struct ScenarioTxEnv { pub context_path: PathBuf, pub response: Option, } -impl TxEnv for ScenarioTxEnvironment { +impl TxEnv for ScenarioTxEnv { type Api = StaticApi; fn resolve_sender_address(&self) -> ManagedAddress { diff --git a/framework/scenario/src/facade/world_tx/scenario_rh_list_item.rs b/framework/scenario/src/facade/world_tx/scenario_rh_list_item.rs index 748df069d1..a357a6dcd8 100644 --- a/framework/scenario/src/facade/world_tx/scenario_rh_list_item.rs +++ b/framework/scenario/src/facade/world_tx/scenario_rh_list_item.rs @@ -8,7 +8,7 @@ use crate::{ scenario_model::{TxResponse, TypedResponse}, }; -use super::ScenarioTxEnvironment; +use super::ScenarioTxEnv; pub trait RHListItemScenario: RHListItem where diff --git a/framework/scenario/src/facade/world_tx/scenario_tx.rs b/framework/scenario/src/facade/world_tx/scenario_tx.rs index 60673f2c44..ae10294e72 100644 --- a/framework/scenario/src/facade/world_tx/scenario_tx.rs +++ b/framework/scenario/src/facade/world_tx/scenario_tx.rs @@ -14,11 +14,11 @@ use crate::{ ScenarioWorld, }; -use super::{RHListScenario, ScenarioTxEnvironment, TxScenarioBase}; +use super::{RHListScenario, ScenarioTxEnv, TxScenarioBase}; impl ScenarioWorld { - fn tx_env(&self) -> ScenarioTxEnvironment { - ScenarioTxEnvironment { + fn tx_env(&self) -> ScenarioTxEnv { + ScenarioTxEnv { context_path: self.current_dir.clone(), ..Default::default() } @@ -76,13 +76,13 @@ where } impl ScenarioTx - for Tx, RH> + for Tx, RH> where - From: TxFromSpecified, - To: TxToSpecified, - Payment: TxPayment, - Gas: TxGas, - RH: RHListScenario, + From: TxFromSpecified, + To: TxToSpecified, + Payment: TxPayment, + Gas: TxGas, + RH: RHListScenario, RH::ListReturns: NestedTupleFlatten, { type Returns = ::Unpacked; @@ -106,21 +106,13 @@ where } impl ScenarioTx - for Tx< - ScenarioTxEnvironment, - From, - (), - Payment, - Gas, - DeployCall>, - RH, - > + for Tx>, RH> where - From: TxFromSpecified, - Payment: TxPayment, - Gas: TxGas, - CodeValue: TxCodeValue, - RH: RHListScenario, + From: TxFromSpecified, + Payment: TxPayment, + Gas: TxGas, + CodeValue: TxCodeValue, + RH: RHListScenario, RH::ListReturns: NestedTupleFlatten, { type Returns = ::Unpacked; diff --git a/framework/scenario/src/facade/world_tx/with_tx_raw_response.rs b/framework/scenario/src/facade/world_tx/with_tx_raw_response.rs index 75acd6707c..053c962555 100644 --- a/framework/scenario/src/facade/world_tx/with_tx_raw_response.rs +++ b/framework/scenario/src/facade/world_tx/with_tx_raw_response.rs @@ -7,7 +7,7 @@ use multiversx_sc::{ use crate::scenario_model::TxResponse; -use super::{RHListItemScenario, ScenarioTxEnvironment}; +use super::{RHListItemScenario, ScenarioTxEnv}; /// Wraps a closure that handles a `TxResponse` object. pub struct WithRawTxResponse(pub F) From 8e45b11807f9d5241bf64445fd16631b11c5c934 Mon Sep 17 00:00:00 2001 From: Laurentiu Ciobanu Date: Fri, 8 Mar 2024 12:29:26 +0200 Subject: [PATCH 24/36] add tests for ManagedVec::to_array_of_refs --- framework/scenario/tests/managed_vec_test.rs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/framework/scenario/tests/managed_vec_test.rs b/framework/scenario/tests/managed_vec_test.rs index 90fa88c376..4fc3ede7c6 100644 --- a/framework/scenario/tests/managed_vec_test.rs +++ b/framework/scenario/tests/managed_vec_test.rs @@ -97,6 +97,25 @@ fn test_into_vec() { assert_eq!(vec, managed_vec.into_vec()); } +#[test] +fn test_to_array_of_refs() { + let mut vec = ManagedVec::::new(); + for i in 0..10 { + vec.push(i); + } + + let refs: Option<[i32; 20]> = vec.to_array_of_refs(); + assert!(refs.is_none()); + + let refs: Option<[i32; 10]> = vec.to_array_of_refs(); + assert!(refs.is_some()); + + let refs = refs.unwrap(); + for i in 0..10 { + assert_eq!(refs[i], i as i32); + } +} + #[test] fn test_take_u64() { let mut vec = Vec::::new(); From 9596874119e6af7f315f800ba6400f04de7c9b9a Mon Sep 17 00:00:00 2001 From: Andrei Marinica Date: Fri, 8 Mar 2024 12:34:24 +0200 Subject: [PATCH 25/36] rust-toolchain.toml --- rust-toolchain.toml | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 rust-toolchain.toml diff --git a/rust-toolchain.toml b/rust-toolchain.toml new file mode 100644 index 0000000000..9a2458c117 --- /dev/null +++ b/rust-toolchain.toml @@ -0,0 +1,2 @@ +[toolchain] +channel = "nightly-2023-12-11" From b43ed2eb2d960cb69ef4513ece3ef0e38b84cc9a Mon Sep 17 00:00:00 2001 From: Laurentiu Ciobanu Date: Fri, 8 Mar 2024 12:47:23 +0200 Subject: [PATCH 26/36] fix clippy warning in tests for ManagedVec::to_array_of_refs --- framework/scenario/tests/managed_vec_test.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/framework/scenario/tests/managed_vec_test.rs b/framework/scenario/tests/managed_vec_test.rs index 4fc3ede7c6..c24802e599 100644 --- a/framework/scenario/tests/managed_vec_test.rs +++ b/framework/scenario/tests/managed_vec_test.rs @@ -111,8 +111,8 @@ fn test_to_array_of_refs() { assert!(refs.is_some()); let refs = refs.unwrap(); - for i in 0..10 { - assert_eq!(refs[i], i as i32); + for (i, &item) in refs.iter().enumerate() { + assert_eq!(item, i as i32); } } From 0a479eec289a9957a4d41a7dab4a6570782eb4e4 Mon Sep 17 00:00:00 2001 From: Andrei Marinica Date: Fri, 8 Mar 2024 14:16:26 +0200 Subject: [PATCH 27/36] sc 0.47.5 --- CHANGELOG.md | 3 +++ Cargo.lock | 18 +++++++++--------- contracts/benchmarks/large-storage/Cargo.toml | 4 ++-- .../benchmarks/large-storage/meta/Cargo.toml | 2 +- .../benchmarks/large-storage/wasm/Cargo.toml | 2 +- .../mappers/benchmark-common/Cargo.toml | 4 ++-- .../mappers/linked-list-repeat/Cargo.toml | 4 ++-- .../mappers/linked-list-repeat/meta/Cargo.toml | 2 +- .../mappers/linked-list-repeat/wasm/Cargo.toml | 2 +- .../benchmarks/mappers/map-repeat/Cargo.toml | 4 ++-- .../mappers/map-repeat/meta/Cargo.toml | 2 +- .../mappers/map-repeat/wasm/Cargo.toml | 2 +- .../benchmarks/mappers/queue-repeat/Cargo.toml | 4 ++-- .../mappers/queue-repeat/meta/Cargo.toml | 2 +- .../mappers/queue-repeat/wasm/Cargo.toml | 2 +- .../benchmarks/mappers/set-repeat/Cargo.toml | 4 ++-- .../mappers/set-repeat/meta/Cargo.toml | 2 +- .../mappers/set-repeat/wasm/Cargo.toml | 2 +- .../mappers/single-value-repeat/Cargo.toml | 4 ++-- .../single-value-repeat/meta/Cargo.toml | 2 +- .../single-value-repeat/wasm/Cargo.toml | 2 +- .../benchmarks/mappers/vec-repeat/Cargo.toml | 4 ++-- .../mappers/vec-repeat/meta/Cargo.toml | 2 +- .../mappers/vec-repeat/wasm/Cargo.toml | 2 +- contracts/benchmarks/send-tx-repeat/Cargo.toml | 4 ++-- .../benchmarks/send-tx-repeat/meta/Cargo.toml | 2 +- .../benchmarks/send-tx-repeat/wasm/Cargo.toml | 2 +- contracts/benchmarks/str-repeat/Cargo.toml | 4 ++-- .../benchmarks/str-repeat/meta/Cargo.toml | 2 +- .../benchmarks/str-repeat/wasm/Cargo.toml | 2 +- contracts/core/price-aggregator/Cargo.toml | 8 ++++---- .../core/price-aggregator/meta/Cargo.toml | 4 ++-- .../core/price-aggregator/wasm/Cargo.toml | 2 +- contracts/core/wegld-swap/Cargo.toml | 8 ++++---- contracts/core/wegld-swap/meta/Cargo.toml | 4 ++-- contracts/core/wegld-swap/wasm/Cargo.toml | 2 +- contracts/examples/adder/Cargo.toml | 4 ++-- contracts/examples/adder/interact/Cargo.toml | 2 +- contracts/examples/adder/meta/Cargo.toml | 2 +- contracts/examples/adder/wasm/Cargo.toml | 2 +- .../examples/bonding-curve-contract/Cargo.toml | 6 +++--- .../bonding-curve-contract/meta/Cargo.toml | 2 +- .../bonding-curve-contract/wasm/Cargo.toml | 2 +- contracts/examples/check-pause/Cargo.toml | 6 +++--- contracts/examples/check-pause/meta/Cargo.toml | 2 +- contracts/examples/check-pause/wasm/Cargo.toml | 2 +- .../examples/crowdfunding-esdt/Cargo.toml | 4 ++-- .../examples/crowdfunding-esdt/meta/Cargo.toml | 2 +- .../examples/crowdfunding-esdt/wasm/Cargo.toml | 2 +- contracts/examples/crypto-bubbles/Cargo.toml | 4 ++-- .../examples/crypto-bubbles/meta/Cargo.toml | 2 +- .../examples/crypto-bubbles/wasm/Cargo.toml | 2 +- .../crypto-kitties/common/kitty/Cargo.toml | 2 +- .../crypto-kitties/common/random/Cargo.toml | 2 +- .../crypto-kitties/kitty-auction/Cargo.toml | 4 ++-- .../kitty-auction/meta/Cargo.toml | 2 +- .../kitty-auction/wasm/Cargo.toml | 2 +- .../kitty-genetic-alg/Cargo.toml | 4 ++-- .../kitty-genetic-alg/meta/Cargo.toml | 2 +- .../kitty-genetic-alg/wasm/Cargo.toml | 2 +- .../crypto-kitties/kitty-ownership/Cargo.toml | 4 ++-- .../kitty-ownership/meta/Cargo.toml | 2 +- .../kitty-ownership/wasm/Cargo.toml | 2 +- contracts/examples/crypto-zombies/Cargo.toml | 4 ++-- .../examples/crypto-zombies/meta/Cargo.toml | 2 +- .../examples/crypto-zombies/wasm/Cargo.toml | 2 +- contracts/examples/digital-cash/Cargo.toml | 4 ++-- .../examples/digital-cash/meta/Cargo.toml | 2 +- .../examples/digital-cash/wasm/Cargo.toml | 2 +- contracts/examples/empty/Cargo.toml | 4 ++-- contracts/examples/empty/meta/Cargo.toml | 2 +- contracts/examples/empty/wasm/Cargo.toml | 2 +- .../examples/esdt-transfer-with-fee/Cargo.toml | 4 ++-- .../esdt-transfer-with-fee/meta/Cargo.toml | 2 +- .../esdt-transfer-with-fee/wasm/Cargo.toml | 2 +- contracts/examples/factorial/Cargo.toml | 4 ++-- contracts/examples/factorial/meta/Cargo.toml | 2 +- contracts/examples/factorial/wasm/Cargo.toml | 2 +- contracts/examples/fractional-nfts/Cargo.toml | 6 +++--- .../examples/fractional-nfts/meta/Cargo.toml | 2 +- .../examples/fractional-nfts/wasm/Cargo.toml | 2 +- contracts/examples/lottery-esdt/Cargo.toml | 4 ++-- .../examples/lottery-esdt/meta/Cargo.toml | 2 +- .../examples/lottery-esdt/wasm/Cargo.toml | 2 +- contracts/examples/multisig/Cargo.toml | 8 ++++---- .../examples/multisig/interact/Cargo.toml | 6 +++--- contracts/examples/multisig/meta/Cargo.toml | 2 +- .../multisig/wasm-multisig-full/Cargo.toml | 2 +- .../multisig/wasm-multisig-view/Cargo.toml | 2 +- contracts/examples/multisig/wasm/Cargo.toml | 2 +- contracts/examples/nft-minter/Cargo.toml | 4 ++-- contracts/examples/nft-minter/meta/Cargo.toml | 2 +- contracts/examples/nft-minter/wasm/Cargo.toml | 2 +- .../examples/nft-storage-prepay/Cargo.toml | 4 ++-- .../nft-storage-prepay/meta/Cargo.toml | 2 +- .../nft-storage-prepay/wasm/Cargo.toml | 2 +- contracts/examples/nft-subscription/Cargo.toml | 6 +++--- .../examples/nft-subscription/meta/Cargo.toml | 2 +- .../examples/nft-subscription/wasm/Cargo.toml | 2 +- .../examples/order-book/factory/Cargo.toml | 4 ++-- .../order-book/factory/meta/Cargo.toml | 2 +- .../order-book/factory/wasm/Cargo.toml | 2 +- contracts/examples/order-book/pair/Cargo.toml | 4 ++-- .../examples/order-book/pair/meta/Cargo.toml | 2 +- .../examples/order-book/pair/wasm/Cargo.toml | 2 +- contracts/examples/ping-pong-egld/Cargo.toml | 4 ++-- .../examples/ping-pong-egld/meta/Cargo.toml | 2 +- .../examples/ping-pong-egld/wasm/Cargo.toml | 2 +- contracts/examples/proxy-pause/Cargo.toml | 4 ++-- contracts/examples/proxy-pause/meta/Cargo.toml | 2 +- contracts/examples/proxy-pause/wasm/Cargo.toml | 2 +- .../examples/rewards-distribution/Cargo.toml | 6 +++--- .../rewards-distribution/meta/Cargo.toml | 2 +- .../rewards-distribution/wasm/Cargo.toml | 2 +- contracts/examples/seed-nft-minter/Cargo.toml | 6 +++--- .../examples/seed-nft-minter/meta/Cargo.toml | 2 +- .../examples/seed-nft-minter/wasm/Cargo.toml | 2 +- contracts/examples/token-release/Cargo.toml | 4 ++-- .../examples/token-release/meta/Cargo.toml | 2 +- .../examples/token-release/wasm/Cargo.toml | 2 +- contracts/feature-tests/abi-tester/Cargo.toml | 6 +++--- .../abi_tester_expected_main.abi.json | 2 +- .../abi_tester_expected_view.abi.json | 2 +- .../feature-tests/abi-tester/meta/Cargo.toml | 2 +- .../abi-tester/wasm-abi-tester-ev/Cargo.toml | 2 +- .../feature-tests/abi-tester/wasm/Cargo.toml | 2 +- .../feature-tests/alloc-features/Cargo.toml | 4 ++-- .../alloc-features/meta/Cargo.toml | 2 +- .../wasm-alloc-mem-fail/Cargo.toml | 2 +- .../wasm-alloc-mem-leaking/Cargo.toml | 2 +- .../alloc-features/wasm/Cargo.toml | 2 +- .../feature-tests/basic-features/Cargo.toml | 6 +++--- .../basic-features/interact/Cargo.toml | 2 +- .../basic-features/meta/Cargo.toml | 2 +- .../Cargo.toml | 2 +- .../basic-features/wasm/Cargo.toml | 2 +- .../big-float-features/Cargo.toml | 4 ++-- .../big-float-features/meta/Cargo.toml | 2 +- .../big-float-features/wasm/Cargo.toml | 2 +- .../feature-tests/composability/Cargo.toml | 4 ++-- .../builtin-func-features/Cargo.toml | 4 ++-- .../builtin-func-features/meta/Cargo.toml | 2 +- .../builtin-func-features/wasm/Cargo.toml | 2 +- .../esdt-contract-pair/Cargo.toml | 4 ++-- .../first-contract/Cargo.toml | 4 ++-- .../first-contract/meta/Cargo.toml | 4 ++-- .../first-contract/wasm/Cargo.toml | 2 +- .../second-contract/Cargo.toml | 4 ++-- .../second-contract/meta/Cargo.toml | 4 ++-- .../second-contract/wasm/Cargo.toml | 2 +- .../Cargo.toml | 4 ++-- .../child/Cargo.toml | 4 ++-- .../child/meta/Cargo.toml | 4 ++-- .../child/wasm/Cargo.toml | 2 +- .../parent/Cargo.toml | 4 ++-- .../parent/meta/Cargo.toml | 4 ++-- .../parent/wasm/Cargo.toml | 2 +- .../composability/forwarder-queue/Cargo.toml | 6 +++--- .../forwarder-queue/meta/Cargo.toml | 2 +- .../wasm-forwarder-queue-promises/Cargo.toml | 2 +- .../forwarder-queue/wasm/Cargo.toml | 2 +- .../composability/forwarder-raw/Cargo.toml | 4 ++-- .../forwarder-raw/meta/Cargo.toml | 2 +- .../Cargo.toml | 2 +- .../Cargo.toml | 2 +- .../forwarder-raw/wasm/Cargo.toml | 2 +- .../composability/forwarder/Cargo.toml | 4 ++-- .../composability/forwarder/meta/Cargo.toml | 2 +- .../composability/forwarder/wasm/Cargo.toml | 2 +- .../composability/interact/Cargo.toml | 4 ++-- .../local-esdt-and-nft/Cargo.toml | 4 ++-- .../local-esdt-and-nft/meta/Cargo.toml | 2 +- .../local-esdt-and-nft/wasm/Cargo.toml | 2 +- .../composability/promises-features/Cargo.toml | 2 +- .../promises-features/meta/Cargo.toml | 2 +- .../promises-features/wasm/Cargo.toml | 2 +- .../composability/proxy-test-first/Cargo.toml | 4 ++-- .../proxy-test-first/meta/Cargo.toml | 2 +- .../proxy-test-first/wasm/Cargo.toml | 2 +- .../composability/proxy-test-second/Cargo.toml | 4 ++-- .../proxy-test-second/meta/Cargo.toml | 2 +- .../proxy-test-second/wasm/Cargo.toml | 2 +- .../composability/recursive-caller/Cargo.toml | 4 ++-- .../recursive-caller/meta/Cargo.toml | 2 +- .../recursive-caller/wasm/Cargo.toml | 2 +- .../transfer-role-features/Cargo.toml | 6 +++--- .../transfer-role-features/meta/Cargo.toml | 2 +- .../transfer-role-features/wasm/Cargo.toml | 2 +- .../composability/vault/Cargo.toml | 4 ++-- .../composability/vault/meta/Cargo.toml | 2 +- .../vault/wasm-vault-promises/Cargo.toml | 2 +- .../vault/wasm-vault-upgrade/Cargo.toml | 2 +- .../composability/vault/wasm/Cargo.toml | 2 +- .../crowdfunding-erc20/Cargo.toml | 4 ++-- .../crowdfunding-erc20/meta/Cargo.toml | 2 +- .../crowdfunding-erc20/wasm/Cargo.toml | 2 +- .../erc1155-marketplace/Cargo.toml | 4 ++-- .../erc1155-marketplace/meta/Cargo.toml | 2 +- .../erc1155-marketplace/wasm/Cargo.toml | 2 +- .../erc1155-user-mock/Cargo.toml | 4 ++-- .../erc1155-user-mock/meta/Cargo.toml | 2 +- .../erc1155-user-mock/wasm/Cargo.toml | 2 +- .../erc-style-contracts/erc1155/Cargo.toml | 4 ++-- .../erc1155/meta/Cargo.toml | 2 +- .../erc1155/wasm/Cargo.toml | 2 +- .../erc-style-contracts/erc20/Cargo.toml | 4 ++-- .../erc-style-contracts/erc20/meta/Cargo.toml | 2 +- .../erc-style-contracts/erc20/wasm/Cargo.toml | 2 +- .../erc-style-contracts/erc721/Cargo.toml | 4 ++-- .../erc-style-contracts/erc721/meta/Cargo.toml | 2 +- .../erc-style-contracts/erc721/wasm/Cargo.toml | 2 +- .../lottery-erc20/Cargo.toml | 4 ++-- .../lottery-erc20/meta/Cargo.toml | 2 +- .../lottery-erc20/wasm/Cargo.toml | 2 +- .../esdt-system-sc-mock/Cargo.toml | 4 ++-- .../esdt-system-sc-mock/meta/Cargo.toml | 2 +- .../esdt-system-sc-mock/wasm/Cargo.toml | 2 +- .../formatted-message-features/Cargo.toml | 4 ++-- .../formatted-message-features/meta/Cargo.toml | 2 +- .../formatted-message-features/wasm/Cargo.toml | 2 +- .../managed-map-features/Cargo.toml | 4 ++-- .../managed-map-features/meta/Cargo.toml | 2 +- .../managed-map-features/wasm/Cargo.toml | 2 +- .../multi-contract-features/Cargo.toml | 4 ++-- .../multi-contract-features/meta/Cargo.toml | 2 +- .../wasm-multi-contract-alt-impl/Cargo.toml | 2 +- .../Cargo.toml | 2 +- .../Cargo.toml | 2 +- .../multi-contract-features/wasm/Cargo.toml | 2 +- .../panic-message-features/Cargo.toml | 4 ++-- .../panic-message-features/meta/Cargo.toml | 2 +- .../panic-message-features/wasm/Cargo.toml | 2 +- .../feature-tests/payable-features/Cargo.toml | 4 ++-- .../payable-features/meta/Cargo.toml | 2 +- .../payable-features/wasm/Cargo.toml | 2 +- .../rust-snippets-generator-test/Cargo.toml | 4 ++-- .../interact-rs/Cargo.toml | 2 +- .../meta/Cargo.toml | 2 +- .../rust-snippets-generator-test/src/lib.rs | 2 +- .../wasm/Cargo.toml | 2 +- .../rust-testing-framework-tester/Cargo.toml | 4 ++-- .../meta/Cargo.toml | 2 +- .../wasm/Cargo.toml | 2 +- contracts/feature-tests/use-module/Cargo.toml | 8 ++++---- .../feature-tests/use-module/meta/Cargo.toml | 2 +- .../use-module/meta/abi/Cargo.toml | 4 ++-- .../use_module_expected_main.abi.json | 2 +- .../use_module_expected_view.abi.json | 2 +- .../use-module/wasm-use-module-view/Cargo.toml | 2 +- .../feature-tests/use-module/wasm/Cargo.toml | 2 +- contracts/modules/Cargo.toml | 4 ++-- framework/base/Cargo.toml | 4 ++-- framework/derive/Cargo.toml | 2 +- framework/meta/Cargo.toml | 4 ++-- .../generate_snippets/snippet_crate_gen.rs | 2 +- framework/meta/src/cmd/contract/meta_config.rs | 4 ++-- framework/meta/src/version_history.rs | 3 ++- framework/scenario/Cargo.toml | 6 +++--- framework/snippets/Cargo.toml | 4 ++-- framework/wasm-adapter/Cargo.toml | 4 ++-- tools/mxpy-snippet-generator/Cargo.toml | 2 +- tools/rust-debugger/format-tests/Cargo.toml | 4 ++-- 262 files changed, 385 insertions(+), 381 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9f6526006a..c9c2118770 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,6 +26,9 @@ They are: - `multiversx-chain-scenario-format`, in short `scenario-format`, scenario JSON serializer/deserializer, 1 crate. - `multiversx-sdk`, in short `sdk`, allows communication with the chain(s), 1 crate. +## [sc 0.47.5] - 2024-03-08 +- Fixed an issue with `MapMapper` when reading from another contract. +- Got rid of nightly feature `maybe_uninit_uninit_array`/`maybe_uninit_array_assume_init`. ## [sc 0.47.4, vm 0.8.3] - 2024-02-08 - Post-build wasm report added to `.mxsc.json` file. diff --git a/Cargo.lock b/Cargo.lock index 6550fa0e64..6274b48504 100755 --- a/Cargo.lock +++ b/Cargo.lock @@ -1785,7 +1785,7 @@ checksum = "b59072fa0624b55ae5ae3fa6bfa91515bbeb4ac440214bc4a509e2c8806d6e9f" [[package]] name = "multiversx-price-aggregator-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "arrayvec", "getrandom 0.2.12", @@ -1806,7 +1806,7 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags 2.4.2", "hex-literal", @@ -1836,7 +1836,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -1847,7 +1847,7 @@ dependencies = [ [[package]] name = "multiversx-sc-meta" -version = "0.47.4" +version = "0.47.5" dependencies = [ "clap", "colored", @@ -1873,14 +1873,14 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-scenario" -version = "0.47.4" +version = "0.47.5" dependencies = [ "base64", "bech32", @@ -1906,7 +1906,7 @@ dependencies = [ [[package]] name = "multiversx-sc-snippets" -version = "0.47.4" +version = "0.47.5" dependencies = [ "base64", "env_logger", @@ -1920,7 +1920,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] @@ -1951,7 +1951,7 @@ dependencies = [ [[package]] name = "multiversx-wegld-swap-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", "multiversx-sc-modules", diff --git a/contracts/benchmarks/large-storage/Cargo.toml b/contracts/benchmarks/large-storage/Cargo.toml index 5d40c9152b..804f964141 100644 --- a/contracts/benchmarks/large-storage/Cargo.toml +++ b/contracts/benchmarks/large-storage/Cargo.toml @@ -9,9 +9,9 @@ publish = false path = "src/large_storage.rs" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/base" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/scenario" diff --git a/contracts/benchmarks/large-storage/meta/Cargo.toml b/contracts/benchmarks/large-storage/meta/Cargo.toml index 061b684f16..7516ee6f65 100644 --- a/contracts/benchmarks/large-storage/meta/Cargo.toml +++ b/contracts/benchmarks/large-storage/meta/Cargo.toml @@ -8,6 +8,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/meta" default-features = false diff --git a/contracts/benchmarks/large-storage/wasm/Cargo.toml b/contracts/benchmarks/large-storage/wasm/Cargo.toml index 71baab2e45..3442101383 100644 --- a/contracts/benchmarks/large-storage/wasm/Cargo.toml +++ b/contracts/benchmarks/large-storage/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/benchmarks/mappers/benchmark-common/Cargo.toml b/contracts/benchmarks/mappers/benchmark-common/Cargo.toml index b4c848a6eb..f2db85ecfe 100644 --- a/contracts/benchmarks/mappers/benchmark-common/Cargo.toml +++ b/contracts/benchmarks/mappers/benchmark-common/Cargo.toml @@ -9,9 +9,9 @@ publish = false path = "src/lib.rs" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/base" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/scenario" diff --git a/contracts/benchmarks/mappers/linked-list-repeat/Cargo.toml b/contracts/benchmarks/mappers/linked-list-repeat/Cargo.toml index bac9fe6806..558fbb4720 100644 --- a/contracts/benchmarks/mappers/linked-list-repeat/Cargo.toml +++ b/contracts/benchmarks/mappers/linked-list-repeat/Cargo.toml @@ -13,9 +13,9 @@ path = "../benchmark-common" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/base" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/scenario" diff --git a/contracts/benchmarks/mappers/linked-list-repeat/meta/Cargo.toml b/contracts/benchmarks/mappers/linked-list-repeat/meta/Cargo.toml index e22d76fe92..3a2b64389a 100644 --- a/contracts/benchmarks/mappers/linked-list-repeat/meta/Cargo.toml +++ b/contracts/benchmarks/mappers/linked-list-repeat/meta/Cargo.toml @@ -9,6 +9,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/meta" default-features = false diff --git a/contracts/benchmarks/mappers/linked-list-repeat/wasm/Cargo.toml b/contracts/benchmarks/mappers/linked-list-repeat/wasm/Cargo.toml index 2cbb5bc50a..8682d7b966 100644 --- a/contracts/benchmarks/mappers/linked-list-repeat/wasm/Cargo.toml +++ b/contracts/benchmarks/mappers/linked-list-repeat/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/benchmarks/mappers/map-repeat/Cargo.toml b/contracts/benchmarks/mappers/map-repeat/Cargo.toml index 248b242906..63d397512e 100644 --- a/contracts/benchmarks/mappers/map-repeat/Cargo.toml +++ b/contracts/benchmarks/mappers/map-repeat/Cargo.toml @@ -13,9 +13,9 @@ path = "../benchmark-common" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/base" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/scenario" diff --git a/contracts/benchmarks/mappers/map-repeat/meta/Cargo.toml b/contracts/benchmarks/mappers/map-repeat/meta/Cargo.toml index f275522114..9325ed7ae6 100644 --- a/contracts/benchmarks/mappers/map-repeat/meta/Cargo.toml +++ b/contracts/benchmarks/mappers/map-repeat/meta/Cargo.toml @@ -9,6 +9,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/meta" default-features = false diff --git a/contracts/benchmarks/mappers/map-repeat/wasm/Cargo.toml b/contracts/benchmarks/mappers/map-repeat/wasm/Cargo.toml index 0c8bb08c9c..62e8789c3b 100644 --- a/contracts/benchmarks/mappers/map-repeat/wasm/Cargo.toml +++ b/contracts/benchmarks/mappers/map-repeat/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/benchmarks/mappers/queue-repeat/Cargo.toml b/contracts/benchmarks/mappers/queue-repeat/Cargo.toml index 92fcfc658f..a9f7dd1a38 100644 --- a/contracts/benchmarks/mappers/queue-repeat/Cargo.toml +++ b/contracts/benchmarks/mappers/queue-repeat/Cargo.toml @@ -13,9 +13,9 @@ path = "../benchmark-common" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/base" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/scenario" diff --git a/contracts/benchmarks/mappers/queue-repeat/meta/Cargo.toml b/contracts/benchmarks/mappers/queue-repeat/meta/Cargo.toml index 5944b1bfda..29f1dc78c8 100644 --- a/contracts/benchmarks/mappers/queue-repeat/meta/Cargo.toml +++ b/contracts/benchmarks/mappers/queue-repeat/meta/Cargo.toml @@ -9,6 +9,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/meta" default-features = false diff --git a/contracts/benchmarks/mappers/queue-repeat/wasm/Cargo.toml b/contracts/benchmarks/mappers/queue-repeat/wasm/Cargo.toml index 1a6d7b3ba9..9c4d336e91 100644 --- a/contracts/benchmarks/mappers/queue-repeat/wasm/Cargo.toml +++ b/contracts/benchmarks/mappers/queue-repeat/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/benchmarks/mappers/set-repeat/Cargo.toml b/contracts/benchmarks/mappers/set-repeat/Cargo.toml index bd6fa5c3b0..f62ee44aa2 100644 --- a/contracts/benchmarks/mappers/set-repeat/Cargo.toml +++ b/contracts/benchmarks/mappers/set-repeat/Cargo.toml @@ -13,9 +13,9 @@ path = "../benchmark-common" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/base" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/scenario" diff --git a/contracts/benchmarks/mappers/set-repeat/meta/Cargo.toml b/contracts/benchmarks/mappers/set-repeat/meta/Cargo.toml index 3270e5740a..7e05b0d40c 100644 --- a/contracts/benchmarks/mappers/set-repeat/meta/Cargo.toml +++ b/contracts/benchmarks/mappers/set-repeat/meta/Cargo.toml @@ -9,6 +9,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/meta" default-features = false diff --git a/contracts/benchmarks/mappers/set-repeat/wasm/Cargo.toml b/contracts/benchmarks/mappers/set-repeat/wasm/Cargo.toml index df12a3332c..7dcc58ebd4 100644 --- a/contracts/benchmarks/mappers/set-repeat/wasm/Cargo.toml +++ b/contracts/benchmarks/mappers/set-repeat/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/benchmarks/mappers/single-value-repeat/Cargo.toml b/contracts/benchmarks/mappers/single-value-repeat/Cargo.toml index 4136a89d7f..c4f974f557 100644 --- a/contracts/benchmarks/mappers/single-value-repeat/Cargo.toml +++ b/contracts/benchmarks/mappers/single-value-repeat/Cargo.toml @@ -13,9 +13,9 @@ path = "../benchmark-common" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/base" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/scenario" diff --git a/contracts/benchmarks/mappers/single-value-repeat/meta/Cargo.toml b/contracts/benchmarks/mappers/single-value-repeat/meta/Cargo.toml index 62158f904b..a10f248f31 100644 --- a/contracts/benchmarks/mappers/single-value-repeat/meta/Cargo.toml +++ b/contracts/benchmarks/mappers/single-value-repeat/meta/Cargo.toml @@ -9,6 +9,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/meta" default-features = false diff --git a/contracts/benchmarks/mappers/single-value-repeat/wasm/Cargo.toml b/contracts/benchmarks/mappers/single-value-repeat/wasm/Cargo.toml index b98a6b77b6..b738172a26 100644 --- a/contracts/benchmarks/mappers/single-value-repeat/wasm/Cargo.toml +++ b/contracts/benchmarks/mappers/single-value-repeat/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/benchmarks/mappers/vec-repeat/Cargo.toml b/contracts/benchmarks/mappers/vec-repeat/Cargo.toml index cc7c80cd83..68f1484056 100644 --- a/contracts/benchmarks/mappers/vec-repeat/Cargo.toml +++ b/contracts/benchmarks/mappers/vec-repeat/Cargo.toml @@ -13,9 +13,9 @@ path = "../benchmark-common" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/base" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/scenario" diff --git a/contracts/benchmarks/mappers/vec-repeat/meta/Cargo.toml b/contracts/benchmarks/mappers/vec-repeat/meta/Cargo.toml index 1f84d712da..d3b013bb67 100644 --- a/contracts/benchmarks/mappers/vec-repeat/meta/Cargo.toml +++ b/contracts/benchmarks/mappers/vec-repeat/meta/Cargo.toml @@ -8,6 +8,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/meta" default-features = false diff --git a/contracts/benchmarks/mappers/vec-repeat/wasm/Cargo.toml b/contracts/benchmarks/mappers/vec-repeat/wasm/Cargo.toml index 39e2ff189b..fe03b05162 100644 --- a/contracts/benchmarks/mappers/vec-repeat/wasm/Cargo.toml +++ b/contracts/benchmarks/mappers/vec-repeat/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/benchmarks/send-tx-repeat/Cargo.toml b/contracts/benchmarks/send-tx-repeat/Cargo.toml index 623d22a83c..5517cf4101 100644 --- a/contracts/benchmarks/send-tx-repeat/Cargo.toml +++ b/contracts/benchmarks/send-tx-repeat/Cargo.toml @@ -9,9 +9,9 @@ publish = false path = "src/send_tx_repeat.rs" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/base" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/scenario" diff --git a/contracts/benchmarks/send-tx-repeat/meta/Cargo.toml b/contracts/benchmarks/send-tx-repeat/meta/Cargo.toml index 119fcbdd56..13920dbf06 100644 --- a/contracts/benchmarks/send-tx-repeat/meta/Cargo.toml +++ b/contracts/benchmarks/send-tx-repeat/meta/Cargo.toml @@ -8,6 +8,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/meta" default-features = false diff --git a/contracts/benchmarks/send-tx-repeat/wasm/Cargo.toml b/contracts/benchmarks/send-tx-repeat/wasm/Cargo.toml index a55d4576ca..8f631f3518 100644 --- a/contracts/benchmarks/send-tx-repeat/wasm/Cargo.toml +++ b/contracts/benchmarks/send-tx-repeat/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/benchmarks/str-repeat/Cargo.toml b/contracts/benchmarks/str-repeat/Cargo.toml index 8ae1a71cfb..123cfae104 100644 --- a/contracts/benchmarks/str-repeat/Cargo.toml +++ b/contracts/benchmarks/str-repeat/Cargo.toml @@ -9,10 +9,10 @@ publish = false path = "src/str_repeat.rs" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/base" features = ["alloc"] [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/scenario" diff --git a/contracts/benchmarks/str-repeat/meta/Cargo.toml b/contracts/benchmarks/str-repeat/meta/Cargo.toml index cb358ea9b9..5a5d4b5d28 100644 --- a/contracts/benchmarks/str-repeat/meta/Cargo.toml +++ b/contracts/benchmarks/str-repeat/meta/Cargo.toml @@ -8,6 +8,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/meta" default-features = false diff --git a/contracts/benchmarks/str-repeat/wasm/Cargo.toml b/contracts/benchmarks/str-repeat/wasm/Cargo.toml index f37672a2a0..64354ce36c 100644 --- a/contracts/benchmarks/str-repeat/wasm/Cargo.toml +++ b/contracts/benchmarks/str-repeat/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/core/price-aggregator/Cargo.toml b/contracts/core/price-aggregator/Cargo.toml index 3f4e29d16f..1dd51d5792 100644 --- a/contracts/core/price-aggregator/Cargo.toml +++ b/contracts/core/price-aggregator/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "multiversx-price-aggregator-sc" -version = "0.47.4" +version = "0.47.5" authors = [ "Claudiu-Marcel Bruda ", "MultiversX ", @@ -19,15 +19,15 @@ edition = "2021" path = "src/lib.rs" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/base" [dependencies.multiversx-sc-modules] -version = "0.47.4" +version = "0.47.5" path = "../../../contracts/modules" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/scenario" [dependencies] diff --git a/contracts/core/price-aggregator/meta/Cargo.toml b/contracts/core/price-aggregator/meta/Cargo.toml index 8fdaeffc64..07bc777dc8 100644 --- a/contracts/core/price-aggregator/meta/Cargo.toml +++ b/contracts/core/price-aggregator/meta/Cargo.toml @@ -8,10 +8,10 @@ publish = false path = ".." [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/base" [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/meta" default-features = false diff --git a/contracts/core/price-aggregator/wasm/Cargo.toml b/contracts/core/price-aggregator/wasm/Cargo.toml index 3a72bbaa0a..c39965acb9 100644 --- a/contracts/core/price-aggregator/wasm/Cargo.toml +++ b/contracts/core/price-aggregator/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/core/wegld-swap/Cargo.toml b/contracts/core/wegld-swap/Cargo.toml index 62240f60ee..5cce44f08e 100644 --- a/contracts/core/wegld-swap/Cargo.toml +++ b/contracts/core/wegld-swap/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "multiversx-wegld-swap-sc" -version = "0.47.4" +version = "0.47.5" authors = [ "Dorin Iancu ", @@ -20,13 +20,13 @@ edition = "2021" path = "src/wegld.rs" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/base" [dependencies.multiversx-sc-modules] -version = "0.47.4" +version = "0.47.5" path = "../../../contracts/modules" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/scenario" diff --git a/contracts/core/wegld-swap/meta/Cargo.toml b/contracts/core/wegld-swap/meta/Cargo.toml index 62f650105b..222f0692d6 100644 --- a/contracts/core/wegld-swap/meta/Cargo.toml +++ b/contracts/core/wegld-swap/meta/Cargo.toml @@ -11,10 +11,10 @@ publish = false path = ".." [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/base" [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/meta" default-features = false diff --git a/contracts/core/wegld-swap/wasm/Cargo.toml b/contracts/core/wegld-swap/wasm/Cargo.toml index 51ad50df2f..f622d5d6b9 100644 --- a/contracts/core/wegld-swap/wasm/Cargo.toml +++ b/contracts/core/wegld-swap/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/examples/adder/Cargo.toml b/contracts/examples/adder/Cargo.toml index 36ed855589..409f471ee5 100644 --- a/contracts/examples/adder/Cargo.toml +++ b/contracts/examples/adder/Cargo.toml @@ -9,9 +9,9 @@ publish = false path = "src/adder.rs" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/base" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/scenario" diff --git a/contracts/examples/adder/interact/Cargo.toml b/contracts/examples/adder/interact/Cargo.toml index f8a7e1bb35..5ff9488dbf 100644 --- a/contracts/examples/adder/interact/Cargo.toml +++ b/contracts/examples/adder/interact/Cargo.toml @@ -18,5 +18,5 @@ toml = "0.8.6" path = ".." [dependencies.multiversx-sc-snippets] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/snippets" diff --git a/contracts/examples/adder/meta/Cargo.toml b/contracts/examples/adder/meta/Cargo.toml index c4f745f2bb..caf3b453e2 100644 --- a/contracts/examples/adder/meta/Cargo.toml +++ b/contracts/examples/adder/meta/Cargo.toml @@ -8,6 +8,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/meta" default-features = false diff --git a/contracts/examples/adder/wasm/Cargo.toml b/contracts/examples/adder/wasm/Cargo.toml index 1d10bb1a92..04be870421 100644 --- a/contracts/examples/adder/wasm/Cargo.toml +++ b/contracts/examples/adder/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/examples/bonding-curve-contract/Cargo.toml b/contracts/examples/bonding-curve-contract/Cargo.toml index a53de80b2f..0b5939281e 100644 --- a/contracts/examples/bonding-curve-contract/Cargo.toml +++ b/contracts/examples/bonding-curve-contract/Cargo.toml @@ -9,14 +9,14 @@ publish = false path = "src/bonding_curve_contract.rs" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/base" [dependencies.multiversx-sc-modules] -version = "0.47.4" +version = "0.47.5" path = "../../../contracts/modules" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/scenario" diff --git a/contracts/examples/bonding-curve-contract/meta/Cargo.toml b/contracts/examples/bonding-curve-contract/meta/Cargo.toml index d962e16f11..91b330f0ab 100644 --- a/contracts/examples/bonding-curve-contract/meta/Cargo.toml +++ b/contracts/examples/bonding-curve-contract/meta/Cargo.toml @@ -9,6 +9,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/meta" default-features = false diff --git a/contracts/examples/bonding-curve-contract/wasm/Cargo.toml b/contracts/examples/bonding-curve-contract/wasm/Cargo.toml index 1e2b666d5b..d95c21a85d 100644 --- a/contracts/examples/bonding-curve-contract/wasm/Cargo.toml +++ b/contracts/examples/bonding-curve-contract/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/examples/check-pause/Cargo.toml b/contracts/examples/check-pause/Cargo.toml index 550458fe26..956cff6046 100644 --- a/contracts/examples/check-pause/Cargo.toml +++ b/contracts/examples/check-pause/Cargo.toml @@ -12,14 +12,14 @@ path = "src/check_pause.rs" num-bigint = "0.4" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/base" [dependencies.multiversx-sc-modules] -version = "0.47.4" +version = "0.47.5" path = "../../../contracts/modules" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/scenario" diff --git a/contracts/examples/check-pause/meta/Cargo.toml b/contracts/examples/check-pause/meta/Cargo.toml index 710a5cf57a..db3e95ad78 100644 --- a/contracts/examples/check-pause/meta/Cargo.toml +++ b/contracts/examples/check-pause/meta/Cargo.toml @@ -9,6 +9,6 @@ authors = ["Alin Cruceat "] path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/meta" default-features = false diff --git a/contracts/examples/check-pause/wasm/Cargo.toml b/contracts/examples/check-pause/wasm/Cargo.toml index 52d5311983..619a7270c4 100644 --- a/contracts/examples/check-pause/wasm/Cargo.toml +++ b/contracts/examples/check-pause/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/examples/crowdfunding-esdt/Cargo.toml b/contracts/examples/crowdfunding-esdt/Cargo.toml index 963d937368..5a5a94d5a3 100644 --- a/contracts/examples/crowdfunding-esdt/Cargo.toml +++ b/contracts/examples/crowdfunding-esdt/Cargo.toml @@ -9,11 +9,11 @@ publish = false path = "src/crowdfunding_esdt.rs" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/base" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/scenario" [dev-dependencies] diff --git a/contracts/examples/crowdfunding-esdt/meta/Cargo.toml b/contracts/examples/crowdfunding-esdt/meta/Cargo.toml index 7137feb3da..b5bef9909d 100644 --- a/contracts/examples/crowdfunding-esdt/meta/Cargo.toml +++ b/contracts/examples/crowdfunding-esdt/meta/Cargo.toml @@ -9,6 +9,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/meta" default-features = false diff --git a/contracts/examples/crowdfunding-esdt/wasm/Cargo.toml b/contracts/examples/crowdfunding-esdt/wasm/Cargo.toml index 2bdd3dcec1..877d8761fb 100644 --- a/contracts/examples/crowdfunding-esdt/wasm/Cargo.toml +++ b/contracts/examples/crowdfunding-esdt/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/examples/crypto-bubbles/Cargo.toml b/contracts/examples/crypto-bubbles/Cargo.toml index 433c083ba4..f63a8b8af5 100644 --- a/contracts/examples/crypto-bubbles/Cargo.toml +++ b/contracts/examples/crypto-bubbles/Cargo.toml @@ -9,9 +9,9 @@ publish = false path = "src/crypto_bubbles.rs" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/base" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/scenario" diff --git a/contracts/examples/crypto-bubbles/meta/Cargo.toml b/contracts/examples/crypto-bubbles/meta/Cargo.toml index 89b28878fd..1defd419e1 100644 --- a/contracts/examples/crypto-bubbles/meta/Cargo.toml +++ b/contracts/examples/crypto-bubbles/meta/Cargo.toml @@ -9,6 +9,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/meta" default-features = false diff --git a/contracts/examples/crypto-bubbles/wasm/Cargo.toml b/contracts/examples/crypto-bubbles/wasm/Cargo.toml index 5984f9ee38..5f8975e177 100644 --- a/contracts/examples/crypto-bubbles/wasm/Cargo.toml +++ b/contracts/examples/crypto-bubbles/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/examples/crypto-kitties/common/kitty/Cargo.toml b/contracts/examples/crypto-kitties/common/kitty/Cargo.toml index 1f30c5fcb6..495b1894ff 100644 --- a/contracts/examples/crypto-kitties/common/kitty/Cargo.toml +++ b/contracts/examples/crypto-kitties/common/kitty/Cargo.toml @@ -9,7 +9,7 @@ publish = false path = "src/lib.rs" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/base" [dependencies.random] diff --git a/contracts/examples/crypto-kitties/common/random/Cargo.toml b/contracts/examples/crypto-kitties/common/random/Cargo.toml index d74cf135e3..2cc2fc4bd9 100644 --- a/contracts/examples/crypto-kitties/common/random/Cargo.toml +++ b/contracts/examples/crypto-kitties/common/random/Cargo.toml @@ -8,5 +8,5 @@ edition = "2021" path = "src/lib.rs" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/base" diff --git a/contracts/examples/crypto-kitties/kitty-auction/Cargo.toml b/contracts/examples/crypto-kitties/kitty-auction/Cargo.toml index 5245561b04..646835ce94 100644 --- a/contracts/examples/crypto-kitties/kitty-auction/Cargo.toml +++ b/contracts/examples/crypto-kitties/kitty-auction/Cargo.toml @@ -17,9 +17,9 @@ version = "0.0.0" path = "../kitty-ownership" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/base" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/scenario" diff --git a/contracts/examples/crypto-kitties/kitty-auction/meta/Cargo.toml b/contracts/examples/crypto-kitties/kitty-auction/meta/Cargo.toml index e3476a2f0d..2adc1e4a32 100644 --- a/contracts/examples/crypto-kitties/kitty-auction/meta/Cargo.toml +++ b/contracts/examples/crypto-kitties/kitty-auction/meta/Cargo.toml @@ -8,6 +8,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/meta" default-features = false diff --git a/contracts/examples/crypto-kitties/kitty-auction/wasm/Cargo.toml b/contracts/examples/crypto-kitties/kitty-auction/wasm/Cargo.toml index 767bc541d7..3a7e4400aa 100644 --- a/contracts/examples/crypto-kitties/kitty-auction/wasm/Cargo.toml +++ b/contracts/examples/crypto-kitties/kitty-auction/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/examples/crypto-kitties/kitty-genetic-alg/Cargo.toml b/contracts/examples/crypto-kitties/kitty-genetic-alg/Cargo.toml index dc33631ae2..8c94bfe0de 100644 --- a/contracts/examples/crypto-kitties/kitty-genetic-alg/Cargo.toml +++ b/contracts/examples/crypto-kitties/kitty-genetic-alg/Cargo.toml @@ -18,9 +18,9 @@ version = "0.0.0" path = "../common/random" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/base" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/scenario" diff --git a/contracts/examples/crypto-kitties/kitty-genetic-alg/meta/Cargo.toml b/contracts/examples/crypto-kitties/kitty-genetic-alg/meta/Cargo.toml index 6e5346904e..8e09c03447 100644 --- a/contracts/examples/crypto-kitties/kitty-genetic-alg/meta/Cargo.toml +++ b/contracts/examples/crypto-kitties/kitty-genetic-alg/meta/Cargo.toml @@ -8,6 +8,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/meta" default-features = false diff --git a/contracts/examples/crypto-kitties/kitty-genetic-alg/wasm/Cargo.toml b/contracts/examples/crypto-kitties/kitty-genetic-alg/wasm/Cargo.toml index a30b72aef2..a7105ac21c 100644 --- a/contracts/examples/crypto-kitties/kitty-genetic-alg/wasm/Cargo.toml +++ b/contracts/examples/crypto-kitties/kitty-genetic-alg/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/examples/crypto-kitties/kitty-ownership/Cargo.toml b/contracts/examples/crypto-kitties/kitty-ownership/Cargo.toml index 1728c94feb..cbd78aed52 100644 --- a/contracts/examples/crypto-kitties/kitty-ownership/Cargo.toml +++ b/contracts/examples/crypto-kitties/kitty-ownership/Cargo.toml @@ -21,9 +21,9 @@ version = "0.0.0" path = "../kitty-genetic-alg" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/base" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/scenario" diff --git a/contracts/examples/crypto-kitties/kitty-ownership/meta/Cargo.toml b/contracts/examples/crypto-kitties/kitty-ownership/meta/Cargo.toml index 5504b33b0b..fe5c579c57 100644 --- a/contracts/examples/crypto-kitties/kitty-ownership/meta/Cargo.toml +++ b/contracts/examples/crypto-kitties/kitty-ownership/meta/Cargo.toml @@ -8,6 +8,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/meta" default-features = false diff --git a/contracts/examples/crypto-kitties/kitty-ownership/wasm/Cargo.toml b/contracts/examples/crypto-kitties/kitty-ownership/wasm/Cargo.toml index 7ca40a20d2..d81e2aec49 100644 --- a/contracts/examples/crypto-kitties/kitty-ownership/wasm/Cargo.toml +++ b/contracts/examples/crypto-kitties/kitty-ownership/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/examples/crypto-zombies/Cargo.toml b/contracts/examples/crypto-zombies/Cargo.toml index 8d33d5587f..3f30e8030e 100644 --- a/contracts/examples/crypto-zombies/Cargo.toml +++ b/contracts/examples/crypto-zombies/Cargo.toml @@ -9,9 +9,9 @@ publish = false path = "src/lib.rs" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/base" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/scenario" diff --git a/contracts/examples/crypto-zombies/meta/Cargo.toml b/contracts/examples/crypto-zombies/meta/Cargo.toml index 343741be0e..396fb6584e 100644 --- a/contracts/examples/crypto-zombies/meta/Cargo.toml +++ b/contracts/examples/crypto-zombies/meta/Cargo.toml @@ -8,6 +8,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/meta" default-features = false diff --git a/contracts/examples/crypto-zombies/wasm/Cargo.toml b/contracts/examples/crypto-zombies/wasm/Cargo.toml index fc23af1935..3234a023e6 100644 --- a/contracts/examples/crypto-zombies/wasm/Cargo.toml +++ b/contracts/examples/crypto-zombies/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/examples/digital-cash/Cargo.toml b/contracts/examples/digital-cash/Cargo.toml index f185de1de5..c9a21caba1 100644 --- a/contracts/examples/digital-cash/Cargo.toml +++ b/contracts/examples/digital-cash/Cargo.toml @@ -9,9 +9,9 @@ publish = false path = "src/digital_cash.rs" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/base" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/scenario" diff --git a/contracts/examples/digital-cash/meta/Cargo.toml b/contracts/examples/digital-cash/meta/Cargo.toml index 99cf70662c..42e08a4777 100644 --- a/contracts/examples/digital-cash/meta/Cargo.toml +++ b/contracts/examples/digital-cash/meta/Cargo.toml @@ -8,6 +8,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/meta" default-features = false diff --git a/contracts/examples/digital-cash/wasm/Cargo.toml b/contracts/examples/digital-cash/wasm/Cargo.toml index 74d23b95d3..ec1d9efa8f 100644 --- a/contracts/examples/digital-cash/wasm/Cargo.toml +++ b/contracts/examples/digital-cash/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/examples/empty/Cargo.toml b/contracts/examples/empty/Cargo.toml index 73588027f2..a8403c0d71 100644 --- a/contracts/examples/empty/Cargo.toml +++ b/contracts/examples/empty/Cargo.toml @@ -9,11 +9,11 @@ publish = false path = "src/empty.rs" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/base" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/scenario" [dev-dependencies] diff --git a/contracts/examples/empty/meta/Cargo.toml b/contracts/examples/empty/meta/Cargo.toml index 6cf91f7890..47a8dbdfd0 100644 --- a/contracts/examples/empty/meta/Cargo.toml +++ b/contracts/examples/empty/meta/Cargo.toml @@ -8,6 +8,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/meta" default-features = false diff --git a/contracts/examples/empty/wasm/Cargo.toml b/contracts/examples/empty/wasm/Cargo.toml index 7035a83338..9a551ecd8a 100644 --- a/contracts/examples/empty/wasm/Cargo.toml +++ b/contracts/examples/empty/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/examples/esdt-transfer-with-fee/Cargo.toml b/contracts/examples/esdt-transfer-with-fee/Cargo.toml index 26c9e1ccef..a930ff827c 100644 --- a/contracts/examples/esdt-transfer-with-fee/Cargo.toml +++ b/contracts/examples/esdt-transfer-with-fee/Cargo.toml @@ -9,9 +9,9 @@ publish = false path = "src/esdt_transfer_with_fee.rs" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/base" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/scenario" diff --git a/contracts/examples/esdt-transfer-with-fee/meta/Cargo.toml b/contracts/examples/esdt-transfer-with-fee/meta/Cargo.toml index 7838c62d7b..5f0ac8e76f 100644 --- a/contracts/examples/esdt-transfer-with-fee/meta/Cargo.toml +++ b/contracts/examples/esdt-transfer-with-fee/meta/Cargo.toml @@ -8,6 +8,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/meta" default-features = false diff --git a/contracts/examples/esdt-transfer-with-fee/wasm/Cargo.toml b/contracts/examples/esdt-transfer-with-fee/wasm/Cargo.toml index 1b25088dc3..dd7d97cdb8 100644 --- a/contracts/examples/esdt-transfer-with-fee/wasm/Cargo.toml +++ b/contracts/examples/esdt-transfer-with-fee/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/examples/factorial/Cargo.toml b/contracts/examples/factorial/Cargo.toml index 9cd04e512a..a8e1caf074 100644 --- a/contracts/examples/factorial/Cargo.toml +++ b/contracts/examples/factorial/Cargo.toml @@ -9,9 +9,9 @@ publish = false path = "src/factorial.rs" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/base" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/scenario" diff --git a/contracts/examples/factorial/meta/Cargo.toml b/contracts/examples/factorial/meta/Cargo.toml index 97e811c98c..6cdefc436d 100644 --- a/contracts/examples/factorial/meta/Cargo.toml +++ b/contracts/examples/factorial/meta/Cargo.toml @@ -9,6 +9,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/meta" default-features = false diff --git a/contracts/examples/factorial/wasm/Cargo.toml b/contracts/examples/factorial/wasm/Cargo.toml index 7e5290631a..8889a9b7ae 100644 --- a/contracts/examples/factorial/wasm/Cargo.toml +++ b/contracts/examples/factorial/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/examples/fractional-nfts/Cargo.toml b/contracts/examples/fractional-nfts/Cargo.toml index e454076d7b..a64f7f323d 100644 --- a/contracts/examples/fractional-nfts/Cargo.toml +++ b/contracts/examples/fractional-nfts/Cargo.toml @@ -9,13 +9,13 @@ publish = false path = "src/fractional_nfts.rs" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/base" [dependencies.multiversx-sc-modules] -version = "0.47.4" +version = "0.47.5" path = "../../../contracts/modules" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/scenario" diff --git a/contracts/examples/fractional-nfts/meta/Cargo.toml b/contracts/examples/fractional-nfts/meta/Cargo.toml index 08ba253b46..24ca9dc1c9 100644 --- a/contracts/examples/fractional-nfts/meta/Cargo.toml +++ b/contracts/examples/fractional-nfts/meta/Cargo.toml @@ -9,6 +9,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/meta" default-features = false diff --git a/contracts/examples/fractional-nfts/wasm/Cargo.toml b/contracts/examples/fractional-nfts/wasm/Cargo.toml index 3dd5eedcd1..ae8fa6d005 100644 --- a/contracts/examples/fractional-nfts/wasm/Cargo.toml +++ b/contracts/examples/fractional-nfts/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/examples/lottery-esdt/Cargo.toml b/contracts/examples/lottery-esdt/Cargo.toml index 0a3accab09..75cb2cdb2f 100644 --- a/contracts/examples/lottery-esdt/Cargo.toml +++ b/contracts/examples/lottery-esdt/Cargo.toml @@ -9,9 +9,9 @@ publish = false path = "src/lottery.rs" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/base" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/scenario" diff --git a/contracts/examples/lottery-esdt/meta/Cargo.toml b/contracts/examples/lottery-esdt/meta/Cargo.toml index 0fb743b225..fe025f1fbf 100644 --- a/contracts/examples/lottery-esdt/meta/Cargo.toml +++ b/contracts/examples/lottery-esdt/meta/Cargo.toml @@ -9,6 +9,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/meta" default-features = false diff --git a/contracts/examples/lottery-esdt/wasm/Cargo.toml b/contracts/examples/lottery-esdt/wasm/Cargo.toml index a7a83472b4..c0395a9569 100644 --- a/contracts/examples/lottery-esdt/wasm/Cargo.toml +++ b/contracts/examples/lottery-esdt/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/examples/multisig/Cargo.toml b/contracts/examples/multisig/Cargo.toml index 9fcb9eef78..784f5b8bfd 100644 --- a/contracts/examples/multisig/Cargo.toml +++ b/contracts/examples/multisig/Cargo.toml @@ -9,15 +9,15 @@ publish = false path = "src/multisig.rs" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/base" [dependencies.multiversx-sc-modules] -version = "0.47.4" +version = "0.47.5" path = "../../../contracts/modules" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/scenario" [dev-dependencies.adder] @@ -27,7 +27,7 @@ path = "../adder" path = "../factorial" [dev-dependencies.multiversx-wegld-swap-sc] -version = "0.47.4" +version = "0.47.5" path = "../../core/wegld-swap" [dev-dependencies] diff --git a/contracts/examples/multisig/interact/Cargo.toml b/contracts/examples/multisig/interact/Cargo.toml index b829512742..3720db003d 100644 --- a/contracts/examples/multisig/interact/Cargo.toml +++ b/contracts/examples/multisig/interact/Cargo.toml @@ -18,13 +18,13 @@ toml = "0.8.6" path = ".." [dependencies.multiversx-sc-modules] -version = "0.47.4" +version = "0.47.5" path = "../../../../contracts/modules" [dependencies.multiversx-sc-snippets] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/snippets" [dependencies.multiversx-sc-scenario] -version = "=0.47.4" +version = "=0.47.5" path = "../../../../framework/scenario" diff --git a/contracts/examples/multisig/meta/Cargo.toml b/contracts/examples/multisig/meta/Cargo.toml index ba9578d1b8..1b46da4489 100644 --- a/contracts/examples/multisig/meta/Cargo.toml +++ b/contracts/examples/multisig/meta/Cargo.toml @@ -9,6 +9,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/meta" default-features = false diff --git a/contracts/examples/multisig/wasm-multisig-full/Cargo.toml b/contracts/examples/multisig/wasm-multisig-full/Cargo.toml index 7f94c7aca2..64faae5032 100644 --- a/contracts/examples/multisig/wasm-multisig-full/Cargo.toml +++ b/contracts/examples/multisig/wasm-multisig-full/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/examples/multisig/wasm-multisig-view/Cargo.toml b/contracts/examples/multisig/wasm-multisig-view/Cargo.toml index cb6d9ffa87..ec1c6aba87 100644 --- a/contracts/examples/multisig/wasm-multisig-view/Cargo.toml +++ b/contracts/examples/multisig/wasm-multisig-view/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/examples/multisig/wasm/Cargo.toml b/contracts/examples/multisig/wasm/Cargo.toml index 195ea27460..de21ada11d 100644 --- a/contracts/examples/multisig/wasm/Cargo.toml +++ b/contracts/examples/multisig/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/examples/nft-minter/Cargo.toml b/contracts/examples/nft-minter/Cargo.toml index 60c0da0635..9bcab9f7cc 100644 --- a/contracts/examples/nft-minter/Cargo.toml +++ b/contracts/examples/nft-minter/Cargo.toml @@ -9,9 +9,9 @@ publish = false path = "src/lib.rs" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/base" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/scenario" diff --git a/contracts/examples/nft-minter/meta/Cargo.toml b/contracts/examples/nft-minter/meta/Cargo.toml index b4ae982d3c..9193979931 100644 --- a/contracts/examples/nft-minter/meta/Cargo.toml +++ b/contracts/examples/nft-minter/meta/Cargo.toml @@ -9,6 +9,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/meta" default-features = false diff --git a/contracts/examples/nft-minter/wasm/Cargo.toml b/contracts/examples/nft-minter/wasm/Cargo.toml index b3910d1abb..d44e299f52 100644 --- a/contracts/examples/nft-minter/wasm/Cargo.toml +++ b/contracts/examples/nft-minter/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/examples/nft-storage-prepay/Cargo.toml b/contracts/examples/nft-storage-prepay/Cargo.toml index 3db0ad7f00..c40c8096e5 100644 --- a/contracts/examples/nft-storage-prepay/Cargo.toml +++ b/contracts/examples/nft-storage-prepay/Cargo.toml @@ -10,9 +10,9 @@ path = "src/nft_storage_prepay.rs" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/base" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/scenario" diff --git a/contracts/examples/nft-storage-prepay/meta/Cargo.toml b/contracts/examples/nft-storage-prepay/meta/Cargo.toml index 5a1f750b79..2ecb100f40 100644 --- a/contracts/examples/nft-storage-prepay/meta/Cargo.toml +++ b/contracts/examples/nft-storage-prepay/meta/Cargo.toml @@ -11,6 +11,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/meta" default-features = false diff --git a/contracts/examples/nft-storage-prepay/wasm/Cargo.toml b/contracts/examples/nft-storage-prepay/wasm/Cargo.toml index 0c1e629109..2d0fa1f340 100644 --- a/contracts/examples/nft-storage-prepay/wasm/Cargo.toml +++ b/contracts/examples/nft-storage-prepay/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/examples/nft-subscription/Cargo.toml b/contracts/examples/nft-subscription/Cargo.toml index 57e5eecc3c..c3a15ca04e 100644 --- a/contracts/examples/nft-subscription/Cargo.toml +++ b/contracts/examples/nft-subscription/Cargo.toml @@ -9,13 +9,13 @@ publish = false path = "src/lib.rs" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/base" [dependencies.multiversx-sc-modules] -version = "0.47.4" +version = "0.47.5" path = "../../../contracts/modules" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/scenario" diff --git a/contracts/examples/nft-subscription/meta/Cargo.toml b/contracts/examples/nft-subscription/meta/Cargo.toml index 775ebbeb9b..ebb5c97716 100644 --- a/contracts/examples/nft-subscription/meta/Cargo.toml +++ b/contracts/examples/nft-subscription/meta/Cargo.toml @@ -9,6 +9,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/meta" default-features = false diff --git a/contracts/examples/nft-subscription/wasm/Cargo.toml b/contracts/examples/nft-subscription/wasm/Cargo.toml index 0c021cd606..0469136d02 100644 --- a/contracts/examples/nft-subscription/wasm/Cargo.toml +++ b/contracts/examples/nft-subscription/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/examples/order-book/factory/Cargo.toml b/contracts/examples/order-book/factory/Cargo.toml index 774668a3dd..e78a41e300 100644 --- a/contracts/examples/order-book/factory/Cargo.toml +++ b/contracts/examples/order-book/factory/Cargo.toml @@ -8,10 +8,10 @@ publish = false path = "src/lib.rs" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/base" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/scenario" diff --git a/contracts/examples/order-book/factory/meta/Cargo.toml b/contracts/examples/order-book/factory/meta/Cargo.toml index a632afb175..c81b977517 100644 --- a/contracts/examples/order-book/factory/meta/Cargo.toml +++ b/contracts/examples/order-book/factory/meta/Cargo.toml @@ -9,6 +9,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/meta" default-features = false diff --git a/contracts/examples/order-book/factory/wasm/Cargo.toml b/contracts/examples/order-book/factory/wasm/Cargo.toml index 9c512e3e00..491a30d13c 100644 --- a/contracts/examples/order-book/factory/wasm/Cargo.toml +++ b/contracts/examples/order-book/factory/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/examples/order-book/pair/Cargo.toml b/contracts/examples/order-book/pair/Cargo.toml index ded9aa2f79..db90006821 100644 --- a/contracts/examples/order-book/pair/Cargo.toml +++ b/contracts/examples/order-book/pair/Cargo.toml @@ -8,9 +8,9 @@ publish = false path = "src/lib.rs" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/base" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/scenario" diff --git a/contracts/examples/order-book/pair/meta/Cargo.toml b/contracts/examples/order-book/pair/meta/Cargo.toml index 6e8fab5792..b9af3fa938 100644 --- a/contracts/examples/order-book/pair/meta/Cargo.toml +++ b/contracts/examples/order-book/pair/meta/Cargo.toml @@ -9,6 +9,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/meta" default-features = false diff --git a/contracts/examples/order-book/pair/wasm/Cargo.toml b/contracts/examples/order-book/pair/wasm/Cargo.toml index d497348f77..f00e902291 100644 --- a/contracts/examples/order-book/pair/wasm/Cargo.toml +++ b/contracts/examples/order-book/pair/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/examples/ping-pong-egld/Cargo.toml b/contracts/examples/ping-pong-egld/Cargo.toml index ff46d18e80..2679417da3 100644 --- a/contracts/examples/ping-pong-egld/Cargo.toml +++ b/contracts/examples/ping-pong-egld/Cargo.toml @@ -9,10 +9,10 @@ publish = false path = "src/ping_pong.rs" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/base" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/scenario" diff --git a/contracts/examples/ping-pong-egld/meta/Cargo.toml b/contracts/examples/ping-pong-egld/meta/Cargo.toml index 0d9baadffa..0b40d9aa0b 100644 --- a/contracts/examples/ping-pong-egld/meta/Cargo.toml +++ b/contracts/examples/ping-pong-egld/meta/Cargo.toml @@ -9,6 +9,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/meta" default-features = false diff --git a/contracts/examples/ping-pong-egld/wasm/Cargo.toml b/contracts/examples/ping-pong-egld/wasm/Cargo.toml index 9417659b63..73147c5c45 100644 --- a/contracts/examples/ping-pong-egld/wasm/Cargo.toml +++ b/contracts/examples/ping-pong-egld/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/examples/proxy-pause/Cargo.toml b/contracts/examples/proxy-pause/Cargo.toml index 7e0e196164..3e4c3a6aec 100644 --- a/contracts/examples/proxy-pause/Cargo.toml +++ b/contracts/examples/proxy-pause/Cargo.toml @@ -9,11 +9,11 @@ publish = false path = "src/proxy_pause.rs" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/base" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/scenario" [dev-dependencies.check-pause] diff --git a/contracts/examples/proxy-pause/meta/Cargo.toml b/contracts/examples/proxy-pause/meta/Cargo.toml index db82122ea2..fba5a0b1bc 100644 --- a/contracts/examples/proxy-pause/meta/Cargo.toml +++ b/contracts/examples/proxy-pause/meta/Cargo.toml @@ -11,6 +11,6 @@ authors = [ "you",] path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/meta" default-features = false diff --git a/contracts/examples/proxy-pause/wasm/Cargo.toml b/contracts/examples/proxy-pause/wasm/Cargo.toml index ff6d1c3934..bdf21b6703 100644 --- a/contracts/examples/proxy-pause/wasm/Cargo.toml +++ b/contracts/examples/proxy-pause/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/examples/rewards-distribution/Cargo.toml b/contracts/examples/rewards-distribution/Cargo.toml index 0b4aaaf2fa..bafdb40929 100644 --- a/contracts/examples/rewards-distribution/Cargo.toml +++ b/contracts/examples/rewards-distribution/Cargo.toml @@ -9,13 +9,13 @@ publish = false path = "src/rewards_distribution.rs" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/base" [dependencies.multiversx-sc-modules] -version = "0.47.4" +version = "0.47.5" path = "../../../contracts/modules" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/scenario" diff --git a/contracts/examples/rewards-distribution/meta/Cargo.toml b/contracts/examples/rewards-distribution/meta/Cargo.toml index 29dcbbdb78..cf59d2db46 100644 --- a/contracts/examples/rewards-distribution/meta/Cargo.toml +++ b/contracts/examples/rewards-distribution/meta/Cargo.toml @@ -11,6 +11,6 @@ authors = ["Claudiu-Marcel Bruda "] path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/meta" default-features = false diff --git a/contracts/examples/rewards-distribution/wasm/Cargo.toml b/contracts/examples/rewards-distribution/wasm/Cargo.toml index ebe9b96a67..a17709b9e7 100644 --- a/contracts/examples/rewards-distribution/wasm/Cargo.toml +++ b/contracts/examples/rewards-distribution/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/examples/seed-nft-minter/Cargo.toml b/contracts/examples/seed-nft-minter/Cargo.toml index d2811a722a..b1b22d1276 100644 --- a/contracts/examples/seed-nft-minter/Cargo.toml +++ b/contracts/examples/seed-nft-minter/Cargo.toml @@ -9,13 +9,13 @@ publish = false path = "src/seed_nft_minter.rs" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/base" [dependencies.multiversx-sc-modules] -version = "0.47.4" +version = "0.47.5" path = "../../../contracts/modules" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/scenario" diff --git a/contracts/examples/seed-nft-minter/meta/Cargo.toml b/contracts/examples/seed-nft-minter/meta/Cargo.toml index 03267bcff6..9828dc2788 100644 --- a/contracts/examples/seed-nft-minter/meta/Cargo.toml +++ b/contracts/examples/seed-nft-minter/meta/Cargo.toml @@ -11,6 +11,6 @@ authors = ["Claudiu-Marcel Bruda "] path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/meta" default-features = false diff --git a/contracts/examples/seed-nft-minter/wasm/Cargo.toml b/contracts/examples/seed-nft-minter/wasm/Cargo.toml index f42bc4173b..b6f616bf91 100644 --- a/contracts/examples/seed-nft-minter/wasm/Cargo.toml +++ b/contracts/examples/seed-nft-minter/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/examples/token-release/Cargo.toml b/contracts/examples/token-release/Cargo.toml index adaf65157d..2e20827705 100644 --- a/contracts/examples/token-release/Cargo.toml +++ b/contracts/examples/token-release/Cargo.toml @@ -9,10 +9,10 @@ publish = false path = "src/token_release.rs" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/base" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/scenario" diff --git a/contracts/examples/token-release/meta/Cargo.toml b/contracts/examples/token-release/meta/Cargo.toml index e642a6a5e5..d774d4a2bb 100644 --- a/contracts/examples/token-release/meta/Cargo.toml +++ b/contracts/examples/token-release/meta/Cargo.toml @@ -10,7 +10,7 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/meta" default-features = false diff --git a/contracts/examples/token-release/wasm/Cargo.toml b/contracts/examples/token-release/wasm/Cargo.toml index 24228e9dc2..71ad98f976 100644 --- a/contracts/examples/token-release/wasm/Cargo.toml +++ b/contracts/examples/token-release/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/feature-tests/abi-tester/Cargo.toml b/contracts/feature-tests/abi-tester/Cargo.toml index cec5c2c3e8..66ff8bb666 100644 --- a/contracts/feature-tests/abi-tester/Cargo.toml +++ b/contracts/feature-tests/abi-tester/Cargo.toml @@ -9,14 +9,14 @@ publish = false path = "src/abi_tester.rs" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/base" features = ["alloc"] [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/scenario" [dev-dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/meta" diff --git a/contracts/feature-tests/abi-tester/abi_tester_expected_main.abi.json b/contracts/feature-tests/abi-tester/abi_tester_expected_main.abi.json index 430deb54a5..24c96a91f5 100644 --- a/contracts/feature-tests/abi-tester/abi_tester_expected_main.abi.json +++ b/contracts/feature-tests/abi-tester/abi_tester_expected_main.abi.json @@ -14,7 +14,7 @@ }, "framework": { "name": "multiversx-sc", - "version": "0.47.4" + "version": "0.47.5" } }, "docs": [ diff --git a/contracts/feature-tests/abi-tester/abi_tester_expected_view.abi.json b/contracts/feature-tests/abi-tester/abi_tester_expected_view.abi.json index fed675f693..72b756e470 100644 --- a/contracts/feature-tests/abi-tester/abi_tester_expected_view.abi.json +++ b/contracts/feature-tests/abi-tester/abi_tester_expected_view.abi.json @@ -14,7 +14,7 @@ }, "framework": { "name": "multiversx-sc", - "version": "0.47.4" + "version": "0.47.5" } }, "docs": [ diff --git a/contracts/feature-tests/abi-tester/meta/Cargo.toml b/contracts/feature-tests/abi-tester/meta/Cargo.toml index 3836cec9f0..00bd658c54 100644 --- a/contracts/feature-tests/abi-tester/meta/Cargo.toml +++ b/contracts/feature-tests/abi-tester/meta/Cargo.toml @@ -9,6 +9,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/meta" default-features = false diff --git a/contracts/feature-tests/abi-tester/wasm-abi-tester-ev/Cargo.toml b/contracts/feature-tests/abi-tester/wasm-abi-tester-ev/Cargo.toml index 20f86c0cd5..f6fa5ff5af 100644 --- a/contracts/feature-tests/abi-tester/wasm-abi-tester-ev/Cargo.toml +++ b/contracts/feature-tests/abi-tester/wasm-abi-tester-ev/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/feature-tests/abi-tester/wasm/Cargo.toml b/contracts/feature-tests/abi-tester/wasm/Cargo.toml index b6a74f8486..b5171c7792 100644 --- a/contracts/feature-tests/abi-tester/wasm/Cargo.toml +++ b/contracts/feature-tests/abi-tester/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/feature-tests/alloc-features/Cargo.toml b/contracts/feature-tests/alloc-features/Cargo.toml index 90e8413f1b..3af733d06d 100644 --- a/contracts/feature-tests/alloc-features/Cargo.toml +++ b/contracts/feature-tests/alloc-features/Cargo.toml @@ -9,12 +9,12 @@ publish = false path = "src/alloc_features_main.rs" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/base" features = ["alloc"] [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/scenario" [dev-dependencies.esdt-system-sc-mock] diff --git a/contracts/feature-tests/alloc-features/meta/Cargo.toml b/contracts/feature-tests/alloc-features/meta/Cargo.toml index 1965ef6297..e737db810b 100644 --- a/contracts/feature-tests/alloc-features/meta/Cargo.toml +++ b/contracts/feature-tests/alloc-features/meta/Cargo.toml @@ -9,6 +9,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/meta" default-features = false diff --git a/contracts/feature-tests/alloc-features/wasm-alloc-mem-fail/Cargo.toml b/contracts/feature-tests/alloc-features/wasm-alloc-mem-fail/Cargo.toml index cded4e93ba..c4a1f55e35 100644 --- a/contracts/feature-tests/alloc-features/wasm-alloc-mem-fail/Cargo.toml +++ b/contracts/feature-tests/alloc-features/wasm-alloc-mem-fail/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/feature-tests/alloc-features/wasm-alloc-mem-leaking/Cargo.toml b/contracts/feature-tests/alloc-features/wasm-alloc-mem-leaking/Cargo.toml index f0db37cc10..3380c24cf1 100644 --- a/contracts/feature-tests/alloc-features/wasm-alloc-mem-leaking/Cargo.toml +++ b/contracts/feature-tests/alloc-features/wasm-alloc-mem-leaking/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/feature-tests/alloc-features/wasm/Cargo.toml b/contracts/feature-tests/alloc-features/wasm/Cargo.toml index 1b66a4a451..398ff4d589 100644 --- a/contracts/feature-tests/alloc-features/wasm/Cargo.toml +++ b/contracts/feature-tests/alloc-features/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/feature-tests/basic-features/Cargo.toml b/contracts/feature-tests/basic-features/Cargo.toml index d31bcd043a..52a6628859 100644 --- a/contracts/feature-tests/basic-features/Cargo.toml +++ b/contracts/feature-tests/basic-features/Cargo.toml @@ -9,15 +9,15 @@ publish = false path = "src/basic_features_main.rs" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/base" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/scenario" [dependencies.multiversx-sc-modules] -version = "0.47.4" +version = "0.47.5" path = "../../../contracts/modules" [dev-dependencies.esdt-system-sc-mock] diff --git a/contracts/feature-tests/basic-features/interact/Cargo.toml b/contracts/feature-tests/basic-features/interact/Cargo.toml index fe36163ce6..e761436e47 100644 --- a/contracts/feature-tests/basic-features/interact/Cargo.toml +++ b/contracts/feature-tests/basic-features/interact/Cargo.toml @@ -18,5 +18,5 @@ toml = "0.8.6" path = ".." [dependencies.multiversx-sc-snippets] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/snippets" diff --git a/contracts/feature-tests/basic-features/meta/Cargo.toml b/contracts/feature-tests/basic-features/meta/Cargo.toml index 2d38fa35fb..0f728ed49f 100644 --- a/contracts/feature-tests/basic-features/meta/Cargo.toml +++ b/contracts/feature-tests/basic-features/meta/Cargo.toml @@ -9,6 +9,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/meta" default-features = false diff --git a/contracts/feature-tests/basic-features/wasm-basic-features-storage-bytes/Cargo.toml b/contracts/feature-tests/basic-features/wasm-basic-features-storage-bytes/Cargo.toml index 998a44ec4e..22d26cd5d5 100644 --- a/contracts/feature-tests/basic-features/wasm-basic-features-storage-bytes/Cargo.toml +++ b/contracts/feature-tests/basic-features/wasm-basic-features-storage-bytes/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/feature-tests/basic-features/wasm/Cargo.toml b/contracts/feature-tests/basic-features/wasm/Cargo.toml index 97414fe81c..5b2c30319d 100644 --- a/contracts/feature-tests/basic-features/wasm/Cargo.toml +++ b/contracts/feature-tests/basic-features/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = true path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/feature-tests/big-float-features/Cargo.toml b/contracts/feature-tests/big-float-features/Cargo.toml index d64ff28385..3444fe9e30 100644 --- a/contracts/feature-tests/big-float-features/Cargo.toml +++ b/contracts/feature-tests/big-float-features/Cargo.toml @@ -9,11 +9,11 @@ publish = false path = "src/big_float_main.rs" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/base" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/scenario" [dev-dependencies.esdt-system-sc-mock] diff --git a/contracts/feature-tests/big-float-features/meta/Cargo.toml b/contracts/feature-tests/big-float-features/meta/Cargo.toml index 5243b3c760..9d7b7d3850 100644 --- a/contracts/feature-tests/big-float-features/meta/Cargo.toml +++ b/contracts/feature-tests/big-float-features/meta/Cargo.toml @@ -9,6 +9,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/meta" default-features = false diff --git a/contracts/feature-tests/big-float-features/wasm/Cargo.toml b/contracts/feature-tests/big-float-features/wasm/Cargo.toml index 1c090cc1a0..e62efe10e7 100644 --- a/contracts/feature-tests/big-float-features/wasm/Cargo.toml +++ b/contracts/feature-tests/big-float-features/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/feature-tests/composability/Cargo.toml b/contracts/feature-tests/composability/Cargo.toml index 0c85eb9580..d9ae0995ca 100644 --- a/contracts/feature-tests/composability/Cargo.toml +++ b/contracts/feature-tests/composability/Cargo.toml @@ -33,9 +33,9 @@ path = "recursive-caller" path = "vault" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/base" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/scenario" diff --git a/contracts/feature-tests/composability/builtin-func-features/Cargo.toml b/contracts/feature-tests/composability/builtin-func-features/Cargo.toml index 8c1eb8e107..c3f3d304ed 100644 --- a/contracts/feature-tests/composability/builtin-func-features/Cargo.toml +++ b/contracts/feature-tests/composability/builtin-func-features/Cargo.toml @@ -9,9 +9,9 @@ publish = false path = "src/builtin_func_features.rs" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/base" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/scenario" diff --git a/contracts/feature-tests/composability/builtin-func-features/meta/Cargo.toml b/contracts/feature-tests/composability/builtin-func-features/meta/Cargo.toml index 7a71e9cbbe..ab7adb1818 100644 --- a/contracts/feature-tests/composability/builtin-func-features/meta/Cargo.toml +++ b/contracts/feature-tests/composability/builtin-func-features/meta/Cargo.toml @@ -8,6 +8,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/meta" default-features = false diff --git a/contracts/feature-tests/composability/builtin-func-features/wasm/Cargo.toml b/contracts/feature-tests/composability/builtin-func-features/wasm/Cargo.toml index c67a18439e..fb43fc2f21 100644 --- a/contracts/feature-tests/composability/builtin-func-features/wasm/Cargo.toml +++ b/contracts/feature-tests/composability/builtin-func-features/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/feature-tests/composability/esdt-contract-pair/Cargo.toml b/contracts/feature-tests/composability/esdt-contract-pair/Cargo.toml index c259e1e885..d5cae9e497 100644 --- a/contracts/feature-tests/composability/esdt-contract-pair/Cargo.toml +++ b/contracts/feature-tests/composability/esdt-contract-pair/Cargo.toml @@ -12,9 +12,9 @@ path = "first-contract" path = "second-contract" [dev-dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/base" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/scenario" diff --git a/contracts/feature-tests/composability/esdt-contract-pair/first-contract/Cargo.toml b/contracts/feature-tests/composability/esdt-contract-pair/first-contract/Cargo.toml index 6a48132cac..710f03fd71 100644 --- a/contracts/feature-tests/composability/esdt-contract-pair/first-contract/Cargo.toml +++ b/contracts/feature-tests/composability/esdt-contract-pair/first-contract/Cargo.toml @@ -10,10 +10,10 @@ path = "src/lib.rs" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/base" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/scenario" diff --git a/contracts/feature-tests/composability/esdt-contract-pair/first-contract/meta/Cargo.toml b/contracts/feature-tests/composability/esdt-contract-pair/first-contract/meta/Cargo.toml index 4b9cbfed22..c2449efbf6 100644 --- a/contracts/feature-tests/composability/esdt-contract-pair/first-contract/meta/Cargo.toml +++ b/contracts/feature-tests/composability/esdt-contract-pair/first-contract/meta/Cargo.toml @@ -8,10 +8,10 @@ publish = false path = ".." [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../../../../framework/base" [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../../../framework/meta" default-features = false diff --git a/contracts/feature-tests/composability/esdt-contract-pair/first-contract/wasm/Cargo.toml b/contracts/feature-tests/composability/esdt-contract-pair/first-contract/wasm/Cargo.toml index 2f5a726d5f..544a09a21e 100644 --- a/contracts/feature-tests/composability/esdt-contract-pair/first-contract/wasm/Cargo.toml +++ b/contracts/feature-tests/composability/esdt-contract-pair/first-contract/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/feature-tests/composability/esdt-contract-pair/second-contract/Cargo.toml b/contracts/feature-tests/composability/esdt-contract-pair/second-contract/Cargo.toml index 504404a1a5..6d5c7636d0 100644 --- a/contracts/feature-tests/composability/esdt-contract-pair/second-contract/Cargo.toml +++ b/contracts/feature-tests/composability/esdt-contract-pair/second-contract/Cargo.toml @@ -10,10 +10,10 @@ path = "src/lib.rs" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/base" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/scenario" diff --git a/contracts/feature-tests/composability/esdt-contract-pair/second-contract/meta/Cargo.toml b/contracts/feature-tests/composability/esdt-contract-pair/second-contract/meta/Cargo.toml index 223fb43d64..144cff2dbc 100644 --- a/contracts/feature-tests/composability/esdt-contract-pair/second-contract/meta/Cargo.toml +++ b/contracts/feature-tests/composability/esdt-contract-pair/second-contract/meta/Cargo.toml @@ -8,10 +8,10 @@ publish = false path = ".." [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../../../../framework/base" [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../../../framework/meta" default-features = false diff --git a/contracts/feature-tests/composability/esdt-contract-pair/second-contract/wasm/Cargo.toml b/contracts/feature-tests/composability/esdt-contract-pair/second-contract/wasm/Cargo.toml index f341fac72d..6a878e1822 100644 --- a/contracts/feature-tests/composability/esdt-contract-pair/second-contract/wasm/Cargo.toml +++ b/contracts/feature-tests/composability/esdt-contract-pair/second-contract/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/feature-tests/composability/execute-on-dest-esdt-issue-callback/Cargo.toml b/contracts/feature-tests/composability/execute-on-dest-esdt-issue-callback/Cargo.toml index 102bcfed58..298cc38ea3 100644 --- a/contracts/feature-tests/composability/execute-on-dest-esdt-issue-callback/Cargo.toml +++ b/contracts/feature-tests/composability/execute-on-dest-esdt-issue-callback/Cargo.toml @@ -16,9 +16,9 @@ path = "parent" path = "child" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/base" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/scenario" diff --git a/contracts/feature-tests/composability/execute-on-dest-esdt-issue-callback/child/Cargo.toml b/contracts/feature-tests/composability/execute-on-dest-esdt-issue-callback/child/Cargo.toml index fd851251ab..f1bd614d0b 100644 --- a/contracts/feature-tests/composability/execute-on-dest-esdt-issue-callback/child/Cargo.toml +++ b/contracts/feature-tests/composability/execute-on-dest-esdt-issue-callback/child/Cargo.toml @@ -10,9 +10,9 @@ path = "src/lib.rs" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/base" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/scenario" diff --git a/contracts/feature-tests/composability/execute-on-dest-esdt-issue-callback/child/meta/Cargo.toml b/contracts/feature-tests/composability/execute-on-dest-esdt-issue-callback/child/meta/Cargo.toml index 7756dd9884..159ee29fa7 100644 --- a/contracts/feature-tests/composability/execute-on-dest-esdt-issue-callback/child/meta/Cargo.toml +++ b/contracts/feature-tests/composability/execute-on-dest-esdt-issue-callback/child/meta/Cargo.toml @@ -8,10 +8,10 @@ publish = false path = ".." [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../../../../framework/base" [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../../../framework/meta" default-features = false diff --git a/contracts/feature-tests/composability/execute-on-dest-esdt-issue-callback/child/wasm/Cargo.toml b/contracts/feature-tests/composability/execute-on-dest-esdt-issue-callback/child/wasm/Cargo.toml index e142d2fc6b..8737c18b6a 100644 --- a/contracts/feature-tests/composability/execute-on-dest-esdt-issue-callback/child/wasm/Cargo.toml +++ b/contracts/feature-tests/composability/execute-on-dest-esdt-issue-callback/child/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/feature-tests/composability/execute-on-dest-esdt-issue-callback/parent/Cargo.toml b/contracts/feature-tests/composability/execute-on-dest-esdt-issue-callback/parent/Cargo.toml index 73cca05e44..7062232070 100644 --- a/contracts/feature-tests/composability/execute-on-dest-esdt-issue-callback/parent/Cargo.toml +++ b/contracts/feature-tests/composability/execute-on-dest-esdt-issue-callback/parent/Cargo.toml @@ -13,10 +13,10 @@ path = "src/lib.rs" path = "../child" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/base" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/scenario" diff --git a/contracts/feature-tests/composability/execute-on-dest-esdt-issue-callback/parent/meta/Cargo.toml b/contracts/feature-tests/composability/execute-on-dest-esdt-issue-callback/parent/meta/Cargo.toml index bd427c3855..5649f09d1f 100644 --- a/contracts/feature-tests/composability/execute-on-dest-esdt-issue-callback/parent/meta/Cargo.toml +++ b/contracts/feature-tests/composability/execute-on-dest-esdt-issue-callback/parent/meta/Cargo.toml @@ -8,10 +8,10 @@ publish = false path = ".." [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../../../../framework/base" [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../../../framework/meta" default-features = false diff --git a/contracts/feature-tests/composability/execute-on-dest-esdt-issue-callback/parent/wasm/Cargo.toml b/contracts/feature-tests/composability/execute-on-dest-esdt-issue-callback/parent/wasm/Cargo.toml index 9ac712d949..38c12cb392 100644 --- a/contracts/feature-tests/composability/execute-on-dest-esdt-issue-callback/parent/wasm/Cargo.toml +++ b/contracts/feature-tests/composability/execute-on-dest-esdt-issue-callback/parent/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/feature-tests/composability/forwarder-queue/Cargo.toml b/contracts/feature-tests/composability/forwarder-queue/Cargo.toml index b3e945ead5..943ec49253 100644 --- a/contracts/feature-tests/composability/forwarder-queue/Cargo.toml +++ b/contracts/feature-tests/composability/forwarder-queue/Cargo.toml @@ -12,14 +12,14 @@ path = "src/forwarder_queue.rs" path = "../vault" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/base" [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/wasm-adapter" optional = true [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/scenario" diff --git a/contracts/feature-tests/composability/forwarder-queue/meta/Cargo.toml b/contracts/feature-tests/composability/forwarder-queue/meta/Cargo.toml index 4eec5c09fd..e9eb852173 100644 --- a/contracts/feature-tests/composability/forwarder-queue/meta/Cargo.toml +++ b/contracts/feature-tests/composability/forwarder-queue/meta/Cargo.toml @@ -8,6 +8,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/meta" default-features = false diff --git a/contracts/feature-tests/composability/forwarder-queue/wasm-forwarder-queue-promises/Cargo.toml b/contracts/feature-tests/composability/forwarder-queue/wasm-forwarder-queue-promises/Cargo.toml index 7b86949be8..38dd4a6e53 100644 --- a/contracts/feature-tests/composability/forwarder-queue/wasm-forwarder-queue-promises/Cargo.toml +++ b/contracts/feature-tests/composability/forwarder-queue/wasm-forwarder-queue-promises/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/feature-tests/composability/forwarder-queue/wasm/Cargo.toml b/contracts/feature-tests/composability/forwarder-queue/wasm/Cargo.toml index e9df273bdc..23944ba669 100644 --- a/contracts/feature-tests/composability/forwarder-queue/wasm/Cargo.toml +++ b/contracts/feature-tests/composability/forwarder-queue/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/feature-tests/composability/forwarder-raw/Cargo.toml b/contracts/feature-tests/composability/forwarder-raw/Cargo.toml index 66c5e0f62e..759a6a64cd 100644 --- a/contracts/feature-tests/composability/forwarder-raw/Cargo.toml +++ b/contracts/feature-tests/composability/forwarder-raw/Cargo.toml @@ -9,9 +9,9 @@ publish = false path = "src/forwarder_raw.rs" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/base" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/scenario" diff --git a/contracts/feature-tests/composability/forwarder-raw/meta/Cargo.toml b/contracts/feature-tests/composability/forwarder-raw/meta/Cargo.toml index c2171c6dbd..8fc82f5db3 100644 --- a/contracts/feature-tests/composability/forwarder-raw/meta/Cargo.toml +++ b/contracts/feature-tests/composability/forwarder-raw/meta/Cargo.toml @@ -8,6 +8,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/meta" default-features = false diff --git a/contracts/feature-tests/composability/forwarder-raw/wasm-forwarder-raw-init-async-call/Cargo.toml b/contracts/feature-tests/composability/forwarder-raw/wasm-forwarder-raw-init-async-call/Cargo.toml index 01671fd73a..e247aff0e9 100644 --- a/contracts/feature-tests/composability/forwarder-raw/wasm-forwarder-raw-init-async-call/Cargo.toml +++ b/contracts/feature-tests/composability/forwarder-raw/wasm-forwarder-raw-init-async-call/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/feature-tests/composability/forwarder-raw/wasm-forwarder-raw-init-sync-call/Cargo.toml b/contracts/feature-tests/composability/forwarder-raw/wasm-forwarder-raw-init-sync-call/Cargo.toml index e48fa01a8b..1752f95e34 100644 --- a/contracts/feature-tests/composability/forwarder-raw/wasm-forwarder-raw-init-sync-call/Cargo.toml +++ b/contracts/feature-tests/composability/forwarder-raw/wasm-forwarder-raw-init-sync-call/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/feature-tests/composability/forwarder-raw/wasm/Cargo.toml b/contracts/feature-tests/composability/forwarder-raw/wasm/Cargo.toml index e4ac47294c..23a0df99d8 100644 --- a/contracts/feature-tests/composability/forwarder-raw/wasm/Cargo.toml +++ b/contracts/feature-tests/composability/forwarder-raw/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/feature-tests/composability/forwarder/Cargo.toml b/contracts/feature-tests/composability/forwarder/Cargo.toml index 8aa4dddf8d..bd5e426fce 100644 --- a/contracts/feature-tests/composability/forwarder/Cargo.toml +++ b/contracts/feature-tests/composability/forwarder/Cargo.toml @@ -12,10 +12,10 @@ path = "src/forwarder_main.rs" path = "../vault" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/base" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/scenario" diff --git a/contracts/feature-tests/composability/forwarder/meta/Cargo.toml b/contracts/feature-tests/composability/forwarder/meta/Cargo.toml index 4bfa995581..709498d977 100644 --- a/contracts/feature-tests/composability/forwarder/meta/Cargo.toml +++ b/contracts/feature-tests/composability/forwarder/meta/Cargo.toml @@ -8,6 +8,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/meta" default-features = false diff --git a/contracts/feature-tests/composability/forwarder/wasm/Cargo.toml b/contracts/feature-tests/composability/forwarder/wasm/Cargo.toml index a756f13886..e9af598856 100644 --- a/contracts/feature-tests/composability/forwarder/wasm/Cargo.toml +++ b/contracts/feature-tests/composability/forwarder/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/feature-tests/composability/interact/Cargo.toml b/contracts/feature-tests/composability/interact/Cargo.toml index 1c3f8f7eb7..3ca2ae6953 100644 --- a/contracts/feature-tests/composability/interact/Cargo.toml +++ b/contracts/feature-tests/composability/interact/Cargo.toml @@ -24,9 +24,9 @@ path = "../forwarder-queue" path = "../promises-features" [dependencies.multiversx-sc-modules] -version = "0.47.4" +version = "0.47.5" path = "../../../../contracts/modules" [dependencies.multiversx-sc-snippets] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/snippets" diff --git a/contracts/feature-tests/composability/local-esdt-and-nft/Cargo.toml b/contracts/feature-tests/composability/local-esdt-and-nft/Cargo.toml index 13908345d8..3f9638f4d2 100644 --- a/contracts/feature-tests/composability/local-esdt-and-nft/Cargo.toml +++ b/contracts/feature-tests/composability/local-esdt-and-nft/Cargo.toml @@ -10,9 +10,9 @@ path = "src/lib.rs" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/base" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/scenario" diff --git a/contracts/feature-tests/composability/local-esdt-and-nft/meta/Cargo.toml b/contracts/feature-tests/composability/local-esdt-and-nft/meta/Cargo.toml index fd16b35704..8b6d5f3929 100644 --- a/contracts/feature-tests/composability/local-esdt-and-nft/meta/Cargo.toml +++ b/contracts/feature-tests/composability/local-esdt-and-nft/meta/Cargo.toml @@ -8,6 +8,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/meta" default-features = false diff --git a/contracts/feature-tests/composability/local-esdt-and-nft/wasm/Cargo.toml b/contracts/feature-tests/composability/local-esdt-and-nft/wasm/Cargo.toml index 86f451be4b..8808b6c488 100644 --- a/contracts/feature-tests/composability/local-esdt-and-nft/wasm/Cargo.toml +++ b/contracts/feature-tests/composability/local-esdt-and-nft/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/feature-tests/composability/promises-features/Cargo.toml b/contracts/feature-tests/composability/promises-features/Cargo.toml index 9a06201fc7..c2ffef9059 100644 --- a/contracts/feature-tests/composability/promises-features/Cargo.toml +++ b/contracts/feature-tests/composability/promises-features/Cargo.toml @@ -12,6 +12,6 @@ path = "src/promises_main.rs" path = "../vault" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/base" diff --git a/contracts/feature-tests/composability/promises-features/meta/Cargo.toml b/contracts/feature-tests/composability/promises-features/meta/Cargo.toml index 5bbe804406..be4f70e057 100644 --- a/contracts/feature-tests/composability/promises-features/meta/Cargo.toml +++ b/contracts/feature-tests/composability/promises-features/meta/Cargo.toml @@ -8,6 +8,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/meta" default-features = false diff --git a/contracts/feature-tests/composability/promises-features/wasm/Cargo.toml b/contracts/feature-tests/composability/promises-features/wasm/Cargo.toml index c92dd9daf6..ae07ea0f64 100644 --- a/contracts/feature-tests/composability/promises-features/wasm/Cargo.toml +++ b/contracts/feature-tests/composability/promises-features/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/feature-tests/composability/proxy-test-first/Cargo.toml b/contracts/feature-tests/composability/proxy-test-first/Cargo.toml index 03fd2fae99..dd0e5e3190 100644 --- a/contracts/feature-tests/composability/proxy-test-first/Cargo.toml +++ b/contracts/feature-tests/composability/proxy-test-first/Cargo.toml @@ -12,10 +12,10 @@ path = "src/proxy-test-first.rs" hex-literal = "0.4.1" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/base" features = ["alloc"] [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/scenario" diff --git a/contracts/feature-tests/composability/proxy-test-first/meta/Cargo.toml b/contracts/feature-tests/composability/proxy-test-first/meta/Cargo.toml index 58007e9511..5ba64dbc91 100644 --- a/contracts/feature-tests/composability/proxy-test-first/meta/Cargo.toml +++ b/contracts/feature-tests/composability/proxy-test-first/meta/Cargo.toml @@ -8,6 +8,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/meta" default-features = false diff --git a/contracts/feature-tests/composability/proxy-test-first/wasm/Cargo.toml b/contracts/feature-tests/composability/proxy-test-first/wasm/Cargo.toml index cbac5d5f98..1c4e66daad 100644 --- a/contracts/feature-tests/composability/proxy-test-first/wasm/Cargo.toml +++ b/contracts/feature-tests/composability/proxy-test-first/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/feature-tests/composability/proxy-test-second/Cargo.toml b/contracts/feature-tests/composability/proxy-test-second/Cargo.toml index cf3503095a..6aacf4c17c 100644 --- a/contracts/feature-tests/composability/proxy-test-second/Cargo.toml +++ b/contracts/feature-tests/composability/proxy-test-second/Cargo.toml @@ -9,10 +9,10 @@ publish = false path = "src/proxy-test-second.rs" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/base" features = ["alloc"] [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/scenario" diff --git a/contracts/feature-tests/composability/proxy-test-second/meta/Cargo.toml b/contracts/feature-tests/composability/proxy-test-second/meta/Cargo.toml index e487ed2503..8ad3614823 100644 --- a/contracts/feature-tests/composability/proxy-test-second/meta/Cargo.toml +++ b/contracts/feature-tests/composability/proxy-test-second/meta/Cargo.toml @@ -8,6 +8,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/meta" default-features = false diff --git a/contracts/feature-tests/composability/proxy-test-second/wasm/Cargo.toml b/contracts/feature-tests/composability/proxy-test-second/wasm/Cargo.toml index 17cb903625..4f0ac22bbc 100644 --- a/contracts/feature-tests/composability/proxy-test-second/wasm/Cargo.toml +++ b/contracts/feature-tests/composability/proxy-test-second/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/feature-tests/composability/recursive-caller/Cargo.toml b/contracts/feature-tests/composability/recursive-caller/Cargo.toml index 5fb27caa77..3d706c42a4 100644 --- a/contracts/feature-tests/composability/recursive-caller/Cargo.toml +++ b/contracts/feature-tests/composability/recursive-caller/Cargo.toml @@ -12,9 +12,9 @@ path = "src/recursive_caller.rs" path = "../vault" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/base" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/scenario" diff --git a/contracts/feature-tests/composability/recursive-caller/meta/Cargo.toml b/contracts/feature-tests/composability/recursive-caller/meta/Cargo.toml index 91857c4209..3439b25847 100644 --- a/contracts/feature-tests/composability/recursive-caller/meta/Cargo.toml +++ b/contracts/feature-tests/composability/recursive-caller/meta/Cargo.toml @@ -8,6 +8,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/meta" default-features = false diff --git a/contracts/feature-tests/composability/recursive-caller/wasm/Cargo.toml b/contracts/feature-tests/composability/recursive-caller/wasm/Cargo.toml index fef729c40b..47b5eb2cf3 100644 --- a/contracts/feature-tests/composability/recursive-caller/wasm/Cargo.toml +++ b/contracts/feature-tests/composability/recursive-caller/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/feature-tests/composability/transfer-role-features/Cargo.toml b/contracts/feature-tests/composability/transfer-role-features/Cargo.toml index 13adfca4f8..40085fa73e 100644 --- a/contracts/feature-tests/composability/transfer-role-features/Cargo.toml +++ b/contracts/feature-tests/composability/transfer-role-features/Cargo.toml @@ -12,13 +12,13 @@ path = "src/lib.rs" path = "../vault" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/base" [dependencies.multiversx-sc-modules] -version = "0.47.4" +version = "0.47.5" path = "../../../../contracts/modules" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/scenario" diff --git a/contracts/feature-tests/composability/transfer-role-features/meta/Cargo.toml b/contracts/feature-tests/composability/transfer-role-features/meta/Cargo.toml index b926e94951..203a996a76 100644 --- a/contracts/feature-tests/composability/transfer-role-features/meta/Cargo.toml +++ b/contracts/feature-tests/composability/transfer-role-features/meta/Cargo.toml @@ -8,6 +8,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/meta" default-features = false diff --git a/contracts/feature-tests/composability/transfer-role-features/wasm/Cargo.toml b/contracts/feature-tests/composability/transfer-role-features/wasm/Cargo.toml index 44296fec66..ff699a705e 100644 --- a/contracts/feature-tests/composability/transfer-role-features/wasm/Cargo.toml +++ b/contracts/feature-tests/composability/transfer-role-features/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/feature-tests/composability/vault/Cargo.toml b/contracts/feature-tests/composability/vault/Cargo.toml index 7c58bbf94e..6d81c26350 100644 --- a/contracts/feature-tests/composability/vault/Cargo.toml +++ b/contracts/feature-tests/composability/vault/Cargo.toml @@ -10,9 +10,9 @@ path = "src/vault.rs" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/base" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/scenario" diff --git a/contracts/feature-tests/composability/vault/meta/Cargo.toml b/contracts/feature-tests/composability/vault/meta/Cargo.toml index 7ae95b77ae..2fc51374aa 100644 --- a/contracts/feature-tests/composability/vault/meta/Cargo.toml +++ b/contracts/feature-tests/composability/vault/meta/Cargo.toml @@ -8,6 +8,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/meta" default-features = false diff --git a/contracts/feature-tests/composability/vault/wasm-vault-promises/Cargo.toml b/contracts/feature-tests/composability/vault/wasm-vault-promises/Cargo.toml index 5848bd0e8e..63df7d0d02 100644 --- a/contracts/feature-tests/composability/vault/wasm-vault-promises/Cargo.toml +++ b/contracts/feature-tests/composability/vault/wasm-vault-promises/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/feature-tests/composability/vault/wasm-vault-upgrade/Cargo.toml b/contracts/feature-tests/composability/vault/wasm-vault-upgrade/Cargo.toml index 6132ff9734..33c14f4fd5 100644 --- a/contracts/feature-tests/composability/vault/wasm-vault-upgrade/Cargo.toml +++ b/contracts/feature-tests/composability/vault/wasm-vault-upgrade/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/feature-tests/composability/vault/wasm/Cargo.toml b/contracts/feature-tests/composability/vault/wasm/Cargo.toml index 22fc6dd8e1..31122e31f2 100644 --- a/contracts/feature-tests/composability/vault/wasm/Cargo.toml +++ b/contracts/feature-tests/composability/vault/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/feature-tests/erc-style-contracts/crowdfunding-erc20/Cargo.toml b/contracts/feature-tests/erc-style-contracts/crowdfunding-erc20/Cargo.toml index 7168729b30..af4e57038a 100644 --- a/contracts/feature-tests/erc-style-contracts/crowdfunding-erc20/Cargo.toml +++ b/contracts/feature-tests/erc-style-contracts/crowdfunding-erc20/Cargo.toml @@ -12,10 +12,10 @@ path = "src/crowdfunding_erc20.rs" path = "../erc20" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/base" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/scenario" diff --git a/contracts/feature-tests/erc-style-contracts/crowdfunding-erc20/meta/Cargo.toml b/contracts/feature-tests/erc-style-contracts/crowdfunding-erc20/meta/Cargo.toml index 34d6f87cad..ce6234c630 100644 --- a/contracts/feature-tests/erc-style-contracts/crowdfunding-erc20/meta/Cargo.toml +++ b/contracts/feature-tests/erc-style-contracts/crowdfunding-erc20/meta/Cargo.toml @@ -9,6 +9,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/meta" default-features = false diff --git a/contracts/feature-tests/erc-style-contracts/crowdfunding-erc20/wasm/Cargo.toml b/contracts/feature-tests/erc-style-contracts/crowdfunding-erc20/wasm/Cargo.toml index 4ba3bf2d9a..a73660bac8 100644 --- a/contracts/feature-tests/erc-style-contracts/crowdfunding-erc20/wasm/Cargo.toml +++ b/contracts/feature-tests/erc-style-contracts/crowdfunding-erc20/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/feature-tests/erc-style-contracts/erc1155-marketplace/Cargo.toml b/contracts/feature-tests/erc-style-contracts/erc1155-marketplace/Cargo.toml index 144b07fc61..83577513c1 100644 --- a/contracts/feature-tests/erc-style-contracts/erc1155-marketplace/Cargo.toml +++ b/contracts/feature-tests/erc-style-contracts/erc1155-marketplace/Cargo.toml @@ -13,10 +13,10 @@ path = "src/lib.rs" path = "../erc1155" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/base" features = ["alloc"] [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/scenario" diff --git a/contracts/feature-tests/erc-style-contracts/erc1155-marketplace/meta/Cargo.toml b/contracts/feature-tests/erc-style-contracts/erc1155-marketplace/meta/Cargo.toml index 8ef7b29640..b2c318dd13 100644 --- a/contracts/feature-tests/erc-style-contracts/erc1155-marketplace/meta/Cargo.toml +++ b/contracts/feature-tests/erc-style-contracts/erc1155-marketplace/meta/Cargo.toml @@ -9,6 +9,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/meta" default-features = false diff --git a/contracts/feature-tests/erc-style-contracts/erc1155-marketplace/wasm/Cargo.toml b/contracts/feature-tests/erc-style-contracts/erc1155-marketplace/wasm/Cargo.toml index 02d75ee006..bd55b29f36 100644 --- a/contracts/feature-tests/erc-style-contracts/erc1155-marketplace/wasm/Cargo.toml +++ b/contracts/feature-tests/erc-style-contracts/erc1155-marketplace/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/feature-tests/erc-style-contracts/erc1155-user-mock/Cargo.toml b/contracts/feature-tests/erc-style-contracts/erc1155-user-mock/Cargo.toml index 5aa723d111..e538bc4de9 100644 --- a/contracts/feature-tests/erc-style-contracts/erc1155-user-mock/Cargo.toml +++ b/contracts/feature-tests/erc-style-contracts/erc1155-user-mock/Cargo.toml @@ -9,10 +9,10 @@ publish = false path = "src/lib.rs" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/base" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/scenario" diff --git a/contracts/feature-tests/erc-style-contracts/erc1155-user-mock/meta/Cargo.toml b/contracts/feature-tests/erc-style-contracts/erc1155-user-mock/meta/Cargo.toml index d9a7cd60a3..5608c548a3 100644 --- a/contracts/feature-tests/erc-style-contracts/erc1155-user-mock/meta/Cargo.toml +++ b/contracts/feature-tests/erc-style-contracts/erc1155-user-mock/meta/Cargo.toml @@ -9,6 +9,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/meta" default-features = false diff --git a/contracts/feature-tests/erc-style-contracts/erc1155-user-mock/wasm/Cargo.toml b/contracts/feature-tests/erc-style-contracts/erc1155-user-mock/wasm/Cargo.toml index 933ea65d16..fcb4237512 100644 --- a/contracts/feature-tests/erc-style-contracts/erc1155-user-mock/wasm/Cargo.toml +++ b/contracts/feature-tests/erc-style-contracts/erc1155-user-mock/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/feature-tests/erc-style-contracts/erc1155/Cargo.toml b/contracts/feature-tests/erc-style-contracts/erc1155/Cargo.toml index e62919b3ab..c39f7d5f16 100644 --- a/contracts/feature-tests/erc-style-contracts/erc1155/Cargo.toml +++ b/contracts/feature-tests/erc-style-contracts/erc1155/Cargo.toml @@ -9,12 +9,12 @@ publish = false path = "src/erc1155.rs" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/base" features = ["alloc"] [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/scenario" [dev-dependencies.erc1155-user-mock] diff --git a/contracts/feature-tests/erc-style-contracts/erc1155/meta/Cargo.toml b/contracts/feature-tests/erc-style-contracts/erc1155/meta/Cargo.toml index d5d645d0f1..1815a7f706 100644 --- a/contracts/feature-tests/erc-style-contracts/erc1155/meta/Cargo.toml +++ b/contracts/feature-tests/erc-style-contracts/erc1155/meta/Cargo.toml @@ -9,6 +9,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/meta" default-features = false diff --git a/contracts/feature-tests/erc-style-contracts/erc1155/wasm/Cargo.toml b/contracts/feature-tests/erc-style-contracts/erc1155/wasm/Cargo.toml index a62502f5f6..e964700ec5 100644 --- a/contracts/feature-tests/erc-style-contracts/erc1155/wasm/Cargo.toml +++ b/contracts/feature-tests/erc-style-contracts/erc1155/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/feature-tests/erc-style-contracts/erc20/Cargo.toml b/contracts/feature-tests/erc-style-contracts/erc20/Cargo.toml index bb1c12149b..20671838db 100644 --- a/contracts/feature-tests/erc-style-contracts/erc20/Cargo.toml +++ b/contracts/feature-tests/erc-style-contracts/erc20/Cargo.toml @@ -9,9 +9,9 @@ publish = false path = "src/erc20.rs" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/base" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/scenario" diff --git a/contracts/feature-tests/erc-style-contracts/erc20/meta/Cargo.toml b/contracts/feature-tests/erc-style-contracts/erc20/meta/Cargo.toml index 6bad03d999..db4e5ff3df 100644 --- a/contracts/feature-tests/erc-style-contracts/erc20/meta/Cargo.toml +++ b/contracts/feature-tests/erc-style-contracts/erc20/meta/Cargo.toml @@ -9,6 +9,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/meta" default-features = false diff --git a/contracts/feature-tests/erc-style-contracts/erc20/wasm/Cargo.toml b/contracts/feature-tests/erc-style-contracts/erc20/wasm/Cargo.toml index de69fe6826..59d6c7a7b8 100644 --- a/contracts/feature-tests/erc-style-contracts/erc20/wasm/Cargo.toml +++ b/contracts/feature-tests/erc-style-contracts/erc20/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/feature-tests/erc-style-contracts/erc721/Cargo.toml b/contracts/feature-tests/erc-style-contracts/erc721/Cargo.toml index cfafd07428..8372f0354a 100644 --- a/contracts/feature-tests/erc-style-contracts/erc721/Cargo.toml +++ b/contracts/feature-tests/erc-style-contracts/erc721/Cargo.toml @@ -10,9 +10,9 @@ path = "src/erc721.rs" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/base" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/scenario" diff --git a/contracts/feature-tests/erc-style-contracts/erc721/meta/Cargo.toml b/contracts/feature-tests/erc-style-contracts/erc721/meta/Cargo.toml index 8a15883327..96afb07b44 100644 --- a/contracts/feature-tests/erc-style-contracts/erc721/meta/Cargo.toml +++ b/contracts/feature-tests/erc-style-contracts/erc721/meta/Cargo.toml @@ -9,6 +9,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/meta" default-features = false diff --git a/contracts/feature-tests/erc-style-contracts/erc721/wasm/Cargo.toml b/contracts/feature-tests/erc-style-contracts/erc721/wasm/Cargo.toml index 8a2063a899..a80419dcab 100644 --- a/contracts/feature-tests/erc-style-contracts/erc721/wasm/Cargo.toml +++ b/contracts/feature-tests/erc-style-contracts/erc721/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/feature-tests/erc-style-contracts/lottery-erc20/Cargo.toml b/contracts/feature-tests/erc-style-contracts/lottery-erc20/Cargo.toml index 6c5dbaf79d..46ffb3c5ea 100644 --- a/contracts/feature-tests/erc-style-contracts/lottery-erc20/Cargo.toml +++ b/contracts/feature-tests/erc-style-contracts/lottery-erc20/Cargo.toml @@ -12,10 +12,10 @@ path = "src/lottery.rs" path = "../erc20" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/base" features = ["alloc"] [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/scenario" diff --git a/contracts/feature-tests/erc-style-contracts/lottery-erc20/meta/Cargo.toml b/contracts/feature-tests/erc-style-contracts/lottery-erc20/meta/Cargo.toml index 07d5dea169..ce2495310a 100644 --- a/contracts/feature-tests/erc-style-contracts/lottery-erc20/meta/Cargo.toml +++ b/contracts/feature-tests/erc-style-contracts/lottery-erc20/meta/Cargo.toml @@ -9,6 +9,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/meta" default-features = false diff --git a/contracts/feature-tests/erc-style-contracts/lottery-erc20/wasm/Cargo.toml b/contracts/feature-tests/erc-style-contracts/lottery-erc20/wasm/Cargo.toml index f38877401c..9338d5fd10 100644 --- a/contracts/feature-tests/erc-style-contracts/lottery-erc20/wasm/Cargo.toml +++ b/contracts/feature-tests/erc-style-contracts/lottery-erc20/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/feature-tests/esdt-system-sc-mock/Cargo.toml b/contracts/feature-tests/esdt-system-sc-mock/Cargo.toml index 4856094648..134d30ce63 100644 --- a/contracts/feature-tests/esdt-system-sc-mock/Cargo.toml +++ b/contracts/feature-tests/esdt-system-sc-mock/Cargo.toml @@ -9,9 +9,9 @@ publish = false path = "src/esdt_system_sc_mock.rs" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/base" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/scenario" diff --git a/contracts/feature-tests/esdt-system-sc-mock/meta/Cargo.toml b/contracts/feature-tests/esdt-system-sc-mock/meta/Cargo.toml index b65eefd0df..e316dac5ad 100644 --- a/contracts/feature-tests/esdt-system-sc-mock/meta/Cargo.toml +++ b/contracts/feature-tests/esdt-system-sc-mock/meta/Cargo.toml @@ -9,6 +9,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/meta" default-features = false diff --git a/contracts/feature-tests/esdt-system-sc-mock/wasm/Cargo.toml b/contracts/feature-tests/esdt-system-sc-mock/wasm/Cargo.toml index f8180683cd..656e98c8d1 100644 --- a/contracts/feature-tests/esdt-system-sc-mock/wasm/Cargo.toml +++ b/contracts/feature-tests/esdt-system-sc-mock/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/feature-tests/formatted-message-features/Cargo.toml b/contracts/feature-tests/formatted-message-features/Cargo.toml index d786dc6e68..49dcba60aa 100644 --- a/contracts/feature-tests/formatted-message-features/Cargo.toml +++ b/contracts/feature-tests/formatted-message-features/Cargo.toml @@ -9,9 +9,9 @@ publish = false path = "src/formatted_message_features.rs" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/base" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/scenario" diff --git a/contracts/feature-tests/formatted-message-features/meta/Cargo.toml b/contracts/feature-tests/formatted-message-features/meta/Cargo.toml index 5f606095d2..b440c8cf8d 100644 --- a/contracts/feature-tests/formatted-message-features/meta/Cargo.toml +++ b/contracts/feature-tests/formatted-message-features/meta/Cargo.toml @@ -11,6 +11,6 @@ authors = [ "you",] path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/meta" default-features = false diff --git a/contracts/feature-tests/formatted-message-features/wasm/Cargo.toml b/contracts/feature-tests/formatted-message-features/wasm/Cargo.toml index 1de57ac0b0..912900e134 100644 --- a/contracts/feature-tests/formatted-message-features/wasm/Cargo.toml +++ b/contracts/feature-tests/formatted-message-features/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/feature-tests/managed-map-features/Cargo.toml b/contracts/feature-tests/managed-map-features/Cargo.toml index e30990c25b..4e44c248df 100644 --- a/contracts/feature-tests/managed-map-features/Cargo.toml +++ b/contracts/feature-tests/managed-map-features/Cargo.toml @@ -9,11 +9,11 @@ publish = false path = "src/mmap_features.rs" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/base" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/scenario" [dev-dependencies.esdt-system-sc-mock] diff --git a/contracts/feature-tests/managed-map-features/meta/Cargo.toml b/contracts/feature-tests/managed-map-features/meta/Cargo.toml index b1f1a6e4dc..fdb2ea7cc8 100644 --- a/contracts/feature-tests/managed-map-features/meta/Cargo.toml +++ b/contracts/feature-tests/managed-map-features/meta/Cargo.toml @@ -8,6 +8,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/meta" default-features = false diff --git a/contracts/feature-tests/managed-map-features/wasm/Cargo.toml b/contracts/feature-tests/managed-map-features/wasm/Cargo.toml index 04503904ec..c688388a91 100644 --- a/contracts/feature-tests/managed-map-features/wasm/Cargo.toml +++ b/contracts/feature-tests/managed-map-features/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/feature-tests/multi-contract-features/Cargo.toml b/contracts/feature-tests/multi-contract-features/Cargo.toml index 923bccc230..d4b5121141 100644 --- a/contracts/feature-tests/multi-contract-features/Cargo.toml +++ b/contracts/feature-tests/multi-contract-features/Cargo.toml @@ -12,9 +12,9 @@ path = "src/multi_contract_features.rs" example_feature = [] [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/base" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/scenario" diff --git a/contracts/feature-tests/multi-contract-features/meta/Cargo.toml b/contracts/feature-tests/multi-contract-features/meta/Cargo.toml index adbf83ecd0..053f902584 100644 --- a/contracts/feature-tests/multi-contract-features/meta/Cargo.toml +++ b/contracts/feature-tests/multi-contract-features/meta/Cargo.toml @@ -9,6 +9,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/meta" default-features = false diff --git a/contracts/feature-tests/multi-contract-features/wasm-multi-contract-alt-impl/Cargo.toml b/contracts/feature-tests/multi-contract-features/wasm-multi-contract-alt-impl/Cargo.toml index 735a04ba25..d524d039f3 100644 --- a/contracts/feature-tests/multi-contract-features/wasm-multi-contract-alt-impl/Cargo.toml +++ b/contracts/feature-tests/multi-contract-features/wasm-multi-contract-alt-impl/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/feature-tests/multi-contract-features/wasm-multi-contract-example-feature/Cargo.toml b/contracts/feature-tests/multi-contract-features/wasm-multi-contract-example-feature/Cargo.toml index 57323aafa8..20839cea31 100644 --- a/contracts/feature-tests/multi-contract-features/wasm-multi-contract-example-feature/Cargo.toml +++ b/contracts/feature-tests/multi-contract-features/wasm-multi-contract-example-feature/Cargo.toml @@ -26,7 +26,7 @@ path = ".." features = ["example_feature"] [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/feature-tests/multi-contract-features/wasm-multi-contract-features-view/Cargo.toml b/contracts/feature-tests/multi-contract-features/wasm-multi-contract-features-view/Cargo.toml index c17d98ca74..beca5b4d75 100644 --- a/contracts/feature-tests/multi-contract-features/wasm-multi-contract-features-view/Cargo.toml +++ b/contracts/feature-tests/multi-contract-features/wasm-multi-contract-features-view/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/feature-tests/multi-contract-features/wasm/Cargo.toml b/contracts/feature-tests/multi-contract-features/wasm/Cargo.toml index 9f4d9c6c73..190c9b1fb5 100644 --- a/contracts/feature-tests/multi-contract-features/wasm/Cargo.toml +++ b/contracts/feature-tests/multi-contract-features/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/feature-tests/panic-message-features/Cargo.toml b/contracts/feature-tests/panic-message-features/Cargo.toml index 7b2cf5bc99..d76417a223 100644 --- a/contracts/feature-tests/panic-message-features/Cargo.toml +++ b/contracts/feature-tests/panic-message-features/Cargo.toml @@ -9,9 +9,9 @@ publish = false path = "src/panic_features.rs" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/base" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/scenario" diff --git a/contracts/feature-tests/panic-message-features/meta/Cargo.toml b/contracts/feature-tests/panic-message-features/meta/Cargo.toml index a0f39aa6c4..921c4f2671 100644 --- a/contracts/feature-tests/panic-message-features/meta/Cargo.toml +++ b/contracts/feature-tests/panic-message-features/meta/Cargo.toml @@ -8,6 +8,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/meta" default-features = false diff --git a/contracts/feature-tests/panic-message-features/wasm/Cargo.toml b/contracts/feature-tests/panic-message-features/wasm/Cargo.toml index f705ca2583..b55981873c 100644 --- a/contracts/feature-tests/panic-message-features/wasm/Cargo.toml +++ b/contracts/feature-tests/panic-message-features/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/feature-tests/payable-features/Cargo.toml b/contracts/feature-tests/payable-features/Cargo.toml index 445d66463e..acf93f21d7 100644 --- a/contracts/feature-tests/payable-features/Cargo.toml +++ b/contracts/feature-tests/payable-features/Cargo.toml @@ -9,9 +9,9 @@ publish = false path = "src/payable_features.rs" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/base" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/scenario" diff --git a/contracts/feature-tests/payable-features/meta/Cargo.toml b/contracts/feature-tests/payable-features/meta/Cargo.toml index a651ce411e..4fb0cc3a23 100644 --- a/contracts/feature-tests/payable-features/meta/Cargo.toml +++ b/contracts/feature-tests/payable-features/meta/Cargo.toml @@ -9,6 +9,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/meta" default-features = false diff --git a/contracts/feature-tests/payable-features/wasm/Cargo.toml b/contracts/feature-tests/payable-features/wasm/Cargo.toml index e36be08ae6..9e9d3c0cd2 100644 --- a/contracts/feature-tests/payable-features/wasm/Cargo.toml +++ b/contracts/feature-tests/payable-features/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/feature-tests/rust-snippets-generator-test/Cargo.toml b/contracts/feature-tests/rust-snippets-generator-test/Cargo.toml index 799071a673..3fdc4d3e5b 100644 --- a/contracts/feature-tests/rust-snippets-generator-test/Cargo.toml +++ b/contracts/feature-tests/rust-snippets-generator-test/Cargo.toml @@ -9,9 +9,9 @@ publish = false path = "src/lib.rs" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/base" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/scenario" diff --git a/contracts/feature-tests/rust-snippets-generator-test/interact-rs/Cargo.toml b/contracts/feature-tests/rust-snippets-generator-test/interact-rs/Cargo.toml index 111428bdb7..a942895412 100644 --- a/contracts/feature-tests/rust-snippets-generator-test/interact-rs/Cargo.toml +++ b/contracts/feature-tests/rust-snippets-generator-test/interact-rs/Cargo.toml @@ -13,7 +13,7 @@ path = "src/interactor_main.rs" path = ".." [dependencies.multiversx-sc-snippets] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/snippets" # [workspace] diff --git a/contracts/feature-tests/rust-snippets-generator-test/meta/Cargo.toml b/contracts/feature-tests/rust-snippets-generator-test/meta/Cargo.toml index a8b07cd43b..851caad934 100644 --- a/contracts/feature-tests/rust-snippets-generator-test/meta/Cargo.toml +++ b/contracts/feature-tests/rust-snippets-generator-test/meta/Cargo.toml @@ -9,6 +9,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/meta" default-features = false diff --git a/contracts/feature-tests/rust-snippets-generator-test/src/lib.rs b/contracts/feature-tests/rust-snippets-generator-test/src/lib.rs index cc35e3dbf0..711deb667e 100644 --- a/contracts/feature-tests/rust-snippets-generator-test/src/lib.rs +++ b/contracts/feature-tests/rust-snippets-generator-test/src/lib.rs @@ -13,7 +13,7 @@ multiversx_sc::derive_imports!(); // Additionally, we also have to update the interact-rs snippets manually to add relative paths: // [dependencies.multiversx-sc-snippets] -// version = "0.47.4" +// version = "0.47.5" // path = "../../../../framework/snippets" #[derive( diff --git a/contracts/feature-tests/rust-snippets-generator-test/wasm/Cargo.toml b/contracts/feature-tests/rust-snippets-generator-test/wasm/Cargo.toml index 844be02a77..23f7a37d4d 100644 --- a/contracts/feature-tests/rust-snippets-generator-test/wasm/Cargo.toml +++ b/contracts/feature-tests/rust-snippets-generator-test/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/feature-tests/rust-testing-framework-tester/Cargo.toml b/contracts/feature-tests/rust-testing-framework-tester/Cargo.toml index 0fba5c371a..2a5bd51b12 100644 --- a/contracts/feature-tests/rust-testing-framework-tester/Cargo.toml +++ b/contracts/feature-tests/rust-testing-framework-tester/Cargo.toml @@ -6,7 +6,7 @@ edition = "2021" publish = false [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/base" features = [ "alloc" ] @@ -17,7 +17,7 @@ path = "../../examples/adder" path = "../../feature-tests/basic-features" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/scenario" [dev-dependencies] diff --git a/contracts/feature-tests/rust-testing-framework-tester/meta/Cargo.toml b/contracts/feature-tests/rust-testing-framework-tester/meta/Cargo.toml index 7a54d9f7f6..a378195cc9 100644 --- a/contracts/feature-tests/rust-testing-framework-tester/meta/Cargo.toml +++ b/contracts/feature-tests/rust-testing-framework-tester/meta/Cargo.toml @@ -8,6 +8,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/meta" default-features = false diff --git a/contracts/feature-tests/rust-testing-framework-tester/wasm/Cargo.toml b/contracts/feature-tests/rust-testing-framework-tester/wasm/Cargo.toml index 79cdfd35fc..c50643a4db 100644 --- a/contracts/feature-tests/rust-testing-framework-tester/wasm/Cargo.toml +++ b/contracts/feature-tests/rust-testing-framework-tester/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/feature-tests/use-module/Cargo.toml b/contracts/feature-tests/use-module/Cargo.toml index 6b2b9296c0..281bd20397 100644 --- a/contracts/feature-tests/use-module/Cargo.toml +++ b/contracts/feature-tests/use-module/Cargo.toml @@ -9,17 +9,17 @@ publish = false path = "src/use_module.rs" [dependencies.multiversx-sc-modules] -version = "0.47.4" +version = "0.47.5" path = "../../../contracts/modules" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/base" [dev-dependencies.multiversx-sc-scenario] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/scenario" [dev-dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../framework/meta" diff --git a/contracts/feature-tests/use-module/meta/Cargo.toml b/contracts/feature-tests/use-module/meta/Cargo.toml index ae47738894..8246cc5fce 100644 --- a/contracts/feature-tests/use-module/meta/Cargo.toml +++ b/contracts/feature-tests/use-module/meta/Cargo.toml @@ -9,6 +9,6 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/meta" default-features = false diff --git a/contracts/feature-tests/use-module/meta/abi/Cargo.toml b/contracts/feature-tests/use-module/meta/abi/Cargo.toml index 4ec3f48a8a..7a0eecd776 100644 --- a/contracts/feature-tests/use-module/meta/abi/Cargo.toml +++ b/contracts/feature-tests/use-module/meta/abi/Cargo.toml @@ -9,10 +9,10 @@ publish = false path = ".." [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/base" [dependencies.multiversx-sc-meta] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/meta" default-features = false diff --git a/contracts/feature-tests/use-module/use_module_expected_main.abi.json b/contracts/feature-tests/use-module/use_module_expected_main.abi.json index 1e2aa7eece..56d64db6c4 100644 --- a/contracts/feature-tests/use-module/use_module_expected_main.abi.json +++ b/contracts/feature-tests/use-module/use_module_expected_main.abi.json @@ -14,7 +14,7 @@ }, "framework": { "name": "multiversx-sc", - "version": "0.47.4" + "version": "0.47.5" } }, "docs": [ diff --git a/contracts/feature-tests/use-module/use_module_expected_view.abi.json b/contracts/feature-tests/use-module/use_module_expected_view.abi.json index 9abfd943b0..8fef61ec76 100644 --- a/contracts/feature-tests/use-module/use_module_expected_view.abi.json +++ b/contracts/feature-tests/use-module/use_module_expected_view.abi.json @@ -14,7 +14,7 @@ }, "framework": { "name": "multiversx-sc", - "version": "0.47.4" + "version": "0.47.5" } }, "docs": [ diff --git a/contracts/feature-tests/use-module/wasm-use-module-view/Cargo.toml b/contracts/feature-tests/use-module/wasm-use-module-view/Cargo.toml index 3dfe8ccc8a..bf3768167c 100644 --- a/contracts/feature-tests/use-module/wasm-use-module-view/Cargo.toml +++ b/contracts/feature-tests/use-module/wasm-use-module-view/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/feature-tests/use-module/wasm/Cargo.toml b/contracts/feature-tests/use-module/wasm/Cargo.toml index e3bd3d0058..129b71c83e 100644 --- a/contracts/feature-tests/use-module/wasm/Cargo.toml +++ b/contracts/feature-tests/use-module/wasm/Cargo.toml @@ -25,7 +25,7 @@ overflow-checks = false path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.47.4" +version = "0.47.5" path = "../../../../framework/wasm-adapter" [workspace] diff --git a/contracts/modules/Cargo.toml b/contracts/modules/Cargo.toml index 261a265d42..dcdc0d02e5 100644 --- a/contracts/modules/Cargo.toml +++ b/contracts/modules/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "multiversx-sc-modules" -version = "0.47.4" +version = "0.47.5" edition = "2021" authors = ["MultiversX "] @@ -17,5 +17,5 @@ categories = ["no-std", "wasm", "cryptography::cryptocurrencies"] alloc = ["multiversx-sc/alloc"] [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../framework/base" diff --git a/framework/base/Cargo.toml b/framework/base/Cargo.toml index dd372ebb50..ad2b6e260c 100644 --- a/framework/base/Cargo.toml +++ b/framework/base/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" edition = "2021" authors = ["Andrei Marinica ", "MultiversX "] @@ -27,7 +27,7 @@ bitflags = "=2.4.2" num-traits = { version = "=0.2.17", default-features = false } [dependencies.multiversx-sc-derive] -version = "=0.47.4" +version = "=0.47.5" path = "../derive" [dependencies.multiversx-sc-codec] diff --git a/framework/derive/Cargo.toml b/framework/derive/Cargo.toml index 6494bdb753..490cccf7d8 100644 --- a/framework/derive/Cargo.toml +++ b/framework/derive/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" edition = "2021" authors = ["Andrei Marinica ", "MultiversX "] diff --git a/framework/meta/Cargo.toml b/framework/meta/Cargo.toml index 4746b46a37..a4554cf766 100644 --- a/framework/meta/Cargo.toml +++ b/framework/meta/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "multiversx-sc-meta" -version = "0.47.4" +version = "0.47.5" edition = "2021" authors = [ @@ -52,7 +52,7 @@ pathdiff = { version = "0.2.1", optional = true } common-path = { version = "1.0.0", optional = true } [dependencies.multiversx-sc] -version = "=0.47.4" +version = "=0.47.5" path = "../base" features = ["alloc", "num-bigint"] diff --git a/framework/meta/src/cmd/contract/generate_snippets/snippet_crate_gen.rs b/framework/meta/src/cmd/contract/generate_snippets/snippet_crate_gen.rs index 950038241c..d65b1b6094 100644 --- a/framework/meta/src/cmd/contract/generate_snippets/snippet_crate_gen.rs +++ b/framework/meta/src/cmd/contract/generate_snippets/snippet_crate_gen.rs @@ -69,7 +69,7 @@ path = "src/{SNIPPETS_SOURCE_FILE_NAME}" path = ".." [dependencies.multiversx-sc-snippets] -version = "0.47.4" +version = "0.47.5" # [workspace] diff --git a/framework/meta/src/cmd/contract/meta_config.rs b/framework/meta/src/cmd/contract/meta_config.rs index f5e9c18123..f492884743 100644 --- a/framework/meta/src/cmd/contract/meta_config.rs +++ b/framework/meta/src/cmd/contract/meta_config.rs @@ -205,7 +205,7 @@ overflow-checks = false path = \"..\" [dependencies.multiversx-sc-wasm-adapter] -version = \"0.47.4\" +version = \"0.47.5\" path = \"../../../../framework/wasm-adapter\" [workspace] @@ -218,7 +218,7 @@ members = [\".\"] name: "test".to_string(), edition: "2021".to_string(), profile: ContractVariantProfile::default(), - framework_version: "0.47.4".to_string(), + framework_version: "0.47.5".to_string(), framework_path: Option::Some("../../../framework/base".to_string()), contract_features: Vec::::new(), }; diff --git a/framework/meta/src/version_history.rs b/framework/meta/src/version_history.rs index 45bea078ce..dbd391af6e 100644 --- a/framework/meta/src/version_history.rs +++ b/framework/meta/src/version_history.rs @@ -3,7 +3,7 @@ use crate::{framework_version, framework_versions, version::FrameworkVersion}; /// The last version to be used for upgrades and templates. /// /// Should be edited every time a new version of the framework is released. -pub const LAST_VERSION: FrameworkVersion = framework_version!(0.47.4); +pub const LAST_VERSION: FrameworkVersion = framework_version!(0.47.5); /// Indicates where to stop with the upgrades. pub const LAST_UPGRADE_VERSION: FrameworkVersion = LAST_VERSION; @@ -62,6 +62,7 @@ pub const VERSIONS: &[FrameworkVersion] = framework_versions![ 0.47.2, 0.47.3, 0.47.4, + 0.47.5, ]; #[rustfmt::skip] diff --git a/framework/scenario/Cargo.toml b/framework/scenario/Cargo.toml index e599159afc..560cf08281 100644 --- a/framework/scenario/Cargo.toml +++ b/framework/scenario/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "multiversx-sc-scenario" -version = "0.47.4" +version = "0.47.5" edition = "2021" authors = [ @@ -40,12 +40,12 @@ path = "src/main.rs" run-go-tests = [] [dependencies.multiversx-sc] -version = "=0.47.4" +version = "=0.47.5" features = ["alloc", "num-bigint"] path = "../base" [dependencies.multiversx-sc-meta] -version = "=0.47.4" +version = "=0.47.5" path = "../meta" [dependencies.multiversx-chain-scenario-format] diff --git a/framework/snippets/Cargo.toml b/framework/snippets/Cargo.toml index 67b81fb93b..3eb1a578df 100644 --- a/framework/snippets/Cargo.toml +++ b/framework/snippets/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "multiversx-sc-snippets" -version = "0.47.4" +version = "0.47.5" edition = "2021" authors = ["MultiversX "] @@ -22,7 +22,7 @@ env_logger = "0.11" futures = "0.3" [dependencies.multiversx-sc-scenario] -version = "=0.47.4" +version = "=0.47.5" path = "../scenario" [dependencies.multiversx-sdk] diff --git a/framework/wasm-adapter/Cargo.toml b/framework/wasm-adapter/Cargo.toml index 2e358e1b6b..4630f3d7d4 100644 --- a/framework/wasm-adapter/Cargo.toml +++ b/framework/wasm-adapter/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" edition = "2021" authors = [ @@ -22,5 +22,5 @@ categories = [ ] [dependencies.multiversx-sc] -version = "=0.47.4" +version = "=0.47.5" path = "../base" diff --git a/tools/mxpy-snippet-generator/Cargo.toml b/tools/mxpy-snippet-generator/Cargo.toml index 7687286a24..6e7ab2d1b7 100644 --- a/tools/mxpy-snippet-generator/Cargo.toml +++ b/tools/mxpy-snippet-generator/Cargo.toml @@ -10,7 +10,7 @@ name = "mxpy-snippet-generator" path = "src/mxpy_snippet_generator.rs" [dependencies.multiversx-sc] -version = "0.47.4" +version = "0.47.5" path = "../../framework/base" [dependencies] diff --git a/tools/rust-debugger/format-tests/Cargo.toml b/tools/rust-debugger/format-tests/Cargo.toml index d006ef7960..806ca531ea 100644 --- a/tools/rust-debugger/format-tests/Cargo.toml +++ b/tools/rust-debugger/format-tests/Cargo.toml @@ -9,11 +9,11 @@ name = "format-tests" path = "src/format_tests.rs" [dependencies.multiversx-sc] -version = "=0.47.4" +version = "=0.47.5" path = "../../../framework/base" [dependencies.multiversx-sc-scenario] -version = "=0.47.4" +version = "=0.47.5" path = "../../../framework/scenario" [dependencies.multiversx-chain-vm] From 8aa543bbdc1a9511ce686b8603f8945bf4570d6b Mon Sep 17 00:00:00 2001 From: Andrei Marinica Date: Fri, 8 Mar 2024 14:21:09 +0200 Subject: [PATCH 28/36] Cargo.lock update --- contracts/benchmarks/large-storage/wasm/Cargo.lock | 6 +++--- .../mappers/linked-list-repeat/wasm/Cargo.lock | 6 +++--- .../benchmarks/mappers/map-repeat/wasm/Cargo.lock | 6 +++--- .../benchmarks/mappers/queue-repeat/wasm/Cargo.lock | 6 +++--- .../benchmarks/mappers/set-repeat/wasm/Cargo.lock | 6 +++--- .../mappers/single-value-repeat/wasm/Cargo.lock | 6 +++--- .../benchmarks/mappers/vec-repeat/wasm/Cargo.lock | 6 +++--- contracts/benchmarks/send-tx-repeat/wasm/Cargo.lock | 6 +++--- contracts/benchmarks/str-repeat/wasm/Cargo.lock | 6 +++--- contracts/core/price-aggregator/wasm/Cargo.lock | 10 +++++----- contracts/examples/adder/wasm/Cargo.lock | 6 +++--- .../examples/bonding-curve-contract/wasm/Cargo.lock | 8 ++++---- contracts/examples/check-pause/wasm/Cargo.lock | 8 ++++---- contracts/examples/crowdfunding-esdt/wasm/Cargo.lock | 6 +++--- contracts/examples/crypto-bubbles/wasm/Cargo.lock | 6 +++--- .../crypto-kitties/kitty-auction/wasm/Cargo.lock | 6 +++--- .../crypto-kitties/kitty-genetic-alg/wasm/Cargo.lock | 6 +++--- .../crypto-kitties/kitty-ownership/wasm/Cargo.lock | 6 +++--- contracts/examples/crypto-zombies/wasm/Cargo.lock | 6 +++--- contracts/examples/crypto-zombies/wasm/src/lib.rs | 5 +++-- contracts/examples/digital-cash/wasm/Cargo.lock | 6 +++--- contracts/examples/empty/wasm/Cargo.lock | 6 +++--- contracts/examples/empty/wasm/src/lib.rs | 5 +++-- .../examples/esdt-transfer-with-fee/wasm/Cargo.lock | 6 +++--- contracts/examples/factorial/wasm/Cargo.lock | 6 +++--- contracts/examples/fractional-nfts/wasm/Cargo.lock | 8 ++++---- contracts/examples/lottery-esdt/wasm/Cargo.lock | 6 +++--- .../examples/multisig/wasm-multisig-full/Cargo.lock | 8 ++++---- .../examples/multisig/wasm-multisig-view/Cargo.lock | 8 ++++---- contracts/examples/multisig/wasm/Cargo.lock | 8 ++++---- contracts/examples/nft-minter/wasm/Cargo.lock | 6 +++--- contracts/examples/nft-storage-prepay/wasm/Cargo.lock | 6 +++--- contracts/examples/nft-subscription/wasm/Cargo.lock | 8 ++++---- contracts/examples/order-book/factory/wasm/Cargo.lock | 6 +++--- contracts/examples/order-book/pair/wasm/Cargo.lock | 6 +++--- contracts/examples/ping-pong-egld/wasm/Cargo.lock | 6 +++--- contracts/examples/ping-pong-egld/wasm/src/lib.rs | 5 +++-- contracts/examples/proxy-pause/wasm/Cargo.lock | 6 +++--- .../examples/rewards-distribution/wasm/Cargo.lock | 8 ++++---- contracts/examples/seed-nft-minter/wasm/Cargo.lock | 8 ++++---- contracts/examples/token-release/wasm/Cargo.lock | 6 +++--- .../abi-tester/wasm-abi-tester-ev/Cargo.lock | 6 +++--- contracts/feature-tests/abi-tester/wasm/Cargo.lock | 6 +++--- .../alloc-features/wasm-alloc-mem-fail/Cargo.lock | 6 +++--- .../alloc-features/wasm-alloc-mem-leaking/Cargo.lock | 6 +++--- contracts/feature-tests/alloc-features/wasm/Cargo.lock | 6 +++--- .../wasm-basic-features-storage-bytes/Cargo.lock | 8 ++++---- contracts/feature-tests/basic-features/wasm/Cargo.lock | 8 ++++---- .../feature-tests/big-float-features/wasm/Cargo.lock | 6 +++--- .../builtin-func-features/wasm/Cargo.lock | 6 +++--- .../esdt-contract-pair/first-contract/wasm/Cargo.lock | 6 +++--- .../esdt-contract-pair/second-contract/wasm/Cargo.lock | 6 +++--- .../child/wasm/Cargo.lock | 6 +++--- .../parent/wasm/Cargo.lock | 6 +++--- .../wasm-forwarder-queue-promises/Cargo.lock | 6 +++--- .../composability/forwarder-queue/wasm/Cargo.lock | 6 +++--- .../wasm-forwarder-raw-init-async-call/Cargo.lock | 6 +++--- .../wasm-forwarder-raw-init-sync-call/Cargo.lock | 6 +++--- .../composability/forwarder-raw/wasm/Cargo.lock | 6 +++--- .../composability/forwarder/wasm/Cargo.lock | 6 +++--- .../composability/local-esdt-and-nft/wasm/Cargo.lock | 6 +++--- .../composability/promises-features/wasm/Cargo.lock | 6 +++--- .../composability/proxy-test-first/wasm/Cargo.lock | 6 +++--- .../composability/proxy-test-second/wasm/Cargo.lock | 6 +++--- .../composability/recursive-caller/wasm/Cargo.lock | 6 +++--- .../transfer-role-features/wasm/Cargo.lock | 8 ++++---- .../composability/vault/wasm-vault-promises/Cargo.lock | 6 +++--- .../composability/vault/wasm-vault-upgrade/Cargo.lock | 6 +++--- .../feature-tests/composability/vault/wasm/Cargo.lock | 6 +++--- .../crowdfunding-erc20/wasm/Cargo.lock | 6 +++--- .../erc1155-marketplace/wasm/Cargo.lock | 6 +++--- .../erc1155-user-mock/wasm/Cargo.lock | 6 +++--- .../erc-style-contracts/erc1155/wasm/Cargo.lock | 6 +++--- .../erc-style-contracts/erc20/wasm/Cargo.lock | 6 +++--- .../erc-style-contracts/erc721/wasm/Cargo.lock | 6 +++--- .../erc-style-contracts/lottery-erc20/wasm/Cargo.lock | 6 +++--- .../feature-tests/esdt-system-sc-mock/wasm/Cargo.lock | 6 +++--- .../formatted-message-features/wasm/Cargo.lock | 6 +++--- .../feature-tests/managed-map-features/wasm/Cargo.lock | 6 +++--- .../wasm-multi-contract-alt-impl/Cargo.lock | 6 +++--- .../wasm-multi-contract-example-feature/Cargo.lock | 6 +++--- .../wasm-multi-contract-features-view/Cargo.lock | 6 +++--- .../multi-contract-features/wasm/Cargo.lock | 6 +++--- .../panic-message-features/wasm/Cargo.lock | 6 +++--- .../feature-tests/payable-features/wasm/Cargo.lock | 6 +++--- .../rust-snippets-generator-test/wasm/Cargo.lock | 6 +++--- .../rust-testing-framework-tester/wasm/Cargo.lock | 6 +++--- .../use-module/wasm-use-module-view/Cargo.lock | 8 ++++---- contracts/feature-tests/use-module/wasm/Cargo.lock | 8 ++++---- 89 files changed, 283 insertions(+), 280 deletions(-) diff --git a/contracts/benchmarks/large-storage/wasm/Cargo.lock b/contracts/benchmarks/large-storage/wasm/Cargo.lock index 8148ac8ac3..fa29ad6f14 100755 --- a/contracts/benchmarks/large-storage/wasm/Cargo.lock +++ b/contracts/benchmarks/large-storage/wasm/Cargo.lock @@ -55,7 +55,7 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -84,7 +84,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -95,7 +95,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/benchmarks/mappers/linked-list-repeat/wasm/Cargo.lock b/contracts/benchmarks/mappers/linked-list-repeat/wasm/Cargo.lock index e735e81157..b81c08488a 100644 --- a/contracts/benchmarks/mappers/linked-list-repeat/wasm/Cargo.lock +++ b/contracts/benchmarks/mappers/linked-list-repeat/wasm/Cargo.lock @@ -63,7 +63,7 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -92,7 +92,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -103,7 +103,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/benchmarks/mappers/map-repeat/wasm/Cargo.lock b/contracts/benchmarks/mappers/map-repeat/wasm/Cargo.lock index da86542260..54e27ced42 100644 --- a/contracts/benchmarks/mappers/map-repeat/wasm/Cargo.lock +++ b/contracts/benchmarks/mappers/map-repeat/wasm/Cargo.lock @@ -63,7 +63,7 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -92,7 +92,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -103,7 +103,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/benchmarks/mappers/queue-repeat/wasm/Cargo.lock b/contracts/benchmarks/mappers/queue-repeat/wasm/Cargo.lock index cbc93b8e4a..a92443bd08 100644 --- a/contracts/benchmarks/mappers/queue-repeat/wasm/Cargo.lock +++ b/contracts/benchmarks/mappers/queue-repeat/wasm/Cargo.lock @@ -47,7 +47,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -76,7 +76,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -87,7 +87,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/benchmarks/mappers/set-repeat/wasm/Cargo.lock b/contracts/benchmarks/mappers/set-repeat/wasm/Cargo.lock index 8f007230ed..5e5d756355 100644 --- a/contracts/benchmarks/mappers/set-repeat/wasm/Cargo.lock +++ b/contracts/benchmarks/mappers/set-repeat/wasm/Cargo.lock @@ -47,7 +47,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -76,7 +76,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -87,7 +87,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/benchmarks/mappers/single-value-repeat/wasm/Cargo.lock b/contracts/benchmarks/mappers/single-value-repeat/wasm/Cargo.lock index 0ed5ea463d..558c2921c6 100644 --- a/contracts/benchmarks/mappers/single-value-repeat/wasm/Cargo.lock +++ b/contracts/benchmarks/mappers/single-value-repeat/wasm/Cargo.lock @@ -47,7 +47,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -76,7 +76,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -87,7 +87,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/benchmarks/mappers/vec-repeat/wasm/Cargo.lock b/contracts/benchmarks/mappers/vec-repeat/wasm/Cargo.lock index a890308d2e..2feba1a867 100644 --- a/contracts/benchmarks/mappers/vec-repeat/wasm/Cargo.lock +++ b/contracts/benchmarks/mappers/vec-repeat/wasm/Cargo.lock @@ -47,7 +47,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -76,7 +76,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -87,7 +87,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/benchmarks/send-tx-repeat/wasm/Cargo.lock b/contracts/benchmarks/send-tx-repeat/wasm/Cargo.lock index 1950219bdb..f9dfe9d5b2 100755 --- a/contracts/benchmarks/send-tx-repeat/wasm/Cargo.lock +++ b/contracts/benchmarks/send-tx-repeat/wasm/Cargo.lock @@ -40,7 +40,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -69,7 +69,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -80,7 +80,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/benchmarks/str-repeat/wasm/Cargo.lock b/contracts/benchmarks/str-repeat/wasm/Cargo.lock index 196a58c5e7..1486892d5c 100755 --- a/contracts/benchmarks/str-repeat/wasm/Cargo.lock +++ b/contracts/benchmarks/str-repeat/wasm/Cargo.lock @@ -40,7 +40,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -69,7 +69,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -80,7 +80,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/core/price-aggregator/wasm/Cargo.lock b/contracts/core/price-aggregator/wasm/Cargo.lock index e57c4b5d42..3c49a61d3a 100644 --- a/contracts/core/price-aggregator/wasm/Cargo.lock +++ b/contracts/core/price-aggregator/wasm/Cargo.lock @@ -86,7 +86,7 @@ checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" [[package]] name = "multiversx-price-aggregator-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "arrayvec", "getrandom", @@ -105,7 +105,7 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -134,7 +134,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -145,14 +145,14 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/examples/adder/wasm/Cargo.lock b/contracts/examples/adder/wasm/Cargo.lock index 76dad58cac..ee2b588c5d 100755 --- a/contracts/examples/adder/wasm/Cargo.lock +++ b/contracts/examples/adder/wasm/Cargo.lock @@ -55,7 +55,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -84,7 +84,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -95,7 +95,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/examples/bonding-curve-contract/wasm/Cargo.lock b/contracts/examples/bonding-curve-contract/wasm/Cargo.lock index b034ea7a9b..4764163b77 100644 --- a/contracts/examples/bonding-curve-contract/wasm/Cargo.lock +++ b/contracts/examples/bonding-curve-contract/wasm/Cargo.lock @@ -56,7 +56,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -85,7 +85,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -96,14 +96,14 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/examples/check-pause/wasm/Cargo.lock b/contracts/examples/check-pause/wasm/Cargo.lock index b49e145835..659770d735 100644 --- a/contracts/examples/check-pause/wasm/Cargo.lock +++ b/contracts/examples/check-pause/wasm/Cargo.lock @@ -56,7 +56,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -85,7 +85,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -96,14 +96,14 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/examples/crowdfunding-esdt/wasm/Cargo.lock b/contracts/examples/crowdfunding-esdt/wasm/Cargo.lock index 01d410dd3a..06a703eb14 100644 --- a/contracts/examples/crowdfunding-esdt/wasm/Cargo.lock +++ b/contracts/examples/crowdfunding-esdt/wasm/Cargo.lock @@ -55,7 +55,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -84,7 +84,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -95,7 +95,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/examples/crypto-bubbles/wasm/Cargo.lock b/contracts/examples/crypto-bubbles/wasm/Cargo.lock index c646689015..f2c55800ed 100755 --- a/contracts/examples/crypto-bubbles/wasm/Cargo.lock +++ b/contracts/examples/crypto-bubbles/wasm/Cargo.lock @@ -55,7 +55,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -84,7 +84,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -95,7 +95,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/examples/crypto-kitties/kitty-auction/wasm/Cargo.lock b/contracts/examples/crypto-kitties/kitty-auction/wasm/Cargo.lock index 5b6ccc42b7..844e92ad69 100755 --- a/contracts/examples/crypto-kitties/kitty-auction/wasm/Cargo.lock +++ b/contracts/examples/crypto-kitties/kitty-auction/wasm/Cargo.lock @@ -84,7 +84,7 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -113,7 +113,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -124,7 +124,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/examples/crypto-kitties/kitty-genetic-alg/wasm/Cargo.lock b/contracts/examples/crypto-kitties/kitty-genetic-alg/wasm/Cargo.lock index c6f967bda2..3b48261415 100755 --- a/contracts/examples/crypto-kitties/kitty-genetic-alg/wasm/Cargo.lock +++ b/contracts/examples/crypto-kitties/kitty-genetic-alg/wasm/Cargo.lock @@ -65,7 +65,7 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -94,7 +94,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -105,7 +105,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/examples/crypto-kitties/kitty-ownership/wasm/Cargo.lock b/contracts/examples/crypto-kitties/kitty-ownership/wasm/Cargo.lock index 3fcdd3fbd1..2305919360 100755 --- a/contracts/examples/crypto-kitties/kitty-ownership/wasm/Cargo.lock +++ b/contracts/examples/crypto-kitties/kitty-ownership/wasm/Cargo.lock @@ -75,7 +75,7 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -104,7 +104,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -115,7 +115,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/examples/crypto-zombies/wasm/Cargo.lock b/contracts/examples/crypto-zombies/wasm/Cargo.lock index 5605b9f6ab..9425f7d3fe 100755 --- a/contracts/examples/crypto-zombies/wasm/Cargo.lock +++ b/contracts/examples/crypto-zombies/wasm/Cargo.lock @@ -55,7 +55,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -84,7 +84,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -95,7 +95,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/examples/crypto-zombies/wasm/src/lib.rs b/contracts/examples/crypto-zombies/wasm/src/lib.rs index ddffa98fa8..44f5f426c8 100644 --- a/contracts/examples/crypto-zombies/wasm/src/lib.rs +++ b/contracts/examples/crypto-zombies/wasm/src/lib.rs @@ -5,9 +5,9 @@ //////////////////////////////////////////////////// // Init: 1 -// Endpoints: 17 +// Endpoints: 18 // Async Callback: 1 -// Total number of exported functions: 19 +// Total number of exported functions: 20 #![no_std] #![allow(internal_features)] @@ -20,6 +20,7 @@ multiversx_sc_wasm_adapter::endpoints! { crypto_zombies ( init => init + upgrade => upgrade set_crypto_kitties_sc_address => set_crypto_kitties_sc_address generate_random_dna => generate_random_dna create_random_zombie => create_random_zombie diff --git a/contracts/examples/digital-cash/wasm/Cargo.lock b/contracts/examples/digital-cash/wasm/Cargo.lock index 8b772e8f01..d01e7ca5d3 100644 --- a/contracts/examples/digital-cash/wasm/Cargo.lock +++ b/contracts/examples/digital-cash/wasm/Cargo.lock @@ -55,7 +55,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -84,7 +84,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -95,7 +95,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/examples/empty/wasm/Cargo.lock b/contracts/examples/empty/wasm/Cargo.lock index c711b28cbd..ed51dd0f2d 100755 --- a/contracts/examples/empty/wasm/Cargo.lock +++ b/contracts/examples/empty/wasm/Cargo.lock @@ -55,7 +55,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -84,7 +84,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -95,7 +95,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/examples/empty/wasm/src/lib.rs b/contracts/examples/empty/wasm/src/lib.rs index 15644e786d..33ca3e1cfd 100644 --- a/contracts/examples/empty/wasm/src/lib.rs +++ b/contracts/examples/empty/wasm/src/lib.rs @@ -5,9 +5,9 @@ //////////////////////////////////////////////////// // Init: 1 -// Endpoints: 0 +// Endpoints: 1 // Async Callback (empty): 1 -// Total number of exported functions: 2 +// Total number of exported functions: 3 #![no_std] #![allow(internal_features)] @@ -20,6 +20,7 @@ multiversx_sc_wasm_adapter::endpoints! { empty ( init => init + upgrade => upgrade ) } diff --git a/contracts/examples/esdt-transfer-with-fee/wasm/Cargo.lock b/contracts/examples/esdt-transfer-with-fee/wasm/Cargo.lock index d629a0d134..4a29f51769 100644 --- a/contracts/examples/esdt-transfer-with-fee/wasm/Cargo.lock +++ b/contracts/examples/esdt-transfer-with-fee/wasm/Cargo.lock @@ -55,7 +55,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -84,7 +84,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -95,7 +95,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/examples/factorial/wasm/Cargo.lock b/contracts/examples/factorial/wasm/Cargo.lock index afac55b95e..93ca6d814f 100755 --- a/contracts/examples/factorial/wasm/Cargo.lock +++ b/contracts/examples/factorial/wasm/Cargo.lock @@ -55,7 +55,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -84,7 +84,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -95,7 +95,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/examples/fractional-nfts/wasm/Cargo.lock b/contracts/examples/fractional-nfts/wasm/Cargo.lock index 1aac8b6a7e..8cb705ce82 100644 --- a/contracts/examples/fractional-nfts/wasm/Cargo.lock +++ b/contracts/examples/fractional-nfts/wasm/Cargo.lock @@ -56,7 +56,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -85,7 +85,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -96,14 +96,14 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/examples/lottery-esdt/wasm/Cargo.lock b/contracts/examples/lottery-esdt/wasm/Cargo.lock index 8c3f659391..a597e353be 100755 --- a/contracts/examples/lottery-esdt/wasm/Cargo.lock +++ b/contracts/examples/lottery-esdt/wasm/Cargo.lock @@ -55,7 +55,7 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -84,7 +84,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -95,7 +95,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/examples/multisig/wasm-multisig-full/Cargo.lock b/contracts/examples/multisig/wasm-multisig-full/Cargo.lock index 755f08055b..329757cdb6 100644 --- a/contracts/examples/multisig/wasm-multisig-full/Cargo.lock +++ b/contracts/examples/multisig/wasm-multisig-full/Cargo.lock @@ -56,7 +56,7 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -85,7 +85,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -96,14 +96,14 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/examples/multisig/wasm-multisig-view/Cargo.lock b/contracts/examples/multisig/wasm-multisig-view/Cargo.lock index dd6c470358..9ec7d5be1e 100644 --- a/contracts/examples/multisig/wasm-multisig-view/Cargo.lock +++ b/contracts/examples/multisig/wasm-multisig-view/Cargo.lock @@ -56,7 +56,7 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -85,7 +85,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -96,14 +96,14 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/examples/multisig/wasm/Cargo.lock b/contracts/examples/multisig/wasm/Cargo.lock index a2a15edc66..a1f0090ffe 100755 --- a/contracts/examples/multisig/wasm/Cargo.lock +++ b/contracts/examples/multisig/wasm/Cargo.lock @@ -56,7 +56,7 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -85,7 +85,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -96,14 +96,14 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/examples/nft-minter/wasm/Cargo.lock b/contracts/examples/nft-minter/wasm/Cargo.lock index 96d3199e96..8137f69e11 100644 --- a/contracts/examples/nft-minter/wasm/Cargo.lock +++ b/contracts/examples/nft-minter/wasm/Cargo.lock @@ -40,7 +40,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -69,7 +69,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -80,7 +80,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/examples/nft-storage-prepay/wasm/Cargo.lock b/contracts/examples/nft-storage-prepay/wasm/Cargo.lock index 531c5cca79..9618be73c9 100755 --- a/contracts/examples/nft-storage-prepay/wasm/Cargo.lock +++ b/contracts/examples/nft-storage-prepay/wasm/Cargo.lock @@ -40,7 +40,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -69,7 +69,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -80,7 +80,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/examples/nft-subscription/wasm/Cargo.lock b/contracts/examples/nft-subscription/wasm/Cargo.lock index 77ba923958..53bd528197 100644 --- a/contracts/examples/nft-subscription/wasm/Cargo.lock +++ b/contracts/examples/nft-subscription/wasm/Cargo.lock @@ -40,7 +40,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -69,7 +69,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -80,14 +80,14 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/examples/order-book/factory/wasm/Cargo.lock b/contracts/examples/order-book/factory/wasm/Cargo.lock index f4dcd0fd4d..c5b0d6fa16 100644 --- a/contracts/examples/order-book/factory/wasm/Cargo.lock +++ b/contracts/examples/order-book/factory/wasm/Cargo.lock @@ -40,7 +40,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -69,7 +69,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -80,7 +80,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/examples/order-book/pair/wasm/Cargo.lock b/contracts/examples/order-book/pair/wasm/Cargo.lock index 02cce8b075..ee004b1197 100644 --- a/contracts/examples/order-book/pair/wasm/Cargo.lock +++ b/contracts/examples/order-book/pair/wasm/Cargo.lock @@ -40,7 +40,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -69,7 +69,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -80,7 +80,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/examples/ping-pong-egld/wasm/Cargo.lock b/contracts/examples/ping-pong-egld/wasm/Cargo.lock index b8b8c55924..b1fa1d7bee 100755 --- a/contracts/examples/ping-pong-egld/wasm/Cargo.lock +++ b/contracts/examples/ping-pong-egld/wasm/Cargo.lock @@ -40,7 +40,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -69,7 +69,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -80,7 +80,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/examples/ping-pong-egld/wasm/src/lib.rs b/contracts/examples/ping-pong-egld/wasm/src/lib.rs index 5e3d5faca6..ec95d16c7e 100644 --- a/contracts/examples/ping-pong-egld/wasm/src/lib.rs +++ b/contracts/examples/ping-pong-egld/wasm/src/lib.rs @@ -5,9 +5,9 @@ //////////////////////////////////////////////////// // Init: 1 -// Endpoints: 10 +// Endpoints: 11 // Async Callback (empty): 1 -// Total number of exported functions: 12 +// Total number of exported functions: 13 #![no_std] #![allow(internal_features)] @@ -20,6 +20,7 @@ multiversx_sc_wasm_adapter::endpoints! { ping_pong_egld ( init => init + upgrade => upgrade ping => ping pong => pong pongAll => pong_all diff --git a/contracts/examples/proxy-pause/wasm/Cargo.lock b/contracts/examples/proxy-pause/wasm/Cargo.lock index 3fe7a57949..d9ee7fd1bf 100644 --- a/contracts/examples/proxy-pause/wasm/Cargo.lock +++ b/contracts/examples/proxy-pause/wasm/Cargo.lock @@ -40,7 +40,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -69,7 +69,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -80,7 +80,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/examples/rewards-distribution/wasm/Cargo.lock b/contracts/examples/rewards-distribution/wasm/Cargo.lock index 81ec12d61c..2f7aa5b9c9 100644 --- a/contracts/examples/rewards-distribution/wasm/Cargo.lock +++ b/contracts/examples/rewards-distribution/wasm/Cargo.lock @@ -40,7 +40,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -69,7 +69,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -80,14 +80,14 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/examples/seed-nft-minter/wasm/Cargo.lock b/contracts/examples/seed-nft-minter/wasm/Cargo.lock index d8833508b2..cf8559ba91 100644 --- a/contracts/examples/seed-nft-minter/wasm/Cargo.lock +++ b/contracts/examples/seed-nft-minter/wasm/Cargo.lock @@ -40,7 +40,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -69,7 +69,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -80,14 +80,14 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/examples/token-release/wasm/Cargo.lock b/contracts/examples/token-release/wasm/Cargo.lock index 15cb26d036..04771bffe7 100644 --- a/contracts/examples/token-release/wasm/Cargo.lock +++ b/contracts/examples/token-release/wasm/Cargo.lock @@ -40,7 +40,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -69,7 +69,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -80,7 +80,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/feature-tests/abi-tester/wasm-abi-tester-ev/Cargo.lock b/contracts/feature-tests/abi-tester/wasm-abi-tester-ev/Cargo.lock index ba640af091..68b0945a4a 100644 --- a/contracts/feature-tests/abi-tester/wasm-abi-tester-ev/Cargo.lock +++ b/contracts/feature-tests/abi-tester/wasm-abi-tester-ev/Cargo.lock @@ -55,7 +55,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -84,7 +84,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -95,7 +95,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/feature-tests/abi-tester/wasm/Cargo.lock b/contracts/feature-tests/abi-tester/wasm/Cargo.lock index a19279f401..8f5706541d 100755 --- a/contracts/feature-tests/abi-tester/wasm/Cargo.lock +++ b/contracts/feature-tests/abi-tester/wasm/Cargo.lock @@ -55,7 +55,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -84,7 +84,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -95,7 +95,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/feature-tests/alloc-features/wasm-alloc-mem-fail/Cargo.lock b/contracts/feature-tests/alloc-features/wasm-alloc-mem-fail/Cargo.lock index bd879ba61d..86a0dd8369 100644 --- a/contracts/feature-tests/alloc-features/wasm-alloc-mem-fail/Cargo.lock +++ b/contracts/feature-tests/alloc-features/wasm-alloc-mem-fail/Cargo.lock @@ -55,7 +55,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -84,7 +84,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -95,7 +95,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/feature-tests/alloc-features/wasm-alloc-mem-leaking/Cargo.lock b/contracts/feature-tests/alloc-features/wasm-alloc-mem-leaking/Cargo.lock index 3cc4ec38d2..e6478aa683 100644 --- a/contracts/feature-tests/alloc-features/wasm-alloc-mem-leaking/Cargo.lock +++ b/contracts/feature-tests/alloc-features/wasm-alloc-mem-leaking/Cargo.lock @@ -55,7 +55,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -84,7 +84,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -95,7 +95,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/feature-tests/alloc-features/wasm/Cargo.lock b/contracts/feature-tests/alloc-features/wasm/Cargo.lock index e5835e2b7a..78cd8de067 100644 --- a/contracts/feature-tests/alloc-features/wasm/Cargo.lock +++ b/contracts/feature-tests/alloc-features/wasm/Cargo.lock @@ -55,7 +55,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -84,7 +84,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -95,7 +95,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/feature-tests/basic-features/wasm-basic-features-storage-bytes/Cargo.lock b/contracts/feature-tests/basic-features/wasm-basic-features-storage-bytes/Cargo.lock index 2df9369539..fd4d59761c 100644 --- a/contracts/feature-tests/basic-features/wasm-basic-features-storage-bytes/Cargo.lock +++ b/contracts/feature-tests/basic-features/wasm-basic-features-storage-bytes/Cargo.lock @@ -56,7 +56,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -85,7 +85,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -96,14 +96,14 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/feature-tests/basic-features/wasm/Cargo.lock b/contracts/feature-tests/basic-features/wasm/Cargo.lock index d7b69c3824..e4bb971005 100755 --- a/contracts/feature-tests/basic-features/wasm/Cargo.lock +++ b/contracts/feature-tests/basic-features/wasm/Cargo.lock @@ -56,7 +56,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -85,7 +85,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -96,14 +96,14 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/feature-tests/big-float-features/wasm/Cargo.lock b/contracts/feature-tests/big-float-features/wasm/Cargo.lock index 4b170e4db8..8de5fab712 100644 --- a/contracts/feature-tests/big-float-features/wasm/Cargo.lock +++ b/contracts/feature-tests/big-float-features/wasm/Cargo.lock @@ -55,7 +55,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -84,7 +84,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -95,7 +95,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/feature-tests/composability/builtin-func-features/wasm/Cargo.lock b/contracts/feature-tests/composability/builtin-func-features/wasm/Cargo.lock index 82d29dce3b..4e9e07752c 100644 --- a/contracts/feature-tests/composability/builtin-func-features/wasm/Cargo.lock +++ b/contracts/feature-tests/composability/builtin-func-features/wasm/Cargo.lock @@ -55,7 +55,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -84,7 +84,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -95,7 +95,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/feature-tests/composability/esdt-contract-pair/first-contract/wasm/Cargo.lock b/contracts/feature-tests/composability/esdt-contract-pair/first-contract/wasm/Cargo.lock index e67425c1a8..c38b6fb0ce 100755 --- a/contracts/feature-tests/composability/esdt-contract-pair/first-contract/wasm/Cargo.lock +++ b/contracts/feature-tests/composability/esdt-contract-pair/first-contract/wasm/Cargo.lock @@ -55,7 +55,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -84,7 +84,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -95,7 +95,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/feature-tests/composability/esdt-contract-pair/second-contract/wasm/Cargo.lock b/contracts/feature-tests/composability/esdt-contract-pair/second-contract/wasm/Cargo.lock index f8807680d7..b6b9fc008d 100755 --- a/contracts/feature-tests/composability/esdt-contract-pair/second-contract/wasm/Cargo.lock +++ b/contracts/feature-tests/composability/esdt-contract-pair/second-contract/wasm/Cargo.lock @@ -40,7 +40,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -69,7 +69,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -80,7 +80,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/feature-tests/composability/execute-on-dest-esdt-issue-callback/child/wasm/Cargo.lock b/contracts/feature-tests/composability/execute-on-dest-esdt-issue-callback/child/wasm/Cargo.lock index 2022bb8ce9..1fcf243263 100755 --- a/contracts/feature-tests/composability/execute-on-dest-esdt-issue-callback/child/wasm/Cargo.lock +++ b/contracts/feature-tests/composability/execute-on-dest-esdt-issue-callback/child/wasm/Cargo.lock @@ -55,7 +55,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -84,7 +84,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -95,7 +95,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/feature-tests/composability/execute-on-dest-esdt-issue-callback/parent/wasm/Cargo.lock b/contracts/feature-tests/composability/execute-on-dest-esdt-issue-callback/parent/wasm/Cargo.lock index 240d777f6c..a1695205f6 100755 --- a/contracts/feature-tests/composability/execute-on-dest-esdt-issue-callback/parent/wasm/Cargo.lock +++ b/contracts/feature-tests/composability/execute-on-dest-esdt-issue-callback/parent/wasm/Cargo.lock @@ -47,7 +47,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -76,7 +76,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -87,7 +87,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/feature-tests/composability/forwarder-queue/wasm-forwarder-queue-promises/Cargo.lock b/contracts/feature-tests/composability/forwarder-queue/wasm-forwarder-queue-promises/Cargo.lock index b724024395..77b8dddef6 100644 --- a/contracts/feature-tests/composability/forwarder-queue/wasm-forwarder-queue-promises/Cargo.lock +++ b/contracts/feature-tests/composability/forwarder-queue/wasm-forwarder-queue-promises/Cargo.lock @@ -56,7 +56,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -85,7 +85,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -96,7 +96,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/feature-tests/composability/forwarder-queue/wasm/Cargo.lock b/contracts/feature-tests/composability/forwarder-queue/wasm/Cargo.lock index e016cf9424..16c620e6f3 100644 --- a/contracts/feature-tests/composability/forwarder-queue/wasm/Cargo.lock +++ b/contracts/feature-tests/composability/forwarder-queue/wasm/Cargo.lock @@ -56,7 +56,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -85,7 +85,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -96,7 +96,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/feature-tests/composability/forwarder-raw/wasm-forwarder-raw-init-async-call/Cargo.lock b/contracts/feature-tests/composability/forwarder-raw/wasm-forwarder-raw-init-async-call/Cargo.lock index 5f95df3475..dc9d4ac00a 100644 --- a/contracts/feature-tests/composability/forwarder-raw/wasm-forwarder-raw-init-async-call/Cargo.lock +++ b/contracts/feature-tests/composability/forwarder-raw/wasm-forwarder-raw-init-async-call/Cargo.lock @@ -55,7 +55,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -84,7 +84,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -95,7 +95,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/feature-tests/composability/forwarder-raw/wasm-forwarder-raw-init-sync-call/Cargo.lock b/contracts/feature-tests/composability/forwarder-raw/wasm-forwarder-raw-init-sync-call/Cargo.lock index f56e305375..1e3db2655b 100644 --- a/contracts/feature-tests/composability/forwarder-raw/wasm-forwarder-raw-init-sync-call/Cargo.lock +++ b/contracts/feature-tests/composability/forwarder-raw/wasm-forwarder-raw-init-sync-call/Cargo.lock @@ -55,7 +55,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -84,7 +84,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -95,7 +95,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/feature-tests/composability/forwarder-raw/wasm/Cargo.lock b/contracts/feature-tests/composability/forwarder-raw/wasm/Cargo.lock index 91e3bd89a9..f5ba514af5 100755 --- a/contracts/feature-tests/composability/forwarder-raw/wasm/Cargo.lock +++ b/contracts/feature-tests/composability/forwarder-raw/wasm/Cargo.lock @@ -55,7 +55,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -84,7 +84,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -95,7 +95,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/feature-tests/composability/forwarder/wasm/Cargo.lock b/contracts/feature-tests/composability/forwarder/wasm/Cargo.lock index c97d19070a..3d866d859a 100755 --- a/contracts/feature-tests/composability/forwarder/wasm/Cargo.lock +++ b/contracts/feature-tests/composability/forwarder/wasm/Cargo.lock @@ -56,7 +56,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -85,7 +85,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -96,7 +96,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/feature-tests/composability/local-esdt-and-nft/wasm/Cargo.lock b/contracts/feature-tests/composability/local-esdt-and-nft/wasm/Cargo.lock index 689b3335f2..acc6558d24 100755 --- a/contracts/feature-tests/composability/local-esdt-and-nft/wasm/Cargo.lock +++ b/contracts/feature-tests/composability/local-esdt-and-nft/wasm/Cargo.lock @@ -55,7 +55,7 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -84,7 +84,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -95,7 +95,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/feature-tests/composability/promises-features/wasm/Cargo.lock b/contracts/feature-tests/composability/promises-features/wasm/Cargo.lock index 5dfe73db9f..eb6e4092ed 100644 --- a/contracts/feature-tests/composability/promises-features/wasm/Cargo.lock +++ b/contracts/feature-tests/composability/promises-features/wasm/Cargo.lock @@ -40,7 +40,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -69,7 +69,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -80,7 +80,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/feature-tests/composability/proxy-test-first/wasm/Cargo.lock b/contracts/feature-tests/composability/proxy-test-first/wasm/Cargo.lock index ac29bd11ae..4aff4f7065 100755 --- a/contracts/feature-tests/composability/proxy-test-first/wasm/Cargo.lock +++ b/contracts/feature-tests/composability/proxy-test-first/wasm/Cargo.lock @@ -40,7 +40,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -69,7 +69,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -80,7 +80,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/feature-tests/composability/proxy-test-second/wasm/Cargo.lock b/contracts/feature-tests/composability/proxy-test-second/wasm/Cargo.lock index 6cc85e8a9f..3420a7b3f6 100755 --- a/contracts/feature-tests/composability/proxy-test-second/wasm/Cargo.lock +++ b/contracts/feature-tests/composability/proxy-test-second/wasm/Cargo.lock @@ -40,7 +40,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -69,7 +69,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -80,7 +80,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/feature-tests/composability/recursive-caller/wasm/Cargo.lock b/contracts/feature-tests/composability/recursive-caller/wasm/Cargo.lock index 63354a689b..1c86119ff1 100755 --- a/contracts/feature-tests/composability/recursive-caller/wasm/Cargo.lock +++ b/contracts/feature-tests/composability/recursive-caller/wasm/Cargo.lock @@ -40,7 +40,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -69,7 +69,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -80,7 +80,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/feature-tests/composability/transfer-role-features/wasm/Cargo.lock b/contracts/feature-tests/composability/transfer-role-features/wasm/Cargo.lock index 109fc9822b..bb7ae8f108 100644 --- a/contracts/feature-tests/composability/transfer-role-features/wasm/Cargo.lock +++ b/contracts/feature-tests/composability/transfer-role-features/wasm/Cargo.lock @@ -40,7 +40,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -69,7 +69,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -80,14 +80,14 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/feature-tests/composability/vault/wasm-vault-promises/Cargo.lock b/contracts/feature-tests/composability/vault/wasm-vault-promises/Cargo.lock index 2d088845e2..ee08553757 100644 --- a/contracts/feature-tests/composability/vault/wasm-vault-promises/Cargo.lock +++ b/contracts/feature-tests/composability/vault/wasm-vault-promises/Cargo.lock @@ -40,7 +40,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -69,7 +69,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -80,7 +80,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/feature-tests/composability/vault/wasm-vault-upgrade/Cargo.lock b/contracts/feature-tests/composability/vault/wasm-vault-upgrade/Cargo.lock index 155de79270..5130bd4f11 100644 --- a/contracts/feature-tests/composability/vault/wasm-vault-upgrade/Cargo.lock +++ b/contracts/feature-tests/composability/vault/wasm-vault-upgrade/Cargo.lock @@ -40,7 +40,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -69,7 +69,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -80,7 +80,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/feature-tests/composability/vault/wasm/Cargo.lock b/contracts/feature-tests/composability/vault/wasm/Cargo.lock index f1ca2e7050..7c62c838a8 100755 --- a/contracts/feature-tests/composability/vault/wasm/Cargo.lock +++ b/contracts/feature-tests/composability/vault/wasm/Cargo.lock @@ -40,7 +40,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -69,7 +69,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -80,7 +80,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/feature-tests/erc-style-contracts/crowdfunding-erc20/wasm/Cargo.lock b/contracts/feature-tests/erc-style-contracts/crowdfunding-erc20/wasm/Cargo.lock index bea64d59ff..c1f6bbab6c 100644 --- a/contracts/feature-tests/erc-style-contracts/crowdfunding-erc20/wasm/Cargo.lock +++ b/contracts/feature-tests/erc-style-contracts/crowdfunding-erc20/wasm/Cargo.lock @@ -63,7 +63,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -92,7 +92,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -103,7 +103,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/feature-tests/erc-style-contracts/erc1155-marketplace/wasm/Cargo.lock b/contracts/feature-tests/erc-style-contracts/erc1155-marketplace/wasm/Cargo.lock index 9c1dab726e..e1d897e85b 100644 --- a/contracts/feature-tests/erc-style-contracts/erc1155-marketplace/wasm/Cargo.lock +++ b/contracts/feature-tests/erc-style-contracts/erc1155-marketplace/wasm/Cargo.lock @@ -63,7 +63,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -92,7 +92,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -103,7 +103,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/feature-tests/erc-style-contracts/erc1155-user-mock/wasm/Cargo.lock b/contracts/feature-tests/erc-style-contracts/erc1155-user-mock/wasm/Cargo.lock index 70a92d0808..89b2e55240 100644 --- a/contracts/feature-tests/erc-style-contracts/erc1155-user-mock/wasm/Cargo.lock +++ b/contracts/feature-tests/erc-style-contracts/erc1155-user-mock/wasm/Cargo.lock @@ -55,7 +55,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -84,7 +84,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -95,7 +95,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/feature-tests/erc-style-contracts/erc1155/wasm/Cargo.lock b/contracts/feature-tests/erc-style-contracts/erc1155/wasm/Cargo.lock index 474ac2e011..edcb0e4176 100644 --- a/contracts/feature-tests/erc-style-contracts/erc1155/wasm/Cargo.lock +++ b/contracts/feature-tests/erc-style-contracts/erc1155/wasm/Cargo.lock @@ -55,7 +55,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -84,7 +84,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -95,7 +95,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/feature-tests/erc-style-contracts/erc20/wasm/Cargo.lock b/contracts/feature-tests/erc-style-contracts/erc20/wasm/Cargo.lock index ad9f9fd870..4833835c10 100644 --- a/contracts/feature-tests/erc-style-contracts/erc20/wasm/Cargo.lock +++ b/contracts/feature-tests/erc-style-contracts/erc20/wasm/Cargo.lock @@ -55,7 +55,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -84,7 +84,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -95,7 +95,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/feature-tests/erc-style-contracts/erc721/wasm/Cargo.lock b/contracts/feature-tests/erc-style-contracts/erc721/wasm/Cargo.lock index 60bc68aaee..7b5004e949 100644 --- a/contracts/feature-tests/erc-style-contracts/erc721/wasm/Cargo.lock +++ b/contracts/feature-tests/erc-style-contracts/erc721/wasm/Cargo.lock @@ -55,7 +55,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -84,7 +84,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -95,7 +95,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/feature-tests/erc-style-contracts/lottery-erc20/wasm/Cargo.lock b/contracts/feature-tests/erc-style-contracts/lottery-erc20/wasm/Cargo.lock index 2e3ed780bc..2d821b9e29 100644 --- a/contracts/feature-tests/erc-style-contracts/lottery-erc20/wasm/Cargo.lock +++ b/contracts/feature-tests/erc-style-contracts/lottery-erc20/wasm/Cargo.lock @@ -63,7 +63,7 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -92,7 +92,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -103,7 +103,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/feature-tests/esdt-system-sc-mock/wasm/Cargo.lock b/contracts/feature-tests/esdt-system-sc-mock/wasm/Cargo.lock index eb96bc7f0d..d789558af3 100644 --- a/contracts/feature-tests/esdt-system-sc-mock/wasm/Cargo.lock +++ b/contracts/feature-tests/esdt-system-sc-mock/wasm/Cargo.lock @@ -55,7 +55,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -84,7 +84,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -95,7 +95,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/feature-tests/formatted-message-features/wasm/Cargo.lock b/contracts/feature-tests/formatted-message-features/wasm/Cargo.lock index 8c987ab31f..b19830db13 100644 --- a/contracts/feature-tests/formatted-message-features/wasm/Cargo.lock +++ b/contracts/feature-tests/formatted-message-features/wasm/Cargo.lock @@ -55,7 +55,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -84,7 +84,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -95,7 +95,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/feature-tests/managed-map-features/wasm/Cargo.lock b/contracts/feature-tests/managed-map-features/wasm/Cargo.lock index 7e5399de32..e8fa9edd3d 100644 --- a/contracts/feature-tests/managed-map-features/wasm/Cargo.lock +++ b/contracts/feature-tests/managed-map-features/wasm/Cargo.lock @@ -55,7 +55,7 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -84,7 +84,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -95,7 +95,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/feature-tests/multi-contract-features/wasm-multi-contract-alt-impl/Cargo.lock b/contracts/feature-tests/multi-contract-features/wasm-multi-contract-alt-impl/Cargo.lock index aceb038fd8..1361ebb7c7 100644 --- a/contracts/feature-tests/multi-contract-features/wasm-multi-contract-alt-impl/Cargo.lock +++ b/contracts/feature-tests/multi-contract-features/wasm-multi-contract-alt-impl/Cargo.lock @@ -55,7 +55,7 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -84,7 +84,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -95,7 +95,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/feature-tests/multi-contract-features/wasm-multi-contract-example-feature/Cargo.lock b/contracts/feature-tests/multi-contract-features/wasm-multi-contract-example-feature/Cargo.lock index 9286c580a2..3928df2b36 100644 --- a/contracts/feature-tests/multi-contract-features/wasm-multi-contract-example-feature/Cargo.lock +++ b/contracts/feature-tests/multi-contract-features/wasm-multi-contract-example-feature/Cargo.lock @@ -55,7 +55,7 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -84,7 +84,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -95,7 +95,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/feature-tests/multi-contract-features/wasm-multi-contract-features-view/Cargo.lock b/contracts/feature-tests/multi-contract-features/wasm-multi-contract-features-view/Cargo.lock index 65cc74b09e..db8878b7ad 100644 --- a/contracts/feature-tests/multi-contract-features/wasm-multi-contract-features-view/Cargo.lock +++ b/contracts/feature-tests/multi-contract-features/wasm-multi-contract-features-view/Cargo.lock @@ -55,7 +55,7 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -84,7 +84,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -95,7 +95,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/feature-tests/multi-contract-features/wasm/Cargo.lock b/contracts/feature-tests/multi-contract-features/wasm/Cargo.lock index ce7ca2f252..a8b5526b05 100755 --- a/contracts/feature-tests/multi-contract-features/wasm/Cargo.lock +++ b/contracts/feature-tests/multi-contract-features/wasm/Cargo.lock @@ -55,7 +55,7 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -84,7 +84,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -95,7 +95,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/feature-tests/panic-message-features/wasm/Cargo.lock b/contracts/feature-tests/panic-message-features/wasm/Cargo.lock index 558b9240b2..daee57efc3 100755 --- a/contracts/feature-tests/panic-message-features/wasm/Cargo.lock +++ b/contracts/feature-tests/panic-message-features/wasm/Cargo.lock @@ -40,7 +40,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -69,7 +69,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -80,7 +80,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/feature-tests/payable-features/wasm/Cargo.lock b/contracts/feature-tests/payable-features/wasm/Cargo.lock index 704af6b632..56c5e9e863 100755 --- a/contracts/feature-tests/payable-features/wasm/Cargo.lock +++ b/contracts/feature-tests/payable-features/wasm/Cargo.lock @@ -40,7 +40,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -69,7 +69,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -80,7 +80,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/feature-tests/rust-snippets-generator-test/wasm/Cargo.lock b/contracts/feature-tests/rust-snippets-generator-test/wasm/Cargo.lock index c22b5416f6..1f0efa51a3 100644 --- a/contracts/feature-tests/rust-snippets-generator-test/wasm/Cargo.lock +++ b/contracts/feature-tests/rust-snippets-generator-test/wasm/Cargo.lock @@ -40,7 +40,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -69,7 +69,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -80,7 +80,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/feature-tests/rust-testing-framework-tester/wasm/Cargo.lock b/contracts/feature-tests/rust-testing-framework-tester/wasm/Cargo.lock index 0fcafe1b8f..83116fbd50 100644 --- a/contracts/feature-tests/rust-testing-framework-tester/wasm/Cargo.lock +++ b/contracts/feature-tests/rust-testing-framework-tester/wasm/Cargo.lock @@ -40,7 +40,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -69,7 +69,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -80,7 +80,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/feature-tests/use-module/wasm-use-module-view/Cargo.lock b/contracts/feature-tests/use-module/wasm-use-module-view/Cargo.lock index 24321aeeb7..6de9cf30eb 100644 --- a/contracts/feature-tests/use-module/wasm-use-module-view/Cargo.lock +++ b/contracts/feature-tests/use-module/wasm-use-module-view/Cargo.lock @@ -40,7 +40,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -69,7 +69,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -80,14 +80,14 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] diff --git a/contracts/feature-tests/use-module/wasm/Cargo.lock b/contracts/feature-tests/use-module/wasm/Cargo.lock index 1cd3a408af..9d8b2504a3 100644 --- a/contracts/feature-tests/use-module/wasm/Cargo.lock +++ b/contracts/feature-tests/use-module/wasm/Cargo.lock @@ -40,7 +40,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.47.4" +version = "0.47.5" dependencies = [ "bitflags", "hex-literal", @@ -69,7 +69,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.47.4" +version = "0.47.5" dependencies = [ "hex", "proc-macro2", @@ -80,14 +80,14 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.47.4" +version = "0.47.5" dependencies = [ "multiversx-sc", ] From 652e1a86b2a661fd1b1428443b4e1cffb6ca7024 Mon Sep 17 00:00:00 2001 From: Andrei Marinica Date: Fri, 8 Mar 2024 14:23:49 +0200 Subject: [PATCH 29/36] scenario fmt --- .../alloc-features/scenarios/alloc_mem_fail.scen.json | 2 +- .../alloc-features/scenarios/alloc_mem_leaking.scen.json | 2 +- .../scenarios/storage_mapper_get_at_address.scen.json | 2 +- .../rust-testing-framework-tester/scenarios/test.scen.json | 2 -- .../scenarios/test_esdt_generation.scen.json | 6 ++---- 5 files changed, 5 insertions(+), 9 deletions(-) diff --git a/contracts/feature-tests/alloc-features/scenarios/alloc_mem_fail.scen.json b/contracts/feature-tests/alloc-features/scenarios/alloc_mem_fail.scen.json index 0925fbf76f..5185e53638 100644 --- a/contracts/feature-tests/alloc-features/scenarios/alloc_mem_fail.scen.json +++ b/contracts/feature-tests/alloc-features/scenarios/alloc_mem_fail.scen.json @@ -36,4 +36,4 @@ } } ] -} \ No newline at end of file +} diff --git a/contracts/feature-tests/alloc-features/scenarios/alloc_mem_leaking.scen.json b/contracts/feature-tests/alloc-features/scenarios/alloc_mem_leaking.scen.json index d45bf922ac..0cae3b7303 100644 --- a/contracts/feature-tests/alloc-features/scenarios/alloc_mem_leaking.scen.json +++ b/contracts/feature-tests/alloc-features/scenarios/alloc_mem_leaking.scen.json @@ -37,4 +37,4 @@ } } ] -} \ No newline at end of file +} diff --git a/contracts/feature-tests/basic-features/scenarios/storage_mapper_get_at_address.scen.json b/contracts/feature-tests/basic-features/scenarios/storage_mapper_get_at_address.scen.json index 6c2feb1d84..ffa1bbb620 100644 --- a/contracts/feature-tests/basic-features/scenarios/storage_mapper_get_at_address.scen.json +++ b/contracts/feature-tests/basic-features/scenarios/storage_mapper_get_at_address.scen.json @@ -305,4 +305,4 @@ } } ] -} \ No newline at end of file +} diff --git a/contracts/feature-tests/rust-testing-framework-tester/scenarios/test.scen.json b/contracts/feature-tests/rust-testing-framework-tester/scenarios/test.scen.json index d92783c9a0..eccc6e7367 100644 --- a/contracts/feature-tests/rust-testing-framework-tester/scenarios/test.scen.json +++ b/contracts/feature-tests/rust-testing-framework-tester/scenarios/test.scen.json @@ -37,7 +37,6 @@ "accounts": { "0x0000000000000000fb1397e8225ea85e0f0e6e8c7b126d0016ccbde0e667151e": { "balance": "0", - "esdt": {}, "storage": { "str:totalValue": "0x01" }, @@ -71,7 +70,6 @@ "accounts": { "0x0000000000000000fb1397e8225ea85e0f0e6e8c7b126d0016ccbde0e667151e": { "balance": "0", - "esdt": {}, "storage": { "0x76616c756550657243616c6c657266687aadf862bd776c8fc18b8e9f8e20089714856ee233b3902a591d0d5f2925": "0x32", "str:totalValue": "0x33" diff --git a/contracts/feature-tests/rust-testing-framework-tester/scenarios/test_esdt_generation.scen.json b/contracts/feature-tests/rust-testing-framework-tester/scenarios/test_esdt_generation.scen.json index 558a14c743..a81d56b4f3 100644 --- a/contracts/feature-tests/rust-testing-framework-tester/scenarios/test_esdt_generation.scen.json +++ b/contracts/feature-tests/rust-testing-framework-tester/scenarios/test_esdt_generation.scen.json @@ -21,8 +21,7 @@ { "nonce": "0", "balance": "1000", - "royalties": "0", - "attributes": "0x" + "royalties": "0" } ] } @@ -45,8 +44,7 @@ "nonce": "0", "balance": "1000", "royalties": "0", - "uri": [], - "attributes": "0x" + "uri": [] } ] } From bbaf79557ae249deb6689bf410c74a361bcfcda2 Mon Sep 17 00:00:00 2001 From: Andrei Marinica Date: Fri, 8 Mar 2024 14:32:47 +0200 Subject: [PATCH 30/36] scenario re-gen --- .../scenarios/stress_submit_test.scen.json | 203 +++++++++++++----- .../scenarios/test.scen.json | 2 + .../scenarios/test_esdt_generation.scen.json | 6 +- 3 files changed, 159 insertions(+), 52 deletions(-) diff --git a/contracts/core/price-aggregator/scenarios/stress_submit_test.scen.json b/contracts/core/price-aggregator/scenarios/stress_submit_test.scen.json index 72d06e6316..6542b59c39 100644 --- a/contracts/core/price-aggregator/scenarios/stress_submit_test.scen.json +++ b/contracts/core/price-aggregator/scenarios/stress_submit_test.scen.json @@ -220,6 +220,7 @@ }, { "step": "scDeploy", + "id": "", "tx": { "from": "address:owner", "contractCode": "mxsc:../output/multiversx-price-aggregator-sc.mxsc.json", @@ -289,6 +290,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle1", "to": "sc:price-aggregator", @@ -304,6 +306,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle2", "to": "sc:price-aggregator", @@ -319,6 +322,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle3", "to": "sc:price-aggregator", @@ -334,6 +338,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle4", "to": "sc:price-aggregator", @@ -349,6 +354,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle5", "to": "sc:price-aggregator", @@ -364,6 +370,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle6", "to": "sc:price-aggregator", @@ -379,6 +386,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle7", "to": "sc:price-aggregator", @@ -394,6 +402,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle8", "to": "sc:price-aggregator", @@ -409,6 +418,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle9", "to": "sc:price-aggregator", @@ -424,6 +434,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle10", "to": "sc:price-aggregator", @@ -439,6 +450,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle11", "to": "sc:price-aggregator", @@ -454,6 +466,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle12", "to": "sc:price-aggregator", @@ -469,6 +482,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle13", "to": "sc:price-aggregator", @@ -484,6 +498,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle14", "to": "sc:price-aggregator", @@ -499,6 +514,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle15", "to": "sc:price-aggregator", @@ -514,6 +530,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle16", "to": "sc:price-aggregator", @@ -529,6 +546,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle17", "to": "sc:price-aggregator", @@ -544,6 +562,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle18", "to": "sc:price-aggregator", @@ -559,6 +578,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle19", "to": "sc:price-aggregator", @@ -574,6 +594,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle20", "to": "sc:price-aggregator", @@ -589,6 +610,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle21", "to": "sc:price-aggregator", @@ -604,6 +626,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle22", "to": "sc:price-aggregator", @@ -619,6 +642,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle23", "to": "sc:price-aggregator", @@ -634,6 +658,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle24", "to": "sc:price-aggregator", @@ -649,6 +674,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle25", "to": "sc:price-aggregator", @@ -664,6 +690,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle26", "to": "sc:price-aggregator", @@ -679,6 +706,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle27", "to": "sc:price-aggregator", @@ -694,6 +722,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle28", "to": "sc:price-aggregator", @@ -709,6 +738,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle29", "to": "sc:price-aggregator", @@ -724,6 +754,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle30", "to": "sc:price-aggregator", @@ -739,6 +770,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle31", "to": "sc:price-aggregator", @@ -754,6 +786,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle32", "to": "sc:price-aggregator", @@ -769,6 +802,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle33", "to": "sc:price-aggregator", @@ -784,6 +818,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle34", "to": "sc:price-aggregator", @@ -799,6 +834,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle35", "to": "sc:price-aggregator", @@ -814,6 +850,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle36", "to": "sc:price-aggregator", @@ -829,6 +866,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle37", "to": "sc:price-aggregator", @@ -844,6 +882,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle38", "to": "sc:price-aggregator", @@ -859,6 +898,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle39", "to": "sc:price-aggregator", @@ -874,6 +914,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle40", "to": "sc:price-aggregator", @@ -889,6 +930,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle41", "to": "sc:price-aggregator", @@ -904,6 +946,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle42", "to": "sc:price-aggregator", @@ -919,6 +962,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle43", "to": "sc:price-aggregator", @@ -934,6 +978,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle44", "to": "sc:price-aggregator", @@ -949,6 +994,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle45", "to": "sc:price-aggregator", @@ -964,6 +1010,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle46", "to": "sc:price-aggregator", @@ -979,6 +1026,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle47", "to": "sc:price-aggregator", @@ -994,6 +1042,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle48", "to": "sc:price-aggregator", @@ -1009,6 +1058,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle49", "to": "sc:price-aggregator", @@ -1024,6 +1074,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle50", "to": "sc:price-aggregator", @@ -1039,6 +1090,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:owner", "to": "sc:price-aggregator", @@ -1057,6 +1109,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:owner", "to": "sc:price-aggregator", @@ -1071,6 +1124,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle1", "to": "sc:price-aggregator", @@ -1079,7 +1133,7 @@ "0x45474c44", "0x55534443", "0x5f", - "0x20f828b458ed8ed1", + "0x3beec6f9cf5130ed", "0x" ], "gasLimit": "7,000,000" @@ -1091,6 +1145,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle2", "to": "sc:price-aggregator", @@ -1099,7 +1154,7 @@ "0x45474c44", "0x55534443", "0x64", - "0x2676d2b701c3b471", + "0x50d924566a98aec8", "0x" ], "gasLimit": "7,000,000" @@ -1111,6 +1166,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle3", "to": "sc:price-aggregator", @@ -1119,7 +1175,7 @@ "0x45474c44", "0x55534443", "0x64", - "0x18052e90c58519cd", + "0x097b928bb2d85516", "0x" ], "gasLimit": "7,000,000" @@ -1131,6 +1187,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle4", "to": "sc:price-aggregator", @@ -1139,7 +1196,7 @@ "0x45474c44", "0x55534443", "0x64", - "0x4b139df90523ff1e", + "0x765c960a5c3c6b95", "0x" ], "gasLimit": "7,000,000" @@ -1151,6 +1208,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle5", "to": "sc:price-aggregator", @@ -1159,7 +1217,7 @@ "0x45474c44", "0x55534443", "0x64", - "0x8d8ff5c57157d8b2", + "0xf7426f44c20f404c", "0x" ], "gasLimit": "7,000,000" @@ -1171,6 +1229,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle6", "to": "sc:price-aggregator", @@ -1179,7 +1238,7 @@ "0x45474c44", "0x55534443", "0x64", - "0x429916db24f4a29a", + "0xa5c69769ba606c2b", "0x" ], "gasLimit": "7,000,000" @@ -1191,6 +1250,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle7", "to": "sc:price-aggregator", @@ -1199,7 +1259,7 @@ "0x45474c44", "0x55534443", "0x64", - "0x20c94b8b0e79ad2c", + "0xe8f77e933d1f2517", "0x" ], "gasLimit": "7,000,000" @@ -1211,6 +1271,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle8", "to": "sc:price-aggregator", @@ -1219,7 +1280,7 @@ "0x45474c44", "0x55534443", "0x64", - "0x9394613d6e0c60a0", + "0x94fba404681c1183", "0x" ], "gasLimit": "7,000,000" @@ -1231,6 +1292,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle9", "to": "sc:price-aggregator", @@ -1239,7 +1301,7 @@ "0x45474c44", "0x55534443", "0x64", - "0x09b91e4b6287762c", + "0xdc506f08b25d3b71", "0x" ], "gasLimit": "7,000,000" @@ -1251,6 +1313,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle10", "to": "sc:price-aggregator", @@ -1259,7 +1322,7 @@ "0x45474c44", "0x55534443", "0x64", - "0x8f523ef0c30d5660", + "0xf5b0acb8ddff3752", "0x" ], "gasLimit": "7,000,000" @@ -1271,6 +1334,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle11", "to": "sc:price-aggregator", @@ -1279,7 +1343,7 @@ "0x45474c44", "0x55534443", "0x64", - "0x9a3b75436bbc9750", + "0x39a7d356f768ea5e", "0x" ], "gasLimit": "7,000,000" @@ -1291,6 +1355,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle12", "to": "sc:price-aggregator", @@ -1299,7 +1364,7 @@ "0x45474c44", "0x55534443", "0x64", - "0xaf90f593a2eca8b0", + "0xaf145a7f797a48a1", "0x" ], "gasLimit": "7,000,000" @@ -1311,6 +1376,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle13", "to": "sc:price-aggregator", @@ -1319,7 +1385,7 @@ "0x45474c44", "0x55534443", "0x64", - "0xe49d6e0a84537efc", + "0xb18143fe76eef718", "0x" ], "gasLimit": "7,000,000" @@ -1331,6 +1397,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle14", "to": "sc:price-aggregator", @@ -1339,7 +1406,7 @@ "0x45474c44", "0x55534443", "0x64", - "0x9358a38ff254be4b", + "0x6f64a1ddec18e577", "0x" ], "gasLimit": "7,000,000" @@ -1351,6 +1418,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle15", "to": "sc:price-aggregator", @@ -1359,7 +1427,7 @@ "0x45474c44", "0x55534443", "0x64", - "0x4224d33d8a7342fb", + "0x87ffce2a932db3d4", "0x" ], "gasLimit": "7,000,000" @@ -1371,6 +1439,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle16", "to": "sc:price-aggregator", @@ -1379,7 +1448,7 @@ "0x45474c44", "0x55534443", "0x64", - "0x9787f59a3d6b5a71", + "0xe6642c7265c738c1", "0x" ], "gasLimit": "7,000,000" @@ -1391,6 +1460,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle17", "to": "sc:price-aggregator", @@ -1399,7 +1469,7 @@ "0x45474c44", "0x55534443", "0x64", - "0xae871a49e18c8a4e", + "0xd6079c55087a67d5", "0x" ], "gasLimit": "7,000,000" @@ -1411,6 +1481,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle18", "to": "sc:price-aggregator", @@ -1419,7 +1490,7 @@ "0x45474c44", "0x55534443", "0x64", - "0x426db614e3f1db01", + "0x90f7bb0d816fb87d", "0x" ], "gasLimit": "7,000,000" @@ -1431,6 +1502,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle19", "to": "sc:price-aggregator", @@ -1439,7 +1511,7 @@ "0x45474c44", "0x55534443", "0x64", - "0xa7964ea7d746a2de", + "0xa0ccc6f5f8c73ff2", "0x" ], "gasLimit": "7,000,000" @@ -1451,6 +1523,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle20", "to": "sc:price-aggregator", @@ -1459,7 +1532,7 @@ "0x45474c44", "0x55534443", "0x64", - "0x23c8408e16872669", + "0x258d38a35ccfd93d", "0x" ], "gasLimit": "7,000,000" @@ -1471,6 +1544,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle21", "to": "sc:price-aggregator", @@ -1479,7 +1553,7 @@ "0x45474c44", "0x55534443", "0x64", - "0xdcb762dbcd5970bc", + "0x903f62b19408019d", "0x" ], "gasLimit": "7,000,000" @@ -1491,6 +1565,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle22", "to": "sc:price-aggregator", @@ -1499,7 +1574,7 @@ "0x45474c44", "0x55534443", "0x64", - "0xf99680ec6f6c3cc0", + "0xc319aab79b2f512e", "0x" ], "gasLimit": "7,000,000" @@ -1511,6 +1586,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle23", "to": "sc:price-aggregator", @@ -1519,7 +1595,7 @@ "0x45474c44", "0x55534443", "0x64", - "0xd0e83298636e0010", + "0x4b41176cd679e194", "0x" ], "gasLimit": "7,000,000" @@ -1531,6 +1607,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle24", "to": "sc:price-aggregator", @@ -1539,7 +1616,7 @@ "0x45474c44", "0x55534443", "0x64", - "0x2859a982dbd969a6", + "0xaf3c4ad7cdcac230", "0x" ], "gasLimit": "7,000,000" @@ -1551,6 +1628,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle25", "to": "sc:price-aggregator", @@ -1559,7 +1637,7 @@ "0x45474c44", "0x55534443", "0x64", - "0x2114dddd7df53e50", + "0x2a8c4a82dfb68f13", "0x" ], "gasLimit": "7,000,000" @@ -1571,6 +1649,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle26", "to": "sc:price-aggregator", @@ -1579,7 +1658,7 @@ "0x45474c44", "0x55534443", "0x64", - "0x4b800fe697e62e53", + "0x358e92c93a69a2f9", "0x" ], "gasLimit": "7,000,000" @@ -1591,6 +1670,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle27", "to": "sc:price-aggregator", @@ -1599,7 +1679,7 @@ "0x45474c44", "0x55534443", "0x64", - "0x03f2afbf9d784e9f", + "0xb4bd55d9eebad664", "0x" ], "gasLimit": "7,000,000" @@ -1611,6 +1691,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle28", "to": "sc:price-aggregator", @@ -1619,7 +1700,7 @@ "0x45474c44", "0x55534443", "0x64", - "0x56934b4f2bf5659e", + "0x9061fc2440f4db51", "0x" ], "gasLimit": "7,000,000" @@ -1631,6 +1712,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle29", "to": "sc:price-aggregator", @@ -1639,7 +1721,7 @@ "0x45474c44", "0x55534443", "0x64", - "0x7e9d18115922d624", + "0xc8fde2d627d1b95a", "0x" ], "gasLimit": "7,000,000" @@ -1651,6 +1733,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle30", "to": "sc:price-aggregator", @@ -1659,7 +1742,7 @@ "0x45474c44", "0x55534443", "0x64", - "0x21bceff1135a433b", + "0xacede2c42f9bc928", "0x" ], "gasLimit": "7,000,000" @@ -1671,6 +1754,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle31", "to": "sc:price-aggregator", @@ -1679,7 +1763,7 @@ "0x45474c44", "0x55534443", "0x64", - "0x014ad037b6df3b54", + "0xb0a4ecb8d46cfe86", "0x" ], "gasLimit": "7,000,000" @@ -1691,6 +1775,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle32", "to": "sc:price-aggregator", @@ -1699,7 +1784,7 @@ "0x45474c44", "0x55534443", "0x64", - "0x897754a9bc7fe8fb", + "0xa8d8ee43a5c4ade8", "0x" ], "gasLimit": "7,000,000" @@ -1711,6 +1796,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle33", "to": "sc:price-aggregator", @@ -1719,7 +1805,7 @@ "0x45474c44", "0x55534443", "0x64", - "0x9cbab2c3f4582758", + "0xe20bb0819b83cbb6", "0x" ], "gasLimit": "7,000,000" @@ -1731,6 +1817,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle34", "to": "sc:price-aggregator", @@ -1739,7 +1826,7 @@ "0x45474c44", "0x55534443", "0x64", - "0x3b21d0b3809f72a2", + "0xb5566ca4a8a6da5b", "0x" ], "gasLimit": "7,000,000" @@ -1751,6 +1838,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle35", "to": "sc:price-aggregator", @@ -1759,7 +1847,7 @@ "0x45474c44", "0x55534443", "0x64", - "0x2a750e9ce9c38392", + "0x30b4e318dbf9c0a1", "0x" ], "gasLimit": "7,000,000" @@ -1771,6 +1859,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle36", "to": "sc:price-aggregator", @@ -1779,7 +1868,7 @@ "0x45474c44", "0x55534443", "0x64", - "0x441ec6f7ccef3419", + "0x34cd5592ee7ab5f0", "0x" ], "gasLimit": "7,000,000" @@ -1791,6 +1880,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle37", "to": "sc:price-aggregator", @@ -1799,7 +1889,7 @@ "0x45474c44", "0x55534443", "0x64", - "0x04355cff356a9270", + "0x4908da8f754f9e29", "0x" ], "gasLimit": "7,000,000" @@ -1811,6 +1901,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle38", "to": "sc:price-aggregator", @@ -1819,7 +1910,7 @@ "0x45474c44", "0x55534443", "0x64", - "0x9f8f08c2a0fd1712", + "0x460da40079bef875", "0x" ], "gasLimit": "7,000,000" @@ -1831,6 +1922,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle39", "to": "sc:price-aggregator", @@ -1839,7 +1931,7 @@ "0x45474c44", "0x55534443", "0x64", - "0x0237bdd960ee91a4", + "0x6eb6dd52e24341b6", "0x" ], "gasLimit": "7,000,000" @@ -1851,6 +1943,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle40", "to": "sc:price-aggregator", @@ -1859,7 +1952,7 @@ "0x45474c44", "0x55534443", "0x64", - "0xd78d767d7431f639", + "0xa06bb000b0901e98", "0x" ], "gasLimit": "7,000,000" @@ -1871,6 +1964,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle41", "to": "sc:price-aggregator", @@ -1879,7 +1973,7 @@ "0x45474c44", "0x55534443", "0x64", - "0x0a97da94934b5384", + "0x4f83b3dd7f1dd80e", "0x" ], "gasLimit": "7,000,000" @@ -1891,6 +1985,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle42", "to": "sc:price-aggregator", @@ -1899,7 +1994,7 @@ "0x45474c44", "0x55534443", "0x64", - "0x83fd9fa634cd092c", + "0x169e4556e8cd5271", "0x" ], "gasLimit": "7,000,000" @@ -1911,6 +2006,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle43", "to": "sc:price-aggregator", @@ -1919,7 +2015,7 @@ "0x45474c44", "0x55534443", "0x64", - "0xa603bdf728ab39ca", + "0xa45b9cfe7527301b", "0x" ], "gasLimit": "7,000,000" @@ -1931,6 +2027,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle44", "to": "sc:price-aggregator", @@ -1939,7 +2036,7 @@ "0x45474c44", "0x55534443", "0x64", - "0x1e855680884a968e", + "0xe3a28965ea6a3ae4", "0x" ], "gasLimit": "7,000,000" @@ -1951,6 +2048,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle45", "to": "sc:price-aggregator", @@ -1959,7 +2057,7 @@ "0x45474c44", "0x55534443", "0x64", - "0x59185a21db734c4a", + "0x4efa7be66acf5ded", "0x" ], "gasLimit": "7,000,000" @@ -1971,6 +2069,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle46", "to": "sc:price-aggregator", @@ -1979,7 +2078,7 @@ "0x45474c44", "0x55534443", "0x64", - "0x0fb5b1c819ef5113", + "0x5f75311f8cd29ea9", "0x" ], "gasLimit": "7,000,000" @@ -1991,6 +2090,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle47", "to": "sc:price-aggregator", @@ -1999,7 +2099,7 @@ "0x45474c44", "0x55534443", "0x64", - "0x1f0d54522394ace8", + "0xfc7c1268abc1d8e3", "0x" ], "gasLimit": "7,000,000" @@ -2011,6 +2111,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle48", "to": "sc:price-aggregator", @@ -2019,7 +2120,7 @@ "0x45474c44", "0x55534443", "0x64", - "0x8efc62f2eff2c135", + "0xd24cc52d844c6a40", "0x" ], "gasLimit": "7,000,000" @@ -2031,6 +2132,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle49", "to": "sc:price-aggregator", @@ -2039,7 +2141,7 @@ "0x45474c44", "0x55534443", "0x64", - "0x1bb36c03cf1e6971", + "0x804fc08cd1c73c42", "0x" ], "gasLimit": "7,000,000" @@ -2051,6 +2153,7 @@ }, { "step": "scCall", + "id": "", "tx": { "from": "address:oracle50", "to": "sc:price-aggregator", @@ -2059,7 +2162,7 @@ "0x45474c44", "0x55534443", "0x64", - "0x2571ea17cf81f6f2", + "0x093077783f01d496", "0x" ], "gasLimit": "7,000,000" diff --git a/contracts/feature-tests/rust-testing-framework-tester/scenarios/test.scen.json b/contracts/feature-tests/rust-testing-framework-tester/scenarios/test.scen.json index eccc6e7367..d92783c9a0 100644 --- a/contracts/feature-tests/rust-testing-framework-tester/scenarios/test.scen.json +++ b/contracts/feature-tests/rust-testing-framework-tester/scenarios/test.scen.json @@ -37,6 +37,7 @@ "accounts": { "0x0000000000000000fb1397e8225ea85e0f0e6e8c7b126d0016ccbde0e667151e": { "balance": "0", + "esdt": {}, "storage": { "str:totalValue": "0x01" }, @@ -70,6 +71,7 @@ "accounts": { "0x0000000000000000fb1397e8225ea85e0f0e6e8c7b126d0016ccbde0e667151e": { "balance": "0", + "esdt": {}, "storage": { "0x76616c756550657243616c6c657266687aadf862bd776c8fc18b8e9f8e20089714856ee233b3902a591d0d5f2925": "0x32", "str:totalValue": "0x33" diff --git a/contracts/feature-tests/rust-testing-framework-tester/scenarios/test_esdt_generation.scen.json b/contracts/feature-tests/rust-testing-framework-tester/scenarios/test_esdt_generation.scen.json index a81d56b4f3..558a14c743 100644 --- a/contracts/feature-tests/rust-testing-framework-tester/scenarios/test_esdt_generation.scen.json +++ b/contracts/feature-tests/rust-testing-framework-tester/scenarios/test_esdt_generation.scen.json @@ -21,7 +21,8 @@ { "nonce": "0", "balance": "1000", - "royalties": "0" + "royalties": "0", + "attributes": "0x" } ] } @@ -44,7 +45,8 @@ "nonce": "0", "balance": "1000", "royalties": "0", - "uri": [] + "uri": [], + "attributes": "0x" } ] } From 3679258f18f5a292fbcf4176a6245b18d9065a36 Mon Sep 17 00:00:00 2001 From: Andrei Marinica Date: Fri, 8 Mar 2024 23:45:41 +0200 Subject: [PATCH 31/36] unified syntax - world.tx() --- .../tests/adder_blackbox_with_values_test.rs | 25 ++++----- framework/scenario/src/facade/world_tx.rs | 2 + .../src/facade/world_tx/scenario_tx.rs | 53 +++++++++++++++++-- .../src/facade/world_tx/world_ref_env.rs | 22 ++++++++ 4 files changed, 86 insertions(+), 16 deletions(-) create mode 100644 framework/scenario/src/facade/world_tx/world_ref_env.rs diff --git a/contracts/examples/adder/tests/adder_blackbox_with_values_test.rs b/contracts/examples/adder/tests/adder_blackbox_with_values_test.rs index 0ef6f023cb..8111cda69d 100644 --- a/contracts/examples/adder/tests/adder_blackbox_with_values_test.rs +++ b/contracts/examples/adder/tests/adder_blackbox_with_values_test.rs @@ -28,7 +28,7 @@ fn adder_blackbox_with_values() { .put_account(owner_address, Account::new().nonce(1)) .new_address(owner_address, 1, "sc:adder"), ) - .tx(|tx| { + .chain_tx(|tx| { tx.from(AddressExpr("owner")) .typed_v2(temp_proxy_v2::TxProxy) .init(5u32) @@ -43,23 +43,24 @@ fn adder_blackbox_with_values() { .call(adder_contract.sum()) .expect_value(SingleValue::from(BigUint::from(5u32))), ) - .tx(|tx| { + .chain_tx(|tx| { tx.from(AddressExpr("owner")) .to(ScExpr("adder")) .typed_v1(temp_proxy::TxProxy, |p| p.add(2u32)) .with_result(WithRawTxResponse(|response| { assert!(response.tx_error.is_success()); })) - }) - .tx(|tx| { - tx.from(AddressExpr("owner")) - .to(ScExpr("adder")) - .typed_v2(temp_proxy_v2::TxProxy) - .add(1u32) - .with_result(WithRawTxResponse(|response| { - assert!(response.tx_error.is_success()); - })) - }) + }); + + world + .tx() + .from(AddressExpr("owner")) + .to(ScExpr("adder")) + .typed_v2(temp_proxy_v2::TxProxy) + .add(1u32) + .run(); + + world .check_state_step( CheckStateStep::new() .put_account(owner_address, CheckAccount::new()) diff --git a/framework/scenario/src/facade/world_tx.rs b/framework/scenario/src/facade/world_tx.rs index 3cb83818cc..e46b86d940 100644 --- a/framework/scenario/src/facade/world_tx.rs +++ b/framework/scenario/src/facade/world_tx.rs @@ -6,6 +6,7 @@ mod scenario_rh_list; mod scenario_rh_list_item; mod scenario_tx; mod with_tx_raw_response; +mod world_ref_env; pub use expr::*; pub use scenario_env::*; @@ -13,3 +14,4 @@ pub use scenario_rh_list::*; pub use scenario_rh_list_item::*; pub use scenario_tx::*; pub use with_tx_raw_response::WithRawTxResponse; +pub use world_ref_env::WorldRefEnv; diff --git a/framework/scenario/src/facade/world_tx/scenario_tx.rs b/framework/scenario/src/facade/world_tx/scenario_tx.rs index ae10294e72..4398aa3875 100644 --- a/framework/scenario/src/facade/world_tx/scenario_tx.rs +++ b/framework/scenario/src/facade/world_tx/scenario_tx.rs @@ -11,31 +11,40 @@ use multiversx_sc::{ use crate::{ api::StaticApi, scenario_model::{AddressValue, BytesValue, ScCallStep, ScDeployStep}, - ScenarioWorld, + ScenarioWorld, WorldRefEnv, }; use super::{RHListScenario, ScenarioTxEnv, TxScenarioBase}; impl ScenarioWorld { - fn tx_env(&self) -> ScenarioTxEnv { + fn new_env_data(&self) -> ScenarioTxEnv { ScenarioTxEnv { context_path: self.current_dir.clone(), ..Default::default() } } + fn wrap_world_ref<'w>(&'w mut self) -> WorldRefEnv<'w> { + let data = self.new_env_data(); + WorldRefEnv { world: self, data } + } + + pub fn tx<'w>(&'w mut self) -> Tx, (), (), (), (), (), ()> { + Tx::new_with_env(self.wrap_world_ref()) + } + pub fn tx_return(&mut self, f: F) -> STx::Returns where STx: ScenarioTx, F: FnOnce(TxScenarioBase) -> STx, { - let env = self.tx_env(); + let env = self.new_env_data(); let tx_base = TxScenarioBase::new_with_env(env); let tx = f(tx_base); tx.run_as_scenario_step(self) } - pub fn tx(&mut self, f: F) -> &mut Self + pub fn chain_tx(&mut self, f: F) -> &mut Self where STx: ScenarioTx, F: FnOnce(TxScenarioBase) -> STx, @@ -51,6 +60,12 @@ pub trait ScenarioTx { fn run_as_scenario_step(self, world: &mut ScenarioWorld) -> Self::Returns; } +pub trait ScenarioTx2 { + type Returns; + + fn run(self) -> Self::Returns; +} + fn address_annotated(env: &Env, from: Addr) -> AddressValue where Env: TxEnv, @@ -105,6 +120,36 @@ where } } +impl<'w, From, To, Payment, Gas, RH> ScenarioTx2 + for Tx, From, To, Payment, Gas, FunctionCall, RH> +where + From: TxFromSpecified>, + To: TxToSpecified>, + Payment: TxPayment>, + Gas: TxGas>, + RH: RHListScenario>, + RH::ListReturns: NestedTupleFlatten, +{ + type Returns = ::Unpacked; + + fn run(self) -> Self::Returns { + let mut env = self.env; + let mut step = ScCallStep::new() + .from(address_annotated(&env, self.from)) + .to(address_annotated(&env, self.to)) + .function(self.data.function_name.to_string().as_str()); + for arg in self.data.arg_buffer.iter_buffers() { + step.tx.arguments.push(arg.to_vec().into()); + } + + env.world.sc_call(&mut step); + let response = step.response.expect("step did not return result"); + + let tuple_result = self.result_handler.item_scenario_result(&response); + tuple_result.flatten_unpack() + } +} + impl ScenarioTx for Tx>, RH> where diff --git a/framework/scenario/src/facade/world_tx/world_ref_env.rs b/framework/scenario/src/facade/world_tx/world_ref_env.rs new file mode 100644 index 0000000000..8cb2284dc6 --- /dev/null +++ b/framework/scenario/src/facade/world_tx/world_ref_env.rs @@ -0,0 +1,22 @@ +use std::path::PathBuf; + +use multiversx_sc::types::{AnnotatedValue, ManagedAddress, TxBaseWithEnv, TxEnv}; + +use crate::{api::StaticApi, scenario_model::TxResponse, ScenarioTxEnv, ScenarioWorld}; + +pub struct WorldRefEnv<'w> { + pub world: &'w mut ScenarioWorld, + pub data: ScenarioTxEnv, +} + +impl<'w> TxEnv for WorldRefEnv<'w> { + type Api = StaticApi; + + fn resolve_sender_address(&self) -> ManagedAddress { + panic!("Explicit sender address expected") + } + + fn default_gas(&self) -> u64 { + self.data.default_gas() + } +} From ea38219a036eaaf40c443691740c460b3d9ecb31 Mon Sep 17 00:00:00 2001 From: Andrei Marinica Date: Sun, 10 Mar 2024 22:08:10 +0200 Subject: [PATCH 32/36] unified syntax - scenario tx execution cleanup --- .../examples/adder/tests/adder_blackbox.rs | 86 +++++++ ...lues_test.rs => adder_blackbox_chained.rs} | 19 +- ...ox_test.rs => adder_blackbox_raw_steps.rs} | 0 .../multisig/tests/multisig_blackbox_test.rs | 19 +- .../src/facade/world_tx/expr/file_expr.rs | 8 +- .../src/facade/world_tx/expr/mxsc_expr.rs | 15 +- .../src/facade/world_tx/scenario_env.rs | 16 +- .../facade/world_tx/scenario_rh_list_item.rs | 2 +- .../src/facade/world_tx/scenario_tx.rs | 231 ++++++++++++------ .../facade/world_tx/with_tx_raw_response.rs | 2 +- .../src/facade/world_tx/world_ref_env.rs | 14 +- 11 files changed, 292 insertions(+), 120 deletions(-) create mode 100644 contracts/examples/adder/tests/adder_blackbox.rs rename contracts/examples/adder/tests/{adder_blackbox_with_values_test.rs => adder_blackbox_chained.rs} (85%) rename contracts/examples/adder/tests/{adder_blackbox_test.rs => adder_blackbox_raw_steps.rs} (100%) diff --git a/contracts/examples/adder/tests/adder_blackbox.rs b/contracts/examples/adder/tests/adder_blackbox.rs new file mode 100644 index 0000000000..ad24fd6250 --- /dev/null +++ b/contracts/examples/adder/tests/adder_blackbox.rs @@ -0,0 +1,86 @@ +use adder::*; +use multiversx_sc::{ + storage::mappers::SingleValue, + types::{AddressExpr, ScExpr, WithResultNewAddress}, +}; +use multiversx_sc_scenario::{api::StaticApi, num_bigint::BigUint, scenario_model::*, *}; + +const ADDER_PATH_EXPR: &str = "mxsc:output/adder.mxsc.json"; + +const OWNER: AddressExpr = AddressExpr("owner"); +const SC_ADDER: ScExpr = ScExpr("adder"); +const CODE_EXPR: MxscExpr = MxscExpr("output/adder.mxsc.json"); + +fn world() -> ScenarioWorld { + let mut blockchain = ScenarioWorld::new(); + blockchain.set_current_dir_from_workspace("contracts/examples/adder"); + + blockchain.register_contract(ADDER_PATH_EXPR, adder::ContractBuilder); + blockchain +} + +#[test] +fn adder_blackbox_with_values() { + let mut world = world(); + let owner_address = "address:owner"; + let mut adder_contract = ContractInfo::>::new("sc:adder"); + + world.start_trace(); + + world.set_state_step( + SetStateStep::new() + .put_account(owner_address, Account::new().nonce(1)) + .new_address(owner_address, 1, "sc:adder"), + ); + + world + .tx() + .from(OWNER) + .typed_v2(temp_proxy_v2::TxProxy) + .init(5u32) + .code(CODE_EXPR) + .with_result(WithResultNewAddress::new(|new_address| { + assert_eq!(new_address.to_address(), adder_contract.to_address()); + })) + .run(); + + world.sc_query( + ScQueryStep::new() + .to(&adder_contract) + .call(adder_contract.sum()) + .expect_value(SingleValue::from(BigUint::from(5u32))), + ); + + // TODO: remove + world + .tx() + .from(OWNER) + .to(SC_ADDER) + .typed_v1(temp_proxy::TxProxy, |p| p.add(2u32)) + .with_result(WithRawTxResponse(|response| { + assert!(response.tx_error.is_success()); + })) + .run(); + + world + .tx() + .from(OWNER) + .to(SC_ADDER) + .typed_v2(temp_proxy_v2::TxProxy) + .add(1u32) + .with_result(WithRawTxResponse(|response| { + assert!(response.tx_error.is_success()); + })) + .run(); + + world.check_state_step( + CheckStateStep::new() + .put_account(owner_address, CheckAccount::new()) + .put_account( + &adder_contract, + CheckAccount::new().check_storage("str:sum", "8"), + ), + ); + + world.write_scenario_trace("trace1.scen.json"); +} diff --git a/contracts/examples/adder/tests/adder_blackbox_with_values_test.rs b/contracts/examples/adder/tests/adder_blackbox_chained.rs similarity index 85% rename from contracts/examples/adder/tests/adder_blackbox_with_values_test.rs rename to contracts/examples/adder/tests/adder_blackbox_chained.rs index 8111cda69d..49795ab994 100644 --- a/contracts/examples/adder/tests/adder_blackbox_with_values_test.rs +++ b/contracts/examples/adder/tests/adder_blackbox_chained.rs @@ -16,7 +16,7 @@ fn world() -> ScenarioWorld { } #[test] -fn adder_blackbox_with_values() { +fn adder_blackbox_chained() { let mut world = world(); let owner_address = "address:owner"; let mut adder_contract = ContractInfo::>::new("sc:adder"); @@ -46,21 +46,12 @@ fn adder_blackbox_with_values() { .chain_tx(|tx| { tx.from(AddressExpr("owner")) .to(ScExpr("adder")) - .typed_v1(temp_proxy::TxProxy, |p| p.add(2u32)) + .typed_v2(temp_proxy_v2::TxProxy) + .add(3u32) .with_result(WithRawTxResponse(|response| { assert!(response.tx_error.is_success()); })) - }); - - world - .tx() - .from(AddressExpr("owner")) - .to(ScExpr("adder")) - .typed_v2(temp_proxy_v2::TxProxy) - .add(1u32) - .run(); - - world + }) .check_state_step( CheckStateStep::new() .put_account(owner_address, CheckAccount::new()) @@ -69,5 +60,5 @@ fn adder_blackbox_with_values() { CheckAccount::new().check_storage("str:sum", "8"), ), ) - .write_scenario_trace("trace1.scen.json"); + .write_scenario_trace("trace2.scen.json"); } diff --git a/contracts/examples/adder/tests/adder_blackbox_test.rs b/contracts/examples/adder/tests/adder_blackbox_raw_steps.rs similarity index 100% rename from contracts/examples/adder/tests/adder_blackbox_test.rs rename to contracts/examples/adder/tests/adder_blackbox_raw_steps.rs diff --git a/contracts/examples/multisig/tests/multisig_blackbox_test.rs b/contracts/examples/multisig/tests/multisig_blackbox_test.rs index 1b3229318d..eaec591e26 100644 --- a/contracts/examples/multisig/tests/multisig_blackbox_test.rs +++ b/contracts/examples/multisig/tests/multisig_blackbox_test.rs @@ -17,7 +17,7 @@ use multiversx_sc_scenario::{ Account, AddressValue, CheckAccount, CheckStateStep, ScCallStep, ScDeployStep, ScQueryStep, SetStateStep, TxExpect, }, - ContractInfo, ScenarioWorld, + ContractInfo, ScenarioTxRun, ScenarioWorld, }; use num_bigint::BigUint; @@ -124,14 +124,15 @@ impl MultisigTestState { } fn propose_add_board_member(&mut self, board_member_address: Address) -> usize { - self.world.tx_return(|tx| { - tx.from(AddressExpr("proposer")) - .call( - self.multisig_contract - .propose_add_board_member(board_member_address), - ) - .returns(ReturnsExact) - }) + self.world + .tx() + .from(AddressExpr("proposer")) + .call( + self.multisig_contract + .propose_add_board_member(board_member_address), + ) + .returns(ReturnsExact) + .run() } fn propose_add_proposer(&mut self, proposer_address: Address) -> usize { diff --git a/framework/scenario/src/facade/world_tx/expr/file_expr.rs b/framework/scenario/src/facade/world_tx/expr/file_expr.rs index 65965ecf8b..f42f6e84e0 100644 --- a/framework/scenario/src/facade/world_tx/expr/file_expr.rs +++ b/framework/scenario/src/facade/world_tx/expr/file_expr.rs @@ -9,21 +9,21 @@ use multiversx_sc::types::{ TxToSpecified, }; -use crate::{api::StaticApi, ScenarioTxEnv}; +use crate::{api::StaticApi, ScenarioTxEnvData}; const FILE_PREFIX: &str = "file:"; #[derive(Clone, Copy, Debug, PartialEq, Eq)] pub struct FileExpr<'a>(pub &'a str); -impl<'a> AnnotatedValue> for FileExpr<'a> { - fn annotation(&self, _env: &ScenarioTxEnv) -> ManagedBuffer { +impl<'a> AnnotatedValue> for FileExpr<'a> { + fn annotation(&self, _env: &ScenarioTxEnvData) -> ManagedBuffer { let mut result = ManagedBuffer::new_from_bytes(FILE_PREFIX.as_bytes()); result.append_bytes(self.0.as_bytes()); result } - fn into_value(self, env: &ScenarioTxEnv) -> ManagedBuffer { + fn into_value(self, env: &ScenarioTxEnvData) -> ManagedBuffer { let context = InterpreterContext::new().with_dir(env.context_path.clone()); let value = interpret_string(&format!("{FILE_PREFIX}{}", self.0), &context); value.into() diff --git a/framework/scenario/src/facade/world_tx/expr/mxsc_expr.rs b/framework/scenario/src/facade/world_tx/expr/mxsc_expr.rs index 25f9f21f42..e3e123ffe8 100644 --- a/framework/scenario/src/facade/world_tx/expr/mxsc_expr.rs +++ b/framework/scenario/src/facade/world_tx/expr/mxsc_expr.rs @@ -9,27 +9,30 @@ use multiversx_sc::types::{ TxTo, TxToSpecified, }; -use crate::{api::StaticApi, ScenarioTxEnv}; +use crate::{api::StaticApi, ScenarioTxEnv, ScenarioTxEnvData, WorldRefEnv}; const MXSC_PREFIX: &str = "mxsc:"; #[derive(Clone, Copy, Debug, PartialEq, Eq)] pub struct MxscExpr<'a>(pub &'a str); -impl<'a> AnnotatedValue> for MxscExpr<'a> { - fn annotation(&self, _env: &ScenarioTxEnv) -> ManagedBuffer { +impl<'a, Env> AnnotatedValue> for MxscExpr<'a> +where + Env: ScenarioTxEnv, +{ + fn annotation(&self, _env: &Env) -> ManagedBuffer { let mut result = ManagedBuffer::new_from_bytes(MXSC_PREFIX.as_bytes()); result.append_bytes(self.0.as_bytes()); result } - fn into_value(self, env: &ScenarioTxEnv) -> ManagedBuffer { + fn into_value(self, env: &Env) -> ManagedBuffer { let context = InterpreterContext::new() - .with_dir(env.context_path.clone()) + .with_dir(env.env_data().context_path.clone()) .with_allowed_missing_files(); let value = interpret_string(&format!("{MXSC_PREFIX}{}", self.0), &context); value.into() } } -impl<'a> TxCodeValue for MxscExpr<'a> {} +impl<'a, Env> TxCodeValue for MxscExpr<'a> where Env: ScenarioTxEnv {} diff --git a/framework/scenario/src/facade/world_tx/scenario_env.rs b/framework/scenario/src/facade/world_tx/scenario_env.rs index 9076cc5d48..36ab974b34 100644 --- a/framework/scenario/src/facade/world_tx/scenario_env.rs +++ b/framework/scenario/src/facade/world_tx/scenario_env.rs @@ -4,15 +4,17 @@ use multiversx_sc::types::{AnnotatedValue, ManagedAddress, TxBaseWithEnv, TxEnv} use crate::{api::StaticApi, scenario_model::TxResponse}; -pub type TxScenarioBase = TxBaseWithEnv; +/// Designates a tx environment suitable for running scenarios locally. +pub trait ScenarioTxEnv: TxEnv { + fn env_data(&self) -> &ScenarioTxEnvData; +} #[derive(Default, Debug, Clone)] -pub struct ScenarioTxEnv { +pub struct ScenarioTxEnvData { pub context_path: PathBuf, - pub response: Option, } -impl TxEnv for ScenarioTxEnv { +impl TxEnv for ScenarioTxEnvData { type Api = StaticApi; fn resolve_sender_address(&self) -> ManagedAddress { @@ -24,3 +26,9 @@ impl TxEnv for ScenarioTxEnv { 5_000_000 } } + +impl ScenarioTxEnv for ScenarioTxEnvData { + fn env_data(&self) -> &ScenarioTxEnvData { + self + } +} diff --git a/framework/scenario/src/facade/world_tx/scenario_rh_list_item.rs b/framework/scenario/src/facade/world_tx/scenario_rh_list_item.rs index a357a6dcd8..057d1e0c1c 100644 --- a/framework/scenario/src/facade/world_tx/scenario_rh_list_item.rs +++ b/framework/scenario/src/facade/world_tx/scenario_rh_list_item.rs @@ -8,7 +8,7 @@ use crate::{ scenario_model::{TxResponse, TypedResponse}, }; -use super::ScenarioTxEnv; +use super::ScenarioTxEnvData; pub trait RHListItemScenario: RHListItem where diff --git a/framework/scenario/src/facade/world_tx/scenario_tx.rs b/framework/scenario/src/facade/world_tx/scenario_tx.rs index 4398aa3875..c8b8cc4772 100644 --- a/framework/scenario/src/facade/world_tx/scenario_tx.rs +++ b/framework/scenario/src/facade/world_tx/scenario_tx.rs @@ -3,22 +3,22 @@ use multiversx_sc::{ tuple_util::NestedTupleFlatten, types::{ AnnotatedValue, Code, DeployCall, FunctionCall, ManagedAddress, ManagedBuffer, RHListSync, - Tx, TxCodeSource, TxCodeSourceSpecified, TxCodeValue, TxEnv, TxFromSpecified, TxGas, - TxPayment, TxToSpecified, + Tx, TxBaseWithEnv, TxCodeSource, TxCodeSourceSpecified, TxCodeValue, TxEnv, + TxFromSpecified, TxGas, TxPayment, TxToSpecified, }, }; use crate::{ api::StaticApi, - scenario_model::{AddressValue, BytesValue, ScCallStep, ScDeployStep}, + scenario_model::{AddressValue, BytesValue, ScCallStep, ScDeployStep, TxResponse}, ScenarioWorld, WorldRefEnv, }; -use super::{RHListScenario, ScenarioTxEnv, TxScenarioBase}; +use super::{RHListScenario, ScenarioTxEnvData}; impl ScenarioWorld { - fn new_env_data(&self) -> ScenarioTxEnv { - ScenarioTxEnv { + fn new_env_data(&self) -> ScenarioTxEnvData { + ScenarioTxEnvData { context_path: self.current_dir.clone(), ..Default::default() } @@ -29,38 +29,30 @@ impl ScenarioWorld { WorldRefEnv { world: self, data } } - pub fn tx<'w>(&'w mut self) -> Tx, (), (), (), (), (), ()> { + pub fn tx<'w>(&'w mut self) -> TxBaseWithEnv> { Tx::new_with_env(self.wrap_world_ref()) } - pub fn tx_return(&mut self, f: F) -> STx::Returns + pub fn chain_tx(&mut self, f: F) -> &mut Self where - STx: ScenarioTx, - F: FnOnce(TxScenarioBase) -> STx, + STx: ScenarioTxRunOnWorld, + F: FnOnce(TxBaseWithEnv) -> STx, { let env = self.new_env_data(); - let tx_base = TxScenarioBase::new_with_env(env); + let tx_base = TxBaseWithEnv::new_with_env(env); let tx = f(tx_base); - tx.run_as_scenario_step(self) - } - - pub fn chain_tx(&mut self, f: F) -> &mut Self - where - STx: ScenarioTx, - F: FnOnce(TxScenarioBase) -> STx, - { - self.tx_return(f); + tx.run_on_world(self); self } } -pub trait ScenarioTx { +pub trait ScenarioTxRunOnWorld { type Returns; - fn run_as_scenario_step(self, world: &mut ScenarioWorld) -> Self::Returns; + fn run_on_world(self, world: &mut ScenarioWorld) -> Self::Returns; } -pub trait ScenarioTx2 { +pub trait ScenarioTxRun { type Returns; fn run(self) -> Self::Returns; @@ -90,37 +82,97 @@ where } } -impl ScenarioTx - for Tx, RH> +fn tx_to_sc_call_step( + env: &Env, + from: From, + to: To, + _payment: Payment, + _gas: Gas, + data: FunctionCall, +) -> ScCallStep +where + Env: TxEnv, + From: TxFromSpecified, + To: TxToSpecified, + Payment: TxPayment, + Gas: TxGas, +{ + let mut step = ScCallStep::new() + .from(address_annotated(env, from)) + .to(address_annotated(env, to)) + .function(data.function_name.to_string().as_str()); + for arg in data.arg_buffer.iter_buffers() { + step.tx.arguments.push(arg.to_vec().into()); + } + + step +} + +fn tx_to_sc_deploy_step( + env: &Env, + from: From, + _payment: Payment, + _gas: Gas, + data: DeployCall>, +) -> ScDeployStep +where + Env: TxEnv, + From: TxFromSpecified, + Payment: TxPayment, + Gas: TxGas, + CodeValue: TxCodeValue, +{ + let mut step = ScDeployStep::new() + .from(address_annotated(env, from)) + .code(code_annotated(env, data.code_source)); + for arg in data.arg_buffer.iter_buffers() { + step.tx.arguments.push(arg.to_vec().into()); + } + + step +} + +fn process_result( + response: Option, + result_handler: RH, +) -> ::Unpacked where - From: TxFromSpecified, - To: TxToSpecified, - Payment: TxPayment, - Gas: TxGas, - RH: RHListScenario, + Env: TxEnv, + RH: RHListScenario, RH::ListReturns: NestedTupleFlatten, { - type Returns = ::Unpacked; + let response = response.expect("step did not return result"); + let tuple_result = result_handler.item_scenario_result(&response); + tuple_result.flatten_unpack() +} - fn run_as_scenario_step(self, world: &mut ScenarioWorld) -> Self::Returns { - let mut env = self.env; - let mut step = ScCallStep::new() - .from(address_annotated(&env, self.from)) - .to(address_annotated(&env, self.to)) - .function(self.data.function_name.to_string().as_str()); - for arg in self.data.arg_buffer.iter_buffers() { - step.tx.arguments.push(arg.to_vec().into()); - } +impl ScenarioTxRunOnWorld + for Tx, RH> +where + From: TxFromSpecified, + To: TxToSpecified, + Payment: TxPayment, + Gas: TxGas, + RH: RHListScenario, + RH::ListReturns: NestedTupleFlatten, +{ + type Returns = ::Unpacked; + fn run_on_world(self, world: &mut ScenarioWorld) -> Self::Returns { + let mut step = tx_to_sc_call_step( + &self.env, + self.from, + self.to, + self.payment, + self.gas, + self.data, + ); world.sc_call(&mut step); - let response = step.response.expect("step did not return result"); - - let tuple_result = self.result_handler.item_scenario_result(&response); - tuple_result.flatten_unpack() + process_result(step.response, self.result_handler) } } -impl<'w, From, To, Payment, Gas, RH> ScenarioTx2 +impl<'w, From, To, Payment, Gas, RH> ScenarioTxRun for Tx, From, To, Payment, Gas, FunctionCall, RH> where From: TxFromSpecified>, @@ -133,48 +185,71 @@ where type Returns = ::Unpacked; fn run(self) -> Self::Returns { - let mut env = self.env; - let mut step = ScCallStep::new() - .from(address_annotated(&env, self.from)) - .to(address_annotated(&env, self.to)) - .function(self.data.function_name.to_string().as_str()); - for arg in self.data.arg_buffer.iter_buffers() { - step.tx.arguments.push(arg.to_vec().into()); - } - - env.world.sc_call(&mut step); - let response = step.response.expect("step did not return result"); - - let tuple_result = self.result_handler.item_scenario_result(&response); - tuple_result.flatten_unpack() + let mut step = tx_to_sc_call_step( + &self.env, + self.from, + self.to, + self.payment, + self.gas, + self.data, + ); + self.env.world.sc_call(&mut step); + process_result(step.response, self.result_handler) } } -impl ScenarioTx - for Tx>, RH> +impl ScenarioTxRunOnWorld + for Tx< + ScenarioTxEnvData, + From, + (), + Payment, + Gas, + DeployCall>, + RH, + > where - From: TxFromSpecified, - Payment: TxPayment, - Gas: TxGas, - CodeValue: TxCodeValue, - RH: RHListScenario, + From: TxFromSpecified, + Payment: TxPayment, + Gas: TxGas, + CodeValue: TxCodeValue, + RH: RHListScenario, RH::ListReturns: NestedTupleFlatten, { type Returns = ::Unpacked; - fn run_as_scenario_step(self, world: &mut ScenarioWorld) -> Self::Returns { - let mut env = self.env; - let mut step = ScDeployStep::new() - .from(address_annotated(&env, self.from)) - .code(code_annotated(&env, self.data.code_source)); - for arg in self.data.arg_buffer.iter_buffers() { - step.tx.arguments.push(arg.to_vec().into()); - } - + fn run_on_world(self, world: &mut ScenarioWorld) -> Self::Returns { + let mut step = + tx_to_sc_deploy_step(&self.env, self.from, self.payment, self.gas, self.data); world.sc_deploy(&mut step); - let response = step.response.expect("step did not return result"); + process_result(step.response, self.result_handler) + } +} - let tuple_result = self.result_handler.item_scenario_result(&response); - tuple_result.flatten_unpack() +impl<'w, From, Payment, Gas, CodeValue, RH> ScenarioTxRun + for Tx< + WorldRefEnv<'w>, + From, + (), + Payment, + Gas, + DeployCall, Code>, + RH, + > +where + From: TxFromSpecified>, + Payment: TxPayment>, + Gas: TxGas>, + CodeValue: TxCodeValue>, + RH: RHListScenario>, + RH::ListReturns: NestedTupleFlatten, +{ + type Returns = ::Unpacked; + + fn run(self) -> Self::Returns { + let mut step = + tx_to_sc_deploy_step(&self.env, self.from, self.payment, self.gas, self.data); + self.env.world.sc_deploy(&mut step); + process_result(step.response, self.result_handler) } } diff --git a/framework/scenario/src/facade/world_tx/with_tx_raw_response.rs b/framework/scenario/src/facade/world_tx/with_tx_raw_response.rs index 053c962555..51f603a47b 100644 --- a/framework/scenario/src/facade/world_tx/with_tx_raw_response.rs +++ b/framework/scenario/src/facade/world_tx/with_tx_raw_response.rs @@ -7,7 +7,7 @@ use multiversx_sc::{ use crate::scenario_model::TxResponse; -use super::{RHListItemScenario, ScenarioTxEnv}; +use super::{RHListItemScenario, ScenarioTxEnvData}; /// Wraps a closure that handles a `TxResponse` object. pub struct WithRawTxResponse(pub F) diff --git a/framework/scenario/src/facade/world_tx/world_ref_env.rs b/framework/scenario/src/facade/world_tx/world_ref_env.rs index 8cb2284dc6..92abd8c2ff 100644 --- a/framework/scenario/src/facade/world_tx/world_ref_env.rs +++ b/framework/scenario/src/facade/world_tx/world_ref_env.rs @@ -2,11 +2,13 @@ use std::path::PathBuf; use multiversx_sc::types::{AnnotatedValue, ManagedAddress, TxBaseWithEnv, TxEnv}; -use crate::{api::StaticApi, scenario_model::TxResponse, ScenarioTxEnv, ScenarioWorld}; +use crate::{ + api::StaticApi, scenario_model::TxResponse, ScenarioTxEnv, ScenarioTxEnvData, ScenarioWorld, +}; pub struct WorldRefEnv<'w> { pub world: &'w mut ScenarioWorld, - pub data: ScenarioTxEnv, + pub data: ScenarioTxEnvData, } impl<'w> TxEnv for WorldRefEnv<'w> { @@ -17,6 +19,12 @@ impl<'w> TxEnv for WorldRefEnv<'w> { } fn default_gas(&self) -> u64 { - self.data.default_gas() + self.data.default_gas() + } +} + +impl<'w> ScenarioTxEnv for WorldRefEnv<'w> { + fn env_data(&self) -> &ScenarioTxEnvData { + &self.data } } From ecbebe1cfeeada945aec45c754bdb253d1bddf9a Mon Sep 17 00:00:00 2001 From: Andrei Marinica Date: Mon, 11 Mar 2024 09:56:53 +0200 Subject: [PATCH 33/36] unified syntax - scenario execution refactoring --- framework/scenario/src/facade/world_tx.rs | 9 +- .../src/facade/world_tx/expr/mxsc_expr.rs | 2 +- .../src/facade/world_tx/scenario_env.rs | 20 +- .../{scenario_tx.rs => scenario_env_exec.rs} | 194 ++++++------------ ...world_ref_env.rs => scenario_env_query.rs} | 6 +- .../src/facade/world_tx/scenario_env_util.rs | 103 ++++++++++ .../world_tx/scenario_world_steps_tx.rs | 12 -- 7 files changed, 191 insertions(+), 155 deletions(-) rename framework/scenario/src/facade/world_tx/{scenario_tx.rs => scenario_env_exec.rs} (54%) rename framework/scenario/src/facade/world_tx/{world_ref_env.rs => scenario_env_query.rs} (82%) create mode 100644 framework/scenario/src/facade/world_tx/scenario_env_util.rs delete mode 100644 framework/scenario/src/facade/world_tx/scenario_world_steps_tx.rs diff --git a/framework/scenario/src/facade/world_tx.rs b/framework/scenario/src/facade/world_tx.rs index e46b86d940..287c911253 100644 --- a/framework/scenario/src/facade/world_tx.rs +++ b/framework/scenario/src/facade/world_tx.rs @@ -2,16 +2,17 @@ mod expr; mod scenario_env; +mod scenario_env_exec; +mod scenario_env_query; +mod scenario_env_util; mod scenario_rh_list; mod scenario_rh_list_item; -mod scenario_tx; mod with_tx_raw_response; -mod world_ref_env; pub use expr::*; pub use scenario_env::*; +pub use scenario_env_exec::ScenarioEnvExec; +pub use scenario_env_query::ScenarioEnvQuery; pub use scenario_rh_list::*; pub use scenario_rh_list_item::*; -pub use scenario_tx::*; pub use with_tx_raw_response::WithRawTxResponse; -pub use world_ref_env::WorldRefEnv; diff --git a/framework/scenario/src/facade/world_tx/expr/mxsc_expr.rs b/framework/scenario/src/facade/world_tx/expr/mxsc_expr.rs index e3e123ffe8..6f95cf2b7a 100644 --- a/framework/scenario/src/facade/world_tx/expr/mxsc_expr.rs +++ b/framework/scenario/src/facade/world_tx/expr/mxsc_expr.rs @@ -9,7 +9,7 @@ use multiversx_sc::types::{ TxTo, TxToSpecified, }; -use crate::{api::StaticApi, ScenarioTxEnv, ScenarioTxEnvData, WorldRefEnv}; +use crate::{api::StaticApi, ScenarioEnvExec, ScenarioTxEnv, ScenarioTxEnvData}; const MXSC_PREFIX: &str = "mxsc:"; diff --git a/framework/scenario/src/facade/world_tx/scenario_env.rs b/framework/scenario/src/facade/world_tx/scenario_env.rs index 36ab974b34..9c1833659b 100644 --- a/framework/scenario/src/facade/world_tx/scenario_env.rs +++ b/framework/scenario/src/facade/world_tx/scenario_env.rs @@ -2,13 +2,14 @@ use std::path::PathBuf; use multiversx_sc::types::{AnnotatedValue, ManagedAddress, TxBaseWithEnv, TxEnv}; -use crate::{api::StaticApi, scenario_model::TxResponse}; +use crate::{api::StaticApi, scenario_model::TxResponse, ScenarioWorld}; /// Designates a tx environment suitable for running scenarios locally. pub trait ScenarioTxEnv: TxEnv { fn env_data(&self) -> &ScenarioTxEnvData; } +/// The actual data required to run a scenario locally. This is the minimal environment needed to run txs. #[derive(Default, Debug, Clone)] pub struct ScenarioTxEnvData { pub context_path: PathBuf, @@ -32,3 +33,20 @@ impl ScenarioTxEnv for ScenarioTxEnvData { self } } + +/// Provides a `run` method for transactions and steps. +pub trait ScenarioTxRun { + type Returns; + + fn run(self) -> Self::Returns; +} + +/// Provides a method to run scenario steps and txs, which also takes a `ScenarioWorld` argument. +/// +/// It is used for chaining methods that can't include the reference to the ScenarioWorld in the environment +/// for reasons imposed by lifetimes/the borrow checker. +pub trait ScenarioTxRunOnWorld { + type Returns; + + fn run_on_world(self, world: &mut ScenarioWorld) -> Self::Returns; +} diff --git a/framework/scenario/src/facade/world_tx/scenario_tx.rs b/framework/scenario/src/facade/world_tx/scenario_env_exec.rs similarity index 54% rename from framework/scenario/src/facade/world_tx/scenario_tx.rs rename to framework/scenario/src/facade/world_tx/scenario_env_exec.rs index c8b8cc4772..e0cb011529 100644 --- a/framework/scenario/src/facade/world_tx/scenario_tx.rs +++ b/framework/scenario/src/facade/world_tx/scenario_env_exec.rs @@ -1,3 +1,5 @@ +use std::path::PathBuf; + use multiversx_chain_scenario_format::serde_raw::ValueSubTree; use multiversx_sc::{ tuple_util::NestedTupleFlatten, @@ -11,139 +13,33 @@ use multiversx_sc::{ use crate::{ api::StaticApi, scenario_model::{AddressValue, BytesValue, ScCallStep, ScDeployStep, TxResponse}, - ScenarioWorld, WorldRefEnv, + ScenarioTxEnv, ScenarioTxRun, ScenarioTxRunOnWorld, ScenarioWorld, }; -use super::{RHListScenario, ScenarioTxEnvData}; - -impl ScenarioWorld { - fn new_env_data(&self) -> ScenarioTxEnvData { - ScenarioTxEnvData { - context_path: self.current_dir.clone(), - ..Default::default() - } - } - - fn wrap_world_ref<'w>(&'w mut self) -> WorldRefEnv<'w> { - let data = self.new_env_data(); - WorldRefEnv { world: self, data } - } - - pub fn tx<'w>(&'w mut self) -> TxBaseWithEnv> { - Tx::new_with_env(self.wrap_world_ref()) - } +use super::{scenario_env_util::*, RHListScenario, ScenarioTxEnvData}; - pub fn chain_tx(&mut self, f: F) -> &mut Self - where - STx: ScenarioTxRunOnWorld, - F: FnOnce(TxBaseWithEnv) -> STx, - { - let env = self.new_env_data(); - let tx_base = TxBaseWithEnv::new_with_env(env); - let tx = f(tx_base); - tx.run_on_world(self); - self - } +/// Environment for executing transactions. +pub struct ScenarioEnvExec<'w> { + pub world: &'w mut ScenarioWorld, + pub data: ScenarioTxEnvData, } -pub trait ScenarioTxRunOnWorld { - type Returns; - - fn run_on_world(self, world: &mut ScenarioWorld) -> Self::Returns; -} +impl<'w> TxEnv for ScenarioEnvExec<'w> { + type Api = StaticApi; -pub trait ScenarioTxRun { - type Returns; - - fn run(self) -> Self::Returns; -} - -fn address_annotated(env: &Env, from: Addr) -> AddressValue -where - Env: TxEnv, - Addr: AnnotatedValue>, -{ - let annotation = from.annotation(env).to_string(); - AddressValue { - value: from.into_value(env).to_address(), - original: ValueSubTree::Str(annotation), + fn resolve_sender_address(&self) -> ManagedAddress { + panic!("Explicit sender address expected") } -} -fn code_annotated(env: &Env, code: Code) -> BytesValue -where - Env: TxEnv, - CodeValue: TxCodeValue, -{ - let annotation = code.0.annotation(env).to_string(); - BytesValue { - value: code.0.into_value(env).to_vec(), - original: ValueSubTree::Str(annotation), + fn default_gas(&self) -> u64 { + self.data.default_gas() } } -fn tx_to_sc_call_step( - env: &Env, - from: From, - to: To, - _payment: Payment, - _gas: Gas, - data: FunctionCall, -) -> ScCallStep -where - Env: TxEnv, - From: TxFromSpecified, - To: TxToSpecified, - Payment: TxPayment, - Gas: TxGas, -{ - let mut step = ScCallStep::new() - .from(address_annotated(env, from)) - .to(address_annotated(env, to)) - .function(data.function_name.to_string().as_str()); - for arg in data.arg_buffer.iter_buffers() { - step.tx.arguments.push(arg.to_vec().into()); +impl<'w> ScenarioTxEnv for ScenarioEnvExec<'w> { + fn env_data(&self) -> &ScenarioTxEnvData { + &self.data } - - step -} - -fn tx_to_sc_deploy_step( - env: &Env, - from: From, - _payment: Payment, - _gas: Gas, - data: DeployCall>, -) -> ScDeployStep -where - Env: TxEnv, - From: TxFromSpecified, - Payment: TxPayment, - Gas: TxGas, - CodeValue: TxCodeValue, -{ - let mut step = ScDeployStep::new() - .from(address_annotated(env, from)) - .code(code_annotated(env, data.code_source)); - for arg in data.arg_buffer.iter_buffers() { - step.tx.arguments.push(arg.to_vec().into()); - } - - step -} - -fn process_result( - response: Option, - result_handler: RH, -) -> ::Unpacked -where - Env: TxEnv, - RH: RHListScenario, - RH::ListReturns: NestedTupleFlatten, -{ - let response = response.expect("step did not return result"); - let tuple_result = result_handler.item_scenario_result(&response); - tuple_result.flatten_unpack() } impl ScenarioTxRunOnWorld @@ -173,13 +69,13 @@ where } impl<'w, From, To, Payment, Gas, RH> ScenarioTxRun - for Tx, From, To, Payment, Gas, FunctionCall, RH> + for Tx, From, To, Payment, Gas, FunctionCall, RH> where - From: TxFromSpecified>, - To: TxToSpecified>, - Payment: TxPayment>, - Gas: TxGas>, - RH: RHListScenario>, + From: TxFromSpecified>, + To: TxToSpecified>, + Payment: TxPayment>, + Gas: TxGas>, + RH: RHListScenario>, RH::ListReturns: NestedTupleFlatten, { type Returns = ::Unpacked; @@ -228,20 +124,20 @@ where impl<'w, From, Payment, Gas, CodeValue, RH> ScenarioTxRun for Tx< - WorldRefEnv<'w>, + ScenarioEnvExec<'w>, From, (), Payment, Gas, - DeployCall, Code>, + DeployCall, Code>, RH, > where - From: TxFromSpecified>, - Payment: TxPayment>, - Gas: TxGas>, - CodeValue: TxCodeValue>, - RH: RHListScenario>, + From: TxFromSpecified>, + Payment: TxPayment>, + Gas: TxGas>, + CodeValue: TxCodeValue>, + RH: RHListScenario>, RH::ListReturns: NestedTupleFlatten, { type Returns = ::Unpacked; @@ -253,3 +149,33 @@ where process_result(step.response, self.result_handler) } } + +impl ScenarioWorld { + fn new_env_data(&self) -> ScenarioTxEnvData { + ScenarioTxEnvData { + context_path: self.current_dir.clone(), + ..Default::default() + } + } + + fn wrap_world_ref<'w>(&'w mut self) -> ScenarioEnvExec<'w> { + let data = self.new_env_data(); + ScenarioEnvExec { world: self, data } + } + + pub fn tx<'w>(&'w mut self) -> TxBaseWithEnv> { + Tx::new_with_env(self.wrap_world_ref()) + } + + pub fn chain_tx(&mut self, f: F) -> &mut Self + where + STx: ScenarioTxRunOnWorld, + F: FnOnce(TxBaseWithEnv) -> STx, + { + let env = self.new_env_data(); + let tx_base = TxBaseWithEnv::new_with_env(env); + let tx = f(tx_base); + tx.run_on_world(self); + self + } +} diff --git a/framework/scenario/src/facade/world_tx/world_ref_env.rs b/framework/scenario/src/facade/world_tx/scenario_env_query.rs similarity index 82% rename from framework/scenario/src/facade/world_tx/world_ref_env.rs rename to framework/scenario/src/facade/world_tx/scenario_env_query.rs index 92abd8c2ff..fbee3b921d 100644 --- a/framework/scenario/src/facade/world_tx/world_ref_env.rs +++ b/framework/scenario/src/facade/world_tx/scenario_env_query.rs @@ -6,12 +6,12 @@ use crate::{ api::StaticApi, scenario_model::TxResponse, ScenarioTxEnv, ScenarioTxEnvData, ScenarioWorld, }; -pub struct WorldRefEnv<'w> { +pub struct ScenarioEnvQuery<'w> { pub world: &'w mut ScenarioWorld, pub data: ScenarioTxEnvData, } -impl<'w> TxEnv for WorldRefEnv<'w> { +impl<'w> TxEnv for ScenarioEnvQuery<'w> { type Api = StaticApi; fn resolve_sender_address(&self) -> ManagedAddress { @@ -23,7 +23,7 @@ impl<'w> TxEnv for WorldRefEnv<'w> { } } -impl<'w> ScenarioTxEnv for WorldRefEnv<'w> { +impl<'w> ScenarioTxEnv for ScenarioEnvQuery<'w> { fn env_data(&self) -> &ScenarioTxEnvData { &self.data } diff --git a/framework/scenario/src/facade/world_tx/scenario_env_util.rs b/framework/scenario/src/facade/world_tx/scenario_env_util.rs new file mode 100644 index 0000000000..84b808fbc3 --- /dev/null +++ b/framework/scenario/src/facade/world_tx/scenario_env_util.rs @@ -0,0 +1,103 @@ +use multiversx_chain_scenario_format::serde_raw::ValueSubTree; +use multiversx_sc::{ + tuple_util::NestedTupleFlatten, + types::{ + AnnotatedValue, Code, DeployCall, FunctionCall, ManagedAddress, ManagedBuffer, RHListSync, + Tx, TxBaseWithEnv, TxCodeSource, TxCodeSourceSpecified, TxCodeValue, TxEnv, + TxFromSpecified, TxGas, TxPayment, TxToSpecified, + }, +}; + +use crate::{ + api::StaticApi, + scenario_model::{AddressValue, BytesValue, ScCallStep, ScDeployStep, TxResponse}, + RHListScenario, ScenarioEnvExec, ScenarioWorld, +}; + +pub(super) fn address_annotated(env: &Env, from: Addr) -> AddressValue +where + Env: TxEnv, + Addr: AnnotatedValue>, +{ + let annotation = from.annotation(env).to_string(); + AddressValue { + value: from.into_value(env).to_address(), + original: ValueSubTree::Str(annotation), + } +} + +pub(super) fn code_annotated(env: &Env, code: Code) -> BytesValue +where + Env: TxEnv, + CodeValue: TxCodeValue, +{ + let annotation = code.0.annotation(env).to_string(); + BytesValue { + value: code.0.into_value(env).to_vec(), + original: ValueSubTree::Str(annotation), + } +} + +pub(super) fn tx_to_sc_call_step( + env: &Env, + from: From, + to: To, + _payment: Payment, + _gas: Gas, + data: FunctionCall, +) -> ScCallStep +where + Env: TxEnv, + From: TxFromSpecified, + To: TxToSpecified, + Payment: TxPayment, + Gas: TxGas, +{ + let mut step = ScCallStep::new() + .from(address_annotated(env, from)) + .to(address_annotated(env, to)) + .function(data.function_name.to_string().as_str()); + for arg in data.arg_buffer.iter_buffers() { + step.tx.arguments.push(arg.to_vec().into()); + } + + step +} + +pub(super) fn tx_to_sc_deploy_step( + env: &Env, + from: From, + _payment: Payment, + _gas: Gas, + data: DeployCall>, +) -> ScDeployStep +where + Env: TxEnv, + From: TxFromSpecified, + Payment: TxPayment, + Gas: TxGas, + CodeValue: TxCodeValue, +{ + let mut step = ScDeployStep::new() + .from(address_annotated(env, from)) + .code(code_annotated(env, data.code_source)); + for arg in data.arg_buffer.iter_buffers() { + step.tx.arguments.push(arg.to_vec().into()); + } + + step +} + +pub(super) fn process_result( + response: Option, + result_handler: RH, +) -> ::Unpacked +where + Env: TxEnv, + RH: RHListScenario, + RH::ListReturns: NestedTupleFlatten, +{ + let response = response.expect("step did not return result"); + let tuple_result = result_handler.item_scenario_result(&response); + tuple_result.flatten_unpack() +} diff --git a/framework/scenario/src/facade/world_tx/scenario_world_steps_tx.rs b/framework/scenario/src/facade/world_tx/scenario_world_steps_tx.rs deleted file mode 100644 index 566caf319e..0000000000 --- a/framework/scenario/src/facade/world_tx/scenario_world_steps_tx.rs +++ /dev/null @@ -1,12 +0,0 @@ -use std::path::PathBuf; - -use multiversx_sc::types::{ - AnnotatedValue, FunctionCall, ManagedAddress, Tx, TxBaseWithEnv, TxEnv, TxFromSpecified, TxGas, - TxPayment, TxToSpecified, -}; - -use crate::{ - api::StaticApi, - facade::ScenarioWorld, - scenario_model::{ScCallStep, TxResponse}, -}; From be4f4090c1b6f39e44cf1a4839bdbd34cb98916f Mon Sep 17 00:00:00 2001 From: Andrei Marinica Date: Mon, 11 Mar 2024 12:33:33 +0200 Subject: [PATCH 34/36] unified syntax - scneario queries, more refactoring --- .../examples/adder/tests/adder_blackbox.rs | 11 +- .../adder/tests/adder_blackbox_chained.rs | 22 ++-- .../base/src/types/interaction/tx_rh_list.rs | 2 + .../interaction/tx_rh_list/returns_similar.rs | 38 +++++- .../tx_rh_list/with_result_similar.rs | 56 +++++++++ framework/scenario/src/facade/world_tx.rs | 1 + .../src/facade/world_tx/scenario_env.rs | 9 ++ .../facade/world_tx/scenario_env_deploy.rs | 77 ++++++++++++ .../src/facade/world_tx/scenario_env_exec.rs | 115 +++--------------- .../src/facade/world_tx/scenario_env_query.rs | 54 +++++++- .../src/facade/world_tx/scenario_env_util.rs | 21 +++- .../facade/world_tx/scenario_rh_list_item.rs | 37 +++++- 12 files changed, 325 insertions(+), 118 deletions(-) create mode 100644 framework/base/src/types/interaction/tx_rh_list/with_result_similar.rs create mode 100644 framework/scenario/src/facade/world_tx/scenario_env_deploy.rs diff --git a/contracts/examples/adder/tests/adder_blackbox.rs b/contracts/examples/adder/tests/adder_blackbox.rs index ad24fd6250..dda9068a25 100644 --- a/contracts/examples/adder/tests/adder_blackbox.rs +++ b/contracts/examples/adder/tests/adder_blackbox.rs @@ -1,7 +1,7 @@ use adder::*; use multiversx_sc::{ storage::mappers::SingleValue, - types::{AddressExpr, ScExpr, WithResultNewAddress}, + types::{AddressExpr, ReturnsSimilar, ScExpr, WithResultNewAddress}, }; use multiversx_sc_scenario::{api::StaticApi, num_bigint::BigUint, scenario_model::*, *}; @@ -51,6 +51,15 @@ fn adder_blackbox_with_values() { .expect_value(SingleValue::from(BigUint::from(5u32))), ); + let value = world + .query() + .to(SC_ADDER) + .typed_v2(temp_proxy_v2::TxProxy) + .sum() + .returns(ReturnsSimilar::>::new()) + .run(); + assert_eq!(value.into(), BigUint::from(5u32)); + // TODO: remove world .tx() diff --git a/contracts/examples/adder/tests/adder_blackbox_chained.rs b/contracts/examples/adder/tests/adder_blackbox_chained.rs index 49795ab994..8121afb4e9 100644 --- a/contracts/examples/adder/tests/adder_blackbox_chained.rs +++ b/contracts/examples/adder/tests/adder_blackbox_chained.rs @@ -1,7 +1,7 @@ use adder::*; use multiversx_sc::{ storage::mappers::SingleValue, - types::{AddressExpr, ScExpr, WithResultNewAddress}, + types::{AddressExpr, ScExpr, WithResultNewAddress, WithResultSimilar}, }; use multiversx_sc_scenario::{api::StaticApi, num_bigint::BigUint, scenario_model::*, *}; @@ -19,7 +19,7 @@ fn world() -> ScenarioWorld { fn adder_blackbox_chained() { let mut world = world(); let owner_address = "address:owner"; - let mut adder_contract = ContractInfo::>::new("sc:adder"); + let adder_contract = ContractInfo::>::new("sc:adder"); world .start_trace() @@ -28,7 +28,7 @@ fn adder_blackbox_chained() { .put_account(owner_address, Account::new().nonce(1)) .new_address(owner_address, 1, "sc:adder"), ) - .chain_tx(|tx| { + .chain_deploy(|tx| { tx.from(AddressExpr("owner")) .typed_v2(temp_proxy_v2::TxProxy) .init(5u32) @@ -37,13 +37,15 @@ fn adder_blackbox_chained() { assert_eq!(new_address.to_address(), adder_contract.to_address()); })) }) - .sc_query( - ScQueryStep::new() - .to(&adder_contract) - .call(adder_contract.sum()) - .expect_value(SingleValue::from(BigUint::from(5u32))), - ) - .chain_tx(|tx| { + .chain_query(|tx| { + tx.to(ScExpr("adder")) + .typed_v2(temp_proxy_v2::TxProxy) + .sum() + .with_result(WithResultSimilar::new(|value: SingleValue| { + assert_eq!(value.into(), BigUint::from(5u32)); + })) + }) + .chain_call(|tx| { tx.from(AddressExpr("owner")) .to(ScExpr("adder")) .typed_v2(temp_proxy_v2::TxProxy) diff --git a/framework/base/src/types/interaction/tx_rh_list.rs b/framework/base/src/types/interaction/tx_rh_list.rs index 392863de73..2cf4743ef2 100644 --- a/framework/base/src/types/interaction/tx_rh_list.rs +++ b/framework/base/src/types/interaction/tx_rh_list.rs @@ -8,6 +8,7 @@ mod tx_rh_list_item; mod with_result_exact; mod with_result_new_address; mod with_result_raw; +mod with_result_similar; pub use returns_bt::*; pub use returns_exact::*; @@ -17,3 +18,4 @@ pub use returns_similar::*; pub use tx_rh_list_cons::*; pub use tx_rh_list_item::*; pub use with_result_new_address::*; +pub use with_result_similar::*; diff --git a/framework/base/src/types/interaction/tx_rh_list/returns_similar.rs b/framework/base/src/types/interaction/tx_rh_list/returns_similar.rs index 07929d122f..1233a9bae0 100644 --- a/framework/base/src/types/interaction/tx_rh_list/returns_similar.rs +++ b/framework/base/src/types/interaction/tx_rh_list/returns_similar.rs @@ -1,10 +1,19 @@ use core::marker::PhantomData; -pub struct ReturnSimilar { +use multiversx_sc_codec::{CodecFrom, TopEncodeMulti}; + +use crate::types::{ + interaction::contract_call_exec::decode_result, ManagedBuffer, ManagedVec, RHListItemSync, + TxEnv, +}; + +use super::RHListItem; + +pub struct ReturnsSimilar { _phantom: PhantomData, } -impl Default for ReturnSimilar { +impl Default for ReturnsSimilar { fn default() -> Self { Self { _phantom: Default::default(), @@ -12,8 +21,31 @@ impl Default for ReturnSimilar { } } -impl ReturnSimilar { +impl ReturnsSimilar { pub fn new() -> Self { Self::default() } } + +impl RHListItem for ReturnsSimilar +where + Env: TxEnv, + Original: TopEncodeMulti, + T: CodecFrom, +{ + type Returns = T; +} + +impl RHListItemSync for ReturnsSimilar +where + Env: TxEnv, + Original: TopEncodeMulti, + T: CodecFrom, +{ + fn item_sync_call_result( + self, + raw_results: &ManagedVec>, + ) -> Self::Returns { + decode_result::(raw_results.clone()) + } +} diff --git a/framework/base/src/types/interaction/tx_rh_list/with_result_similar.rs b/framework/base/src/types/interaction/tx_rh_list/with_result_similar.rs new file mode 100644 index 0000000000..ff0e5b1b5f --- /dev/null +++ b/framework/base/src/types/interaction/tx_rh_list/with_result_similar.rs @@ -0,0 +1,56 @@ +use core::marker::PhantomData; + +use multiversx_sc_codec::{CodecFrom, TopDecodeMulti, TopEncodeMulti}; + +use crate::types::{ + interaction::contract_call_exec::decode_result, ManagedBuffer, ManagedVec, RHListItemSync, + TxEnv, +}; + +use super::RHListItem; + +pub struct WithResultSimilar +where + F: FnOnce(T), +{ + _phantom: PhantomData, + pub f: F, +} + +impl WithResultSimilar +where + F: FnOnce(T), +{ + pub fn new(f: F) -> Self { + WithResultSimilar { + _phantom: PhantomData, + f, + } + } +} + +impl RHListItem for WithResultSimilar +where + Env: TxEnv, + Original: TopEncodeMulti, + T: CodecFrom, + F: FnOnce(T), +{ + type Returns = (); +} + +impl RHListItemSync for WithResultSimilar +where + Env: TxEnv, + Original: TopEncodeMulti, + T: CodecFrom, + F: FnOnce(T), +{ + fn item_sync_call_result( + self, + raw_results: &ManagedVec>, + ) -> Self::Returns { + let t = decode_result::(raw_results.clone()); + (self.f)(t) + } +} diff --git a/framework/scenario/src/facade/world_tx.rs b/framework/scenario/src/facade/world_tx.rs index 287c911253..8c2314767e 100644 --- a/framework/scenario/src/facade/world_tx.rs +++ b/framework/scenario/src/facade/world_tx.rs @@ -2,6 +2,7 @@ mod expr; mod scenario_env; +mod scenario_env_deploy; mod scenario_env_exec; mod scenario_env_query; mod scenario_env_util; diff --git a/framework/scenario/src/facade/world_tx/scenario_env.rs b/framework/scenario/src/facade/world_tx/scenario_env.rs index 9c1833659b..b2fb597620 100644 --- a/framework/scenario/src/facade/world_tx/scenario_env.rs +++ b/framework/scenario/src/facade/world_tx/scenario_env.rs @@ -34,6 +34,15 @@ impl ScenarioTxEnv for ScenarioTxEnvData { } } +impl ScenarioWorld { + pub(crate) fn new_env_data(&self) -> ScenarioTxEnvData { + ScenarioTxEnvData { + context_path: self.current_dir.clone(), + ..Default::default() + } + } +} + /// Provides a `run` method for transactions and steps. pub trait ScenarioTxRun { type Returns; diff --git a/framework/scenario/src/facade/world_tx/scenario_env_deploy.rs b/framework/scenario/src/facade/world_tx/scenario_env_deploy.rs new file mode 100644 index 0000000000..103228c3e2 --- /dev/null +++ b/framework/scenario/src/facade/world_tx/scenario_env_deploy.rs @@ -0,0 +1,77 @@ +use std::path::PathBuf; + +use multiversx_chain_scenario_format::serde_raw::ValueSubTree; +use multiversx_sc::{ + tuple_util::NestedTupleFlatten, + types::{ + AnnotatedValue, Code, DeployCall, FunctionCall, ManagedAddress, ManagedBuffer, RHListSync, + Tx, TxBaseWithEnv, TxCodeSource, TxCodeSourceSpecified, TxCodeValue, TxEnv, + TxFromSpecified, TxGas, TxPayment, TxToSpecified, + }, +}; + +use crate::{ + api::StaticApi, + scenario_model::{AddressValue, BytesValue, ScCallStep, ScDeployStep, TxResponse}, + ScenarioEnvExec, ScenarioTxEnv, ScenarioTxRun, ScenarioTxRunOnWorld, ScenarioWorld, +}; + +use super::{scenario_env_util::*, RHListScenario, ScenarioTxEnvData}; + +impl<'w, From, Payment, Gas, CodeValue, RH> ScenarioTxRun + for Tx< + ScenarioEnvExec<'w>, + From, + (), + Payment, + Gas, + DeployCall, Code>, + RH, + > +where + From: TxFromSpecified>, + Payment: TxPayment>, + Gas: TxGas>, + CodeValue: TxCodeValue>, + RH: RHListScenario>, + RH::ListReturns: NestedTupleFlatten, +{ + type Returns = ::Unpacked; + + fn run(self) -> Self::Returns { + let mut step = + tx_to_sc_deploy_step(&self.env, self.from, self.payment, self.gas, self.data); + self.env.world.sc_deploy(&mut step); + process_result(step.response, self.result_handler) + } +} + +impl ScenarioWorld { + pub fn chain_deploy(&mut self, f: F) -> &mut Self + where + From: TxFromSpecified, + Payment: TxPayment, + Gas: TxGas, + CodeValue: TxCodeValue, + RH: RHListScenario, + F: FnOnce( + TxBaseWithEnv, + ) -> Tx< + ScenarioTxEnvData, + From, + (), + Payment, + Gas, + DeployCall>, + RH, + >, + { + let env = self.new_env_data(); + let tx_base = TxBaseWithEnv::new_with_env(env); + let tx = f(tx_base); + let mut step = tx_to_sc_deploy_step(&tx.env, tx.from, tx.payment, tx.gas, tx.data); + self.sc_deploy(&mut step); + process_result(step.response, tx.result_handler); + self + } +} diff --git a/framework/scenario/src/facade/world_tx/scenario_env_exec.rs b/framework/scenario/src/facade/world_tx/scenario_env_exec.rs index e0cb011529..44a6c2226b 100644 --- a/framework/scenario/src/facade/world_tx/scenario_env_exec.rs +++ b/framework/scenario/src/facade/world_tx/scenario_env_exec.rs @@ -42,32 +42,6 @@ impl<'w> ScenarioTxEnv for ScenarioEnvExec<'w> { } } -impl ScenarioTxRunOnWorld - for Tx, RH> -where - From: TxFromSpecified, - To: TxToSpecified, - Payment: TxPayment, - Gas: TxGas, - RH: RHListScenario, - RH::ListReturns: NestedTupleFlatten, -{ - type Returns = ::Unpacked; - - fn run_on_world(self, world: &mut ScenarioWorld) -> Self::Returns { - let mut step = tx_to_sc_call_step( - &self.env, - self.from, - self.to, - self.payment, - self.gas, - self.data, - ); - world.sc_call(&mut step); - process_result(step.response, self.result_handler) - } -} - impl<'w, From, To, Payment, Gas, RH> ScenarioTxRun for Tx, From, To, Payment, Gas, FunctionCall, RH> where @@ -94,88 +68,31 @@ where } } -impl ScenarioTxRunOnWorld - for Tx< - ScenarioTxEnvData, - From, - (), - Payment, - Gas, - DeployCall>, - RH, - > -where - From: TxFromSpecified, - Payment: TxPayment, - Gas: TxGas, - CodeValue: TxCodeValue, - RH: RHListScenario, - RH::ListReturns: NestedTupleFlatten, -{ - type Returns = ::Unpacked; - - fn run_on_world(self, world: &mut ScenarioWorld) -> Self::Returns { - let mut step = - tx_to_sc_deploy_step(&self.env, self.from, self.payment, self.gas, self.data); - world.sc_deploy(&mut step); - process_result(step.response, self.result_handler) - } -} - -impl<'w, From, Payment, Gas, CodeValue, RH> ScenarioTxRun - for Tx< - ScenarioEnvExec<'w>, - From, - (), - Payment, - Gas, - DeployCall, Code>, - RH, - > -where - From: TxFromSpecified>, - Payment: TxPayment>, - Gas: TxGas>, - CodeValue: TxCodeValue>, - RH: RHListScenario>, - RH::ListReturns: NestedTupleFlatten, -{ - type Returns = ::Unpacked; - - fn run(self) -> Self::Returns { - let mut step = - tx_to_sc_deploy_step(&self.env, self.from, self.payment, self.gas, self.data); - self.env.world.sc_deploy(&mut step); - process_result(step.response, self.result_handler) - } -} - impl ScenarioWorld { - fn new_env_data(&self) -> ScenarioTxEnvData { - ScenarioTxEnvData { - context_path: self.current_dir.clone(), - ..Default::default() - } - } - - fn wrap_world_ref<'w>(&'w mut self) -> ScenarioEnvExec<'w> { - let data = self.new_env_data(); - ScenarioEnvExec { world: self, data } - } - pub fn tx<'w>(&'w mut self) -> TxBaseWithEnv> { - Tx::new_with_env(self.wrap_world_ref()) + let data = self.new_env_data(); + let env = ScenarioEnvExec { world: self, data }; + Tx::new_with_env(env) } - pub fn chain_tx(&mut self, f: F) -> &mut Self + pub fn chain_call(&mut self, f: F) -> &mut Self where - STx: ScenarioTxRunOnWorld, - F: FnOnce(TxBaseWithEnv) -> STx, + From: TxFromSpecified, + To: TxToSpecified, + Payment: TxPayment, + Gas: TxGas, + RH: RHListScenario, + F: FnOnce( + TxBaseWithEnv, + ) + -> Tx, RH>, { let env = self.new_env_data(); let tx_base = TxBaseWithEnv::new_with_env(env); let tx = f(tx_base); - tx.run_on_world(self); + let mut step = tx_to_sc_call_step(&tx.env, tx.from, tx.to, tx.payment, tx.gas, tx.data); + self.sc_call(&mut step); + process_result(step.response, tx.result_handler); self } } diff --git a/framework/scenario/src/facade/world_tx/scenario_env_query.rs b/framework/scenario/src/facade/world_tx/scenario_env_query.rs index fbee3b921d..12ed35a3bf 100644 --- a/framework/scenario/src/facade/world_tx/scenario_env_query.rs +++ b/framework/scenario/src/facade/world_tx/scenario_env_query.rs @@ -1,11 +1,20 @@ use std::path::PathBuf; -use multiversx_sc::types::{AnnotatedValue, ManagedAddress, TxBaseWithEnv, TxEnv}; +use multiversx_sc::{ + tuple_util::NestedTupleFlatten, + types::{ + AnnotatedValue, FunctionCall, ManagedAddress, Tx, TxBaseWithEnv, TxEnv, TxFromSpecified, + TxGas, TxPayment, TxToSpecified, + }, +}; use crate::{ - api::StaticApi, scenario_model::TxResponse, ScenarioTxEnv, ScenarioTxEnvData, ScenarioWorld, + api::StaticApi, scenario_model::TxResponse, RHListScenario, ScenarioTxEnv, ScenarioTxEnvData, + ScenarioTxRun, ScenarioTxRunOnWorld, ScenarioWorld, }; +use super::scenario_env_util::*; + pub struct ScenarioEnvQuery<'w> { pub world: &'w mut ScenarioWorld, pub data: ScenarioTxEnvData, @@ -28,3 +37,44 @@ impl<'w> ScenarioTxEnv for ScenarioEnvQuery<'w> { &self.data } } + +impl<'w, To, RH> ScenarioTxRun + for Tx, (), To, (), (), FunctionCall, RH> +where + To: TxToSpecified>, + RH: RHListScenario>, + RH::ListReturns: NestedTupleFlatten, +{ + type Returns = ::Unpacked; + + fn run(self) -> Self::Returns { + let mut step = tx_to_sc_query_step(&self.env, self.to, self.data); + self.env.world.sc_query(&mut step); + process_result(step.response, self.result_handler) + } +} + +impl ScenarioWorld { + pub fn query<'w>(&'w mut self) -> TxBaseWithEnv> { + let data = self.new_env_data(); + let env = ScenarioEnvQuery { world: self, data }; + Tx::new_with_env(env) + } + + pub fn chain_query(&mut self, f: F) -> &mut Self + where + To: TxToSpecified, + RH: RHListScenario, + F: FnOnce( + TxBaseWithEnv, + ) -> Tx, RH>, + { + let env = self.new_env_data(); + let tx_base = TxBaseWithEnv::new_with_env(env); + let tx = f(tx_base); + let mut step = tx_to_sc_query_step(&tx.env, tx.to, tx.data); + self.sc_query(&mut step); + process_result(step.response, tx.result_handler); + self + } +} diff --git a/framework/scenario/src/facade/world_tx/scenario_env_util.rs b/framework/scenario/src/facade/world_tx/scenario_env_util.rs index 84b808fbc3..e05a4de177 100644 --- a/framework/scenario/src/facade/world_tx/scenario_env_util.rs +++ b/framework/scenario/src/facade/world_tx/scenario_env_util.rs @@ -10,7 +10,7 @@ use multiversx_sc::{ use crate::{ api::StaticApi, - scenario_model::{AddressValue, BytesValue, ScCallStep, ScDeployStep, TxResponse}, + scenario_model::{AddressValue, BytesValue, ScCallStep, ScDeployStep, ScQueryStep, TxResponse}, RHListScenario, ScenarioEnvExec, ScenarioWorld, }; @@ -88,6 +88,25 @@ where step } +pub(super) fn tx_to_sc_query_step( + env: &Env, + to: To, + data: FunctionCall, +) -> ScQueryStep +where + Env: TxEnv, + To: TxToSpecified, +{ + let mut step = ScQueryStep::new() + .to(address_annotated(env, to)) + .function(data.function_name.to_string().as_str()); + for arg in data.arg_buffer.iter_buffers() { + step.tx.arguments.push(arg.to_vec().into()); + } + + step +} + pub(super) fn process_result( response: Option, result_handler: RH, diff --git a/framework/scenario/src/facade/world_tx/scenario_rh_list_item.rs b/framework/scenario/src/facade/world_tx/scenario_rh_list_item.rs index 057d1e0c1c..4de678b586 100644 --- a/framework/scenario/src/facade/world_tx/scenario_rh_list_item.rs +++ b/framework/scenario/src/facade/world_tx/scenario_rh_list_item.rs @@ -1,6 +1,9 @@ use multiversx_sc::{ - codec::TopDecodeMulti, - types::{ManagedAddress, RHList, RHListItem, ReturnsExact, TxEnv, WithResultNewAddress}, + codec::{CodecFrom, TopDecodeMulti, TopEncodeMulti}, + types::{ + ManagedAddress, RHList, RHListItem, ReturnsExact, ReturnsSimilar, TxEnv, + WithResultNewAddress, WithResultSimilar, + }, }; use crate::{ @@ -30,6 +33,36 @@ where } } +impl RHListItemScenario for ReturnsSimilar +where + Env: TxEnv, + Original: TopEncodeMulti, + T: CodecFrom, +{ + fn item_scenario_result(self, tx_response: &TxResponse) -> Self::Returns { + let response = TypedResponse::::from_raw(tx_response); + response + .result + .expect("ReturnsSimilar expects that transaction is successful") + } +} + +impl RHListItemScenario for WithResultSimilar +where + Env: TxEnv, + Original: TopEncodeMulti, + T: CodecFrom, + F: FnOnce(T), +{ + fn item_scenario_result(self, tx_response: &TxResponse) -> Self::Returns { + let response = TypedResponse::::from_raw(tx_response); + let value = response + .result + .expect("ReturnsExact expects that transaction is successful"); + (self.f)(value); + } +} + impl RHListItemScenario for WithResultNewAddress where Env: TxEnv, From 042026f9a8461ab6f5d00677210bcd45a3964c09 Mon Sep 17 00:00:00 2001 From: Andrei Marinica Date: Mon, 11 Mar 2024 12:35:26 +0200 Subject: [PATCH 35/36] clippy fix --- framework/scenario/src/facade/world_tx/scenario_env.rs | 1 - framework/scenario/src/facade/world_tx/scenario_env_exec.rs | 2 +- framework/scenario/src/facade/world_tx/scenario_env_query.rs | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/framework/scenario/src/facade/world_tx/scenario_env.rs b/framework/scenario/src/facade/world_tx/scenario_env.rs index b2fb597620..0392fa2bb6 100644 --- a/framework/scenario/src/facade/world_tx/scenario_env.rs +++ b/framework/scenario/src/facade/world_tx/scenario_env.rs @@ -38,7 +38,6 @@ impl ScenarioWorld { pub(crate) fn new_env_data(&self) -> ScenarioTxEnvData { ScenarioTxEnvData { context_path: self.current_dir.clone(), - ..Default::default() } } } diff --git a/framework/scenario/src/facade/world_tx/scenario_env_exec.rs b/framework/scenario/src/facade/world_tx/scenario_env_exec.rs index 44a6c2226b..844bbf9c97 100644 --- a/framework/scenario/src/facade/world_tx/scenario_env_exec.rs +++ b/framework/scenario/src/facade/world_tx/scenario_env_exec.rs @@ -69,7 +69,7 @@ where } impl ScenarioWorld { - pub fn tx<'w>(&'w mut self) -> TxBaseWithEnv> { + pub fn tx(&mut self) -> TxBaseWithEnv> { let data = self.new_env_data(); let env = ScenarioEnvExec { world: self, data }; Tx::new_with_env(env) diff --git a/framework/scenario/src/facade/world_tx/scenario_env_query.rs b/framework/scenario/src/facade/world_tx/scenario_env_query.rs index 12ed35a3bf..f95f3cce33 100644 --- a/framework/scenario/src/facade/world_tx/scenario_env_query.rs +++ b/framework/scenario/src/facade/world_tx/scenario_env_query.rs @@ -55,7 +55,7 @@ where } impl ScenarioWorld { - pub fn query<'w>(&'w mut self) -> TxBaseWithEnv> { + pub fn query(&mut self) -> TxBaseWithEnv> { let data = self.new_env_data(); let env = ScenarioEnvQuery { world: self, data }; Tx::new_with_env(env) From f7cb39f6ae8d263377fe6822a01fce6f5f1c6f1e Mon Sep 17 00:00:00 2001 From: Andrei Marinica Date: Mon, 11 Mar 2024 12:46:20 +0200 Subject: [PATCH 36/36] adder legacy proxy test --- ...ined.rs => adder_blackbox_chained_test.rs} | 0 .../tests/adder_blackbox_legacy_proxy_test.rs | 79 +++++++++++++++++++ ...ps.rs => adder_blackbox_raw_steps_test.rs} | 0 ...der_blackbox.rs => adder_blackbox_test.rs} | 11 +-- 4 files changed, 81 insertions(+), 9 deletions(-) rename contracts/examples/adder/tests/{adder_blackbox_chained.rs => adder_blackbox_chained_test.rs} (100%) create mode 100644 contracts/examples/adder/tests/adder_blackbox_legacy_proxy_test.rs rename contracts/examples/adder/tests/{adder_blackbox_raw_steps.rs => adder_blackbox_raw_steps_test.rs} (100%) rename contracts/examples/adder/tests/{adder_blackbox.rs => adder_blackbox_test.rs} (88%) diff --git a/contracts/examples/adder/tests/adder_blackbox_chained.rs b/contracts/examples/adder/tests/adder_blackbox_chained_test.rs similarity index 100% rename from contracts/examples/adder/tests/adder_blackbox_chained.rs rename to contracts/examples/adder/tests/adder_blackbox_chained_test.rs diff --git a/contracts/examples/adder/tests/adder_blackbox_legacy_proxy_test.rs b/contracts/examples/adder/tests/adder_blackbox_legacy_proxy_test.rs new file mode 100644 index 0000000000..373e75f49f --- /dev/null +++ b/contracts/examples/adder/tests/adder_blackbox_legacy_proxy_test.rs @@ -0,0 +1,79 @@ +use adder::*; +use multiversx_sc::{ + storage::mappers::SingleValue, + types::{AddressExpr, ReturnsSimilar, WithResultNewAddress}, +}; +use multiversx_sc_scenario::{api::StaticApi, num_bigint::BigUint, scenario_model::*, *}; + +const ADDER_PATH_EXPR: &str = "mxsc:output/adder.mxsc.json"; + +const OWNER: AddressExpr = AddressExpr("owner"); +const CODE_EXPR: MxscExpr = MxscExpr("output/adder.mxsc.json"); + +fn world() -> ScenarioWorld { + let mut blockchain = ScenarioWorld::new(); + blockchain.set_current_dir_from_workspace("contracts/examples/adder"); + + blockchain.register_contract(ADDER_PATH_EXPR, adder::ContractBuilder); + blockchain +} + +#[test] +fn adder_blackbox_legacy_proxy() { + let mut world = world(); + let owner_address = "address:owner"; + let mut adder_contract = ContractInfo::>::new("sc:adder"); + + world.start_trace(); + + world.set_state_step( + SetStateStep::new() + .put_account(owner_address, Account::new().nonce(1)) + .new_address(owner_address, 1, "sc:adder"), + ); + + world + .tx() + .from(OWNER) + .typed_v2(temp_proxy_v2::TxProxy) + .init(5u32) + .code(CODE_EXPR) + .with_result(WithResultNewAddress::new(|new_address| { + assert_eq!(new_address.to_address(), adder_contract.to_address()); + })) + .run(); + + world.sc_query( + ScQueryStep::new() + .to(&adder_contract) + .call(adder_contract.sum()) + .expect_value(SingleValue::from(BigUint::from(5u32))), + ); + + let value = world + .query() + .call(adder_contract.sum()) + .returns(ReturnsSimilar::>::new()) + .run(); + assert_eq!(value.into(), BigUint::from(5u32)); + + world + .tx() + .from(OWNER) + .call(adder_contract.add(3u32)) + .with_result(WithRawTxResponse(|response| { + assert!(response.tx_error.is_success()); + })) + .run(); + + world.check_state_step( + CheckStateStep::new() + .put_account(owner_address, CheckAccount::new()) + .put_account( + &adder_contract, + CheckAccount::new().check_storage("str:sum", "8"), + ), + ); + + world.write_scenario_trace("trace1.scen.json"); +} diff --git a/contracts/examples/adder/tests/adder_blackbox_raw_steps.rs b/contracts/examples/adder/tests/adder_blackbox_raw_steps_test.rs similarity index 100% rename from contracts/examples/adder/tests/adder_blackbox_raw_steps.rs rename to contracts/examples/adder/tests/adder_blackbox_raw_steps_test.rs diff --git a/contracts/examples/adder/tests/adder_blackbox.rs b/contracts/examples/adder/tests/adder_blackbox_test.rs similarity index 88% rename from contracts/examples/adder/tests/adder_blackbox.rs rename to contracts/examples/adder/tests/adder_blackbox_test.rs index dda9068a25..185aa24001 100644 --- a/contracts/examples/adder/tests/adder_blackbox.rs +++ b/contracts/examples/adder/tests/adder_blackbox_test.rs @@ -20,10 +20,10 @@ fn world() -> ScenarioWorld { } #[test] -fn adder_blackbox_with_values() { +fn adder_blackbox() { let mut world = world(); let owner_address = "address:owner"; - let mut adder_contract = ContractInfo::>::new("sc:adder"); + let adder_contract = ContractInfo::>::new("sc:adder"); world.start_trace(); @@ -44,13 +44,6 @@ fn adder_blackbox_with_values() { })) .run(); - world.sc_query( - ScQueryStep::new() - .to(&adder_contract) - .call(adder_contract.sum()) - .expect_value(SingleValue::from(BigUint::from(5u32))), - ); - let value = world .query() .to(SC_ADDER)