From 31bef02fb0878dcb51cf53bd06a18ff2cd801e38 Mon Sep 17 00:00:00 2001 From: Alin Cruceat Date: Thu, 14 Sep 2023 17:11:02 +0300 Subject: [PATCH 01/14] upgrade all contracts to 0.43.3 --- contracts/adder/Cargo.toml | 4 +- contracts/adder/meta/Cargo.toml | 2 +- contracts/adder/wasm/Cargo.lock | 20 +++++----- contracts/adder/wasm/Cargo.toml | 2 +- contracts/bonding-curve-contract/Cargo.toml | 6 +-- .../bonding-curve-contract/meta/Cargo.toml | 2 +- .../bonding-curve-contract/wasm/Cargo.lock | 20 +++++----- .../bonding-curve-contract/wasm/Cargo.toml | 2 +- contracts/check-pause/Cargo.toml | 10 ++--- contracts/check-pause/meta/Cargo.toml | 3 +- contracts/check-pause/wasm/Cargo.lock | 20 +++++----- contracts/check-pause/wasm/Cargo.toml | 10 ++--- contracts/crowdfunding-esdt/Cargo.toml | 4 +- contracts/crowdfunding-esdt/meta/Cargo.toml | 2 +- contracts/crowdfunding-esdt/wasm/Cargo.lock | 20 +++++----- contracts/crowdfunding-esdt/wasm/Cargo.toml | 2 +- contracts/crypto-bubbles/Cargo.toml | 4 +- contracts/crypto-bubbles/meta/Cargo.toml | 2 +- contracts/crypto-bubbles/wasm/Cargo.lock | 20 +++++----- contracts/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.lock | 20 +++++----- .../kitty-auction/wasm/Cargo.toml | 2 +- .../kitty-genetic-alg/Cargo.toml | 4 +- .../kitty-genetic-alg/meta/Cargo.toml | 2 +- .../kitty-genetic-alg/wasm/Cargo.lock | 20 +++++----- .../kitty-genetic-alg/wasm/Cargo.toml | 2 +- .../crypto-kitties/kitty-ownership/Cargo.toml | 4 +- .../kitty-ownership/meta/Cargo.toml | 2 +- .../kitty-ownership/wasm/Cargo.lock | 20 +++++----- .../kitty-ownership/wasm/Cargo.toml | 2 +- contracts/crypto-zombies/Cargo.toml | 4 +- contracts/crypto-zombies/meta/Cargo.toml | 2 +- contracts/crypto-zombies/wasm/Cargo.lock | 20 +++++----- contracts/crypto-zombies/wasm/Cargo.toml | 2 +- contracts/digital-cash/Cargo.toml | 4 +- contracts/digital-cash/meta/Cargo.toml | 2 +- contracts/digital-cash/wasm/Cargo.lock | 20 +++++----- contracts/digital-cash/wasm/Cargo.toml | 2 +- contracts/empty/Cargo.toml | 4 +- contracts/empty/meta/Cargo.toml | 2 +- contracts/empty/wasm/Cargo.lock | 20 +++++----- contracts/empty/wasm/Cargo.toml | 2 +- contracts/esdt-transfer-with-fee/Cargo.toml | 4 +- .../esdt-transfer-with-fee/meta/Cargo.toml | 2 +- .../esdt-transfer-with-fee/wasm/Cargo.lock | 20 +++++----- .../esdt-transfer-with-fee/wasm/Cargo.toml | 2 +- contracts/factorial/Cargo.toml | 4 +- contracts/factorial/meta/Cargo.toml | 2 +- contracts/factorial/wasm/Cargo.lock | 20 +++++----- contracts/factorial/wasm/Cargo.toml | 2 +- contracts/fractional-nfts/Cargo.toml | 6 +-- contracts/fractional-nfts/meta/Cargo.toml | 2 +- contracts/fractional-nfts/wasm/Cargo.lock | 20 +++++----- contracts/fractional-nfts/wasm/Cargo.toml | 2 +- contracts/liquid-locking/Cargo.toml | 4 +- contracts/liquid-locking/meta/Cargo.toml | 2 +- contracts/liquid-locking/wasm/Cargo.lock | 20 +++++----- contracts/liquid-locking/wasm/Cargo.toml | 2 +- contracts/lottery-esdt/Cargo.toml | 4 +- contracts/lottery-esdt/meta/Cargo.toml | 2 +- contracts/lottery-esdt/wasm/Cargo.lock | 20 +++++----- contracts/lottery-esdt/wasm/Cargo.toml | 2 +- contracts/multisig/Cargo.toml | 6 +-- contracts/multisig/interact-rs/Cargo.toml | 2 +- contracts/multisig/meta/Cargo.toml | 2 +- .../multisig/wasm-multisig-full/Cargo.lock | 20 +++++----- .../multisig/wasm-multisig-full/Cargo.toml | 2 +- .../multisig/wasm-multisig-view/Cargo.lock | 20 +++++----- .../multisig/wasm-multisig-view/Cargo.toml | 2 +- contracts/multisig/wasm/Cargo.lock | 20 +++++----- contracts/multisig/wasm/Cargo.toml | 2 +- contracts/mystery-box/Cargo.toml | 6 +-- contracts/mystery-box/meta/Cargo.toml | 2 +- contracts/mystery-box/wasm/Cargo.lock | 20 +++++----- contracts/mystery-box/wasm/Cargo.toml | 2 +- contracts/nft-minter/Cargo.toml | 4 +- contracts/nft-minter/meta/Cargo.toml | 2 +- contracts/nft-minter/wasm/Cargo.lock | 20 +++++----- contracts/nft-minter/wasm/Cargo.toml | 2 +- contracts/nft-storage-prepay/Cargo.toml | 4 +- contracts/nft-storage-prepay/meta/Cargo.toml | 2 +- contracts/nft-storage-prepay/wasm/Cargo.lock | 20 +++++----- contracts/nft-storage-prepay/wasm/Cargo.toml | 2 +- contracts/order-book/.gitignore | 2 +- contracts/order-book/factory/Cargo.toml | 9 ++++- contracts/order-book/factory/meta/Cargo.toml | 4 +- contracts/order-book/factory/wasm/Cargo.lock | 40 +++++++------------ contracts/order-book/factory/wasm/Cargo.toml | 9 +++-- contracts/order-book/factory/wasm/src/lib.rs | 8 ++-- contracts/order-book/pair/Cargo.toml | 8 +++- contracts/order-book/pair/meta/Cargo.toml | 3 +- .../pair/tests/pair_scenario_go_test.rs | 18 ++++++--- .../pair/tests/pair_scenario_rs_test.rs | 14 +++---- contracts/order-book/pair/wasm/Cargo.lock | 40 +++++++------------ contracts/order-book/pair/wasm/Cargo.toml | 9 +++-- contracts/order-book/pair/wasm/src/lib.rs | 30 +++++++------- contracts/ping-pong-egld/Cargo.toml | 4 +- contracts/ping-pong-egld/meta/Cargo.toml | 2 +- contracts/ping-pong-egld/wasm/Cargo.lock | 20 +++++----- contracts/ping-pong-egld/wasm/Cargo.toml | 2 +- contracts/price-aggregator/Cargo.toml | 6 +-- contracts/price-aggregator/meta/Cargo.toml | 4 +- contracts/price-aggregator/wasm/Cargo.lock | 20 +++++----- contracts/price-aggregator/wasm/Cargo.toml | 2 +- contracts/proxy-pause/Cargo.toml | 6 ++- contracts/proxy-pause/meta/Cargo.toml | 3 +- .../tests/proxy_pause_scenario_go_test.rs | 10 ++++- .../tests/proxy_pause_scenario_rs_test.rs | 6 +-- contracts/proxy-pause/wasm/Cargo.lock | 40 +++++++------------ contracts/proxy-pause/wasm/Cargo.toml | 8 ++-- contracts/proxy-pause/wasm/src/lib.rs | 20 +++++----- contracts/rewards-distribution/Cargo.toml | 6 +-- .../rewards-distribution/meta/Cargo.toml | 2 +- .../rewards-distribution/wasm/Cargo.lock | 20 +++++----- .../rewards-distribution/wasm/Cargo.toml | 2 +- contracts/seed-nft-minter/Cargo.toml | 6 +-- contracts/seed-nft-minter/meta/Cargo.toml | 2 +- contracts/seed-nft-minter/wasm/Cargo.lock | 20 +++++----- contracts/seed-nft-minter/wasm/Cargo.toml | 2 +- contracts/token-release/Cargo.toml | 4 +- contracts/token-release/meta/Cargo.toml | 2 +- contracts/token-release/wasm/Cargo.lock | 20 +++++----- contracts/token-release/wasm/Cargo.toml | 2 +- contracts/wegld-swap/Cargo.toml | 6 +-- contracts/wegld-swap/meta/Cargo.toml | 4 +- contracts/wegld-swap/wasm/Cargo.lock | 20 +++++----- contracts/wegld-swap/wasm/Cargo.toml | 2 +- 131 files changed, 552 insertions(+), 548 deletions(-) diff --git a/contracts/adder/Cargo.toml b/contracts/adder/Cargo.toml index c852d498..1fc87b18 100644 --- a/contracts/adder/Cargo.toml +++ b/contracts/adder/Cargo.toml @@ -8,6 +8,6 @@ publish = false [lib] path = "src/adder.rs" [dependencies.multiversx-sc] -version = "0.41.3" +version = "0.43.3" [dev-dependencies.multiversx-sc-scenario] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/adder/meta/Cargo.toml b/contracts/adder/meta/Cargo.toml index 6ed8ddd5..9e0fccf9 100644 --- a/contracts/adder/meta/Cargo.toml +++ b/contracts/adder/meta/Cargo.toml @@ -7,4 +7,4 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/adder/wasm/Cargo.lock b/contracts/adder/wasm/Cargo.lock index ecfb40e6..3620c4ee 100755 --- a/contracts/adder/wasm/Cargo.lock +++ b/contracts/adder/wasm/Cargo.lock @@ -148,9 +148,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" dependencies = [ "autocfg", ] @@ -163,18 +163,18 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.63" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.28" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" dependencies = [ "proc-macro2", ] @@ -191,9 +191,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" [[package]] name = "syn" @@ -208,9 +208,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.9" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "version_check" diff --git a/contracts/adder/wasm/Cargo.toml b/contracts/adder/wasm/Cargo.toml index ffbc5210..1bba7afa 100644 --- a/contracts/adder/wasm/Cargo.toml +++ b/contracts/adder/wasm/Cargo.toml @@ -17,7 +17,7 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.41.3" +version = "0.43.3" [workspace] members = ["."] diff --git a/contracts/bonding-curve-contract/Cargo.toml b/contracts/bonding-curve-contract/Cargo.toml index 5dec197b..96fa7d8b 100644 --- a/contracts/bonding-curve-contract/Cargo.toml +++ b/contracts/bonding-curve-contract/Cargo.toml @@ -8,9 +8,9 @@ publish = false [lib] path = "src/bonding_curve_contract.rs" [dependencies.multiversx-sc] -version = "0.41.3" +version = "0.43.3" [dependencies.multiversx-sc-modules] -version = "0.41.3" +version = "0.43.3" [dev-dependencies.multiversx-sc-scenario] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/bonding-curve-contract/meta/Cargo.toml b/contracts/bonding-curve-contract/meta/Cargo.toml index a89c2240..1b1abbb6 100644 --- a/contracts/bonding-curve-contract/meta/Cargo.toml +++ b/contracts/bonding-curve-contract/meta/Cargo.toml @@ -8,4 +8,4 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/bonding-curve-contract/wasm/Cargo.lock b/contracts/bonding-curve-contract/wasm/Cargo.lock index 815d0804..b66babea 100644 --- a/contracts/bonding-curve-contract/wasm/Cargo.lock +++ b/contracts/bonding-curve-contract/wasm/Cargo.lock @@ -158,9 +158,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" dependencies = [ "autocfg", ] @@ -173,18 +173,18 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.63" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.28" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" dependencies = [ "proc-macro2", ] @@ -201,9 +201,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" [[package]] name = "syn" @@ -218,9 +218,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.9" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "version_check" diff --git a/contracts/bonding-curve-contract/wasm/Cargo.toml b/contracts/bonding-curve-contract/wasm/Cargo.toml index 6b6b4f30..dee5e8e8 100644 --- a/contracts/bonding-curve-contract/wasm/Cargo.toml +++ b/contracts/bonding-curve-contract/wasm/Cargo.toml @@ -17,7 +17,7 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.41.3" +version = "0.43.3" [workspace] members = ["."] diff --git a/contracts/check-pause/Cargo.toml b/contracts/check-pause/Cargo.toml index 66a1662e..2f5c7365 100644 --- a/contracts/check-pause/Cargo.toml +++ b/contracts/check-pause/Cargo.toml @@ -11,12 +11,10 @@ path = "src/check_pause.rs" [dev-dependencies] num-bigint = "0.4.2" +[dev-dependencies.multiversx-sc-scenario] +version = "0.43.3" [dependencies.multiversx-sc] -version = "0.41.3" +version = "0.43.3" [dependencies.multiversx-sc-modules] -version = "0.41.3" - -[dev-dependencies.multiversx-sc-scenario] -version = "0.41.3" - +version = "0.43.3" diff --git a/contracts/check-pause/meta/Cargo.toml b/contracts/check-pause/meta/Cargo.toml index b6b60f21..d4837bc1 100644 --- a/contracts/check-pause/meta/Cargo.toml +++ b/contracts/check-pause/meta/Cargo.toml @@ -4,9 +4,8 @@ version = "0.0.0" edition = "2021" publish = false authors = ["Alin Cruceat "] - [dependencies.check-pause] path = ".." [dependencies.multiversx-sc-meta] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/check-pause/wasm/Cargo.lock b/contracts/check-pause/wasm/Cargo.lock index 797710c9..02a465b4 100644 --- a/contracts/check-pause/wasm/Cargo.lock +++ b/contracts/check-pause/wasm/Cargo.lock @@ -158,9 +158,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" dependencies = [ "autocfg", ] @@ -173,18 +173,18 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.63" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.28" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" dependencies = [ "proc-macro2", ] @@ -201,9 +201,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" [[package]] name = "syn" @@ -218,9 +218,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.9" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "version_check" diff --git a/contracts/check-pause/wasm/Cargo.toml b/contracts/check-pause/wasm/Cargo.toml index 5b6fa4c4..b18c33d0 100644 --- a/contracts/check-pause/wasm/Cargo.toml +++ b/contracts/check-pause/wasm/Cargo.toml @@ -3,25 +3,23 @@ name = "check-pause-wasm" version = "0.0.0" edition = "2021" publish = false -authors = [ "you",] +authors = ["you"] [lib] -crate-type = [ "cdylib",] +crate-type = ["cdylib"] [workspace] -members = [".",] +members = ["."] [dev-dependencies] - [profile.release] codegen-units = 1 opt-level = "z" lto = true debug = false panic = "abort" - [dependencies.check-pause] path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/crowdfunding-esdt/Cargo.toml b/contracts/crowdfunding-esdt/Cargo.toml index 6e22b215..1912ca11 100644 --- a/contracts/crowdfunding-esdt/Cargo.toml +++ b/contracts/crowdfunding-esdt/Cargo.toml @@ -8,7 +8,7 @@ publish = false [lib] path = "src/crowdfunding_esdt.rs" [dependencies.multiversx-sc] -version = "0.41.3" +version = "0.43.3" [dev-dependencies] num-bigint = "0.4.2" @@ -16,4 +16,4 @@ num-traits = "0.2" hex = "0.4" [dev-dependencies.multiversx-sc-scenario] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/crowdfunding-esdt/meta/Cargo.toml b/contracts/crowdfunding-esdt/meta/Cargo.toml index 436bbd9f..c772955e 100644 --- a/contracts/crowdfunding-esdt/meta/Cargo.toml +++ b/contracts/crowdfunding-esdt/meta/Cargo.toml @@ -8,4 +8,4 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/crowdfunding-esdt/wasm/Cargo.lock b/contracts/crowdfunding-esdt/wasm/Cargo.lock index 7f8232ec..a1931bd0 100644 --- a/contracts/crowdfunding-esdt/wasm/Cargo.lock +++ b/contracts/crowdfunding-esdt/wasm/Cargo.lock @@ -148,9 +148,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" dependencies = [ "autocfg", ] @@ -163,18 +163,18 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.63" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.28" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" dependencies = [ "proc-macro2", ] @@ -191,9 +191,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" [[package]] name = "syn" @@ -208,9 +208,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.9" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "version_check" diff --git a/contracts/crowdfunding-esdt/wasm/Cargo.toml b/contracts/crowdfunding-esdt/wasm/Cargo.toml index dcf8585f..306b7a74 100644 --- a/contracts/crowdfunding-esdt/wasm/Cargo.toml +++ b/contracts/crowdfunding-esdt/wasm/Cargo.toml @@ -17,7 +17,7 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.41.3" +version = "0.43.3" [workspace] members = ["."] diff --git a/contracts/crypto-bubbles/Cargo.toml b/contracts/crypto-bubbles/Cargo.toml index 5d0b1876..2c9f4347 100644 --- a/contracts/crypto-bubbles/Cargo.toml +++ b/contracts/crypto-bubbles/Cargo.toml @@ -8,6 +8,6 @@ publish = false [lib] path = "src/crypto_bubbles.rs" [dependencies.multiversx-sc] -version = "0.41.3" +version = "0.43.3" [dev-dependencies.multiversx-sc-scenario] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/crypto-bubbles/meta/Cargo.toml b/contracts/crypto-bubbles/meta/Cargo.toml index c87b14dc..d624f901 100644 --- a/contracts/crypto-bubbles/meta/Cargo.toml +++ b/contracts/crypto-bubbles/meta/Cargo.toml @@ -8,4 +8,4 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/crypto-bubbles/wasm/Cargo.lock b/contracts/crypto-bubbles/wasm/Cargo.lock index 6a7c2d52..1401e053 100755 --- a/contracts/crypto-bubbles/wasm/Cargo.lock +++ b/contracts/crypto-bubbles/wasm/Cargo.lock @@ -148,9 +148,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" dependencies = [ "autocfg", ] @@ -163,18 +163,18 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.63" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.28" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" dependencies = [ "proc-macro2", ] @@ -191,9 +191,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" [[package]] name = "syn" @@ -208,9 +208,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.9" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "version_check" diff --git a/contracts/crypto-bubbles/wasm/Cargo.toml b/contracts/crypto-bubbles/wasm/Cargo.toml index 7227fe08..c490a3c1 100644 --- a/contracts/crypto-bubbles/wasm/Cargo.toml +++ b/contracts/crypto-bubbles/wasm/Cargo.toml @@ -17,7 +17,7 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.41.3" +version = "0.43.3" [workspace] members = ["."] diff --git a/contracts/crypto-kitties/common/kitty/Cargo.toml b/contracts/crypto-kitties/common/kitty/Cargo.toml index 473579c1..74f9640b 100644 --- a/contracts/crypto-kitties/common/kitty/Cargo.toml +++ b/contracts/crypto-kitties/common/kitty/Cargo.toml @@ -8,7 +8,7 @@ publish = false [lib] path = "src/lib.rs" [dependencies.multiversx-sc] -version = "0.41.3" +version = "0.43.3" [dependencies.random] version = "0.0.0" diff --git a/contracts/crypto-kitties/common/random/Cargo.toml b/contracts/crypto-kitties/common/random/Cargo.toml index c3df789d..6f35a817 100644 --- a/contracts/crypto-kitties/common/random/Cargo.toml +++ b/contracts/crypto-kitties/common/random/Cargo.toml @@ -7,4 +7,4 @@ edition = "2021" [lib] path = "src/lib.rs" [dependencies.multiversx-sc] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/crypto-kitties/kitty-auction/Cargo.toml b/contracts/crypto-kitties/kitty-auction/Cargo.toml index 6c7aa2e8..98d1e714 100644 --- a/contracts/crypto-kitties/kitty-auction/Cargo.toml +++ b/contracts/crypto-kitties/kitty-auction/Cargo.toml @@ -16,6 +16,6 @@ version = "0.0.0" path = "../kitty-ownership" [dependencies.multiversx-sc] -version = "0.41.3" +version = "0.43.3" [dev-dependencies.multiversx-sc-scenario] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/crypto-kitties/kitty-auction/meta/Cargo.toml b/contracts/crypto-kitties/kitty-auction/meta/Cargo.toml index 3cf4ca45..6fad107a 100644 --- a/contracts/crypto-kitties/kitty-auction/meta/Cargo.toml +++ b/contracts/crypto-kitties/kitty-auction/meta/Cargo.toml @@ -7,4 +7,4 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/crypto-kitties/kitty-auction/wasm/Cargo.lock b/contracts/crypto-kitties/kitty-auction/wasm/Cargo.lock index d333e2db..ae4990ed 100755 --- a/contracts/crypto-kitties/kitty-auction/wasm/Cargo.lock +++ b/contracts/crypto-kitties/kitty-auction/wasm/Cargo.lock @@ -177,9 +177,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" dependencies = [ "autocfg", ] @@ -192,18 +192,18 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.63" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.28" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" dependencies = [ "proc-macro2", ] @@ -227,9 +227,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" [[package]] name = "syn" @@ -244,9 +244,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.9" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "version_check" diff --git a/contracts/crypto-kitties/kitty-auction/wasm/Cargo.toml b/contracts/crypto-kitties/kitty-auction/wasm/Cargo.toml index bc34988e..30c3845a 100644 --- a/contracts/crypto-kitties/kitty-auction/wasm/Cargo.toml +++ b/contracts/crypto-kitties/kitty-auction/wasm/Cargo.toml @@ -19,4 +19,4 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/crypto-kitties/kitty-genetic-alg/Cargo.toml b/contracts/crypto-kitties/kitty-genetic-alg/Cargo.toml index e962f750..a129a301 100644 --- a/contracts/crypto-kitties/kitty-genetic-alg/Cargo.toml +++ b/contracts/crypto-kitties/kitty-genetic-alg/Cargo.toml @@ -16,6 +16,6 @@ version = "0.0.0" path = "../common/random" [dependencies.multiversx-sc] -version = "0.41.3" +version = "0.43.3" [dev-dependencies.multiversx-sc-scenario] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/crypto-kitties/kitty-genetic-alg/meta/Cargo.toml b/contracts/crypto-kitties/kitty-genetic-alg/meta/Cargo.toml index d186890f..7f488c4a 100644 --- a/contracts/crypto-kitties/kitty-genetic-alg/meta/Cargo.toml +++ b/contracts/crypto-kitties/kitty-genetic-alg/meta/Cargo.toml @@ -7,4 +7,4 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/crypto-kitties/kitty-genetic-alg/wasm/Cargo.lock b/contracts/crypto-kitties/kitty-genetic-alg/wasm/Cargo.lock index fcf0f37a..4a2ca27e 100755 --- a/contracts/crypto-kitties/kitty-genetic-alg/wasm/Cargo.lock +++ b/contracts/crypto-kitties/kitty-genetic-alg/wasm/Cargo.lock @@ -158,9 +158,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" dependencies = [ "autocfg", ] @@ -173,18 +173,18 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.63" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.28" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" dependencies = [ "proc-macro2", ] @@ -208,9 +208,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" [[package]] name = "syn" @@ -225,9 +225,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.9" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "version_check" diff --git a/contracts/crypto-kitties/kitty-genetic-alg/wasm/Cargo.toml b/contracts/crypto-kitties/kitty-genetic-alg/wasm/Cargo.toml index c3d106c3..32325242 100644 --- a/contracts/crypto-kitties/kitty-genetic-alg/wasm/Cargo.toml +++ b/contracts/crypto-kitties/kitty-genetic-alg/wasm/Cargo.toml @@ -19,4 +19,4 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/crypto-kitties/kitty-ownership/Cargo.toml b/contracts/crypto-kitties/kitty-ownership/Cargo.toml index cafbde3e..f2826b71 100644 --- a/contracts/crypto-kitties/kitty-ownership/Cargo.toml +++ b/contracts/crypto-kitties/kitty-ownership/Cargo.toml @@ -20,6 +20,6 @@ version = "0.0.0" path = "../kitty-genetic-alg" [dependencies.multiversx-sc] -version = "0.41.3" +version = "0.43.3" [dev-dependencies.multiversx-sc-scenario] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/crypto-kitties/kitty-ownership/meta/Cargo.toml b/contracts/crypto-kitties/kitty-ownership/meta/Cargo.toml index 6f38382e..47dec0f8 100644 --- a/contracts/crypto-kitties/kitty-ownership/meta/Cargo.toml +++ b/contracts/crypto-kitties/kitty-ownership/meta/Cargo.toml @@ -7,4 +7,4 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/crypto-kitties/kitty-ownership/wasm/Cargo.lock b/contracts/crypto-kitties/kitty-ownership/wasm/Cargo.lock index 4a6157b2..965ac7b9 100755 --- a/contracts/crypto-kitties/kitty-ownership/wasm/Cargo.lock +++ b/contracts/crypto-kitties/kitty-ownership/wasm/Cargo.lock @@ -168,9 +168,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" dependencies = [ "autocfg", ] @@ -183,18 +183,18 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.63" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.28" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" dependencies = [ "proc-macro2", ] @@ -218,9 +218,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" [[package]] name = "syn" @@ -235,9 +235,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.9" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "version_check" diff --git a/contracts/crypto-kitties/kitty-ownership/wasm/Cargo.toml b/contracts/crypto-kitties/kitty-ownership/wasm/Cargo.toml index 5e59ec07..fcde0d65 100644 --- a/contracts/crypto-kitties/kitty-ownership/wasm/Cargo.toml +++ b/contracts/crypto-kitties/kitty-ownership/wasm/Cargo.toml @@ -19,4 +19,4 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/crypto-zombies/Cargo.toml b/contracts/crypto-zombies/Cargo.toml index fdf0d4ab..3e33728d 100644 --- a/contracts/crypto-zombies/Cargo.toml +++ b/contracts/crypto-zombies/Cargo.toml @@ -8,6 +8,6 @@ publish = false [lib] path = "src/lib.rs" [dependencies.multiversx-sc] -version = "0.41.3" +version = "0.43.3" [dev-dependencies.multiversx-sc-scenario] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/crypto-zombies/meta/Cargo.toml b/contracts/crypto-zombies/meta/Cargo.toml index 9fd0913a..344425cf 100644 --- a/contracts/crypto-zombies/meta/Cargo.toml +++ b/contracts/crypto-zombies/meta/Cargo.toml @@ -7,4 +7,4 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/crypto-zombies/wasm/Cargo.lock b/contracts/crypto-zombies/wasm/Cargo.lock index 9e04fa1f..b90afcf6 100755 --- a/contracts/crypto-zombies/wasm/Cargo.lock +++ b/contracts/crypto-zombies/wasm/Cargo.lock @@ -148,9 +148,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" dependencies = [ "autocfg", ] @@ -163,18 +163,18 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.63" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.28" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" dependencies = [ "proc-macro2", ] @@ -191,9 +191,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" [[package]] name = "syn" @@ -208,9 +208,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.9" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "version_check" diff --git a/contracts/crypto-zombies/wasm/Cargo.toml b/contracts/crypto-zombies/wasm/Cargo.toml index a258aeb1..01d8a69a 100644 --- a/contracts/crypto-zombies/wasm/Cargo.toml +++ b/contracts/crypto-zombies/wasm/Cargo.toml @@ -17,7 +17,7 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.41.3" +version = "0.43.3" [workspace] members = ["."] diff --git a/contracts/digital-cash/Cargo.toml b/contracts/digital-cash/Cargo.toml index 383bdb0b..ebef8a14 100644 --- a/contracts/digital-cash/Cargo.toml +++ b/contracts/digital-cash/Cargo.toml @@ -8,6 +8,6 @@ publish = false [lib] path = "src/digital_cash.rs" [dependencies.multiversx-sc] -version = "0.41.3" +version = "0.43.3" [dev-dependencies.multiversx-sc-scenario] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/digital-cash/meta/Cargo.toml b/contracts/digital-cash/meta/Cargo.toml index 15cc1bd2..ff13c5e9 100644 --- a/contracts/digital-cash/meta/Cargo.toml +++ b/contracts/digital-cash/meta/Cargo.toml @@ -7,4 +7,4 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/digital-cash/wasm/Cargo.lock b/contracts/digital-cash/wasm/Cargo.lock index 2929b7de..aa5d39c6 100644 --- a/contracts/digital-cash/wasm/Cargo.lock +++ b/contracts/digital-cash/wasm/Cargo.lock @@ -148,9 +148,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" dependencies = [ "autocfg", ] @@ -163,18 +163,18 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.63" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.28" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" dependencies = [ "proc-macro2", ] @@ -191,9 +191,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" [[package]] name = "syn" @@ -208,9 +208,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.9" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "version_check" diff --git a/contracts/digital-cash/wasm/Cargo.toml b/contracts/digital-cash/wasm/Cargo.toml index 3507968c..fc47e723 100644 --- a/contracts/digital-cash/wasm/Cargo.toml +++ b/contracts/digital-cash/wasm/Cargo.toml @@ -22,4 +22,4 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/empty/Cargo.toml b/contracts/empty/Cargo.toml index 50a41590..c3b80dbd 100644 --- a/contracts/empty/Cargo.toml +++ b/contracts/empty/Cargo.toml @@ -8,10 +8,10 @@ publish = false [lib] path = "src/empty.rs" [dependencies.multiversx-sc] -version = "0.41.3" +version = "0.43.3" [dev-dependencies] num-bigint = "0.4.2" [dev-dependencies.multiversx-sc-scenario] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/empty/meta/Cargo.toml b/contracts/empty/meta/Cargo.toml index 77637c4d..f1c0774f 100644 --- a/contracts/empty/meta/Cargo.toml +++ b/contracts/empty/meta/Cargo.toml @@ -7,4 +7,4 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/empty/wasm/Cargo.lock b/contracts/empty/wasm/Cargo.lock index 255858f4..2d7cef59 100755 --- a/contracts/empty/wasm/Cargo.lock +++ b/contracts/empty/wasm/Cargo.lock @@ -148,9 +148,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" dependencies = [ "autocfg", ] @@ -163,18 +163,18 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.63" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.28" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" dependencies = [ "proc-macro2", ] @@ -191,9 +191,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" [[package]] name = "syn" @@ -208,9 +208,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.9" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "version_check" diff --git a/contracts/empty/wasm/Cargo.toml b/contracts/empty/wasm/Cargo.toml index ecba476c..56e8028d 100644 --- a/contracts/empty/wasm/Cargo.toml +++ b/contracts/empty/wasm/Cargo.toml @@ -16,7 +16,7 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.41.3" +version = "0.43.3" [workspace] members = ["."] diff --git a/contracts/esdt-transfer-with-fee/Cargo.toml b/contracts/esdt-transfer-with-fee/Cargo.toml index ec647faf..11709d49 100644 --- a/contracts/esdt-transfer-with-fee/Cargo.toml +++ b/contracts/esdt-transfer-with-fee/Cargo.toml @@ -8,6 +8,6 @@ publish = false [lib] path = "src/esdt_transfer_with_fee.rs" [dependencies.multiversx-sc] -version = "0.41.3" +version = "0.43.3" [dev-dependencies.multiversx-sc-scenario] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/esdt-transfer-with-fee/meta/Cargo.toml b/contracts/esdt-transfer-with-fee/meta/Cargo.toml index 213360f6..1fb46eb4 100644 --- a/contracts/esdt-transfer-with-fee/meta/Cargo.toml +++ b/contracts/esdt-transfer-with-fee/meta/Cargo.toml @@ -7,4 +7,4 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/esdt-transfer-with-fee/wasm/Cargo.lock b/contracts/esdt-transfer-with-fee/wasm/Cargo.lock index 2f6f4529..dcd5e709 100644 --- a/contracts/esdt-transfer-with-fee/wasm/Cargo.lock +++ b/contracts/esdt-transfer-with-fee/wasm/Cargo.lock @@ -148,9 +148,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" dependencies = [ "autocfg", ] @@ -163,18 +163,18 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.63" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.28" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" dependencies = [ "proc-macro2", ] @@ -191,9 +191,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" [[package]] name = "syn" @@ -208,9 +208,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.9" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "version_check" diff --git a/contracts/esdt-transfer-with-fee/wasm/Cargo.toml b/contracts/esdt-transfer-with-fee/wasm/Cargo.toml index c94b9a62..3937f27c 100644 --- a/contracts/esdt-transfer-with-fee/wasm/Cargo.toml +++ b/contracts/esdt-transfer-with-fee/wasm/Cargo.toml @@ -17,7 +17,7 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.41.3" +version = "0.43.3" [workspace] members = ["."] diff --git a/contracts/factorial/Cargo.toml b/contracts/factorial/Cargo.toml index 1c49a35e..38d79570 100644 --- a/contracts/factorial/Cargo.toml +++ b/contracts/factorial/Cargo.toml @@ -8,6 +8,6 @@ publish = false [lib] path = "src/factorial.rs" [dependencies.multiversx-sc] -version = "0.41.3" +version = "0.43.3" [dev-dependencies.multiversx-sc-scenario] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/factorial/meta/Cargo.toml b/contracts/factorial/meta/Cargo.toml index 1d76d23f..156f3f3f 100644 --- a/contracts/factorial/meta/Cargo.toml +++ b/contracts/factorial/meta/Cargo.toml @@ -8,4 +8,4 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/factorial/wasm/Cargo.lock b/contracts/factorial/wasm/Cargo.lock index 09068951..ddc6d8b7 100755 --- a/contracts/factorial/wasm/Cargo.lock +++ b/contracts/factorial/wasm/Cargo.lock @@ -148,9 +148,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" dependencies = [ "autocfg", ] @@ -163,18 +163,18 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.63" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.28" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" dependencies = [ "proc-macro2", ] @@ -191,9 +191,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" [[package]] name = "syn" @@ -208,9 +208,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.9" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "version_check" diff --git a/contracts/factorial/wasm/Cargo.toml b/contracts/factorial/wasm/Cargo.toml index 12cc8e1c..2f432e56 100644 --- a/contracts/factorial/wasm/Cargo.toml +++ b/contracts/factorial/wasm/Cargo.toml @@ -17,7 +17,7 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.41.3" +version = "0.43.3" [workspace] members = ["."] diff --git a/contracts/fractional-nfts/Cargo.toml b/contracts/fractional-nfts/Cargo.toml index 3827bf0d..31859932 100644 --- a/contracts/fractional-nfts/Cargo.toml +++ b/contracts/fractional-nfts/Cargo.toml @@ -8,9 +8,9 @@ publish = false [lib] path = "src/fractional_nfts.rs" [dependencies.multiversx-sc] -version = "0.41.3" +version = "0.43.3" [dependencies.multiversx-sc-modules] -version = "0.41.3" +version = "0.43.3" [dev-dependencies.multiversx-sc-scenario] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/fractional-nfts/meta/Cargo.toml b/contracts/fractional-nfts/meta/Cargo.toml index d237a0db..aa82235b 100644 --- a/contracts/fractional-nfts/meta/Cargo.toml +++ b/contracts/fractional-nfts/meta/Cargo.toml @@ -8,4 +8,4 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/fractional-nfts/wasm/Cargo.lock b/contracts/fractional-nfts/wasm/Cargo.lock index a743605b..904b46a4 100644 --- a/contracts/fractional-nfts/wasm/Cargo.lock +++ b/contracts/fractional-nfts/wasm/Cargo.lock @@ -158,9 +158,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" dependencies = [ "autocfg", ] @@ -173,18 +173,18 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.63" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.28" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" dependencies = [ "proc-macro2", ] @@ -201,9 +201,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" [[package]] name = "syn" @@ -218,9 +218,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.9" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "version_check" diff --git a/contracts/fractional-nfts/wasm/Cargo.toml b/contracts/fractional-nfts/wasm/Cargo.toml index 5a675258..4c4826ef 100644 --- a/contracts/fractional-nfts/wasm/Cargo.toml +++ b/contracts/fractional-nfts/wasm/Cargo.toml @@ -17,7 +17,7 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.41.3" +version = "0.43.3" [workspace] members = ["."] diff --git a/contracts/liquid-locking/Cargo.toml b/contracts/liquid-locking/Cargo.toml index dd6ed007..cce776b0 100644 --- a/contracts/liquid-locking/Cargo.toml +++ b/contracts/liquid-locking/Cargo.toml @@ -12,6 +12,6 @@ path = "src/lib.rs" num-bigint = "0.4.2" [dev-dependencies.multiversx-sc-scenario] -version = "0.41.3" +version = "0.43.3" [dependencies.multiversx-sc] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/liquid-locking/meta/Cargo.toml b/contracts/liquid-locking/meta/Cargo.toml index a8b95e5e..41fe4b6c 100644 --- a/contracts/liquid-locking/meta/Cargo.toml +++ b/contracts/liquid-locking/meta/Cargo.toml @@ -10,4 +10,4 @@ authors = ["you"] path = ".." [dependencies.multiversx-sc-meta] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/liquid-locking/wasm/Cargo.lock b/contracts/liquid-locking/wasm/Cargo.lock index cc0afce1..9f962cfc 100644 --- a/contracts/liquid-locking/wasm/Cargo.lock +++ b/contracts/liquid-locking/wasm/Cargo.lock @@ -148,9 +148,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" dependencies = [ "autocfg", ] @@ -163,18 +163,18 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.63" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.28" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" dependencies = [ "proc-macro2", ] @@ -191,9 +191,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" [[package]] name = "syn" @@ -208,9 +208,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.9" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "version_check" diff --git a/contracts/liquid-locking/wasm/Cargo.toml b/contracts/liquid-locking/wasm/Cargo.toml index 4937bf6b..f945eb93 100644 --- a/contracts/liquid-locking/wasm/Cargo.toml +++ b/contracts/liquid-locking/wasm/Cargo.toml @@ -22,4 +22,4 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/lottery-esdt/Cargo.toml b/contracts/lottery-esdt/Cargo.toml index a8cd78f3..c52ed906 100644 --- a/contracts/lottery-esdt/Cargo.toml +++ b/contracts/lottery-esdt/Cargo.toml @@ -8,6 +8,6 @@ publish = false [lib] path = "src/lottery.rs" [dependencies.multiversx-sc] -version = "0.41.3" +version = "0.43.3" [dev-dependencies.multiversx-sc-scenario] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/lottery-esdt/meta/Cargo.toml b/contracts/lottery-esdt/meta/Cargo.toml index e83595b8..f36be959 100644 --- a/contracts/lottery-esdt/meta/Cargo.toml +++ b/contracts/lottery-esdt/meta/Cargo.toml @@ -8,4 +8,4 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/lottery-esdt/wasm/Cargo.lock b/contracts/lottery-esdt/wasm/Cargo.lock index 7cf492d5..54a988fd 100755 --- a/contracts/lottery-esdt/wasm/Cargo.lock +++ b/contracts/lottery-esdt/wasm/Cargo.lock @@ -148,9 +148,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" dependencies = [ "autocfg", ] @@ -163,18 +163,18 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.63" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.28" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" dependencies = [ "proc-macro2", ] @@ -191,9 +191,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" [[package]] name = "syn" @@ -208,9 +208,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.9" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "version_check" diff --git a/contracts/lottery-esdt/wasm/Cargo.toml b/contracts/lottery-esdt/wasm/Cargo.toml index 918d9d85..b8460162 100644 --- a/contracts/lottery-esdt/wasm/Cargo.toml +++ b/contracts/lottery-esdt/wasm/Cargo.toml @@ -17,7 +17,7 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.41.3" +version = "0.43.3" [workspace] members = ["."] diff --git a/contracts/multisig/Cargo.toml b/contracts/multisig/Cargo.toml index ab092d99..a765fd9a 100644 --- a/contracts/multisig/Cargo.toml +++ b/contracts/multisig/Cargo.toml @@ -8,10 +8,10 @@ publish = false [lib] path = "src/multisig.rs" [dependencies.multiversx-sc] -version = "0.41.3" +version = "0.43.3" [dependencies.multiversx-sc-modules] -version = "0.41.3" +version = "0.43.3" [dev-dependencies] num-bigint = "0.4.2" @@ -19,7 +19,7 @@ num-traits = "0.2" hex = "0.4" [dev-dependencies.multiversx-sc-scenario] -version = "0.41.3" +version = "0.43.3" [dev-dependencies.adder] path = "../adder" diff --git a/contracts/multisig/interact-rs/Cargo.toml b/contracts/multisig/interact-rs/Cargo.toml index d62b538c..f3b2299a 100644 --- a/contracts/multisig/interact-rs/Cargo.toml +++ b/contracts/multisig/interact-rs/Cargo.toml @@ -12,7 +12,7 @@ publish = false path = ".." [dependencies.multiversx-sc-modules] -version = "0.41.3" +version = "0.43.3" [dependencies.multiversx-sc-snippets] version = "0.41.1" diff --git a/contracts/multisig/meta/Cargo.toml b/contracts/multisig/meta/Cargo.toml index 87ccf78d..617bf7cc 100644 --- a/contracts/multisig/meta/Cargo.toml +++ b/contracts/multisig/meta/Cargo.toml @@ -8,4 +8,4 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/multisig/wasm-multisig-full/Cargo.lock b/contracts/multisig/wasm-multisig-full/Cargo.lock index fec1fb52..fcc8fd0c 100644 --- a/contracts/multisig/wasm-multisig-full/Cargo.lock +++ b/contracts/multisig/wasm-multisig-full/Cargo.lock @@ -158,9 +158,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" dependencies = [ "autocfg", ] @@ -173,18 +173,18 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.63" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.28" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" dependencies = [ "proc-macro2", ] @@ -201,9 +201,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" [[package]] name = "syn" @@ -218,9 +218,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.9" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "version_check" diff --git a/contracts/multisig/wasm-multisig-full/Cargo.toml b/contracts/multisig/wasm-multisig-full/Cargo.toml index ea066b40..47e39ec0 100644 --- a/contracts/multisig/wasm-multisig-full/Cargo.toml +++ b/contracts/multisig/wasm-multisig-full/Cargo.toml @@ -17,7 +17,7 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.41.3" +version = "0.43.3" [workspace] members = ["."] diff --git a/contracts/multisig/wasm-multisig-view/Cargo.lock b/contracts/multisig/wasm-multisig-view/Cargo.lock index 4a9a00a0..e35621b1 100644 --- a/contracts/multisig/wasm-multisig-view/Cargo.lock +++ b/contracts/multisig/wasm-multisig-view/Cargo.lock @@ -158,9 +158,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" dependencies = [ "autocfg", ] @@ -173,18 +173,18 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.63" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.28" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" dependencies = [ "proc-macro2", ] @@ -201,9 +201,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" [[package]] name = "syn" @@ -218,9 +218,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.9" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "version_check" diff --git a/contracts/multisig/wasm-multisig-view/Cargo.toml b/contracts/multisig/wasm-multisig-view/Cargo.toml index 01ed848b..99b0f307 100644 --- a/contracts/multisig/wasm-multisig-view/Cargo.toml +++ b/contracts/multisig/wasm-multisig-view/Cargo.toml @@ -17,7 +17,7 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.41.3" +version = "0.43.3" [workspace] members = ["."] diff --git a/contracts/multisig/wasm/Cargo.lock b/contracts/multisig/wasm/Cargo.lock index 19dc246b..8af00a24 100755 --- a/contracts/multisig/wasm/Cargo.lock +++ b/contracts/multisig/wasm/Cargo.lock @@ -158,9 +158,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" dependencies = [ "autocfg", ] @@ -173,18 +173,18 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.63" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.28" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" dependencies = [ "proc-macro2", ] @@ -201,9 +201,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" [[package]] name = "syn" @@ -218,9 +218,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.9" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "version_check" diff --git a/contracts/multisig/wasm/Cargo.toml b/contracts/multisig/wasm/Cargo.toml index 2a15e228..cb5cf19f 100644 --- a/contracts/multisig/wasm/Cargo.toml +++ b/contracts/multisig/wasm/Cargo.toml @@ -17,7 +17,7 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.41.3" +version = "0.43.3" [workspace] members = ["."] diff --git a/contracts/mystery-box/Cargo.toml b/contracts/mystery-box/Cargo.toml index af6c37ee..7a86cb27 100644 --- a/contracts/mystery-box/Cargo.toml +++ b/contracts/mystery-box/Cargo.toml @@ -8,9 +8,9 @@ publish = false [lib] path = "src/lib.rs" [dependencies.multiversx-sc] -version = "0.41.3" +version = "0.43.3" [dependencies.multiversx-sc-modules] -version = "0.41.3" +version = "0.43.3" [dev-dependencies.multiversx-sc-scenario] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/mystery-box/meta/Cargo.toml b/contracts/mystery-box/meta/Cargo.toml index 7caacafc..d8e1e101 100644 --- a/contracts/mystery-box/meta/Cargo.toml +++ b/contracts/mystery-box/meta/Cargo.toml @@ -7,4 +7,4 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/mystery-box/wasm/Cargo.lock b/contracts/mystery-box/wasm/Cargo.lock index 76050fd7..e7e78657 100644 --- a/contracts/mystery-box/wasm/Cargo.lock +++ b/contracts/mystery-box/wasm/Cargo.lock @@ -158,9 +158,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" dependencies = [ "autocfg", ] @@ -173,18 +173,18 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.63" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.28" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" dependencies = [ "proc-macro2", ] @@ -201,9 +201,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" [[package]] name = "syn" @@ -218,9 +218,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.9" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "version_check" diff --git a/contracts/mystery-box/wasm/Cargo.toml b/contracts/mystery-box/wasm/Cargo.toml index 85b2a21c..c5c7cb65 100644 --- a/contracts/mystery-box/wasm/Cargo.toml +++ b/contracts/mystery-box/wasm/Cargo.toml @@ -19,4 +19,4 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/nft-minter/Cargo.toml b/contracts/nft-minter/Cargo.toml index 71ca6a51..4cc898f8 100644 --- a/contracts/nft-minter/Cargo.toml +++ b/contracts/nft-minter/Cargo.toml @@ -8,6 +8,6 @@ publish = false [lib] path = "src/lib.rs" [dependencies.multiversx-sc] -version = "0.41.3" +version = "0.43.3" [dev-dependencies.multiversx-sc-scenario] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/nft-minter/meta/Cargo.toml b/contracts/nft-minter/meta/Cargo.toml index 283de01d..ed1097f1 100644 --- a/contracts/nft-minter/meta/Cargo.toml +++ b/contracts/nft-minter/meta/Cargo.toml @@ -8,4 +8,4 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/nft-minter/wasm/Cargo.lock b/contracts/nft-minter/wasm/Cargo.lock index 7ee6bf33..ad00b141 100644 --- a/contracts/nft-minter/wasm/Cargo.lock +++ b/contracts/nft-minter/wasm/Cargo.lock @@ -148,9 +148,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" dependencies = [ "autocfg", ] @@ -163,18 +163,18 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.63" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.28" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" dependencies = [ "proc-macro2", ] @@ -191,9 +191,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" [[package]] name = "syn" @@ -208,9 +208,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.9" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "version_check" diff --git a/contracts/nft-minter/wasm/Cargo.toml b/contracts/nft-minter/wasm/Cargo.toml index 5f2d00b1..0e53a516 100644 --- a/contracts/nft-minter/wasm/Cargo.toml +++ b/contracts/nft-minter/wasm/Cargo.toml @@ -17,7 +17,7 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.41.3" +version = "0.43.3" [workspace] members = ["."] diff --git a/contracts/nft-storage-prepay/Cargo.toml b/contracts/nft-storage-prepay/Cargo.toml index 6cadba43..4b4024ae 100644 --- a/contracts/nft-storage-prepay/Cargo.toml +++ b/contracts/nft-storage-prepay/Cargo.toml @@ -8,6 +8,6 @@ publish = false [lib] path = "src/nft_storage_prepay.rs" [dependencies.multiversx-sc] -version = "0.41.3" +version = "0.43.3" [dev-dependencies.multiversx-sc-scenario] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/nft-storage-prepay/meta/Cargo.toml b/contracts/nft-storage-prepay/meta/Cargo.toml index 820d73f0..99e53f34 100644 --- a/contracts/nft-storage-prepay/meta/Cargo.toml +++ b/contracts/nft-storage-prepay/meta/Cargo.toml @@ -10,4 +10,4 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/nft-storage-prepay/wasm/Cargo.lock b/contracts/nft-storage-prepay/wasm/Cargo.lock index 11b58b24..329f1952 100755 --- a/contracts/nft-storage-prepay/wasm/Cargo.lock +++ b/contracts/nft-storage-prepay/wasm/Cargo.lock @@ -148,9 +148,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" dependencies = [ "autocfg", ] @@ -163,18 +163,18 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.63" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.28" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" dependencies = [ "proc-macro2", ] @@ -191,9 +191,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" [[package]] name = "syn" @@ -208,9 +208,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.9" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "version_check" diff --git a/contracts/nft-storage-prepay/wasm/Cargo.toml b/contracts/nft-storage-prepay/wasm/Cargo.toml index 76b8390d..80bf1bdc 100644 --- a/contracts/nft-storage-prepay/wasm/Cargo.toml +++ b/contracts/nft-storage-prepay/wasm/Cargo.toml @@ -22,4 +22,4 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/order-book/.gitignore b/contracts/order-book/.gitignore index 78401669..0a5dc603 100644 --- a/contracts/order-book/.gitignore +++ b/contracts/order-book/.gitignore @@ -1,4 +1,4 @@ -# Elrond IDE +# IDE **/node_modules **/output/** **/testnet/** diff --git a/contracts/order-book/factory/Cargo.toml b/contracts/order-book/factory/Cargo.toml index 182a5661..a016b5f4 100644 --- a/contracts/order-book/factory/Cargo.toml +++ b/contracts/order-book/factory/Cargo.toml @@ -6,7 +6,12 @@ publish = false [lib] path = "src/lib.rs" + [dependencies.multiversx-sc] -version = "0.41.3" +version = "0.43.3" +path = "../../../../framework/base" + [dev-dependencies.multiversx-sc-scenario] -version = "0.41.3" +version = "0.43.3" +path = "../../../../framework/scenario" + diff --git a/contracts/order-book/factory/meta/Cargo.toml b/contracts/order-book/factory/meta/Cargo.toml index 604d8644..24f3679e 100644 --- a/contracts/order-book/factory/meta/Cargo.toml +++ b/contracts/order-book/factory/meta/Cargo.toml @@ -4,8 +4,10 @@ version = "0.0.0" authors = ["you"] edition = "2021" publish = false + [dependencies.order-book-factory] path = ".." [dependencies.multiversx-sc-meta] -version = "0.41.3" +version = "0.43.3" +path = "../../../../../framework/meta" diff --git a/contracts/order-book/factory/wasm/Cargo.lock b/contracts/order-book/factory/wasm/Cargo.lock index ddc2d1fb..83802a97 100644 --- a/contracts/order-book/factory/wasm/Cargo.lock +++ b/contracts/order-book/factory/wasm/Cargo.lock @@ -66,9 +66,7 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfbe80ec68fedf299dd65469f8999cf3c0f884ffa497122428f08303bcb8b884" +version = "0.43.3" dependencies = [ "bitflags", "hashbrown", @@ -80,9 +78,7 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d70ea458247d263b7e9fdfb207530b6a530546247139c162450e515c013a18" +version = "0.18.1" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -90,9 +86,7 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ad6920f80fda67fc60fd51aaa9f83ec7e069470f60a068c81205f9da5d05a30" +version = "0.18.1" dependencies = [ "hex", "proc-macro2", @@ -102,9 +96,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c2b87d817f2176bf1830bef938884f24267516c334a377e71a96bc18ebb09c1" +version = "0.43.3" dependencies = [ "hex", "proc-macro2", @@ -115,9 +107,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "932327626de71eeb1dbe86b863cc70cc532f8ceba8e73a059410f6aa56b22a77" +version = "0.43.3" dependencies = [ "multiversx-sc", ] @@ -133,9 +123,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" dependencies = [ "autocfg", ] @@ -163,18 +153,18 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.63" +version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb" +checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.28" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" dependencies = [ "proc-macro2", ] @@ -191,9 +181,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" [[package]] name = "syn" @@ -208,9 +198,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.9" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0" +checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" [[package]] name = "version_check" diff --git a/contracts/order-book/factory/wasm/Cargo.toml b/contracts/order-book/factory/wasm/Cargo.toml index c14e4ca4..4db2963a 100644 --- a/contracts/order-book/factory/wasm/Cargo.toml +++ b/contracts/order-book/factory/wasm/Cargo.toml @@ -5,20 +5,23 @@ edition = "2021" publish = false [lib] -crate-type = ["cdylib"] +crate-type = [ "cdylib",] [workspace] -members = ["."] +members = [ ".",] [dev-dependencies] + [profile.release] codegen-units = 1 opt-level = "z" lto = true debug = false panic = "abort" + [dependencies.order-book-factory] path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.41.3" +version = "0.43.3" +path = "../../../../../framework/wasm-adapter" diff --git a/contracts/order-book/factory/wasm/src/lib.rs b/contracts/order-book/factory/wasm/src/lib.rs index 44831761..b4a18ef5 100644 --- a/contracts/order-book/factory/wasm/src/lib.rs +++ b/contracts/order-book/factory/wasm/src/lib.rs @@ -10,6 +10,7 @@ // Total number of exported functions: 4 #![no_std] +#![allow(internal_features)] #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); @@ -18,9 +19,10 @@ multiversx_sc_wasm_adapter::panic_handler!(); multiversx_sc_wasm_adapter::endpoints! { order_book_factory ( - createPair - getPair + init => init + createPair => create_pair + getPair => get_pair ) } -multiversx_sc_wasm_adapter::empty_callback! {} +multiversx_sc_wasm_adapter::async_callback_empty! {} diff --git a/contracts/order-book/pair/Cargo.toml b/contracts/order-book/pair/Cargo.toml index e57a0312..eb51594d 100644 --- a/contracts/order-book/pair/Cargo.toml +++ b/contracts/order-book/pair/Cargo.toml @@ -6,7 +6,11 @@ publish = false [lib] path = "src/lib.rs" + [dependencies.multiversx-sc] -version = "0.41.3" +version = "0.43.3" +path = "../../../../framework/base" + [dev-dependencies.multiversx-sc-scenario] -version = "0.41.3" +version = "0.43.3" +path = "../../../../framework/scenario" diff --git a/contracts/order-book/pair/meta/Cargo.toml b/contracts/order-book/pair/meta/Cargo.toml index 88c37734..1f2e6031 100644 --- a/contracts/order-book/pair/meta/Cargo.toml +++ b/contracts/order-book/pair/meta/Cargo.toml @@ -4,8 +4,9 @@ version = "0.0.0" authors = ["you"] edition = "2021" publish = false + [dependencies.order-book-pair] path = ".." [dependencies.multiversx-sc-meta] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/order-book/pair/tests/pair_scenario_go_test.rs b/contracts/order-book/pair/tests/pair_scenario_go_test.rs index 2d3679c0..0b9de5a8 100644 --- a/contracts/order-book/pair/tests/pair_scenario_go_test.rs +++ b/contracts/order-book/pair/tests/pair_scenario_go_test.rs @@ -1,29 +1,35 @@ +use multiversx_sc_scenario::*; + +fn world() -> ScenarioWorld { + ScenarioWorld::vm_go() +} + #[test] fn cancel_all_orders_go() { - multiversx_sc_scenario::run_go("scenarios/cancel_all_orders.scen.json"); + world().run("scenarios/cancel_all_orders.scen.json"); } #[test] fn cancel_orders_go() { - multiversx_sc_scenario::run_go("scenarios/cancel_orders.scen.json"); + world().run("scenarios/cancel_orders.scen.json"); } #[test] fn create_buy_order_check_go() { - multiversx_sc_scenario::run_go("scenarios/create_buy_order_check.scen.json"); + world().run("scenarios/create_buy_order_check.scen.json"); } #[test] fn create_sell_order_check_go() { - multiversx_sc_scenario::run_go("scenarios/create_sell_order_check.scen.json"); + world().run("scenarios/create_sell_order_check.scen.json"); } #[test] fn free_orders_go() { - multiversx_sc_scenario::run_go("scenarios/free_orders.scen.json"); + world().run("scenarios/free_orders.scen.json"); } #[test] fn match_orders_go() { - multiversx_sc_scenario::run_go("scenarios/match_orders.scen.json"); + world().run("scenarios/match_orders.scen.json"); } diff --git a/contracts/order-book/pair/tests/pair_scenario_rs_test.rs b/contracts/order-book/pair/tests/pair_scenario_rs_test.rs index 786ed980..a9dc1229 100644 --- a/contracts/order-book/pair/tests/pair_scenario_rs_test.rs +++ b/contracts/order-book/pair/tests/pair_scenario_rs_test.rs @@ -2,7 +2,7 @@ use multiversx_sc_scenario::*; fn world() -> ScenarioWorld { let mut blockchain = ScenarioWorld::new(); - blockchain.set_current_dir_from_workspace("contracts/order-book/pair"); + blockchain.set_current_dir_from_workspace("contracts/examples/order-book/pair"); blockchain.register_contract( "file:output/order-book-pair.wasm", @@ -13,30 +13,30 @@ fn world() -> ScenarioWorld { #[test] fn cancel_all_orders_rs() { - multiversx_sc_scenario::run_rs("scenarios/cancel_all_orders.scen.json", world()); + world().run("scenarios/cancel_all_orders.scen.json"); } #[test] fn cancel_orders_rs() { - multiversx_sc_scenario::run_rs("scenarios/cancel_orders.scen.json", world()); + world().run("scenarios/cancel_orders.scen.json"); } #[test] fn create_buy_order_check_rs() { - multiversx_sc_scenario::run_rs("scenarios/create_buy_order_check.scen.json", world()); + world().run("scenarios/create_buy_order_check.scen.json"); } #[test] fn create_sell_order_check_rs() { - multiversx_sc_scenario::run_rs("scenarios/create_sell_order_check.scen.json", world()); + world().run("scenarios/create_sell_order_check.scen.json"); } #[test] fn free_orders_rs() { - multiversx_sc_scenario::run_rs("scenarios/free_orders.scen.json", world()); + world().run("scenarios/free_orders.scen.json"); } #[test] fn match_orders_rs() { - multiversx_sc_scenario::run_rs("scenarios/match_orders.scen.json", world()); + world().run("scenarios/match_orders.scen.json"); } diff --git a/contracts/order-book/pair/wasm/Cargo.lock b/contracts/order-book/pair/wasm/Cargo.lock index 19752a2f..c8f9338f 100644 --- a/contracts/order-book/pair/wasm/Cargo.lock +++ b/contracts/order-book/pair/wasm/Cargo.lock @@ -66,9 +66,7 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfbe80ec68fedf299dd65469f8999cf3c0f884ffa497122428f08303bcb8b884" +version = "0.43.3" dependencies = [ "bitflags", "hashbrown", @@ -80,9 +78,7 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d70ea458247d263b7e9fdfb207530b6a530546247139c162450e515c013a18" +version = "0.18.1" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -90,9 +86,7 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ad6920f80fda67fc60fd51aaa9f83ec7e069470f60a068c81205f9da5d05a30" +version = "0.18.1" dependencies = [ "hex", "proc-macro2", @@ -102,9 +96,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c2b87d817f2176bf1830bef938884f24267516c334a377e71a96bc18ebb09c1" +version = "0.43.3" dependencies = [ "hex", "proc-macro2", @@ -115,9 +107,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "932327626de71eeb1dbe86b863cc70cc532f8ceba8e73a059410f6aa56b22a77" +version = "0.43.3" dependencies = [ "multiversx-sc", ] @@ -133,9 +123,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" dependencies = [ "autocfg", ] @@ -163,18 +153,18 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.63" +version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb" +checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.28" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" dependencies = [ "proc-macro2", ] @@ -191,9 +181,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" [[package]] name = "syn" @@ -208,9 +198,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.9" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0" +checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" [[package]] name = "version_check" diff --git a/contracts/order-book/pair/wasm/Cargo.toml b/contracts/order-book/pair/wasm/Cargo.toml index a6b1b18f..db1025b5 100644 --- a/contracts/order-book/pair/wasm/Cargo.toml +++ b/contracts/order-book/pair/wasm/Cargo.toml @@ -5,20 +5,23 @@ edition = "2021" publish = false [lib] -crate-type = ["cdylib"] +crate-type = [ "cdylib",] [workspace] -members = ["."] +members = [ ".",] [dev-dependencies] + [profile.release] codegen-units = 1 opt-level = "z" lto = true debug = false panic = "abort" + [dependencies.order-book-pair] path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.41.3" +version = "0.43.3" +path = "../../../../../framework/wasm-adapter" diff --git a/contracts/order-book/pair/wasm/src/lib.rs b/contracts/order-book/pair/wasm/src/lib.rs index 4e4517ec..c9a40d7f 100644 --- a/contracts/order-book/pair/wasm/src/lib.rs +++ b/contracts/order-book/pair/wasm/src/lib.rs @@ -10,6 +10,7 @@ // Total number of exported functions: 15 #![no_std] +#![allow(internal_features)] #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); @@ -18,20 +19,21 @@ multiversx_sc_wasm_adapter::panic_handler!(); multiversx_sc_wasm_adapter::endpoints! { order_book_pair ( - createBuyOrder - createSellOrder - matchOrders - cancelOrders - cancelAllOrders - freeOrders - startGlobalOperation - stopGlobalOperation - getAddressOrderIds - getOrderIdCounter - getOrderById - getFirstTokenId - getSecondTokenId + init => init + createBuyOrder => create_buy_order_endpoint + createSellOrder => create_sell_order_endpoint + matchOrders => match_orders_endpoint + cancelOrders => cancel_orders_endpoint + cancelAllOrders => cancel_all_orders_endpoint + freeOrders => free_orders_endpoint + startGlobalOperation => global_op_start + stopGlobalOperation => global_op_stop + getAddressOrderIds => get_address_order_ids + getOrderIdCounter => order_id_counter + getOrderById => orders + getFirstTokenId => first_token_id + getSecondTokenId => second_token_id ) } -multiversx_sc_wasm_adapter::empty_callback! {} +multiversx_sc_wasm_adapter::async_callback_empty! {} diff --git a/contracts/ping-pong-egld/Cargo.toml b/contracts/ping-pong-egld/Cargo.toml index 79586c54..cfeab160 100644 --- a/contracts/ping-pong-egld/Cargo.toml +++ b/contracts/ping-pong-egld/Cargo.toml @@ -8,6 +8,6 @@ publish = false [lib] path = "src/ping_pong.rs" [dependencies.multiversx-sc] -version = "0.41.3" +version = "0.43.3" [dev-dependencies.multiversx-sc-scenario] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/ping-pong-egld/meta/Cargo.toml b/contracts/ping-pong-egld/meta/Cargo.toml index 2612b697..379430e7 100644 --- a/contracts/ping-pong-egld/meta/Cargo.toml +++ b/contracts/ping-pong-egld/meta/Cargo.toml @@ -8,4 +8,4 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/ping-pong-egld/wasm/Cargo.lock b/contracts/ping-pong-egld/wasm/Cargo.lock index 3a9c2a76..1dea48f2 100755 --- a/contracts/ping-pong-egld/wasm/Cargo.lock +++ b/contracts/ping-pong-egld/wasm/Cargo.lock @@ -133,9 +133,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" dependencies = [ "autocfg", ] @@ -163,18 +163,18 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.63" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.28" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" dependencies = [ "proc-macro2", ] @@ -191,9 +191,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" [[package]] name = "syn" @@ -208,9 +208,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.9" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "version_check" diff --git a/contracts/ping-pong-egld/wasm/Cargo.toml b/contracts/ping-pong-egld/wasm/Cargo.toml index cdaec751..c9452a73 100644 --- a/contracts/ping-pong-egld/wasm/Cargo.toml +++ b/contracts/ping-pong-egld/wasm/Cargo.toml @@ -19,4 +19,4 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/price-aggregator/Cargo.toml b/contracts/price-aggregator/Cargo.toml index 21830225..f3d99d84 100644 --- a/contracts/price-aggregator/Cargo.toml +++ b/contracts/price-aggregator/Cargo.toml @@ -15,13 +15,13 @@ edition = "2021" [lib] path = "src/lib.rs" [dependencies.multiversx-sc] -version = "0.41.3" +version = "0.43.3" [dependencies.multiversx-sc-modules] -version = "0.41.3" +version = "0.43.3" [dependencies.arrayvec] version = "0.7.1" default-features = false [dev-dependencies.multiversx-sc-scenario] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/price-aggregator/meta/Cargo.toml b/contracts/price-aggregator/meta/Cargo.toml index 269d7821..58242a1f 100644 --- a/contracts/price-aggregator/meta/Cargo.toml +++ b/contracts/price-aggregator/meta/Cargo.toml @@ -7,7 +7,7 @@ publish = false path = ".." [dependencies.multiversx-sc] -version = "0.41.3" +version = "0.43.3" [dependencies.multiversx-sc-meta] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/price-aggregator/wasm/Cargo.lock b/contracts/price-aggregator/wasm/Cargo.lock index 668534ea..d058eba9 100644 --- a/contracts/price-aggregator/wasm/Cargo.lock +++ b/contracts/price-aggregator/wasm/Cargo.lock @@ -159,9 +159,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" dependencies = [ "autocfg", ] @@ -174,18 +174,18 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.63" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.28" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" dependencies = [ "proc-macro2", ] @@ -202,9 +202,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" [[package]] name = "syn" @@ -219,9 +219,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.9" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "version_check" diff --git a/contracts/price-aggregator/wasm/Cargo.toml b/contracts/price-aggregator/wasm/Cargo.toml index 8a2e805f..14c485e6 100644 --- a/contracts/price-aggregator/wasm/Cargo.toml +++ b/contracts/price-aggregator/wasm/Cargo.toml @@ -17,7 +17,7 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.41.3" +version = "0.43.3" [workspace] members = ["."] diff --git a/contracts/proxy-pause/Cargo.toml b/contracts/proxy-pause/Cargo.toml index ec121de8..e7a3878f 100644 --- a/contracts/proxy-pause/Cargo.toml +++ b/contracts/proxy-pause/Cargo.toml @@ -9,10 +9,12 @@ publish = false path = "src/proxy_pause.rs" [dependencies.multiversx-sc] -version = "0.41.3" +version = "0.43.3" +path = "../../../framework/base" [dev-dependencies.multiversx-sc-scenario] -version = "0.41.3" +version = "0.43.3" +path = "../../../framework/scenario" [dev-dependencies.check-pause] path = "../check-pause" diff --git a/contracts/proxy-pause/meta/Cargo.toml b/contracts/proxy-pause/meta/Cargo.toml index f674521e..151fe877 100644 --- a/contracts/proxy-pause/meta/Cargo.toml +++ b/contracts/proxy-pause/meta/Cargo.toml @@ -11,4 +11,5 @@ authors = [ "you",] path = ".." [dependencies.multiversx-sc-meta] -version = "0.41.3" +version = "0.43.3" +path = "../../../../framework/meta" diff --git a/contracts/proxy-pause/tests/proxy_pause_scenario_go_test.rs b/contracts/proxy-pause/tests/proxy_pause_scenario_go_test.rs index 915d5d50..43f65c5e 100644 --- a/contracts/proxy-pause/tests/proxy_pause_scenario_go_test.rs +++ b/contracts/proxy-pause/tests/proxy_pause_scenario_go_test.rs @@ -1,9 +1,15 @@ +use multiversx_sc_scenario::*; + +fn world() -> ScenarioWorld { + ScenarioWorld::vm_go() +} + #[test] fn init_go() { - multiversx_sc_scenario::run_go("scenarios/init.scen.json"); + world().run("scenarios/init.scen.json"); } #[test] fn pause_and_unpause_go() { - multiversx_sc_scenario::run_go("scenarios/pause-and-unpause.scen.json"); + world().run("scenarios/pause-and-unpause.scen.json"); } diff --git a/contracts/proxy-pause/tests/proxy_pause_scenario_rs_test.rs b/contracts/proxy-pause/tests/proxy_pause_scenario_rs_test.rs index 3b7a706d..63d81f0f 100644 --- a/contracts/proxy-pause/tests/proxy_pause_scenario_rs_test.rs +++ b/contracts/proxy-pause/tests/proxy_pause_scenario_rs_test.rs @@ -2,7 +2,7 @@ use multiversx_sc_scenario::*; fn world() -> ScenarioWorld { let mut blockchain = ScenarioWorld::new(); - blockchain.set_current_dir_from_workspace("contracts/proxy-pause"); + blockchain.set_current_dir_from_workspace("contracts/examples/proxy-pause"); blockchain.register_contract("file:output/proxy-pause.wasm", proxy_pause::ContractBuilder); @@ -15,10 +15,10 @@ fn world() -> ScenarioWorld { #[test] fn init_rs() { - multiversx_sc_scenario::run_rs("scenarios/init.scen.json", world()); + world().run("scenarios/init.scen.json"); } #[test] fn pause_and_unpause_rs() { - multiversx_sc_scenario::run_rs("scenarios/pause-and-unpause.scen.json", world()); + world().run("scenarios/pause-and-unpause.scen.json"); } diff --git a/contracts/proxy-pause/wasm/Cargo.lock b/contracts/proxy-pause/wasm/Cargo.lock index 68e547e2..029d855a 100644 --- a/contracts/proxy-pause/wasm/Cargo.lock +++ b/contracts/proxy-pause/wasm/Cargo.lock @@ -66,9 +66,7 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfbe80ec68fedf299dd65469f8999cf3c0f884ffa497122428f08303bcb8b884" +version = "0.43.3" dependencies = [ "bitflags", "hashbrown", @@ -80,9 +78,7 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d70ea458247d263b7e9fdfb207530b6a530546247139c162450e515c013a18" +version = "0.18.1" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -90,9 +86,7 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ad6920f80fda67fc60fd51aaa9f83ec7e069470f60a068c81205f9da5d05a30" +version = "0.18.1" dependencies = [ "hex", "proc-macro2", @@ -102,9 +96,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c2b87d817f2176bf1830bef938884f24267516c334a377e71a96bc18ebb09c1" +version = "0.43.3" dependencies = [ "hex", "proc-macro2", @@ -115,9 +107,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "932327626de71eeb1dbe86b863cc70cc532f8ceba8e73a059410f6aa56b22a77" +version = "0.43.3" dependencies = [ "multiversx-sc", ] @@ -133,9 +123,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" dependencies = [ "autocfg", ] @@ -148,9 +138,9 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.63" +version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb" +checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" dependencies = [ "unicode-ident", ] @@ -172,9 +162,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.28" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" dependencies = [ "proc-macro2", ] @@ -191,9 +181,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" [[package]] name = "syn" @@ -208,9 +198,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.9" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0" +checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" [[package]] name = "version_check" diff --git a/contracts/proxy-pause/wasm/Cargo.toml b/contracts/proxy-pause/wasm/Cargo.toml index c9578c63..897b9966 100644 --- a/contracts/proxy-pause/wasm/Cargo.toml +++ b/contracts/proxy-pause/wasm/Cargo.toml @@ -1,15 +1,15 @@ [package] name = "proxy-pause-wasm" version = "0.0.0" -authors = [ "you",] +authors = ["you"] edition = "2021" publish = false [lib] -crate-type = [ "cdylib",] +crate-type = ["cdylib"] [workspace] -members = [ ".",] +members = ["."] [dev-dependencies] @@ -24,4 +24,4 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/proxy-pause/wasm/src/lib.rs b/contracts/proxy-pause/wasm/src/lib.rs index a2d9ba09..063b3f18 100644 --- a/contracts/proxy-pause/wasm/src/lib.rs +++ b/contracts/proxy-pause/wasm/src/lib.rs @@ -10,6 +10,7 @@ // Total number of exported functions: 10 #![no_std] +#![allow(internal_features)] #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); @@ -18,15 +19,16 @@ multiversx_sc_wasm_adapter::panic_handler!(); multiversx_sc_wasm_adapter::endpoints! { proxy_pause ( - addContracts - removeContracts - addOwners - removeOwners - pause - unpause - owners - contracts + init => init + addContracts => add_contracts + removeContracts => remove_contracts + addOwners => add_owners + removeOwners => remove_owners + pause => pause + unpause => unpause + owners => owners + contracts => contracts ) } -multiversx_sc_wasm_adapter::empty_callback! {} +multiversx_sc_wasm_adapter::async_callback_empty! {} diff --git a/contracts/rewards-distribution/Cargo.toml b/contracts/rewards-distribution/Cargo.toml index bd53c217..70003439 100644 --- a/contracts/rewards-distribution/Cargo.toml +++ b/contracts/rewards-distribution/Cargo.toml @@ -8,9 +8,9 @@ publish = false [lib] path = "src/rewards_distribution.rs" [dependencies.multiversx-sc] -version = "0.41.3" +version = "0.43.3" [dependencies.multiversx-sc-modules] -version = "0.41.3" +version = "0.43.3" [dev-dependencies.multiversx-sc-scenario] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/rewards-distribution/meta/Cargo.toml b/contracts/rewards-distribution/meta/Cargo.toml index 5e6ee06d..62e94319 100644 --- a/contracts/rewards-distribution/meta/Cargo.toml +++ b/contracts/rewards-distribution/meta/Cargo.toml @@ -10,4 +10,4 @@ authors = ["Claudiu-Marcel Bruda "] path = ".." [dependencies.multiversx-sc-meta] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/rewards-distribution/wasm/Cargo.lock b/contracts/rewards-distribution/wasm/Cargo.lock index 75c5fd7e..782742ed 100644 --- a/contracts/rewards-distribution/wasm/Cargo.lock +++ b/contracts/rewards-distribution/wasm/Cargo.lock @@ -142,9 +142,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" dependencies = [ "autocfg", ] @@ -157,18 +157,18 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.63" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.28" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" dependencies = [ "proc-macro2", ] @@ -201,9 +201,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" [[package]] name = "syn" @@ -218,9 +218,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.9" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "version_check" diff --git a/contracts/rewards-distribution/wasm/Cargo.toml b/contracts/rewards-distribution/wasm/Cargo.toml index 7185503a..0f8ec32e 100644 --- a/contracts/rewards-distribution/wasm/Cargo.toml +++ b/contracts/rewards-distribution/wasm/Cargo.toml @@ -22,4 +22,4 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/seed-nft-minter/Cargo.toml b/contracts/seed-nft-minter/Cargo.toml index 1fa9ab40..b5246922 100644 --- a/contracts/seed-nft-minter/Cargo.toml +++ b/contracts/seed-nft-minter/Cargo.toml @@ -8,9 +8,9 @@ publish = false [lib] path = "src/seed_nft_minter.rs" [dependencies.multiversx-sc] -version = "0.41.3" +version = "0.43.3" [dependencies.multiversx-sc-modules] -version = "0.41.3" +version = "0.43.3" [dev-dependencies.multiversx-sc-scenario] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/seed-nft-minter/meta/Cargo.toml b/contracts/seed-nft-minter/meta/Cargo.toml index e033cdae..44121bf1 100644 --- a/contracts/seed-nft-minter/meta/Cargo.toml +++ b/contracts/seed-nft-minter/meta/Cargo.toml @@ -10,4 +10,4 @@ authors = ["Claudiu-Marcel Bruda "] path = ".." [dependencies.multiversx-sc-meta] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/seed-nft-minter/wasm/Cargo.lock b/contracts/seed-nft-minter/wasm/Cargo.lock index e42299fc..02865a82 100644 --- a/contracts/seed-nft-minter/wasm/Cargo.lock +++ b/contracts/seed-nft-minter/wasm/Cargo.lock @@ -142,9 +142,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" dependencies = [ "autocfg", ] @@ -157,18 +157,18 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.63" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.28" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" dependencies = [ "proc-macro2", ] @@ -201,9 +201,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" [[package]] name = "syn" @@ -218,9 +218,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.9" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "version_check" diff --git a/contracts/seed-nft-minter/wasm/Cargo.toml b/contracts/seed-nft-minter/wasm/Cargo.toml index e0acf8f6..b8fd017d 100644 --- a/contracts/seed-nft-minter/wasm/Cargo.toml +++ b/contracts/seed-nft-minter/wasm/Cargo.toml @@ -22,4 +22,4 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/token-release/Cargo.toml b/contracts/token-release/Cargo.toml index 24a2d01f..497f5370 100644 --- a/contracts/token-release/Cargo.toml +++ b/contracts/token-release/Cargo.toml @@ -8,6 +8,6 @@ publish = false [lib] path = "src/token_release.rs" [dependencies.multiversx-sc] -version = "0.41.3" +version = "0.43.3" [dev-dependencies.multiversx-sc-scenario] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/token-release/meta/Cargo.toml b/contracts/token-release/meta/Cargo.toml index 58c350b2..60fbd012 100644 --- a/contracts/token-release/meta/Cargo.toml +++ b/contracts/token-release/meta/Cargo.toml @@ -9,4 +9,4 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/token-release/wasm/Cargo.lock b/contracts/token-release/wasm/Cargo.lock index 504e6a16..b36475be 100644 --- a/contracts/token-release/wasm/Cargo.lock +++ b/contracts/token-release/wasm/Cargo.lock @@ -133,9 +133,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" dependencies = [ "autocfg", ] @@ -148,18 +148,18 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.63" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.28" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" dependencies = [ "proc-macro2", ] @@ -176,9 +176,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" [[package]] name = "syn" @@ -208,9 +208,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.9" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "version_check" diff --git a/contracts/token-release/wasm/Cargo.toml b/contracts/token-release/wasm/Cargo.toml index b1270f3a..85e64989 100644 --- a/contracts/token-release/wasm/Cargo.toml +++ b/contracts/token-release/wasm/Cargo.toml @@ -19,4 +19,4 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/wegld-swap/Cargo.toml b/contracts/wegld-swap/Cargo.toml index 9e936592..764ce54c 100644 --- a/contracts/wegld-swap/Cargo.toml +++ b/contracts/wegld-swap/Cargo.toml @@ -15,9 +15,9 @@ edition = "2021" [lib] path = "src/wegld.rs" [dependencies.multiversx-sc] -version = "0.41.3" +version = "0.43.3" [dependencies.multiversx-sc-modules] -version = "0.41.3" +version = "0.43.3" [dev-dependencies.multiversx-sc-scenario] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/wegld-swap/meta/Cargo.toml b/contracts/wegld-swap/meta/Cargo.toml index 09086301..0ea1ad0b 100644 --- a/contracts/wegld-swap/meta/Cargo.toml +++ b/contracts/wegld-swap/meta/Cargo.toml @@ -10,7 +10,7 @@ publish = false path = ".." [dependencies.multiversx-sc] -version = "0.41.3" +version = "0.43.3" [dependencies.multiversx-sc-meta] -version = "0.41.3" +version = "0.43.3" diff --git a/contracts/wegld-swap/wasm/Cargo.lock b/contracts/wegld-swap/wasm/Cargo.lock index f27b50f5..3c7b8bf0 100644 --- a/contracts/wegld-swap/wasm/Cargo.lock +++ b/contracts/wegld-swap/wasm/Cargo.lock @@ -158,9 +158,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" dependencies = [ "autocfg", ] @@ -173,18 +173,18 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.63" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.28" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" dependencies = [ "proc-macro2", ] @@ -201,9 +201,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" [[package]] name = "syn" @@ -218,9 +218,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.9" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "version_check" diff --git a/contracts/wegld-swap/wasm/Cargo.toml b/contracts/wegld-swap/wasm/Cargo.toml index 06ea76c0..dab61e65 100644 --- a/contracts/wegld-swap/wasm/Cargo.toml +++ b/contracts/wegld-swap/wasm/Cargo.toml @@ -22,4 +22,4 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.41.3" +version = "0.43.3" From b2ff86182d6cfd2dd70a1e27fae518b26cad20cc Mon Sep 17 00:00:00 2001 From: Alin Cruceat Date: Thu, 14 Sep 2023 17:11:15 +0300 Subject: [PATCH 02/14] part 2 --- contracts/digital-cash/Cargo.toml | 2 + .../scenarios/claim-egld.scen.json | 4 +- .../scenarios/claim-esdt.scen.json | 4 +- .../scenarios/claim-fees.scen.json | 6 +- .../scenarios/claim-multi-esdt.scen.json | 4 +- .../digital-cash/scenarios/forward.scen.json | 8 +- .../scenarios/fund-egld-and-esdt.scen.json | 38 ++- .../scenarios/withdraw-egld.scen.json | 4 +- .../scenarios/withdraw-esdt.scen.json | 4 +- .../scenarios/withdraw-multi-esdt.scen.json | 4 +- contracts/digital-cash/src/deposit_info.rs | 13 +- contracts/digital-cash/src/digital_cash.rs | 219 +++++++++--------- .../tests/digital_cash_scenario_go_test.rs | 34 ++- .../tests/digital_cash_scenario_rs_test.rs | 30 ++- contracts/digital-cash/wasm/Cargo.lock | 28 +-- contracts/digital-cash/wasm/Cargo.toml | 2 + contracts/digital-cash/wasm/src/lib.rs | 22 +- contracts/order-book/factory/Cargo.toml | 3 - contracts/order-book/factory/meta/Cargo.toml | 2 - contracts/order-book/factory/wasm/Cargo.toml | 5 +- contracts/order-book/pair/Cargo.toml | 2 - contracts/order-book/pair/wasm/Cargo.toml | 5 +- contracts/proxy-pause/Cargo.toml | 5 +- contracts/proxy-pause/meta/Cargo.toml | 3 +- 24 files changed, 247 insertions(+), 204 deletions(-) diff --git a/contracts/digital-cash/Cargo.toml b/contracts/digital-cash/Cargo.toml index ebef8a14..b190f7bd 100644 --- a/contracts/digital-cash/Cargo.toml +++ b/contracts/digital-cash/Cargo.toml @@ -7,7 +7,9 @@ publish = false [lib] path = "src/digital_cash.rs" + [dependencies.multiversx-sc] version = "0.43.3" + [dev-dependencies.multiversx-sc-scenario] version = "0.43.3" diff --git a/contracts/digital-cash/scenarios/claim-egld.scen.json b/contracts/digital-cash/scenarios/claim-egld.scen.json index 89459708..085287a1 100644 --- a/contracts/digital-cash/scenarios/claim-egld.scen.json +++ b/contracts/digital-cash/scenarios/claim-egld.scen.json @@ -153,7 +153,7 @@ } }, "str:fee": "10", - "str:collected_fees": "10" + "str:collectedFees": "10" }, "code": "file:../output/digital-cash.wasm" }, @@ -163,7 +163,7 @@ "storage": {} }, "address:acc2": { - "nonce": "6", + "nonce": "7", "balance": "1,000,000", "esdt": { "str:CASHTOKEN-123456": "50" diff --git a/contracts/digital-cash/scenarios/claim-esdt.scen.json b/contracts/digital-cash/scenarios/claim-esdt.scen.json index 7ced2430..d3010b1e 100644 --- a/contracts/digital-cash/scenarios/claim-esdt.scen.json +++ b/contracts/digital-cash/scenarios/claim-esdt.scen.json @@ -152,7 +152,7 @@ } }, "str:fee": "10", - "str:collected_fees": "10" + "str:collectedFees": "10" }, "code": "file:../output/digital-cash.wasm" }, @@ -165,7 +165,7 @@ "storage": {} }, "address:acc2": { - "nonce": "2", + "nonce": "3", "balance": "999,990", "esdt": { "str:CASHTOKEN-123456": "50" diff --git a/contracts/digital-cash/scenarios/claim-fees.scen.json b/contracts/digital-cash/scenarios/claim-fees.scen.json index 62565776..0b9c11b9 100644 --- a/contracts/digital-cash/scenarios/claim-fees.scen.json +++ b/contracts/digital-cash/scenarios/claim-fees.scen.json @@ -11,7 +11,7 @@ "tx": { "from": "address:acc2", "to": "sc:the_digital_cash_contract", - "function": "claim_fees", + "function": "claimFees", "gasLimit": "500,000,000", "gasPrice": "0" }, @@ -40,7 +40,7 @@ "tx": { "from": "address:digital_cash_owner_address", "to": "sc:the_digital_cash_contract", - "function": "claim_fees", + "function": "claimFees", "gasLimit": "500,000,000", "gasPrice": "0" }, @@ -97,7 +97,7 @@ "storage": {} }, "address:acc2": { - "nonce": "7", + "nonce": "8", "balance": "1,000,000", "esdt": { "str:CASHTOKEN-123456": "50" diff --git a/contracts/digital-cash/scenarios/claim-multi-esdt.scen.json b/contracts/digital-cash/scenarios/claim-multi-esdt.scen.json index d2701252..85df0810 100644 --- a/contracts/digital-cash/scenarios/claim-multi-esdt.scen.json +++ b/contracts/digital-cash/scenarios/claim-multi-esdt.scen.json @@ -150,7 +150,7 @@ } }, "str:fee": "10", - "str:collected_fees": "30" + "str:collectedFees": "30" }, "code": "file:../output/digital-cash.wasm" }, @@ -160,7 +160,7 @@ "storage": {} }, "address:acc2": { - "nonce": "6", + "nonce": "7", "balance": "999,000", "esdt": { "str:CASHTOKEN-123456": "50", diff --git a/contracts/digital-cash/scenarios/forward.scen.json b/contracts/digital-cash/scenarios/forward.scen.json index faed1b6a..ad9f4141 100644 --- a/contracts/digital-cash/scenarios/forward.scen.json +++ b/contracts/digital-cash/scenarios/forward.scen.json @@ -36,7 +36,7 @@ "from": "address:acc2", "to": "sc:the_digital_cash_contract", "egldValue": "1,000", - "function": "deposit_fees", + "function": "depositFees", "arguments": [ "0xa40e72cdac3580e7203a4c2565c932f7691c35e624bcfd82718d7f559c88f440" ], @@ -82,7 +82,7 @@ "from": "address:acc2", "to": "sc:the_digital_cash_contract", "egldValue": "1,000", - "function": "deposit_fees", + "function": "depositFees", "arguments": [ "0x8dc17613990e9b7476401a36d112d1a4d31190dec21e7e9a3c933872a27613ee" ], @@ -168,7 +168,7 @@ } }, "str:fee": "10", - "str:collected_fees": "40" + "str:collectedFees": "40" }, "code": "file:../output/digital-cash.wasm" }, @@ -178,7 +178,7 @@ "storage": {} }, "address:acc2": { - "nonce": "7", + "nonce": "8", "balance": "997,000", "esdt": { "str:CASHTOKEN-123456": "50" diff --git a/contracts/digital-cash/scenarios/fund-egld-and-esdt.scen.json b/contracts/digital-cash/scenarios/fund-egld-and-esdt.scen.json index 77f90d13..7263a472 100644 --- a/contracts/digital-cash/scenarios/fund-egld-and-esdt.scen.json +++ b/contracts/digital-cash/scenarios/fund-egld-and-esdt.scen.json @@ -36,7 +36,7 @@ "from": "address:acc1", "to": "sc:the_digital_cash_contract", "egldValue": "1,000", - "function": "deposit_fees", + "function": "depositFees", "arguments": [ "0xdb474a3a065d3f0c0a62ae680ef6435e48eb482899d2ae30ff7a3a4b0ef19c60" ], @@ -135,7 +135,7 @@ "from": "address:acc2", "to": "sc:the_digital_cash_contract", "egldValue": "1,000", - "function": "deposit_fees", + "function": "depositFees", "arguments": [ "0x487bd4010b50c24a02018345fe5171edf4182e6294325382c75ef4c4409f01bd" ], @@ -248,6 +248,34 @@ { "step": "scCall", "id": "fund-fail-2", + "tx": { + "from": "address:acc2", + "to": "sc:the_digital_cash_contract", + "esdtValue": [ + { + "tokenIdentifier": "str:CASHTOKEN-123456", + "value": "10" + } + ], + "function": "fund", + "arguments": [ + "0x487bd4010b50c24a02018345fe5171edf4182e6294325382c75ef4c4409f01bd", + "u64:100" + ], + "gasLimit": "100,000,000", + "gasPrice": "0" + }, + "expect": { + "out": [], + "status": "4", + "message": "str:key already used", + "gas": "*", + "refund": "*" + } + }, + { + "step": "scCall", + "id": "fund-fail-3", "tx": { "from": "address:acc3", "to": "sc:the_digital_cash_contract", @@ -276,7 +304,7 @@ "expect": { "out": [], "status": "4", - "message": "str:key already used", + "message": "str:invalid depositor", "gas": "*", "refund": "*" } @@ -288,7 +316,7 @@ "from": "address:acc3", "to": "sc:the_digital_cash_contract", "egldValue": "1,000", - "function": "deposit_fees", + "function": "depositFees", "arguments": [ "0x885532043a061e0c779e4064b85193f72cffd22c5bcc208c209128e60f21bf0d" ], @@ -396,7 +424,7 @@ "storage": {} }, "address:acc2": { - "nonce": "2", + "nonce": "3", "balance": "999,000", "esdt": { "str:CASHTOKEN-123456": "50" diff --git a/contracts/digital-cash/scenarios/withdraw-egld.scen.json b/contracts/digital-cash/scenarios/withdraw-egld.scen.json index 09cc07d0..e89119fb 100644 --- a/contracts/digital-cash/scenarios/withdraw-egld.scen.json +++ b/contracts/digital-cash/scenarios/withdraw-egld.scen.json @@ -83,7 +83,7 @@ "storage": {} }, "address:acc2": { - "nonce": "2", + "nonce": "3", "balance": "999,000", "esdt": { "str:CASHTOKEN-123456": "50" @@ -206,7 +206,7 @@ "storage": {} }, "address:acc2": { - "nonce": "2", + "nonce": "3", "balance": "999,000", "esdt": { "str:CASHTOKEN-123456": "50" diff --git a/contracts/digital-cash/scenarios/withdraw-esdt.scen.json b/contracts/digital-cash/scenarios/withdraw-esdt.scen.json index f6cd263b..77a8fbe9 100644 --- a/contracts/digital-cash/scenarios/withdraw-esdt.scen.json +++ b/contracts/digital-cash/scenarios/withdraw-esdt.scen.json @@ -83,7 +83,7 @@ "storage": {} }, "address:acc2": { - "nonce": "3", + "nonce": "4", "balance": "999,000", "esdt": { "str:CASHTOKEN-123456": "50" @@ -205,7 +205,7 @@ "storage": {} }, "address:acc2": { - "nonce": "5", + "nonce": "6", "balance": "1,000,000", "esdt": { "str:CASHTOKEN-123456": "100" diff --git a/contracts/digital-cash/scenarios/withdraw-multi-esdt.scen.json b/contracts/digital-cash/scenarios/withdraw-multi-esdt.scen.json index f9194207..7f1a96e2 100644 --- a/contracts/digital-cash/scenarios/withdraw-multi-esdt.scen.json +++ b/contracts/digital-cash/scenarios/withdraw-multi-esdt.scen.json @@ -83,7 +83,7 @@ "storage": {} }, "address:acc2": { - "nonce": "3", + "nonce": "4", "balance": "999,000", "esdt": { "str:CASHTOKEN-123456": "50" @@ -203,7 +203,7 @@ "storage": {} }, "address:acc2": { - "nonce": "5", + "nonce": "6", "balance": "999,000", "esdt": { "str:CASHTOKEN-123456": "50" diff --git a/contracts/digital-cash/src/deposit_info.rs b/contracts/digital-cash/src/deposit_info.rs index db352424..b156275a 100644 --- a/contracts/digital-cash/src/deposit_info.rs +++ b/contracts/digital-cash/src/deposit_info.rs @@ -1,8 +1,4 @@ -use multiversx_sc::{ - api::ManagedTypeApi, - types::{BigUint, EsdtTokenPayment, ManagedAddress, ManagedVec}, -}; - +multiversx_sc::imports!(); multiversx_sc::derive_imports!(); #[derive(NestedEncode, NestedDecode, TopEncode, TopDecode, TypeAbi)] @@ -20,7 +16,12 @@ where M: ManagedTypeApi, { pub fn get_num_tokens(&self) -> usize { - (self.egld_funds != BigUint::zero()) as usize + self.esdt_funds.len() + let mut amount = self.esdt_funds.len(); + if self.egld_funds > 0 { + amount += 1; + } + + amount } } diff --git a/contracts/digital-cash/src/digital_cash.rs b/contracts/digital-cash/src/digital_cash.rs index ea4a8dae..aee3e173 100644 --- a/contracts/digital-cash/src/digital_cash.rs +++ b/contracts/digital-cash/src/digital_cash.rs @@ -11,6 +11,11 @@ use deposit_info::{DepositInfo, Fee}; pub const SECONDS_PER_ROUND: u64 = 6; pub use multiversx_sc::api::{ED25519_KEY_BYTE_LEN, ED25519_SIGNATURE_BYTE_LEN}; +static NON_EXISTENT_KEY_ERR_MSG: &[u8] = b"non-existent key"; +static FEES_NOT_COVERED_ERR_MSG: &[u8] = b"fees not covered"; +static CANNOT_DEPOSIT_FUNDS_ERR_MSG: &[u8] = + b"cannot deposit funds without covering the fee cost first"; + #[multiversx_sc::contract] pub trait DigitalCash { #[init] @@ -18,30 +23,33 @@ pub trait DigitalCash { self.fee().set(fee); } - //endpoints + // endpoints #[endpoint] #[payable("*")] fn fund(&self, address: ManagedAddress, valability: u64) { - require!(!self.deposit(&address).is_empty(), "fees not covered"); + let deposit_mapper = self.deposit(&address); + require!(!deposit_mapper.is_empty(), FEES_NOT_COVERED_ERR_MSG); + let depositor = deposit_mapper.get().depositor_address; + require!( + self.blockchain().get_caller() == depositor, + "invalid depositor" + ); - let esdt_payment = self.call_value().all_esdt_transfers().clone_value(); let egld_payment = self.call_value().egld_value().clone_value(); - - let num_tokens = (egld_payment != BigUint::zero()) as usize + esdt_payment.len(); - + let esdt_payment = self.call_value().all_esdt_transfers().clone_value(); + let num_tokens = self.get_num_token_transfers(&egld_payment, &esdt_payment); require!(num_tokens > 0, "amount must be greater than 0"); let fee = self.fee().get(); - - self.deposit(&address).update(|deposit| { + deposit_mapper.update(|deposit| { require!( - deposit.egld_funds == BigUint::zero() && deposit.esdt_funds.is_empty(), + deposit.egld_funds == 0 && deposit.esdt_funds.is_empty(), "key already used" ); require!( fee * num_tokens as u64 <= deposit.fees.value, - "cannot deposit funds without covering the fee cost first" + CANNOT_DEPOSIT_FUNDS_ERR_MSG ); deposit.fees.num_token_to_transfer += num_tokens; @@ -54,19 +62,18 @@ pub trait DigitalCash { #[endpoint] fn withdraw(&self, address: ManagedAddress) { - require!(!self.deposit(&address).is_empty(), "non-existent key"); + let deposit_mapper = self.deposit(&address); + require!(!deposit_mapper.is_empty(), NON_EXISTENT_KEY_ERR_MSG); let block_round = self.blockchain().get_block_round(); - - let deposit = self.deposit(&address).get(); - + let deposit = deposit_mapper.take(); require!( deposit.expiration_round < block_round, "withdrawal has not been available yet" ); let egld_funds = deposit.egld_funds + deposit.fees.value; - if egld_funds != BigUint::zero() { + if egld_funds > 0 { self.send() .direct_egld(&deposit.depositor_address, &egld_funds); } @@ -75,8 +82,6 @@ pub trait DigitalCash { self.send() .direct_multi(&deposit.depositor_address, &deposit.esdt_funds); } - - self.deposit(&address).clear(); } #[endpoint] @@ -85,93 +90,74 @@ pub trait DigitalCash { address: ManagedAddress, signature: ManagedByteArray, ) { - require!(!self.deposit(&address).is_empty(), "non-existent key"); + let deposit_mapper = self.deposit(&address); + require!(!deposit_mapper.is_empty(), NON_EXISTENT_KEY_ERR_MSG); let caller_address = self.blockchain().get_caller(); self.require_signature(&address, &caller_address, signature); let block_round = self.blockchain().get_block_round(); - let fee = self.fee().get(); + let mut deposit = deposit_mapper.take(); + require!(deposit.expiration_round >= block_round, "deposit expired"); - self.deposit(&address).update(|deposit| { - require!(deposit.expiration_round >= block_round, "deposit expired"); - let num_tokens_transfered = &deposit.get_num_tokens(); - let fee_cost = fee * *num_tokens_transfered as u64; - - deposit.fees.num_token_to_transfer -= num_tokens_transfered; - deposit.fees.value -= &fee_cost; - - self.collected_fees() - .update(|collected_fees| *collected_fees += fee_cost); - - if deposit.egld_funds != BigUint::zero() { - self.send() - .direct_egld(&caller_address, &deposit.egld_funds); - } - - if !deposit.esdt_funds.is_empty() { - self.send() - .direct_multi(&caller_address, &deposit.esdt_funds); - } + let num_tokens_transfered = deposit.get_num_tokens(); + let fee_cost = fee * num_tokens_transfered as u64; + deposit.fees.value -= &fee_cost; - if deposit.fees.value > 0 { - self.send() - .direct_egld(&deposit.depositor_address, &deposit.fees.value); - } - }); + self.collected_fees() + .update(|collected_fees| *collected_fees += fee_cost); - self.deposit(&address).clear(); + if deposit.egld_funds > 0 { + self.send() + .direct_egld(&caller_address, &deposit.egld_funds); + } + if !deposit.esdt_funds.is_empty() { + self.send() + .direct_multi(&caller_address, &deposit.esdt_funds); + } + if deposit.fees.value > 0 { + self.send() + .direct_egld(&deposit.depositor_address, &deposit.fees.value); + } } - #[endpoint] + #[endpoint(claimFees)] #[only_owner] fn claim_fees(&self) { - let caller_address = self.blockchain().get_caller(); - let fees = self.collected_fees().get(); + let fees = self.collected_fees().take(); + if fees == 0 { + return; + } + let caller_address = self.blockchain().get_caller(); self.send().direct_egld(&caller_address, &fees); - self.collected_fees().clear(); - } - - fn require_signature( - &self, - address: &ManagedAddress, - caller_address: &ManagedAddress, - signature: ManagedByteArray, - ) { - let addr = address.as_managed_buffer(); - let message = caller_address.as_managed_buffer(); - require!( - self.crypto() - .verify_ed25519(addr, message, signature.as_managed_buffer()), - "invalid signature" - ); } - #[endpoint] + #[endpoint(depositFees)] #[payable("EGLD")] fn deposit_fees(&self, address: ManagedAddress) { let payment = self.call_value().egld_value().clone_value(); let caller_address = self.blockchain().get_caller(); + let deposit_mapper = self.deposit(&address); + if !deposit_mapper.is_empty() { + deposit_mapper.update(|deposit| deposit.fees.value += payment); - if self.deposit(&address).is_empty() { - let new_deposit = DepositInfo { - depositor_address: caller_address, - esdt_funds: ManagedVec::new(), - egld_funds: BigUint::zero(), - valability: 0, - expiration_round: 0, - fees: Fee { - num_token_to_transfer: 0, - value: payment, - }, - }; - self.deposit(&address).set(new_deposit) - } else { - self.deposit(&address) - .update(|deposit| deposit.fees.value += payment); + return; } + + let new_deposit = DepositInfo { + depositor_address: caller_address, + esdt_funds: ManagedVec::new(), + egld_funds: BigUint::zero(), + valability: 0, + expiration_round: 0, + fees: Fee { + num_token_to_transfer: 0, + value: payment, + }, + }; + deposit_mapper.set(new_deposit); } #[endpoint] @@ -181,18 +167,16 @@ pub trait DigitalCash { forward_address: ManagedAddress, signature: ManagedByteArray, ) { - require!( - !self.deposit(&forward_address).is_empty(), - "cannot deposit funds without covering the fee cost first" - ); + let deposit_mapper = self.deposit(&forward_address); + require!(!deposit_mapper.is_empty(), CANNOT_DEPOSIT_FUNDS_ERR_MSG); let caller_address = self.blockchain().get_caller(); let fee = self.fee().get(); self.require_signature(&address, &caller_address, signature); - let mut forwarded_deposit = self.deposit(&address).get(); + let mut forwarded_deposit = self.deposit(&address).take(); let num_tokens = forwarded_deposit.get_num_tokens(); - self.deposit(&forward_address).update(|deposit| { + deposit_mapper.update(|deposit| { require!( deposit.egld_funds == BigUint::zero() && deposit.esdt_funds.is_empty(), "key already used" @@ -210,7 +194,6 @@ pub trait DigitalCash { }); let forward_fee = &fee * num_tokens as u64; - forwarded_deposit.fees.value -= &forward_fee; self.collected_fees() @@ -222,47 +205,67 @@ pub trait DigitalCash { &forwarded_deposit.fees.value, ); } - - self.deposit(&address).clear(); } - //views + // views - #[view(amount)] + #[view(getAmount)] fn get_amount( &self, address: ManagedAddress, token: EgldOrEsdtTokenIdentifier, nonce: u64, ) -> BigUint { - require!(!self.deposit(&address).is_empty(), "non-existent key"); - - let mut amount = BigUint::zero(); + let deposit_mapper = self.deposit(&address); + require!(!deposit_mapper.is_empty(), NON_EXISTENT_KEY_ERR_MSG); - require!(!self.deposit(&address).is_empty(), "non-existent key"); - - let deposit = self.deposit(&address).get(); + let deposit = deposit_mapper.get(); if token.is_egld() { - amount = deposit.egld_funds; - } else { - for esdt in deposit.esdt_funds.into_iter() { - if esdt.token_identifier == token && esdt.token_nonce == nonce { - amount = esdt.amount; - } + return deposit.egld_funds; + } + + for esdt in deposit.esdt_funds.into_iter() { + if esdt.token_identifier == token && esdt.token_nonce == nonce { + return esdt.amount; } } - amount + BigUint::zero() } - //private functions + // private functions fn get_expiration_round(&self, valability: u64) -> u64 { let valability_rounds = valability / SECONDS_PER_ROUND; self.blockchain().get_block_round() + valability_rounds } - //storage + fn get_num_token_transfers( + &self, + egld_value: &BigUint, + esdt_transfers: &ManagedVec, + ) -> usize { + let mut amount = esdt_transfers.len(); + if egld_value > &0 { + amount += 1; + } + + amount + } + + fn require_signature( + &self, + address: &ManagedAddress, + caller_address: &ManagedAddress, + signature: ManagedByteArray, + ) { + let addr = address.as_managed_buffer(); + let message = caller_address.as_managed_buffer(); + self.crypto() + .verify_ed25519(addr, message, signature.as_managed_buffer()); + } + + // storage #[view] #[storage_mapper("deposit")] @@ -271,6 +274,6 @@ pub trait DigitalCash { #[storage_mapper("fee")] fn fee(&self) -> SingleValueMapper; - #[storage_mapper("collected_fees")] + #[storage_mapper("collectedFees")] fn collected_fees(&self) -> SingleValueMapper; } diff --git a/contracts/digital-cash/tests/digital_cash_scenario_go_test.rs b/contracts/digital-cash/tests/digital_cash_scenario_go_test.rs index 9f78e742..e2d4d112 100644 --- a/contracts/digital-cash/tests/digital_cash_scenario_go_test.rs +++ b/contracts/digital-cash/tests/digital_cash_scenario_go_test.rs @@ -1,39 +1,55 @@ +use multiversx_sc_scenario::*; + +fn world() -> ScenarioWorld { + ScenarioWorld::vm_go() +} + #[test] fn claim_egld_go() { - multiversx_sc_scenario::run_go("scenarios/claim-egld.scen.json"); + world().run("scenarios/claim-egld.scen.json"); } #[test] fn claim_esdt_go() { - multiversx_sc_scenario::run_go("scenarios/claim-esdt.scen.json"); + world().run("scenarios/claim-esdt.scen.json"); } #[test] fn claim_fees_go() { - multiversx_sc_scenario::run_go("scenarios/claim-fees.scen.json"); + world().run("scenarios/claim-fees.scen.json"); +} + +#[test] +fn claim_multi_esdt_go() { + world().run("scenarios/claim-multi-esdt.scen.json"); +} + +#[test] +fn forward_go() { + world().run("scenarios/forward.scen.json"); } #[test] fn fund_egld_and_esdt_go() { - multiversx_sc_scenario::run_go("scenarios/fund-egld-and-esdt.scen.json"); + world().run("scenarios/fund-egld-and-esdt.scen.json"); } #[test] fn set_accounts_go() { - multiversx_sc_scenario::run_go("scenarios/set-accounts.scen.json"); + world().run("scenarios/set-accounts.scen.json"); } #[test] fn withdraw_egld_go() { - multiversx_sc_scenario::run_go("scenarios/withdraw-egld.scen.json"); + world().run("scenarios/withdraw-egld.scen.json"); } #[test] fn withdraw_esdt_go() { - multiversx_sc_scenario::run_go("scenarios/withdraw-esdt.scen.json"); + world().run("scenarios/withdraw-esdt.scen.json"); } #[test] -fn forward_go() { - multiversx_sc_scenario::run_go("scenarios/forward.scen.json"); +fn withdraw_multi_esdt_go() { + world().run("scenarios/withdraw-multi-esdt.scen.json"); } diff --git a/contracts/digital-cash/tests/digital_cash_scenario_rs_test.rs b/contracts/digital-cash/tests/digital_cash_scenario_rs_test.rs index 32b9e6ce..bc20caac 100644 --- a/contracts/digital-cash/tests/digital_cash_scenario_rs_test.rs +++ b/contracts/digital-cash/tests/digital_cash_scenario_rs_test.rs @@ -2,7 +2,7 @@ use multiversx_sc_scenario::*; fn world() -> ScenarioWorld { let mut blockchain = ScenarioWorld::new(); - blockchain.set_current_dir_from_workspace("contracts/digital-cash"); + blockchain.set_current_dir_from_workspace("contracts/examples/digital-cash"); blockchain.register_contract( "file:output/digital-cash.wasm", @@ -13,40 +13,50 @@ fn world() -> ScenarioWorld { #[test] fn claim_egld_rs() { - multiversx_sc_scenario::run_rs("scenarios/claim-egld.scen.json", world()); + world().run("scenarios/claim-egld.scen.json"); } #[test] fn claim_esdt_rs() { - multiversx_sc_scenario::run_rs("scenarios/claim-esdt.scen.json", world()); + world().run("scenarios/claim-esdt.scen.json"); } #[test] fn claim_fees_rs() { - multiversx_sc_scenario::run_rs("scenarios/claim-fees.scen.json", world()); + world().run("scenarios/claim-fees.scen.json"); +} + +#[test] +fn claim_multi_esdt_rs() { + world().run("scenarios/claim-multi-esdt.scen.json"); +} + +#[test] +fn forward_rs() { + world().run("scenarios/forward.scen.json"); } #[test] fn fund_egld_and_esdt_rs() { - multiversx_sc_scenario::run_rs("scenarios/fund-egld-and-esdt.scen.json", world()); + world().run("scenarios/fund-egld-and-esdt.scen.json"); } #[test] fn set_accounts_rs() { - multiversx_sc_scenario::run_rs("scenarios/set-accounts.scen.json", world()); + world().run("scenarios/set-accounts.scen.json"); } #[test] fn withdraw_egld_rs() { - multiversx_sc_scenario::run_rs("scenarios/withdraw-egld.scen.json", world()); + world().run("scenarios/withdraw-egld.scen.json"); } #[test] fn withdraw_esdt_rs() { - multiversx_sc_scenario::run_rs("scenarios/withdraw-esdt.scen.json", world()); + world().run("scenarios/withdraw-esdt.scen.json"); } #[test] -fn forward_rs() { - multiversx_sc_scenario::run_rs("scenarios/forward.scen.json", world()); +fn withdraw_multi_esdt_rs() { + world().run("scenarios/withdraw-multi-esdt.scen.json"); } diff --git a/contracts/digital-cash/wasm/Cargo.lock b/contracts/digital-cash/wasm/Cargo.lock index aa5d39c6..30d389f9 100644 --- a/contracts/digital-cash/wasm/Cargo.lock +++ b/contracts/digital-cash/wasm/Cargo.lock @@ -81,9 +81,7 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfbe80ec68fedf299dd65469f8999cf3c0f884ffa497122428f08303bcb8b884" +version = "0.43.3" dependencies = [ "bitflags", "hashbrown", @@ -95,9 +93,7 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d70ea458247d263b7e9fdfb207530b6a530546247139c162450e515c013a18" +version = "0.18.1" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -105,9 +101,7 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ad6920f80fda67fc60fd51aaa9f83ec7e069470f60a068c81205f9da5d05a30" +version = "0.18.1" dependencies = [ "hex", "proc-macro2", @@ -117,9 +111,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c2b87d817f2176bf1830bef938884f24267516c334a377e71a96bc18ebb09c1" +version = "0.43.3" dependencies = [ "hex", "proc-macro2", @@ -130,9 +122,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "932327626de71eeb1dbe86b863cc70cc532f8ceba8e73a059410f6aa56b22a77" +version = "0.43.3" dependencies = [ "multiversx-sc", ] @@ -163,9 +153,9 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.67" +version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" +checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" dependencies = [ "unicode-ident", ] @@ -208,9 +198,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.12" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" [[package]] name = "version_check" diff --git a/contracts/digital-cash/wasm/Cargo.toml b/contracts/digital-cash/wasm/Cargo.toml index fc47e723..70623e78 100644 --- a/contracts/digital-cash/wasm/Cargo.toml +++ b/contracts/digital-cash/wasm/Cargo.toml @@ -12,12 +12,14 @@ crate-type = ["cdylib"] members = ["."] [dev-dependencies] + [profile.release] codegen-units = 1 opt-level = "z" lto = true debug = false panic = "abort" + [dependencies.digital-cash] path = ".." diff --git a/contracts/digital-cash/wasm/src/lib.rs b/contracts/digital-cash/wasm/src/lib.rs index 7e096e68..854d3310 100644 --- a/contracts/digital-cash/wasm/src/lib.rs +++ b/contracts/digital-cash/wasm/src/lib.rs @@ -10,6 +10,9 @@ // Total number of exported functions: 10 #![no_std] + +// Configuration that works with rustc < 1.73.0. +// TODO: Recommended rustc version: 1.73.0 or newer. #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); @@ -18,15 +21,16 @@ multiversx_sc_wasm_adapter::panic_handler!(); multiversx_sc_wasm_adapter::endpoints! { digital_cash ( - fund - withdraw - claim - claim_fees - deposit_fees - forward - amount - deposit + init => init + fund => fund + withdraw => withdraw + claim => claim + claimFees => claim_fees + depositFees => deposit_fees + forward => forward + getAmount => get_amount + deposit => deposit ) } -multiversx_sc_wasm_adapter::empty_callback! {} +multiversx_sc_wasm_adapter::async_callback_empty! {} diff --git a/contracts/order-book/factory/Cargo.toml b/contracts/order-book/factory/Cargo.toml index a016b5f4..e3244016 100644 --- a/contracts/order-book/factory/Cargo.toml +++ b/contracts/order-book/factory/Cargo.toml @@ -9,9 +9,6 @@ path = "src/lib.rs" [dependencies.multiversx-sc] version = "0.43.3" -path = "../../../../framework/base" [dev-dependencies.multiversx-sc-scenario] version = "0.43.3" -path = "../../../../framework/scenario" - diff --git a/contracts/order-book/factory/meta/Cargo.toml b/contracts/order-book/factory/meta/Cargo.toml index 24f3679e..87cc0723 100644 --- a/contracts/order-book/factory/meta/Cargo.toml +++ b/contracts/order-book/factory/meta/Cargo.toml @@ -4,10 +4,8 @@ version = "0.0.0" authors = ["you"] edition = "2021" publish = false - [dependencies.order-book-factory] path = ".." [dependencies.multiversx-sc-meta] version = "0.43.3" -path = "../../../../../framework/meta" diff --git a/contracts/order-book/factory/wasm/Cargo.toml b/contracts/order-book/factory/wasm/Cargo.toml index 4db2963a..a1aeef25 100644 --- a/contracts/order-book/factory/wasm/Cargo.toml +++ b/contracts/order-book/factory/wasm/Cargo.toml @@ -5,10 +5,10 @@ edition = "2021" publish = false [lib] -crate-type = [ "cdylib",] +crate-type = ["cdylib"] [workspace] -members = [ ".",] +members = ["."] [dev-dependencies] @@ -24,4 +24,3 @@ path = ".." [dependencies.multiversx-sc-wasm-adapter] version = "0.43.3" -path = "../../../../../framework/wasm-adapter" diff --git a/contracts/order-book/pair/Cargo.toml b/contracts/order-book/pair/Cargo.toml index eb51594d..72ea431d 100644 --- a/contracts/order-book/pair/Cargo.toml +++ b/contracts/order-book/pair/Cargo.toml @@ -9,8 +9,6 @@ path = "src/lib.rs" [dependencies.multiversx-sc] version = "0.43.3" -path = "../../../../framework/base" [dev-dependencies.multiversx-sc-scenario] version = "0.43.3" -path = "../../../../framework/scenario" diff --git a/contracts/order-book/pair/wasm/Cargo.toml b/contracts/order-book/pair/wasm/Cargo.toml index db1025b5..42b04a9f 100644 --- a/contracts/order-book/pair/wasm/Cargo.toml +++ b/contracts/order-book/pair/wasm/Cargo.toml @@ -5,10 +5,10 @@ edition = "2021" publish = false [lib] -crate-type = [ "cdylib",] +crate-type = ["cdylib"] [workspace] -members = [ ".",] +members = ["."] [dev-dependencies] @@ -24,4 +24,3 @@ path = ".." [dependencies.multiversx-sc-wasm-adapter] version = "0.43.3" -path = "../../../../../framework/wasm-adapter" diff --git a/contracts/proxy-pause/Cargo.toml b/contracts/proxy-pause/Cargo.toml index e7a3878f..9902e358 100644 --- a/contracts/proxy-pause/Cargo.toml +++ b/contracts/proxy-pause/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "proxy-pause" version = "0.0.0" -authors = [ "you",] +authors = ["you"] edition = "2021" publish = false @@ -10,12 +10,9 @@ path = "src/proxy_pause.rs" [dependencies.multiversx-sc] version = "0.43.3" -path = "../../../framework/base" [dev-dependencies.multiversx-sc-scenario] version = "0.43.3" -path = "../../../framework/scenario" [dev-dependencies.check-pause] path = "../check-pause" - diff --git a/contracts/proxy-pause/meta/Cargo.toml b/contracts/proxy-pause/meta/Cargo.toml index 151fe877..df874963 100644 --- a/contracts/proxy-pause/meta/Cargo.toml +++ b/contracts/proxy-pause/meta/Cargo.toml @@ -3,7 +3,7 @@ name = "proxy-pause-meta" version = "0.0.0" edition = "2021" publish = false -authors = [ "you",] +authors = ["you"] [dev-dependencies] @@ -12,4 +12,3 @@ path = ".." [dependencies.multiversx-sc-meta] version = "0.43.3" -path = "../../../../framework/meta" From 07ecdd39588210d7a616a252aedfe43624f7cdb8 Mon Sep 17 00:00:00 2001 From: Alin Cruceat Date: Thu, 14 Sep 2023 17:20:54 +0300 Subject: [PATCH 03/14] add interactor to root cargo.toml --- Cargo.toml | 3 +- contracts/adder/.gitignore | 2 +- contracts/adder/Cargo.toml | 2 + contracts/adder/README.md | 29 + .../interact-rs => adder/interact}/.gitignore | 10 +- contracts/adder/interact/Cargo.toml | 21 + contracts/adder/interact/config.toml | 1 + .../adder/interact/src/adder_interact.rs | 199 ++++ .../adder/interact/src/adder_interact_cli.rs | 39 + .../interact/src/adder_interact_config.rs | 26 + .../interact/src/adder_interact_state.rs | 63 ++ contracts/adder/interaction/Adder.erdjs.md | 22 + .../adder/interaction/devnet.snippets.sh | 25 + .../adder/interaction/testnet.snippets.sh | 26 + contracts/adder/meta/Cargo.toml | 1 + contracts/adder/mxsc-template.toml | 18 + .../scenarios/interactor_trace.scen.json | 80 ++ ...ted_raw_test.rs => adder_blackbox_test.rs} | 20 +- .../tests/adder_blackbox_upgrade_test.rs | 50 + ....rs => adder_blackbox_with_values_test.rs} | 35 +- ...er_mandos_constructed_with_results_test.rs | 61 -- .../adder/tests/adder_scenario_go_test.rs | 13 +- .../adder/tests/adder_scenario_rs_test.rs | 9 +- contracts/adder/tests/adder_test.rs | 8 +- contracts/adder/tests/adder_whitebox_test.rs | 50 + contracts/adder/wasm/Cargo.lock | 28 +- contracts/adder/wasm/Cargo.toml | 3 + contracts/adder/wasm/src/lib.rs | 8 +- contracts/multisig/Cargo.toml | 16 +- contracts/multisig/README.md | 6 +- contracts/multisig/interact-rs/alice.pem | 5 - contracts/multisig/interact-rs/bob.pem | 5 - .../interact-rs/src/multisig_interact.rs | 188 ---- .../interact-rs/src/multisig_interact_nfts.rs | 134 --- contracts/multisig/interact/.gitignore | 8 + .../{interact-rs => interact}/Cargo.toml | 19 +- contracts/multisig/interact/config.toml | 2 + .../interact/src/multisig_interact.rs | 393 ++++++++ .../interact/src/multisig_interact_cli.rs | 68 ++ .../interact/src/multisig_interact_config.rs | 32 + .../interact/src/multisig_interact_nfts.rs | 245 +++++ .../interact/src/multisig_interact_state.rs | 59 ++ .../interact/src/multisig_interact_wegld.rs | 115 +++ contracts/multisig/meta/Cargo.toml | 1 + .../scenarios/interactor_nft.scen.json | 563 +++++++++++ .../interactor_nft_all_roles.scen.json | 526 +++++++++++ .../scenarios/interactor_wegld.scen.json | 275 ++++++ contracts/multisig/src/action.rs | 6 +- .../multisig/tests/multisig_blackbox_test.rs | 579 ++++++++++++ .../multisig/tests/multisig_rust_test.rs | 433 --------- .../tests/multisig_rust_test_setup/mod.rs | 278 ------ .../multisig/tests/multisig_rust_test_v2.rs | 268 ------ .../tests/multisig_scenario_go_test.rs | 51 +- .../tests/multisig_scenario_rs_test.rs | 49 +- .../multisig/tests/multisig_whitebox_test.rs | 873 ++++++++++++++++++ .../multisig/wasm-multisig-full/Cargo.lock | 32 +- .../multisig/wasm-multisig-full/src/lib.rs | 61 +- .../multisig/wasm-multisig-view/Cargo.lock | 32 +- .../multisig/wasm-multisig-view/src/lib.rs | 21 +- contracts/multisig/wasm/Cargo.lock | 32 +- contracts/multisig/wasm/Cargo.toml | 2 + contracts/multisig/wasm/src/lib.rs | 45 +- contracts/order-book/factory/wasm/Cargo.lock | 10 + contracts/order-book/factory/wasm/src/lib.rs | 4 +- 64 files changed, 4680 insertions(+), 1608 deletions(-) create mode 100644 contracts/adder/README.md rename contracts/{multisig/interact-rs => adder/interact}/.gitignore (52%) create mode 100644 contracts/adder/interact/Cargo.toml create mode 100644 contracts/adder/interact/config.toml create mode 100644 contracts/adder/interact/src/adder_interact.rs create mode 100644 contracts/adder/interact/src/adder_interact_cli.rs create mode 100644 contracts/adder/interact/src/adder_interact_config.rs create mode 100644 contracts/adder/interact/src/adder_interact_state.rs create mode 100644 contracts/adder/interaction/Adder.erdjs.md create mode 100644 contracts/adder/interaction/devnet.snippets.sh create mode 100644 contracts/adder/interaction/testnet.snippets.sh create mode 100644 contracts/adder/mxsc-template.toml create mode 100644 contracts/adder/scenarios/interactor_trace.scen.json rename contracts/adder/tests/{adder_mandos_constructed_raw_test.rs => adder_blackbox_test.rs} (75%) create mode 100644 contracts/adder/tests/adder_blackbox_upgrade_test.rs rename contracts/adder/tests/{adder_mandos_constructed_with_calls_test.rs => adder_blackbox_with_values_test.rs} (56%) delete mode 100644 contracts/adder/tests/adder_mandos_constructed_with_results_test.rs create mode 100644 contracts/adder/tests/adder_whitebox_test.rs delete mode 100644 contracts/multisig/interact-rs/alice.pem delete mode 100644 contracts/multisig/interact-rs/bob.pem delete mode 100644 contracts/multisig/interact-rs/src/multisig_interact.rs delete mode 100644 contracts/multisig/interact-rs/src/multisig_interact_nfts.rs create mode 100644 contracts/multisig/interact/.gitignore rename contracts/multisig/{interact-rs => interact}/Cargo.toml (61%) create mode 100644 contracts/multisig/interact/config.toml create mode 100644 contracts/multisig/interact/src/multisig_interact.rs create mode 100644 contracts/multisig/interact/src/multisig_interact_cli.rs create mode 100644 contracts/multisig/interact/src/multisig_interact_config.rs create mode 100644 contracts/multisig/interact/src/multisig_interact_nfts.rs create mode 100644 contracts/multisig/interact/src/multisig_interact_state.rs create mode 100644 contracts/multisig/interact/src/multisig_interact_wegld.rs create mode 100644 contracts/multisig/scenarios/interactor_nft.scen.json create mode 100644 contracts/multisig/scenarios/interactor_nft_all_roles.scen.json create mode 100644 contracts/multisig/scenarios/interactor_wegld.scen.json create mode 100644 contracts/multisig/tests/multisig_blackbox_test.rs delete mode 100644 contracts/multisig/tests/multisig_rust_test.rs delete mode 100644 contracts/multisig/tests/multisig_rust_test_setup/mod.rs delete mode 100644 contracts/multisig/tests/multisig_rust_test_v2.rs create mode 100644 contracts/multisig/tests/multisig_whitebox_test.rs diff --git a/Cargo.toml b/Cargo.toml index 7d807b5b..b4adfcb4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,6 +9,7 @@ members = [ "contracts/adder", "contracts/adder/meta", + "contracts/adder/interact", "contracts/esdt-transfer-with-fee", "contracts/esdt-transfer-with-fee/meta", "contracts/bonding-curve-contract", @@ -41,7 +42,7 @@ members = [ "contracts/liquid-locking/meta", "contracts/multisig", "contracts/multisig/meta", - "contracts/multisig/interact-rs", + "contracts/multisig/interact", "contracts/mystery-box", "contracts/mystery-box/meta", "contracts/nft-minter", diff --git a/contracts/adder/.gitignore b/contracts/adder/.gitignore index 61d019f5..dd49a952 100644 --- a/contracts/adder/.gitignore +++ b/contracts/adder/.gitignore @@ -4,7 +4,7 @@ */target/ # The mxpy output -output +/output*/ # Mandos test trace trace*.scen.json diff --git a/contracts/adder/Cargo.toml b/contracts/adder/Cargo.toml index 1fc87b18..a385ff0d 100644 --- a/contracts/adder/Cargo.toml +++ b/contracts/adder/Cargo.toml @@ -7,7 +7,9 @@ publish = false [lib] path = "src/adder.rs" + [dependencies.multiversx-sc] version = "0.43.3" + [dev-dependencies.multiversx-sc-scenario] version = "0.43.3" diff --git a/contracts/adder/README.md b/contracts/adder/README.md new file mode 100644 index 00000000..821c7653 --- /dev/null +++ b/contracts/adder/README.md @@ -0,0 +1,29 @@ +# Interaction + +## On devnet + +Deploy & interact with contract: + +``` +python3 ./interaction/playground.py --pem=./testnet/wallets/users/alice.pem --proxy=http://localhost:7950 +``` + +Interact with existing contract: + +``` +python3 ./interaction/playground.py --pem=./testnet/wallets/users/alice.pem --proxy=http://localhost:7950 --contract=erd1... +``` + +## On testnet + +Deploy & interact with contract: + +``` +python3 ./interaction/playground.py --pem=my.pem --proxy=https://testnet-gateway.elrond.com +``` + +Interact with existing contract: + +``` +python3 ./interaction/playground.py --pem=my.pem --proxy=https://testnet-gateway.elrond.com --contract=erd1... +``` diff --git a/contracts/multisig/interact-rs/.gitignore b/contracts/adder/interact/.gitignore similarity index 52% rename from contracts/multisig/interact-rs/.gitignore rename to contracts/adder/interact/.gitignore index 3b2d7e7b..ea1b9200 100644 --- a/contracts/multisig/interact-rs/.gitignore +++ b/contracts/adder/interact/.gitignore @@ -1,10 +1,8 @@ # Pem files are used for interactions, but shouldn't be committed *.pem -# Be very careful not to commit your own .pem files. -# Alice and Bob are public, do NEVER use them on the mainnet. -!alice.pem -!bob.pem - # Temporary storage of deployed contract address, so we can preserve the context between executions. -multisig_address.txt +state.toml + +# Trace file of interactor tooling +interactor_trace.scen.json diff --git a/contracts/adder/interact/Cargo.toml b/contracts/adder/interact/Cargo.toml new file mode 100644 index 00000000..36b36c2d --- /dev/null +++ b/contracts/adder/interact/Cargo.toml @@ -0,0 +1,21 @@ +[package] +name = "adder-interact" +version = "0.0.0" +authors = ["Ovidiu Stinga "] +edition = "2021" +publish = false + +[[bin]] +name = "adder-interact" +path = "src/adder_interact.rs" + +[dependencies] +clap = { version = "4.1.0", features = ["derive", "cargo"] } +serde = { version = "1.0", features = ["derive"] } +toml = "0.7.2" + +[dependencies.adder] +path = ".." + +[dependencies.multiversx-sc-snippets] +version = "0.43.3" diff --git a/contracts/adder/interact/config.toml b/contracts/adder/interact/config.toml new file mode 100644 index 00000000..b7fe10a5 --- /dev/null +++ b/contracts/adder/interact/config.toml @@ -0,0 +1 @@ +gateway = 'https://testnet-gateway.multiversx.com' diff --git a/contracts/adder/interact/src/adder_interact.rs b/contracts/adder/interact/src/adder_interact.rs new file mode 100644 index 00000000..3102752c --- /dev/null +++ b/contracts/adder/interact/src/adder_interact.rs @@ -0,0 +1,199 @@ +mod adder_interact_cli; +mod adder_interact_config; +mod adder_interact_state; + +use adder::ProxyTrait; +use adder_interact_config::Config; +use adder_interact_state::State; +use clap::Parser; +use multiversx_sc_snippets::{ + env_logger, + multiversx_sc::{storage::mappers::SingleValue, types::Address}, + multiversx_sc_scenario::{ + api::StaticApi, + bech32, + mandos_system::ScenarioRunner, + num_bigint::BigUint, + scenario_format::interpret_trait::{InterpretableFrom, InterpreterContext}, + scenario_model::{ + BytesValue, ScCallStep, ScDeployStep, ScQueryStep, Scenario, TransferStep, TxExpect, + }, + standalone::retrieve_account_as_scenario_set_state, + test_wallets, ContractInfo, + }, + tokio, Interactor, StepBuffer, +}; + +const INTERACTOR_SCENARIO_TRACE_PATH: &str = "interactor_trace.scen.json"; + +#[tokio::main] +async fn main() { + env_logger::init(); + + let mut adder_interact = AdderInteract::init().await; + + let cli = adder_interact_cli::InteractCli::parse(); + match &cli.command { + Some(adder_interact_cli::InteractCliCommand::Add(args)) => { + adder_interact.add(args.value).await; + }, + Some(adder_interact_cli::InteractCliCommand::Deploy) => { + adder_interact.deploy().await; + }, + Some(adder_interact_cli::InteractCliCommand::Feed) => { + adder_interact.feed_contract_egld().await; + }, + Some(adder_interact_cli::InteractCliCommand::MultiDeploy(args)) => { + adder_interact.multi_deploy(&args.count).await; + }, + Some(adder_interact_cli::InteractCliCommand::Sum) => { + adder_interact.print_sum().await; + }, + None => {}, + } +} + +#[allow(unused)] +struct AdderInteract { + interactor: Interactor, + wallet_address: Address, + adder_code: BytesValue, + state: State, +} + +impl AdderInteract { + async fn init() -> Self { + let config = Config::load_config(); + let mut interactor = Interactor::new(config.gateway()) + .await + .with_tracer(INTERACTOR_SCENARIO_TRACE_PATH) + .await; + let wallet_address = interactor.register_wallet(test_wallets::mike()); + let adder_code = + BytesValue::interpret_from("file:../output/adder.wasm", &InterpreterContext::default()); + + Self { + interactor, + wallet_address, + adder_code, + state: State::load_state(), + } + } + + async fn set_state(&mut self) { + println!("wallet address: {}", bech32::encode(&self.wallet_address)); + let scenario_raw = retrieve_account_as_scenario_set_state( + Config::load_config().gateway().to_string(), + bech32::encode(&self.wallet_address), + true, + ) + .await; + + let scenario = Scenario::interpret_from(scenario_raw, &InterpreterContext::default()); + + self.interactor.pre_runners.run_scenario(&scenario); + self.interactor.post_runners.run_scenario(&scenario); + } + + async fn deploy(&mut self) { + self.set_state().await; + + self.interactor + .sc_deploy_use_result( + ScDeployStep::new() + .call(self.state.default_adder().init(BigUint::from(0u64))) + .from(&self.wallet_address) + .code(&self.adder_code), + |new_address, tr| { + tr.result.unwrap_or_else(|err| { + panic!( + "deploy failed: status: {}, message: {}", + err.status, err.message + ) + }); + + let new_address_bech32 = bech32::encode(&new_address); + println!("new address: {new_address_bech32}"); + + let new_address_expr = format!("bech32:{new_address_bech32}"); + self.state.set_adder_address(&new_address_expr); + }, + ) + .await; + } + + async fn multi_deploy(&mut self, count: &u8) { + if *count == 0 { + println!("count must be greater than 0"); + return; + } + + self.set_state().await; + println!("deploying {count} contracts..."); + + let mut steps = Vec::new(); + for _ in 0..*count { + let typed_sc_deploy = ScDeployStep::new() + .call(self.state.default_adder().init(0u32)) + .from(&self.wallet_address) + .code(&self.adder_code) + .gas_limit("70,000,000"); + + steps.push(typed_sc_deploy); + } + + self.interactor + .multi_sc_exec(StepBuffer::from_sc_deploy_vec(&mut steps)) + .await; + + for step in steps.iter() { + // warning: multi deploy not yet fully supported + // only works with last deployed address + // will be addressed in future versions + let new_deployed_address = step.response().new_deployed_address.clone(); + if let Some(new_address) = new_deployed_address { + let new_address_bech32 = bech32::encode(&new_address); + println!("new address: {new_address_bech32}"); + } else { + println!("deploy failed"); + return; + } + } + } + + async fn feed_contract_egld(&mut self) { + let _ = self + .interactor + .transfer( + TransferStep::new() + .from(&self.wallet_address) + .to(self.state.adder()) + .egld_value("0,050000000000000000"), + ) + .await; + } + + async fn add(&mut self, value: u64) { + self.interactor + .sc_call( + ScCallStep::new() + .call(self.state.adder().add(value)) + .from(&self.wallet_address) + .expect( + TxExpect::ok().additional_error_message("performing add failed with: "), + ), + ) + .await; + + println!("successfully performed add"); + } + + async fn print_sum(&mut self) { + self.interactor + .sc_query_use_result(ScQueryStep::new().call(self.state.adder().sum()), |tr| { + let sum: SingleValue = tr.result.unwrap(); + println!("sum: {}", sum.into()); + }) + .await; + } +} diff --git a/contracts/adder/interact/src/adder_interact_cli.rs b/contracts/adder/interact/src/adder_interact_cli.rs new file mode 100644 index 00000000..8818c1bb --- /dev/null +++ b/contracts/adder/interact/src/adder_interact_cli.rs @@ -0,0 +1,39 @@ +use clap::{Args, Parser, Subcommand}; + +/// Adder Interact CLI +#[derive(Default, PartialEq, Eq, Debug, Parser)] +#[command(version, about)] +#[command(propagate_version = true)] +pub struct InteractCli { + #[command(subcommand)] + pub command: Option, +} + +/// Adder Interact CLI Commands +#[derive(Clone, PartialEq, Eq, Debug, Subcommand)] +pub enum InteractCliCommand { + #[command(name = "add", about = "Add value")] + Add(AddArgs), + #[command(name = "deploy", about = "Deploy contract")] + Deploy, + #[command(name = "feed", about = "Feed contract EGLD")] + Feed, + #[command(name = "multi-deploy", about = "Multiple deploy contracts")] + MultiDeploy(MultiDeployArgs), + #[command(name = "sum", about = "Print sum")] + Sum, +} + +#[derive(Default, Clone, PartialEq, Eq, Debug, Args)] +pub struct AddArgs { + /// The value to add + #[arg(short = 'v', long = "value", verbatim_doc_comment)] + pub value: u64, +} + +#[derive(Default, Clone, PartialEq, Eq, Debug, Args)] +pub struct MultiDeployArgs { + /// The number of contracts to deploy + #[arg(short = 'c', long = "count", verbatim_doc_comment)] + pub count: u8, +} diff --git a/contracts/adder/interact/src/adder_interact_config.rs b/contracts/adder/interact/src/adder_interact_config.rs new file mode 100644 index 00000000..e17d0cbe --- /dev/null +++ b/contracts/adder/interact/src/adder_interact_config.rs @@ -0,0 +1,26 @@ +use serde::Deserialize; +use std::io::Read; + +/// Config file +const CONFIG_FILE: &str = "config.toml"; + +/// Adder Interact configuration +#[derive(Debug, Deserialize)] +pub struct Config { + gateway: String, +} + +impl Config { + // Deserializes config from file + pub fn load_config() -> Self { + let mut file = std::fs::File::open(CONFIG_FILE).unwrap(); + let mut content = String::new(); + file.read_to_string(&mut content).unwrap(); + toml::from_str(&content).unwrap() + } + + // Returns the gateway + pub fn gateway(&self) -> &str { + &self.gateway + } +} diff --git a/contracts/adder/interact/src/adder_interact_state.rs b/contracts/adder/interact/src/adder_interact_state.rs new file mode 100644 index 00000000..445eb520 --- /dev/null +++ b/contracts/adder/interact/src/adder_interact_state.rs @@ -0,0 +1,63 @@ +use crate::{ContractInfo, StaticApi}; +use serde::{Deserialize, Serialize}; +use std::{ + io::{Read, Write}, + path::Path, +}; + +/// Default adder address +const DEFAULT_ADDER_ADDRESS: &str = + "0x0000000000000000000000000000000000000000000000000000000000000000"; + +/// State file +const STATE_FILE: &str = "state.toml"; + +pub type AdderContract = ContractInfo>; + +/// Multisig Interact state +#[derive(Debug, Default, Serialize, Deserialize)] +pub struct State { + adder_address: Option, +} + +impl State { + // Deserializes state from file + pub fn load_state() -> Self { + if Path::new(STATE_FILE).exists() { + let mut file = std::fs::File::open(STATE_FILE).unwrap(); + let mut content = String::new(); + file.read_to_string(&mut content).unwrap(); + toml::from_str(&content).unwrap() + } else { + Self::default() + } + } + + /// Sets the adder address + pub fn set_adder_address(&mut self, address: &str) { + self.adder_address = Some(String::from(address)); + } + + /// Returns the adder contract + pub fn adder(&self) -> AdderContract { + AdderContract::new( + self.adder_address + .clone() + .expect("no known adder contract, deploy first"), + ) + } + + /// Returns the adder contract with default address + pub fn default_adder(&self) -> AdderContract { + AdderContract::new(DEFAULT_ADDER_ADDRESS) + } +} + +impl Drop for State { + // Serializes state to file + fn drop(&mut self) { + let mut file = std::fs::File::create(STATE_FILE).unwrap(); + file.write_all(toml::to_string(self).unwrap().as_bytes()) + .unwrap(); + } +} diff --git a/contracts/adder/interaction/Adder.erdjs.md b/contracts/adder/interaction/Adder.erdjs.md new file mode 100644 index 00000000..8df942b3 --- /dev/null +++ b/contracts/adder/interaction/Adder.erdjs.md @@ -0,0 +1,22 @@ +# Adder + +First [set up a node terminal](../../../../tutorial/src/interaction/interaction-basic.md). + +```javascript +let erdjs = await require('@elrondnetwork/erdjs'); +let { erdSys, wallets: { alice } } = await erdjs.setupInteractive("local-testnet"); + +let adder = await erdSys.loadWrapper("contracts/examples/adder"); + +// Deploy the adder contract with an initial value of 42 +await adder.sender(alice).gas(20_000_000).call.deploy(42); + +// Check that the sum is 42 +await adder.query.getSum().then((sum) => sum.toString()); + +await adder.gas(3_000_000).call.add(30); + +// Check that the sum is 72 +await adder.query.getSum().then((sum) => sum.toString()); + +``` diff --git a/contracts/adder/interaction/devnet.snippets.sh b/contracts/adder/interaction/devnet.snippets.sh new file mode 100644 index 00000000..1966381c --- /dev/null +++ b/contracts/adder/interaction/devnet.snippets.sh @@ -0,0 +1,25 @@ +ALICE="${USERS}/alice.pem" +ADDRESS=$(mxpy data load --key=address-devnet) +DEPLOY_TRANSACTION=$(mxpy data load --key=deployTransaction-devnet) + +deploy() { + mxpy --verbose contract deploy --project=${PROJECT} --recall-nonce --pem=${ALICE} --gas-limit=50000000 --arguments 0 --send --outfile="deploy-devnet.interaction.json" || return + + TRANSACTION=$(mxpy data parse --file="deploy-devnet.interaction.json" --expression="data['emittedTransactionHash']") + ADDRESS=$(mxpy data parse --file="deploy-devnet.interaction.json" --expression="data['contractAddress']") + + mxpy data store --key=address-devnet --value=${ADDRESS} + mxpy data store --key=deployTransaction-devnet --value=${TRANSACTION} + + echo "" + echo "Smart contract address: ${ADDRESS}" +} + +add() { + read -p "Enter number: " NUMBER + mxpy --verbose contract call ${ADDRESS} --recall-nonce --pem=${ALICE} --gas-limit=50000000 --function="add" --arguments ${NUMBER} --send +} + +getSum() { + mxpy --verbose contract query ${ADDRESS} --function="getSum" +} diff --git a/contracts/adder/interaction/testnet.snippets.sh b/contracts/adder/interaction/testnet.snippets.sh new file mode 100644 index 00000000..6bb5d71a --- /dev/null +++ b/contracts/adder/interaction/testnet.snippets.sh @@ -0,0 +1,26 @@ +ALICE="${USERS}/alice.pem" +ADDRESS=$(mxpy data load --key=address-testnet) +DEPLOY_TRANSACTION=$(mxpy data load --key=deployTransaction-testnet) +PROXY=https://testnet-api.elrond.com + +deploy() { + mxpy --verbose contract deploy --project=${PROJECT} --recall-nonce --pem=${ALICE} --gas-limit=50000000 --arguments 0 --send --outfile="deploy-testnet.interaction.json" --proxy=${PROXY} --chain=T || return + + TRANSACTION=$(mxpy data parse --file="deploy-testnet.interaction.json" --expression="data['emittedTransactionHash']") + ADDRESS=$(mxpy data parse --file="deploy-testnet.interaction.json" --expression="data['contractAddress']") + + mxpy data store --key=address-testnet --value=${ADDRESS} + mxpy data store --key=deployTransaction-testnet --value=${TRANSACTION} + + echo "" + echo "Smart contract address: ${ADDRESS}" +} + +add() { + read -p "Enter number: " NUMBER + mxpy --verbose contract call ${ADDRESS} --recall-nonce --pem=${ALICE} --gas-limit=5000000 --function="add" --arguments ${NUMBER} --send --proxy=${PROXY} --chain=T +} + +getSum() { + mxpy --verbose contract query ${ADDRESS} --function="getSum" --proxy=${PROXY} +} diff --git a/contracts/adder/meta/Cargo.toml b/contracts/adder/meta/Cargo.toml index 9e0fccf9..d92e8a76 100644 --- a/contracts/adder/meta/Cargo.toml +++ b/contracts/adder/meta/Cargo.toml @@ -3,6 +3,7 @@ name = "adder-meta" version = "0.0.0" edition = "2021" publish = false + [dependencies.adder] path = ".." diff --git a/contracts/adder/mxsc-template.toml b/contracts/adder/mxsc-template.toml new file mode 100644 index 00000000..1fceff0a --- /dev/null +++ b/contracts/adder/mxsc-template.toml @@ -0,0 +1,18 @@ +name = "adder" +contract_trait = "Adder" +src_file = "adder.rs" +rename_pairs = [ + [ + "blockchain.set_current_dir_from_workspace(\"contracts/examples/adder\");", + "// blockchain.set_current_dir_from_workspace(\"relative path to your workspace, if applicable\");", + ], +] +files_include = [ + "meta", + "scenarios", + "src", + "tests", + "wasm/Cargo.toml", + "Cargo.toml", + "README.md", +] diff --git a/contracts/adder/scenarios/interactor_trace.scen.json b/contracts/adder/scenarios/interactor_trace.scen.json new file mode 100644 index 00000000..bb20201b --- /dev/null +++ b/contracts/adder/scenarios/interactor_trace.scen.json @@ -0,0 +1,80 @@ +{ + "steps": [ + { + "step": "setState", + "accounts": { + "0xe32afedc904fe1939746ad973beb383563cf63642ba669b3040f9b9428a5ed60": { + "nonce": "481", + "balance": "106274669842530000003", + "esdt": { + "str:CAN-14dc0a": "1000", + "str:CAN-2abf4b": "1000", + "str:CAN-6d39e6": "1000", + "str:CAN-ac1592": "1000" + }, + "username": "" + } + } + }, + { + "step": "setState", + "newAddresses": [ + { + "creatorAddress": "0xe32afedc904fe1939746ad973beb383563cf63642ba669b3040f9b9428a5ed60", + "creatorNonce": "481", + "newAddress": "0x0000000000000000050028600ceb73ac22ec0b6f257aff7bed74dffa3ebfed60" + } + ] + }, + { + "step": "scDeploy", + "id": "", + "tx": { + "from": "0xe32afedc904fe1939746ad973beb383563cf63642ba669b3040f9b9428a5ed60", + "contractCode": "file:../output/adder.wasm", + "arguments": [ + "0x00" + ], + "gasLimit": "70,000,000", + "gasPrice": "" + }, + "expect": { + "status": "0" + } + }, + { + "step": "scCall", + "id": "", + "tx": { + "from": "0xe32afedc904fe1939746ad973beb383563cf63642ba669b3040f9b9428a5ed60", + "to": "0x0000000000000000050028600ceb73ac22ec0b6f257aff7bed74dffa3ebfed60", + "function": "add", + "arguments": [ + "0x07" + ], + "gasLimit": "70,000,000", + "gasPrice": "" + }, + "expect": { + "status": "0" + } + }, + { + "step": "scCall", + "id": "", + "tx": { + "from": "0xe32afedc904fe1939746ad973beb383563cf63642ba669b3040f9b9428a5ed60", + "to": "0x0000000000000000050028600ceb73ac22ec0b6f257aff7bed74dffa3ebfed60", + "function": "add", + "arguments": [ + "0x05" + ], + "gasLimit": "70,000,000", + "gasPrice": "" + }, + "expect": { + "status": "0" + } + } + ] +} \ No newline at end of file diff --git a/contracts/adder/tests/adder_mandos_constructed_raw_test.rs b/contracts/adder/tests/adder_blackbox_test.rs similarity index 75% rename from contracts/adder/tests/adder_mandos_constructed_raw_test.rs rename to contracts/adder/tests/adder_blackbox_test.rs index c3f903e8..3d2e1665 100644 --- a/contracts/adder/tests/adder_mandos_constructed_raw_test.rs +++ b/contracts/adder/tests/adder_blackbox_test.rs @@ -1,38 +1,40 @@ use multiversx_sc_scenario::{scenario_model::*, *}; +const ADDER_PATH_EXPR: &str = "file:output/adder.wasm"; + fn world() -> ScenarioWorld { let mut blockchain = ScenarioWorld::new(); - blockchain.set_current_dir_from_workspace("contracts/adder"); + blockchain.set_current_dir_from_workspace("contracts/examples/adder"); - blockchain.register_contract("file:output/adder.wasm", adder::ContractBuilder); + blockchain.register_contract(ADDER_PATH_EXPR, adder::ContractBuilder); blockchain } #[test] -fn adder_mandos_constructed_raw() { +fn adder_blackbox_raw() { let mut world = world(); - let ic = world.interpreter_context(); + let adder_code = world.code_expression(ADDER_PATH_EXPR); + world .set_state_step( SetStateStep::new() .put_account("address:owner", Account::new().nonce(1)) .new_address("address:owner", 1, "sc:adder"), ) - .sc_deploy_step( + .sc_deploy( ScDeployStep::new() .from("address:owner") - .contract_code("file:output/adder.wasm", &ic) + .code(adder_code) .argument("5") - .gas_limit("5,000,000") .expect(TxExpect::ok().no_result()), ) - .sc_query_step( + .sc_query( ScQueryStep::new() .to("sc:adder") .function("getSum") .expect(TxExpect::ok().result("5")), ) - .sc_call_step( + .sc_call( ScCallStep::new() .from("address:owner") .to("sc:adder") diff --git a/contracts/adder/tests/adder_blackbox_upgrade_test.rs b/contracts/adder/tests/adder_blackbox_upgrade_test.rs new file mode 100644 index 00000000..1e3301f3 --- /dev/null +++ b/contracts/adder/tests/adder_blackbox_upgrade_test.rs @@ -0,0 +1,50 @@ +use multiversx_sc_scenario::{scenario_model::*, *}; + +const ADDER_PATH_EXPR: &str = "file:output/adder.wasm"; + +fn world() -> ScenarioWorld { + let mut blockchain = ScenarioWorld::new(); + blockchain.set_current_dir_from_workspace("contracts/examples/adder"); + + blockchain.register_contract("file:output/adder.wasm", adder::ContractBuilder); + blockchain +} + +#[test] +fn adder_blackbox_upgrade() { + let mut world = world(); + let adder_code = world.code_expression(ADDER_PATH_EXPR); + + world + .set_state_step( + SetStateStep::new() + .put_account("address:owner", Account::new().nonce(1)) + .new_address("address:owner", 1, "sc:adder"), + ) + .sc_deploy( + ScDeployStep::new() + .from("address:owner") + .code(&adder_code) + .argument("5") + .gas_limit("5,000,000") + .expect(TxExpect::ok().no_result()), + ) + .sc_call( + ScCallStep::new() + .from("address:owner") + .to("sc:adder") + .function("upgradeContract") + .argument(&adder_code) + .argument("0x0502") // codeMetadata + .argument("8") // contract argument + .expect(TxExpect::ok().no_result()), + ) + .check_state_step( + CheckStateStep::new() + .put_account("address:owner", CheckAccount::new()) + .put_account( + "sc:adder", + CheckAccount::new().check_storage("str:sum", "8"), + ), + ); +} diff --git a/contracts/adder/tests/adder_mandos_constructed_with_calls_test.rs b/contracts/adder/tests/adder_blackbox_with_values_test.rs similarity index 56% rename from contracts/adder/tests/adder_mandos_constructed_with_calls_test.rs rename to contracts/adder/tests/adder_blackbox_with_values_test.rs index 5d987890..62173c5c 100644 --- a/contracts/adder/tests/adder_mandos_constructed_with_calls_test.rs +++ b/contracts/adder/tests/adder_blackbox_with_values_test.rs @@ -1,48 +1,51 @@ use adder::*; use multiversx_sc::storage::mappers::SingleValue; -use multiversx_sc_scenario::{num_bigint::BigUint, scenario_model::*, *}; +use multiversx_sc_scenario::{api::StaticApi, num_bigint::BigUint, scenario_model::*, *}; + +const ADDER_PATH_EXPR: &str = "file:output/adder.wasm"; fn world() -> ScenarioWorld { let mut blockchain = ScenarioWorld::new(); - blockchain.set_current_dir_from_workspace("contracts/adder"); + blockchain.set_current_dir_from_workspace("contracts/examples/adder"); blockchain.register_contract("file:output/adder.wasm", adder::ContractBuilder); blockchain } #[test] -fn adder_scenario_constructed_raw() { - let _ = DebugApi::dummy(); +fn adder_blackbox_with_values() { let mut world = world(); - let ic = world.interpreter_context(); let owner_address = "address:owner"; - let mut adder_contract = ContractInfo::>::new("sc:adder"); + let mut adder_contract = ContractInfo::>::new("sc:adder"); + let adder_code = world.code_expression(ADDER_PATH_EXPR); world + .start_trace() .set_state_step( SetStateStep::new() .put_account(owner_address, Account::new().nonce(1)) .new_address(owner_address, 1, "sc:adder"), ) - .sc_deploy_step( + .sc_deploy_use_result( ScDeployStep::new() .from(owner_address) - .contract_code("file:output/adder.wasm", &ic) - .call(adder_contract.init(5u32)) - .gas_limit("5,000,000") - .expect(TxExpect::ok().no_result()), + .code(adder_code) + .call(adder_contract.init(5u32)), + |new_address, _: TypedResponse<()>| { + assert_eq!(new_address, adder_contract.to_address()); + }, ) - .sc_query_step( + .sc_query( ScQueryStep::new() .to(&adder_contract) - .call_expect(adder_contract.sum(), SingleValue::from(BigUint::from(5u32))), + .call(adder_contract.sum()) + .expect_value(SingleValue::from(BigUint::from(5u32))), ) - .sc_call_step( + .sc_call( ScCallStep::new() .from(owner_address) .to(&adder_contract) - .call(adder_contract.add(3u32)) - .expect(TxExpect::ok().no_result()), + .call(adder_contract.add(3u32)), ) .check_state_step( CheckStateStep::new() diff --git a/contracts/adder/tests/adder_mandos_constructed_with_results_test.rs b/contracts/adder/tests/adder_mandos_constructed_with_results_test.rs deleted file mode 100644 index 2e5029a7..00000000 --- a/contracts/adder/tests/adder_mandos_constructed_with_results_test.rs +++ /dev/null @@ -1,61 +0,0 @@ -use adder::*; -use multiversx_sc::storage::mappers::SingleValue; -use multiversx_sc_scenario::{num_bigint::BigUint, scenario_model::*, *}; // TODO: clean up imports - -fn world() -> ScenarioWorld { - let mut blockchain = ScenarioWorld::new(); - blockchain.set_current_dir_from_workspace("contracts/adder"); - - blockchain.register_contract("file:output/adder.wasm", adder::ContractBuilder); - blockchain -} - -#[test] -fn adder_mandos_constructed() { - let _ = DebugApi::dummy(); - let mut world = world(); - let ic = world.interpreter_context(); - - let owner_address = "address:owner"; - let mut adder_contract = ContractInfo::>::new("sc:adder"); - - world.set_state_step( - SetStateStep::new() - .put_account(owner_address, Account::new().nonce(1)) - .new_address(owner_address, 1, &adder_contract), - ); - - // deploy - let (new_address, ()) = adder_contract - .init(5u32) - .into_blockchain_call() - .from(owner_address) - .contract_code("file:output/adder.wasm", &ic) - .gas_limit("5,000,000") - .expect(TxExpect::ok().no_result()) - .execute(&mut world); - assert_eq!(new_address, adder_contract.to_address()); - - // query, gets saved in the trace - let result: SingleValue = adder_contract.sum().into_vm_query().execute(&mut world); - assert_eq!(result.into(), BigUint::from(5u32)); - - let () = adder_contract - .add(3u32) - .into_blockchain_call() - .from(owner_address) - .gas_limit(5000000) - .expect(TxExpect::ok().no_result()) - .execute(&mut world); - - 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("trace2.scen.json"); -} diff --git a/contracts/adder/tests/adder_scenario_go_test.rs b/contracts/adder/tests/adder_scenario_go_test.rs index 17e846e2..bed4ae01 100644 --- a/contracts/adder/tests/adder_scenario_go_test.rs +++ b/contracts/adder/tests/adder_scenario_go_test.rs @@ -1,4 +1,15 @@ +use multiversx_sc_scenario::*; + +fn world() -> ScenarioWorld { + ScenarioWorld::vm_go() +} + #[test] fn adder_go() { - multiversx_sc_scenario::run_go("scenarios/adder.scen.json"); + world().run("scenarios/adder.scen.json"); +} + +#[test] +fn interactor_trace_go() { + world().run("scenarios/interactor_trace.scen.json"); } diff --git a/contracts/adder/tests/adder_scenario_rs_test.rs b/contracts/adder/tests/adder_scenario_rs_test.rs index 3b6f2322..a92de289 100644 --- a/contracts/adder/tests/adder_scenario_rs_test.rs +++ b/contracts/adder/tests/adder_scenario_rs_test.rs @@ -2,7 +2,7 @@ use multiversx_sc_scenario::*; fn world() -> ScenarioWorld { let mut blockchain = ScenarioWorld::new(); - blockchain.set_current_dir_from_workspace("contracts/adder"); + blockchain.set_current_dir_from_workspace("contracts/examples/adder"); blockchain.register_contract("file:output/adder.wasm", adder::ContractBuilder); blockchain @@ -10,5 +10,10 @@ fn world() -> ScenarioWorld { #[test] fn adder_rs() { - multiversx_sc_scenario::run_rs("scenarios/adder.scen.json", world()); + world().run("scenarios/adder.scen.json"); +} + +#[test] +fn interactor_trace_rs() { + world().run("scenarios/interactor_trace.scen.json"); } diff --git a/contracts/adder/tests/adder_test.rs b/contracts/adder/tests/adder_test.rs index 0ff29a4a..38393828 100644 --- a/contracts/adder/tests/adder_test.rs +++ b/contracts/adder/tests/adder_test.rs @@ -1,12 +1,10 @@ use adder::*; use multiversx_sc::types::BigUint; -use multiversx_sc_scenario::DebugApi; +use multiversx_sc_scenario::api::SingleTxApi; #[test] -fn test_add() { - let _ = DebugApi::dummy(); - - let adder = adder::contract_obj::(); +fn adder_unit_test() { + let adder = adder::contract_obj::(); adder.init(BigUint::from(5u32)); assert_eq!(BigUint::from(5u32), adder.sum().get()); diff --git a/contracts/adder/tests/adder_whitebox_test.rs b/contracts/adder/tests/adder_whitebox_test.rs new file mode 100644 index 00000000..97916d4e --- /dev/null +++ b/contracts/adder/tests/adder_whitebox_test.rs @@ -0,0 +1,50 @@ +use adder::*; +use multiversx_sc_scenario::{scenario_model::*, *}; + +const ADDER_PATH_EXPR: &str = "file:output/adder.wasm"; + +fn world() -> ScenarioWorld { + let mut blockchain = ScenarioWorld::new(); + blockchain.set_current_dir_from_workspace("contracts/examples/adder"); + + blockchain.register_contract("file:output/adder.wasm", adder::ContractBuilder); + blockchain +} + +#[test] +fn adder_whitebox() { + let mut world = world(); + let adder_whitebox = WhiteboxContract::new("sc:adder", adder::contract_obj); + let adder_code = world.code_expression(ADDER_PATH_EXPR); + + world + .set_state_step( + SetStateStep::new() + .put_account("address:owner", Account::new().nonce(1)) + .new_address("address:owner", 1, "sc:adder"), + ) + .whitebox_deploy( + &adder_whitebox, + ScDeployStep::new().from("address:owner").code(adder_code), + |sc| { + sc.init(5u32.into()); + }, + ) + .whitebox_query(&adder_whitebox, |sc| { + let sum_value = sc.sum(); + assert_eq!(sum_value.get(), 5u32); + }) + .whitebox_call( + &adder_whitebox, + ScCallStep::new().from("address:owner"), + |sc| sc.add(3u32.into()), + ) + .check_state_step( + CheckStateStep::new() + .put_account("address:owner", CheckAccount::new()) + .put_account( + "sc:adder", + CheckAccount::new().check_storage("str:sum", "8"), + ), + ); +} diff --git a/contracts/adder/wasm/Cargo.lock b/contracts/adder/wasm/Cargo.lock index 3620c4ee..77838272 100755 --- a/contracts/adder/wasm/Cargo.lock +++ b/contracts/adder/wasm/Cargo.lock @@ -81,9 +81,7 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfbe80ec68fedf299dd65469f8999cf3c0f884ffa497122428f08303bcb8b884" +version = "0.43.3" dependencies = [ "bitflags", "hashbrown", @@ -95,9 +93,7 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d70ea458247d263b7e9fdfb207530b6a530546247139c162450e515c013a18" +version = "0.18.1" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -105,9 +101,7 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ad6920f80fda67fc60fd51aaa9f83ec7e069470f60a068c81205f9da5d05a30" +version = "0.18.1" dependencies = [ "hex", "proc-macro2", @@ -117,9 +111,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c2b87d817f2176bf1830bef938884f24267516c334a377e71a96bc18ebb09c1" +version = "0.43.3" dependencies = [ "hex", "proc-macro2", @@ -130,9 +122,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "932327626de71eeb1dbe86b863cc70cc532f8ceba8e73a059410f6aa56b22a77" +version = "0.43.3" dependencies = [ "multiversx-sc", ] @@ -163,9 +153,9 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.67" +version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" +checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" dependencies = [ "unicode-ident", ] @@ -208,9 +198,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.12" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" [[package]] name = "version_check" diff --git a/contracts/adder/wasm/Cargo.toml b/contracts/adder/wasm/Cargo.toml index 1bba7afa..b11ffea4 100644 --- a/contracts/adder/wasm/Cargo.toml +++ b/contracts/adder/wasm/Cargo.toml @@ -7,17 +7,20 @@ publish = false [lib] crate-type = ["cdylib"] + [profile.release] codegen-units = 1 opt-level = "z" lto = true debug = false panic = "abort" + [dependencies.adder] path = ".." [dependencies.multiversx-sc-wasm-adapter] version = "0.43.3" +path = "../../../../framework/wasm-adapter" [workspace] members = ["."] diff --git a/contracts/adder/wasm/src/lib.rs b/contracts/adder/wasm/src/lib.rs index d14d54c5..0e883af1 100644 --- a/contracts/adder/wasm/src/lib.rs +++ b/contracts/adder/wasm/src/lib.rs @@ -10,6 +10,7 @@ // Total number of exported functions: 4 #![no_std] +#![allow(internal_features)] #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); @@ -18,9 +19,10 @@ multiversx_sc_wasm_adapter::panic_handler!(); multiversx_sc_wasm_adapter::endpoints! { adder ( - getSum - add + init => init + getSum => sum + add => add ) } -multiversx_sc_wasm_adapter::empty_callback! {} +multiversx_sc_wasm_adapter::async_callback_empty! {} diff --git a/contracts/multisig/Cargo.toml b/contracts/multisig/Cargo.toml index a765fd9a..6ef91dc9 100644 --- a/contracts/multisig/Cargo.toml +++ b/contracts/multisig/Cargo.toml @@ -7,22 +7,24 @@ publish = false [lib] path = "src/multisig.rs" + [dependencies.multiversx-sc] version = "0.43.3" [dependencies.multiversx-sc-modules] version = "0.43.3" -[dev-dependencies] -num-bigint = "0.4.2" -num-traits = "0.2" -hex = "0.4" - [dev-dependencies.multiversx-sc-scenario] version = "0.43.3" [dev-dependencies.adder] -path = "../adder" [dev-dependencies.factorial] -path = "../factorial" + +[dev-dependencies.multiversx-wegld-swap-sc] +version = "0.43.3" + +[dev-dependencies] +num-bigint = "0.4.2" +num-traits = "0.2" +hex = "0.4" diff --git a/contracts/multisig/README.md b/contracts/multisig/README.md index 55ec044f..0e5e3b86 100644 --- a/contracts/multisig/README.md +++ b/contracts/multisig/README.md @@ -27,14 +27,14 @@ The required guidelines are: * **No libraries.** Extending the last guideline, our contract has no upstream dependencies other than itself. This minimizes the chance of us misunderstanding or misusing some piece of library code. It also forces us to stay simple and eases auditing and eventually formal verification. -* **Minimal internal state.** Complex applications can be built inside of Elrond smart contracts. Storing minimal internal state allows our contract’s code to be simpler, and to be written in a more functional style, which is easier to test and reason about. +* **Minimal internal state.** Complex applications can be built inside of MultiversX smart contracts. Storing minimal internal state allows our contract’s code to be simpler, and to be written in a more functional style, which is easier to test and reason about. * **Uses cold-storage.** The proposer which creates an action or spends from the contract has no special rights or access to the MSC. Authorization is handled by directly signing messages by the board members’ wallets that can be hardware wallets (Trezor; Ledger, etc.) or software wallets. * **Complete end-to-end testing.** The contract itself is exhaustively unit tested, audited and formally verified. ## Roles -* **Deployer** - This is the address that deploys the MSC. By default this address is also the owner of the SC, but the owner can be changed later if required, as this is by default supported by the Elrond protocol itself. This is the address that initially set up the configuration of the SC: board members, quorum, etc. It is important to mention that at deployment a very important configuration parameter is the option to allow the SC to be upgradeable or not. It is recommended for most use cases the SC to be non-upgradeable. Leaving the SC upgradable will give the owner of the SC the possibility to upgrade the SC and bypass the board, defeating the purpose of a MSC. If keeping the SC upgradeable is desired, a possible approach would be to make the owner another MSC, and both SCs could maintain the same board, so an upgrade action would need the approval of the board. +* **Deployer** - This is the address that deploys the MSC. By default this address is also the owner of the SC, but the owner can be changed later if required, as this is by default supported by the MultiversX protocol itself. This is the address that initially set up the configuration of the SC: board members, quorum, etc. It is important to mention that at deployment a very important configuration parameter is the option to allow the SC to be upgradeable or not. It is recommended for most use cases the SC to be non-upgradeable. Leaving the SC upgradable will give the owner of the SC the possibility to upgrade the SC and bypass the board, defeating the purpose of a MSC. If keeping the SC upgradeable is desired, a possible approach would be to make the owner another MSC, and both SCs could maintain the same board, so an upgrade action would need the approval of the board. * **Owner** - The deployer is initially the owner of the MSC, but if desired can be changed later by the current owner to a different owner. If the SC is upgradeable, the owner can also upgrade the SC. @@ -79,4 +79,4 @@ MSC is a deployable SC written in Rust and compiled in WASM. ## Conclusion -Multisig accounts are a critical safety feature for all users of the Elrond ecosystem. Decentralised applications will rely heavily upon multisig security. +Multisig accounts are a critical safety feature for all users of the MultiversX ecosystem. Decentralised applications will rely heavily upon multisig security. diff --git a/contracts/multisig/interact-rs/alice.pem b/contracts/multisig/interact-rs/alice.pem deleted file mode 100644 index d27bb68b..00000000 --- a/contracts/multisig/interact-rs/alice.pem +++ /dev/null @@ -1,5 +0,0 @@ ------BEGIN PRIVATE KEY for erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th----- -NDEzZjQyNTc1ZjdmMjZmYWQzMzE3YTc3ODc3MTIxMmZkYjgwMjQ1ODUwOTgxZTQ4 -YjU4YTRmMjVlMzQ0ZThmOTAxMzk0NzJlZmY2ODg2NzcxYTk4MmYzMDgzZGE1ZDQy -MWYyNGMyOTE4MWU2Mzg4ODIyOGRjODFjYTYwZDY5ZTE= ------END PRIVATE KEY for erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th----- \ No newline at end of file diff --git a/contracts/multisig/interact-rs/bob.pem b/contracts/multisig/interact-rs/bob.pem deleted file mode 100644 index 00b5bc4e..00000000 --- a/contracts/multisig/interact-rs/bob.pem +++ /dev/null @@ -1,5 +0,0 @@ ------BEGIN PRIVATE KEY for erd1spyavw0956vq68xj8y4tenjpq2wd5a9p2c6j8gsz7ztyrnpxrruqzu66jx----- -YjhjYTZmODIwM2ZiNGI1NDVhOGU4M2M1Mzg0ZGEwMzNjNDE1ZGIxNTViNTNmYjVi -OGViYTdmZjVhMDM5ZDYzOTgwNDlkNjM5ZTVhNjk4MGQxY2QyMzkyYWJjY2U0MTAy -OWNkYTc0YTE1NjM1MjNhMjAyZjA5NjQxY2MyNjE4Zjg= ------END PRIVATE KEY for erd1spyavw0956vq68xj8y4tenjpq2wd5a9p2c6j8gsz7ztyrnpxrruqzu66jx----- \ No newline at end of file diff --git a/contracts/multisig/interact-rs/src/multisig_interact.rs b/contracts/multisig/interact-rs/src/multisig_interact.rs deleted file mode 100644 index 356800df..00000000 --- a/contracts/multisig/interact-rs/src/multisig_interact.rs +++ /dev/null @@ -1,188 +0,0 @@ -mod multisig_interact_nfts; -use multisig::{ - multisig_perform::ProxyTrait as _, multisig_propose::ProxyTrait as _, - multisig_state::ProxyTrait as _, ProxyTrait as _, -}; -use multiversx_sc_modules::dns::ProxyTrait as _; -use multiversx_sc_snippets::{ - dns_address_for_name, env_logger, - erdrs::wallet::Wallet, - multiversx_sc::{ - codec::multi_types::MultiValueVec, - storage::mappers::SingleValue, - types::{Address, CodeMetadata}, - }, - multiversx_sc_scenario::{ - bech32, scenario_format::interpret_trait::InterpreterContext, scenario_model::*, - ContractInfo, DebugApi, - }, - tokio, Interactor, -}; -use std::{ - env::Args, - io::{Read, Write}, -}; - -const GATEWAY: &str = multiversx_sc_snippets::erdrs::blockchain::TESTNET_GATEWAY; -const PEM: &str = "alice.pem"; -const DEFAULT_MULTISIG_ADDRESS_EXPR: &str = - "0x0000000000000000000000000000000000000000000000000000000000000000"; -const SYSTEM_SC_BECH32: &str = "erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqzllls8a5w6u"; - -type MultisigContract = ContractInfo>; - -#[tokio::main] -async fn main() { - env_logger::init(); - let _ = DebugApi::dummy(); - - let mut args = std::env::args(); - let _ = args.next(); - let cmd = args.next().expect("at least one argument required"); - let mut state = State::init(args).await; - match cmd.as_str() { - "deploy" => state.deploy().await, - "feed" => state.feed_contract_egld().await, - "nft-full" => state.issue_multisig_and_collection_full().await, - "nft-issue" => state.issue_collection().await, - "nft-special" => state.set_special_role().await, - "nft-items" => state.create_items().await, - "quorum" => state.print_quorum().await, - "board" => state.print_board().await, - "dns-register" => state.dns_register().await, - _ => panic!("unknown command: {}", &cmd), - } -} - -struct State { - interactor: Interactor, - wallet_address: Address, - multisig: MultisigContract, - system_sc_address: Address, - collection_token_identifier: String, - #[allow(dead_code)] - args: Args, -} - -impl State { - async fn init(args: Args) -> Self { - let mut interactor = Interactor::new(GATEWAY).await; - let wallet_address = interactor.register_wallet(Wallet::from_pem_file(PEM).unwrap()); - let multisig = MultisigContract::new(load_address_expr()); - State { - interactor, - wallet_address, - multisig, - system_sc_address: bech32::decode(SYSTEM_SC_BECH32), - collection_token_identifier: multisig_interact_nfts::COLLECTION_TOKEN_IDENTIFIER - .to_string(), - args, - } - } - - async fn deploy(&mut self) { - let deploy_result: multiversx_sc_snippets::InteractorResult<()> = self - .interactor - .sc_deploy( - self.multisig - .init(0usize, MultiValueVec::from([self.wallet_address.clone()])) - .into_blockchain_call() - .from(&self.wallet_address) - .code_metadata(CodeMetadata::all()) - .contract_code( - "file:../output/multisig.wasm", - &InterpreterContext::default(), - ) - .gas_limit("70,000,000") - .expect(TxExpect::ok()), - ) - .await; - let new_address = deploy_result.new_deployed_address(); - let new_address_bech32 = bech32::encode(&new_address); - println!("new address: {new_address_bech32}"); - let new_address_expr = format!("bech32:{new_address_bech32}"); - save_address_expr(new_address_expr.as_str()); - self.multisig = MultisigContract::new(new_address_expr); - } - - async fn feed_contract_egld(&mut self) { - let _ = self - .interactor - .transfer( - TransferStep::new() - .from(&self.wallet_address) - .to(&self.multisig) - .egld_value("0,050000000000000000"), - ) - .await; - } - - fn perform_action_step(&mut self, action_id: usize, gas_expr: &str) -> ScCallStep { - self.multisig - .perform_action_endpoint(action_id) - .into_blockchain_call() - .from(&self.wallet_address) - .gas_limit(gas_expr) - .into() - } - - async fn perform_action(&mut self, action_id: usize, gas_expr: &str) { - let sc_call_step = self.perform_action_step(action_id, gas_expr); - let _ = self.interactor.sc_call_get_raw_result(sc_call_step).await; - } - - async fn print_quorum(&mut self) { - let quorum: SingleValue = self.interactor.vm_query(self.multisig.quorum()).await; - - println!("quorum: {}", quorum.into()); - } - - async fn get_action_last_index(&mut self) -> usize { - self.interactor - .vm_query(self.multisig.get_action_last_index()) - .await - } - - async fn print_board(&mut self) { - let board_members: MultiValueVec
= self - .interactor - .vm_query(self.multisig.get_all_board_members()) - .await; - - println!("board members:"); - for board_member in board_members.iter() { - println!(" {}", bech32::encode(board_member)); - } - } - - async fn dns_register(&mut self) { - let name = self.args.next().expect("name argument missing"); - let dns_address = dns_address_for_name(&name); - let dns_register_call: ScCallStep = self - .multisig - .dns_register(dns_address, name) - .into_blockchain_call() - .from(&self.wallet_address) - .gas_limit("30,000,000") - .into(); - self.interactor.sc_call(dns_register_call).await; - } -} - -const SAVED_ADDRESS_FILE_NAME: &str = "multisig_address.txt"; - -fn load_address_expr() -> String { - match std::fs::File::open(SAVED_ADDRESS_FILE_NAME) { - Ok(mut file) => { - let mut contents = String::new(); - file.read_to_string(&mut contents).unwrap(); - contents - }, - Err(_) => DEFAULT_MULTISIG_ADDRESS_EXPR.to_string(), - } -} - -fn save_address_expr(address_expr: &str) { - let mut file = std::fs::File::create(SAVED_ADDRESS_FILE_NAME).unwrap(); - file.write_all(address_expr.as_bytes()).unwrap(); -} diff --git a/contracts/multisig/interact-rs/src/multisig_interact_nfts.rs b/contracts/multisig/interact-rs/src/multisig_interact_nfts.rs deleted file mode 100644 index 0d53f423..00000000 --- a/contracts/multisig/interact-rs/src/multisig_interact_nfts.rs +++ /dev/null @@ -1,134 +0,0 @@ -use std::time::Duration; - -use multiversx_sc_snippets::multiversx_sc::codec::test_util::top_encode_to_vec_u8_or_panic; - -use super::*; - -const ISSUE_COST: u64 = 50000000000000000; // 0.05 EGLD - -const COLLECTION_NAME: &str = "TestCollection1"; -const COLLECTION_TICKER: &str = "TESTCOLL1"; -pub const COLLECTION_TOKEN_IDENTIFIER: &str = "TESTCOLL1-4096bf"; -const NUM_ITEMS: usize = 3; -const ROYALTIES: usize = 3000; -const METADATA: &str = "tags:test,rust-interactor"; - -impl State { - pub async fn issue_multisig_and_collection_full(&mut self) { - self.deploy().await; - self.feed_contract_egld().await; - self.issue_collection().await; - self.set_special_role().await; - self.interactor.sleep(Duration::from_secs(15)).await; - self.create_items().await; - } - - pub async fn propose_issue_collection(&mut self) -> usize { - let system_sc_address = bech32::decode(SYSTEM_SC_BECH32); - let result = self - .interactor - .sc_call_get_result( - self.multisig - .propose_async_call( - system_sc_address, - ISSUE_COST, - "issueNonFungible".to_string(), - MultiValueVec::from([ - COLLECTION_NAME.to_string(), - COLLECTION_TICKER.to_string(), - ]), - ) - .into_blockchain_call() - .from(&self.wallet_address) - .gas_limit("10,000,000") - .expect(TxExpect::ok()), - ) - .await; - result.value() - } - - pub async fn issue_collection(&mut self) { - let action_id = self.propose_issue_collection().await; - println!("propose issue collection: {action_id}"); - let step = self.perform_action_step(action_id, "80,000,000"); - let raw_result = self.interactor.sc_call_get_raw_result(step).await; - self.collection_token_identifier = raw_result.issue_non_fungible_new_token_identifier(); - println!( - "perform issue collection: {}; collection token identifier: {}", - action_id, self.collection_token_identifier - ); - } - - pub async fn propose_set_special_role(&mut self) -> usize { - let multisig_address = self.multisig.to_address(); - let result = self - .interactor - .sc_call_get_result( - self.multisig - .propose_async_call( - &self.system_sc_address, - 0u64, - "setSpecialRole".to_string(), - MultiValueVec::from([ - self.collection_token_identifier.as_bytes(), - multisig_address.as_bytes(), - "ESDTRoleNFTCreate".as_bytes(), - ]), - ) - .into_blockchain_call() - .from(&self.wallet_address) - .gas_limit("10,000,000"), - ) - .await; - result.value() - } - - pub async fn set_special_role(&mut self) { - let action_id = self.propose_set_special_role().await; - println!("propose set special role: {action_id}"); - self.perform_action(action_id, "80,000,000").await; - println!("perform set special role: {action_id}"); - } - - pub async fn create_items(&mut self) { - let mut last_index = self.get_action_last_index().await; - let multisig_address = self.multisig.to_address(); - - let mut steps = Vec::::new(); - for item_index in 0..NUM_ITEMS { - let item_name = format!("Test collection item #{item_index}"); - let image_cid = format!( - "https://ipfs.io/ipfs/QmYyAaEf1phJS5mN6wfou5de5GbpUddBxTY1VekKcjd5PC/nft{item_index:02}.jpeg" - ); - - steps.push( - self.multisig - .propose_async_call( - &multisig_address, - 0u64, - "ESDTNFTCreate".to_string(), - MultiValueVec::from([ - self.collection_token_identifier.as_bytes(), - top_encode_to_vec_u8_or_panic(&1u32).as_slice(), - item_name.as_bytes(), - top_encode_to_vec_u8_or_panic(&ROYALTIES).as_slice(), - &[][..], - METADATA.as_bytes(), - image_cid.as_bytes(), - ]), - ) - .into_blockchain_call() - .from(&self.wallet_address) - .gas_limit("10,000,000") - .into(), - ); - } - - for _ in 0..NUM_ITEMS { - last_index += 1; - steps.push(self.perform_action_step(last_index, "30,000,000")); - } - - self.interactor.multiple_sc_calls(steps.as_slice()).await; - } -} diff --git a/contracts/multisig/interact/.gitignore b/contracts/multisig/interact/.gitignore new file mode 100644 index 00000000..0d3b55f2 --- /dev/null +++ b/contracts/multisig/interact/.gitignore @@ -0,0 +1,8 @@ +# Pem files are used for interactions, but shouldn't be committed +*.pem + +# Temporary storage of deployed contract address, so we can preserve the context between executions. +state.toml + +# Trace file of interactor tooling +interactor*.scen.json diff --git a/contracts/multisig/interact-rs/Cargo.toml b/contracts/multisig/interact/Cargo.toml similarity index 61% rename from contracts/multisig/interact-rs/Cargo.toml rename to contracts/multisig/interact/Cargo.toml index f3b2299a..57dcbd83 100644 --- a/contracts/multisig/interact-rs/Cargo.toml +++ b/contracts/multisig/interact/Cargo.toml @@ -1,13 +1,19 @@ -[[bin]] -name = "multisig-interact" -path = "src/multisig_interact.rs" - [package] name = "multisig-interact" version = "0.0.0" authors = ["Andrei Marinica "] edition = "2021" publish = false + +[[bin]] +name = "multisig-interact" +path = "src/multisig_interact.rs" + +[dependencies] +clap = { version = "4.1.0", features = ["derive", "cargo"] } +serde = { version = "1.0", features = ["derive"] } +toml = "0.7.2" + [dependencies.multisig] path = ".." @@ -15,4 +21,7 @@ path = ".." version = "0.43.3" [dependencies.multiversx-sc-snippets] -version = "0.41.1" +version = "0.43.3" + +[dependencies.multiversx-sc-scenario] +version = "=0.43.3" diff --git a/contracts/multisig/interact/config.toml b/contracts/multisig/interact/config.toml new file mode 100644 index 00000000..1a1e4542 --- /dev/null +++ b/contracts/multisig/interact/config.toml @@ -0,0 +1,2 @@ +gateway = 'https://testnet-gateway.multiversx.com' +quorum = 2 diff --git a/contracts/multisig/interact/src/multisig_interact.rs b/contracts/multisig/interact/src/multisig_interact.rs new file mode 100644 index 00000000..45439167 --- /dev/null +++ b/contracts/multisig/interact/src/multisig_interact.rs @@ -0,0 +1,393 @@ +mod multisig_interact_cli; +mod multisig_interact_config; +mod multisig_interact_nfts; +mod multisig_interact_state; +mod multisig_interact_wegld; + +use clap::Parser; +use multisig::{ + multisig_perform::ProxyTrait as _, multisig_propose::ProxyTrait as _, + multisig_state::ProxyTrait as _, ProxyTrait as _, +}; +use multisig_interact_config::Config; +use multisig_interact_state::State; +use multiversx_sc_modules::dns::ProxyTrait as _; +use multiversx_sc_scenario::{ + mandos_system::ScenarioRunner, multiversx_sc::codec::multi_types::IgnoreValue, + scenario_format::interpret_trait::InterpretableFrom, + standalone::retrieve_account_as_scenario_set_state, test_wallets, +}; +use multiversx_sc_snippets::{ + dns_address_for_name, env_logger, + multiversx_sc::{ + codec::multi_types::MultiValueVec, storage::mappers::SingleValue, types::Address, + }, + multiversx_sc_scenario::{ + api::StaticApi, bech32, scenario_format::interpret_trait::InterpreterContext, + scenario_model::*, ContractInfo, + }, + tokio, Interactor, StepBuffer, +}; + +const SYSTEM_SC_BECH32: &str = "erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqzllls8a5w6u"; +const INTERACTOR_SCENARIO_TRACE_PATH: &str = "interactor_trace.scen.json"; + +#[tokio::main] +async fn main() { + env_logger::init(); + + let mut multisig_interact = MultisigInteract::init().await; + multisig_interact.register_wallets(); + + let cli = multisig_interact_cli::InteractCli::parse(); + match &cli.command { + Some(multisig_interact_cli::InteractCliCommand::Board) => { + multisig_interact.print_board().await; + }, + Some(multisig_interact_cli::InteractCliCommand::Deploy) => { + multisig_interact.deploy().await; + }, + Some(multisig_interact_cli::InteractCliCommand::DnsRegister(args)) => { + multisig_interact.dns_register(&args.name).await; + }, + Some(multisig_interact_cli::InteractCliCommand::Feed) => { + multisig_interact.feed_contract_egld().await; + }, + Some(multisig_interact_cli::InteractCliCommand::MultiDeploy(args)) => { + multisig_interact.multi_deploy(&args.count).await; + }, + Some(multisig_interact_cli::InteractCliCommand::NftFullAllRoles) => { + multisig_interact + .issue_multisig_and_collection_with_all_roles_full() + .await; + }, + Some(multisig_interact_cli::InteractCliCommand::NftFull) => { + multisig_interact.issue_multisig_and_collection_full().await; + }, + Some(multisig_interact_cli::InteractCliCommand::NftIssueAllRoles) => { + multisig_interact.issue_collection_with_all_roles().await; + }, + Some(multisig_interact_cli::InteractCliCommand::NftIssue) => { + multisig_interact.issue_collection().await; + }, + Some(multisig_interact_cli::InteractCliCommand::NftItems) => { + multisig_interact.create_items().await; + }, + Some(multisig_interact_cli::InteractCliCommand::NftSpecial) => { + multisig_interact.set_special_role().await; + }, + Some(multisig_interact_cli::InteractCliCommand::Quorum) => { + multisig_interact.print_quorum().await; + }, + Some(multisig_interact_cli::InteractCliCommand::UnwrapEgld) => { + multisig_interact.unwrap_egld().await; + }, + Some(multisig_interact_cli::InteractCliCommand::WEgldSwapFull) => { + multisig_interact.wegld_swap_full().await; + }, + Some(multisig_interact_cli::InteractCliCommand::WrapEgld) => { + multisig_interact.wrap_egld().await; + }, + None => {}, + } +} + +struct MultisigInteract { + interactor: Interactor, + wallet_address: Address, + system_sc_address: Address, + collection_token_identifier: String, + multisig_code: BytesValue, + state: State, +} + +impl MultisigInteract { + async fn init() -> Self { + let config = Config::load_config(); + let mut interactor = Interactor::new(config.gateway()) + .await + .with_tracer(INTERACTOR_SCENARIO_TRACE_PATH) + .await; + let wallet_address = interactor.register_wallet(test_wallets::mike()); + let multisig_code = BytesValue::interpret_from( + "file:../output/multisig.wasm", + &InterpreterContext::default(), + ); + + Self { + interactor, + wallet_address, + system_sc_address: bech32::decode(SYSTEM_SC_BECH32), + collection_token_identifier: String::new(), + multisig_code, + state: State::load_state(), + } + } + + fn register_wallets(&mut self) { + let carol = test_wallets::carol(); + let dan = test_wallets::dan(); + let eve = test_wallets::eve(); + + for wallet in &[carol, dan, eve] { + self.interactor.register_wallet(*wallet); + } + } + + async fn set_state(&mut self) { + for board_member_address in self.board().iter() { + println!( + "board member address: {}", + bech32::encode(board_member_address) + ); + let scenario_raw = retrieve_account_as_scenario_set_state( + Config::load_config().gateway().to_string(), + bech32::encode(board_member_address), + true, + ) + .await; + + let scenario = Scenario::interpret_from(scenario_raw, &InterpreterContext::default()); + + self.interactor.pre_runners.run_scenario(&scenario); + self.interactor.post_runners.run_scenario(&scenario); + } + + self.wegld_swap_set_state().await; + } + + async fn deploy(&mut self) { + self.set_state().await; + + let board = self.board(); + let (new_address, _) = self + .interactor + .sc_deploy_get_result::<_, IgnoreValue>( + ScDeployStep::new() + .call( + self.state + .default_multisig() + .init(Config::load_config().quorum(), board), + ) + .from(&self.wallet_address) + .code(&self.multisig_code) + .gas_limit("100,000,000") + .expect(TxExpect::ok().additional_error_message("deploy failed: ")), + ) + .await; + + let new_address_bech32 = bech32::encode(&new_address); + println!("new address: {new_address_bech32}"); + + let new_address_expr = format!("bech32:{new_address_bech32}"); + self.state.set_multisig_address(&new_address_expr); + } + + async fn multi_deploy(&mut self, count: &u8) { + if *count == 0 { + println!("count must be greater than 0"); + return; + } + self.set_state().await; + println!("deploying {count} contracts..."); + + let board = self.board(); + let mut steps = Vec::new(); + for _ in 0..*count { + let typed_sc_deploy = ScDeployStep::new() + .call( + self.state + .default_multisig() + .init(Config::load_config().quorum(), board.clone()), + ) + .from(&self.wallet_address) + .code(&self.multisig_code) + .gas_limit("70,000,000"); + + steps.push(typed_sc_deploy); + } + + self.interactor + .multi_sc_exec(StepBuffer::from_sc_deploy_vec(&mut steps)) + .await; + + for step in steps.iter() { + // warning: multi deploy not yet fully supported + // only works with last deployed address + // will be addressed in future versions + let new_deployed_address = step.response().new_deployed_address.clone(); + if let Some(new_address) = new_deployed_address { + let new_address_bech32 = bech32::encode(&new_address); + println!("new address: {new_address_bech32}"); + + let new_address_expr = format!("bech32:{new_address_bech32}"); + self.state.set_multisig_address(&new_address_expr); + } else { + println!("deploy failed"); + return; + } + } + } + + fn board(&mut self) -> MultiValueVec
{ + let carol = test_wallets::carol(); + let dan = test_wallets::dan(); + let eve = test_wallets::eve(); + + MultiValueVec::from([ + self.wallet_address.clone(), + carol.address().to_bytes().into(), + dan.address().to_bytes().into(), + eve.address().to_bytes().into(), + ]) + } + + async fn feed_contract_egld(&mut self) { + let _ = self + .interactor + .transfer( + TransferStep::new() + .from(&self.wallet_address) + .to(self.state.multisig()) + .egld_value("0,050000000000000000"), + ) + .await; + } + + async fn perform_action(&mut self, action_id: usize, gas_expr: &str) { + if !self.quorum_reached(action_id).await && !self.sign(action_id).await { + return; + } + println!("quorum reached for action `{action_id}`"); + + self.interactor + .sc_call( + ScCallStep::new() + .call(self.state.multisig().perform_action_endpoint(action_id)) + .from(&self.wallet_address) + .gas_limit(gas_expr) + .expect(TxExpect::ok().additional_error_message(format!( + "perform action `{action_id}` failed with: " + ))), + ) + .await; + + println!("successfully performed action `{action_id}`"); + } + + async fn perform_actions(&mut self, actions: Vec, gas_expr: &str) { + let mut steps = Vec::new(); + for action_id in actions.iter() { + if !self.quorum_reached(*action_id).await && !self.sign(*action_id).await { + continue; + } + println!("quorum reached for action `{action_id}`"); + + let typed_sc_call = ScCallStep::new() + .call(self.state.multisig().perform_action_endpoint(action_id)) + .from(&self.wallet_address) + .gas_limit(gas_expr); + + steps.push(typed_sc_call); + } + + self.interactor + .multi_sc_exec(StepBuffer::from_sc_call_vec(&mut steps)) + .await; + + for (i, action_id) in actions.iter().enumerate() { + if !steps[i].response().is_success() { + println!( + "perform action `{action_id}` failed with: {}", + steps[i].response().tx_error + ); + continue; + } + + println!("successfully performed action `{action_id}`"); + } + } + + async fn quorum_reached(&mut self, action_id: usize) -> bool { + self.interactor + .quick_query(self.state.multisig().quorum_reached(action_id)) + .await + } + + async fn signed(&mut self, signer: &Address, action_id: usize) -> bool { + self.interactor + .quick_query(self.state.multisig().signed(signer, action_id)) + .await + } + + async fn sign(&mut self, action_id: usize) -> bool { + println!("signing action `{action_id}`..."); + let mut steps = Vec::new(); + for signer in self.board().iter() { + if self.signed(signer, action_id).await { + println!( + "{} - already signed action `{action_id}`", + bech32::encode(signer) + ); + continue; + } + + let typed_sc_call = ScCallStep::new() + .call(self.state.multisig().sign(action_id)) + .from(signer) + .gas_limit("15,000,000"); + + steps.push(typed_sc_call); + } + + self.interactor + .multi_sc_exec(StepBuffer::from_sc_call_vec(&mut steps)) + .await; + + for step in steps.iter() { + if !step.response().is_success() { + println!( + "perform sign `{action_id}` failed with: {}", + step.response().tx_error + ); + return false; + } + } + + println!("successfully performed sign action `{action_id}`"); + true + } + + async fn dns_register(&mut self, name: &str) { + let dns_address = dns_address_for_name(name); + self.interactor + .sc_call( + ScCallStep::new() + .call(self.state.multisig().dns_register(dns_address, name)) + .from(&self.wallet_address) + .gas_limit("30,000,000") + .expect(TxExpect::ok().additional_error_message("dns register failed with: ")), + ) + .await; + + println!("successfully registered dns"); + } + + async fn print_quorum(&mut self) { + let quorum: SingleValue = self + .interactor + .quick_query(self.state.multisig().quorum()) + .await; + + println!("quorum: {}", quorum.into()); + } + + async fn print_board(&mut self) { + let board: SingleValue = self + .interactor + .quick_query(self.state.multisig().num_board_members()) + .await; + + println!("board: {}", board.into()); + } +} diff --git a/contracts/multisig/interact/src/multisig_interact_cli.rs b/contracts/multisig/interact/src/multisig_interact_cli.rs new file mode 100644 index 00000000..49c7f21d --- /dev/null +++ b/contracts/multisig/interact/src/multisig_interact_cli.rs @@ -0,0 +1,68 @@ +use clap::{Args, Parser, Subcommand}; + +/// Multisig Interact CLI +#[derive(Default, PartialEq, Eq, Debug, Parser)] +#[command(version, about)] +#[command(propagate_version = true)] +pub struct InteractCli { + #[command(subcommand)] + pub command: Option, +} + +/// Multisig Interact CLI Commands +#[derive(Clone, PartialEq, Eq, Debug, Subcommand)] +pub enum InteractCliCommand { + #[command(name = "board", about = "Print board")] + Board, + #[command(name = "deploy", about = "Deploy contract")] + Deploy, + #[command(name = "dns-register", about = "Register DNS")] + DnsRegister(DnsRegisterArgs), + #[command(name = "feed", about = "Feed contract EGLD")] + Feed, + #[command(name = "multi-deploy", about = "Multiple deploy contracts")] + MultiDeploy(MultiDeployArgs), + #[command( + name = "nft-full-all-roles", + about = "Issue multisig and collection with all roles" + )] + NftFullAllRoles, + #[command(name = "nft-full", about = "Issue multisig and collection")] + NftFull, + #[command( + name = "nft-issue-all-roles", + about = "Issue collection with all roles" + )] + NftIssueAllRoles, + #[command(name = "nft-issue", about = "Issue collection")] + NftIssue, + #[command(name = "nft-items", about = "Create items")] + NftItems, + #[command(name = "nft-special", about = "Set special role")] + NftSpecial, + #[command(name = "quorum", about = "Print quorum")] + Quorum, + #[command(name = "unwrap-egld", about = "Unwrap EGLD")] + UnwrapEgld, + #[command( + name = "wegld-swap-full", + about = "Deploy and swap WEGLD with multisig" + )] + WEgldSwapFull, + #[command(name = "wrap-egld", about = "Wrap EGLD")] + WrapEgld, +} + +#[derive(Default, Clone, PartialEq, Eq, Debug, Args)] +pub struct DnsRegisterArgs { + /// The name used for the registration (herotag) + #[arg(short = 'n', long = "name", verbatim_doc_comment)] + pub name: String, +} + +#[derive(Default, Clone, PartialEq, Eq, Debug, Args)] +pub struct MultiDeployArgs { + /// The number of contracts to deploy + #[arg(short = 'c', long = "count", verbatim_doc_comment)] + pub count: u8, +} diff --git a/contracts/multisig/interact/src/multisig_interact_config.rs b/contracts/multisig/interact/src/multisig_interact_config.rs new file mode 100644 index 00000000..2a7ea60f --- /dev/null +++ b/contracts/multisig/interact/src/multisig_interact_config.rs @@ -0,0 +1,32 @@ +use serde::Deserialize; +use std::io::Read; + +/// Config file +const CONFIG_FILE: &str = "config.toml"; + +/// Multisig Interact configuration +#[derive(Debug, Deserialize)] +pub struct Config { + gateway: String, + quorum: usize, +} + +impl Config { + // Deserializes config from file + pub fn load_config() -> Self { + let mut file = std::fs::File::open(CONFIG_FILE).unwrap(); + let mut content = String::new(); + file.read_to_string(&mut content).unwrap(); + toml::from_str(&content).unwrap() + } + + // Returns the gateway + pub fn gateway(&self) -> &str { + &self.gateway + } + + // Returns the quorum + pub fn quorum(&self) -> usize { + self.quorum + } +} diff --git a/contracts/multisig/interact/src/multisig_interact_nfts.rs b/contracts/multisig/interact/src/multisig_interact_nfts.rs new file mode 100644 index 00000000..c30858d8 --- /dev/null +++ b/contracts/multisig/interact/src/multisig_interact_nfts.rs @@ -0,0 +1,245 @@ +use std::time::Duration; + +use multiversx_sc_scenario::multiversx_sc::codec::multi_types::IgnoreValue; +use multiversx_sc_snippets::multiversx_sc::codec::test_util::top_encode_to_vec_u8_or_panic; + +use super::*; + +const ISSUE_COST: u64 = 50000000000000000; // 0.05 EGLD + +const COLLECTION_NAME: &str = "TestCollection1"; +const COLLECTION_TICKER: &str = "TESTCOLL1"; +const TOKEN_TYPE: &str = "NFT"; + +const NUM_ITEMS: usize = 3; +const ROYALTIES: usize = 3000; +const METADATA: &str = "tags:test,rust-interactor"; + +impl MultisigInteract { + pub async fn issue_multisig_and_collection_full(&mut self) { + self.deploy().await; + self.feed_contract_egld().await; + self.issue_collection().await; + self.set_special_role().await; + self.interactor.sleep(Duration::from_secs(15)).await; + self.create_items().await; + } + + pub async fn issue_multisig_and_collection_with_all_roles_full(&mut self) { + self.deploy().await; + self.feed_contract_egld().await; + self.issue_collection_with_all_roles().await; + self.interactor.sleep(Duration::from_secs(15)).await; + self.create_items().await; + } + + pub async fn propose_issue_collection_with_all_roles(&mut self) -> usize { + let system_sc_address = bech32::decode(SYSTEM_SC_BECH32); + let action_id = self + .interactor + .sc_call_get_result( + ScCallStep::new() + .call(self.state.multisig().propose_async_call( + system_sc_address, + ISSUE_COST, + "registerAndSetAllRoles".to_string(), + MultiValueVec::from([ + COLLECTION_NAME.as_bytes(), + COLLECTION_TICKER.as_bytes(), + TOKEN_TYPE.as_bytes(), + top_encode_to_vec_u8_or_panic(&0u32).as_slice(), + ]), + )) + .from(&self.wallet_address) + .gas_limit("10,000,000") + .expect(TxExpect::ok().additional_error_message("failed to issue collection")), + ) + .await + .result + .unwrap(); + + println!("successfully proposed issue colllection with roles all action `{action_id}`"); + action_id + } + + pub async fn issue_collection_with_all_roles(&mut self) { + println!("proposing issue collection with all roles..."); + let action_id = self.propose_issue_collection_with_all_roles().await; + + println!("perfoming issue collection with all roles action `{action_id}`..."); + + if !self.quorum_reached(action_id).await && !self.sign(action_id).await { + return; + } + println!("quorum reached for action `{action_id}`"); + + let response: TypedResponse = self + .interactor + .sc_call_get_result( + ScCallStep::new() + .call(self.state.multisig().perform_action_endpoint(action_id)) + .from(&self.wallet_address) + .gas_limit("80,000,000") + .expect(TxExpect::ok().additional_error_message( + "perform issue collection with all roles failed: ", + )), + ) + .await; + self.collection_token_identifier = response + .new_issued_token_identifier + .expect("new token identifier could not be retrieved"); + println!( + "collection token identifier: {}", + self.collection_token_identifier + ); + } + + pub async fn propose_issue_collection(&mut self) -> usize { + let system_sc_address = bech32::decode(SYSTEM_SC_BECH32); + let action_id = self + .interactor + .sc_call_get_result( + ScCallStep::new() + .call(self.state.multisig().propose_async_call( + system_sc_address, + ISSUE_COST, + "issueNonFungible".to_string(), + MultiValueVec::from([ + COLLECTION_NAME.to_string(), + COLLECTION_TICKER.to_string(), + ]), + )) + .from(&self.wallet_address) + .gas_limit("10,000,000"), + ) + .await + .result + .unwrap(); + + println!("successfully proposed issue colllection action `{action_id}`"); + action_id + } + + pub async fn issue_collection(&mut self) { + println!("proposing issue collection..."); + let action_id = self.propose_issue_collection().await; + + println!("perfoming issue collection action `{action_id}`..."); + + if !self.quorum_reached(action_id).await && !self.sign(action_id).await { + return; + } + println!("quorum reached for action `{action_id}`"); + + let response: TypedResponse = + self.interactor + .sc_call_get_result( + ScCallStep::new() + .call(self.state.multisig().perform_action_endpoint(action_id)) + .from(&self.wallet_address) + .gas_limit("80,000,000") + .expect(TxExpect::ok().additional_error_message( + "perform issue collection with all failed: ", + )), + ) + .await; + self.collection_token_identifier = response + .new_issued_token_identifier + .expect("new token identifier could not be retrieved"); + println!( + "collection token identifier: {}", + self.collection_token_identifier + ); + } + + pub async fn propose_set_special_role(&mut self) -> usize { + let multisig_address = self.state.multisig().to_address(); + let action_id = self + .interactor + .sc_call_get_result( + ScCallStep::new() + .call(self.state.multisig().propose_async_call( + &self.system_sc_address, + 0u64, + "setSpecialRole".to_string(), + MultiValueVec::from([ + self.collection_token_identifier.as_bytes(), + multisig_address.as_bytes(), + "ESDTRoleNFTCreate".as_bytes(), + ]), + )) + .from(&self.wallet_address) + .gas_limit("10,000,000"), + ) + .await + .result + .unwrap(); + + println!("successfully proposed set special role with action `{action_id}`"); + action_id + } + + pub async fn set_special_role(&mut self) { + println!("proposing set special role..."); + let action_id = self.propose_set_special_role().await; + + println!("performing set special role action `{action_id}`..."); + self.perform_action(action_id, "80,000,000").await; + } + + pub async fn create_items(&mut self) { + println!("creating items..."); + + let multisig_address = self.state.multisig().to_address(); + let mut steps = Vec::new(); + + for item_index in 0..NUM_ITEMS { + let item_name = format!("Test collection item #{item_index}"); + let image_cid = format!( + "https://ipfs.io/ipfs/QmYyAaEf1phJS5mN6wfou5de5GbpUddBxTY1VekKcjd5PC/nft{item_index:02}.png" + ); + + let typed_sc_call = ScCallStep::new() + .call(self.state.multisig().propose_async_call( + &multisig_address, + 0u64, + "ESDTNFTCreate".to_string(), + MultiValueVec::from([ + self.collection_token_identifier.as_bytes(), + top_encode_to_vec_u8_or_panic(&1u32).as_slice(), + item_name.as_bytes(), + top_encode_to_vec_u8_or_panic(&ROYALTIES).as_slice(), + &[][..], + METADATA.as_bytes(), + image_cid.as_bytes(), + ]), + )) + .from(&self.wallet_address) + .gas_limit("10,000,000"); + + steps.push(typed_sc_call); + } + + self.interactor + .multi_sc_exec(StepBuffer::from_sc_call_vec(&mut steps)) + .await; + + let mut actions = Vec::new(); + for step in steps.iter() { + let result = step.result(); + if result.is_err() { + println!( + "propose ESDTNFTCreate failed with: {}", + result.err().unwrap() + ); + return; + } + + let action_id = result.unwrap(); + println!("successfully proposed ESDTNFTCreate action `{action_id}`"); + actions.push(action_id); + } + + self.perform_actions(actions, "30,000,000").await; + } +} diff --git a/contracts/multisig/interact/src/multisig_interact_state.rs b/contracts/multisig/interact/src/multisig_interact_state.rs new file mode 100644 index 00000000..fef8b8ba --- /dev/null +++ b/contracts/multisig/interact/src/multisig_interact_state.rs @@ -0,0 +1,59 @@ +use crate::{ContractInfo, StaticApi}; +use serde::{Deserialize, Serialize}; +use std::{ + io::{Read, Write}, + path::Path, +}; + +/// Default multisig address +const DEFAULT_MULTISIG_ADDRESS: &str = + "0x0000000000000000000000000000000000000000000000000000000000000000"; + +/// State file +const STATE_FILE: &str = "state.toml"; + +pub type MultisigContract = ContractInfo>; + +/// Multisig Interact state +#[derive(Debug, Default, Serialize, Deserialize)] +pub struct State { + multisig_address: Option, +} + +impl State { + // Deserializes state from file + pub fn load_state() -> Self { + if Path::new(STATE_FILE).exists() { + let mut file = std::fs::File::open(STATE_FILE).unwrap(); + let mut content = String::new(); + file.read_to_string(&mut content).unwrap(); + toml::from_str(&content).unwrap() + } else { + Self::default() + } + } + + /// Sets the multisig address + pub fn set_multisig_address(&mut self, address: &str) { + self.multisig_address = Some(String::from(address)); + } + + /// Returns the multisig contract + pub fn multisig(&self) -> MultisigContract { + MultisigContract::new(self.multisig_address.clone().unwrap()) + } + + /// Returns the multisig contract with default address + pub fn default_multisig(&self) -> MultisigContract { + MultisigContract::new(DEFAULT_MULTISIG_ADDRESS) + } +} + +impl Drop for State { + // Serializes state to file + fn drop(&mut self) { + let mut file = std::fs::File::create(STATE_FILE).unwrap(); + file.write_all(toml::to_string(self).unwrap().as_bytes()) + .unwrap(); + } +} diff --git a/contracts/multisig/interact/src/multisig_interact_wegld.rs b/contracts/multisig/interact/src/multisig_interact_wegld.rs new file mode 100644 index 00000000..5cbf5198 --- /dev/null +++ b/contracts/multisig/interact/src/multisig_interact_wegld.rs @@ -0,0 +1,115 @@ +use std::time::Duration; + +#[allow(unused_imports)] +use multiversx_sc_snippets::multiversx_sc::types::{ + EsdtTokenPayment, MultiValueEncoded, TokenIdentifier, +}; +use multiversx_sc_snippets::{ + multiversx_sc::types::{ContractCall, ContractCallNoPayment}, + multiversx_sc_scenario::{ + mandos_system::ScenarioRunner, scenario_format::interpret_trait::InterpretableFrom, + standalone::retrieve_account_as_scenario_set_state, + }, +}; + +use super::*; + +const WEGLD_SWAP_SC_BECH32: &str = "erd1qqqqqqqqqqqqqpgqcy2wua5cq59y6sxqj2ka3scayh5e5ms7cthqht8xtp"; +const WEGLD_TOKEN_IDENTIFIER: &str = "WEGLD-6cf38e"; +const WRAP_AMOUNT: u64 = 50000000000000000; // 0.05 EGLD +const UNWRAP_AMOUNT: u64 = 25000000000000000; // 0.025 WEGLD + +impl MultisigInteract { + pub async fn wegld_swap_full(&mut self) { + self.deploy().await; + self.feed_contract_egld().await; + self.wrap_egld().await; + self.interactor.sleep(Duration::from_secs(15)).await; + self.unwrap_egld().await; + } + + pub async fn wrap_egld(&mut self) { + println!("proposing wrap egld..."); + let action_id = self.propose_wrap_egld().await; + + println!("perfoming wrap egld action `{action_id}`..."); + self.perform_action(action_id, "15,000,000").await; + } + + pub async fn unwrap_egld(&mut self) { + println!("proposing unwrap egld..."); + let action_id = self.propose_unwrap_egld().await; + + println!("perfoming unwrap egld action `{action_id}`..."); + self.perform_action(action_id, "15,000,000").await; + } + + pub async fn wegld_swap_set_state(&mut self) { + let scenario_raw = retrieve_account_as_scenario_set_state( + Config::load_config().gateway().to_string(), + WEGLD_SWAP_SC_BECH32.to_string(), + true, + ) + .await; + + let scenario = Scenario::interpret_from(scenario_raw, &InterpreterContext::default()); + + self.interactor.pre_runners.run_scenario(&scenario); + self.interactor.post_runners.run_scenario(&scenario); + } + + async fn propose_wrap_egld(&mut self) -> usize { + let action_id = self + .interactor + .sc_call_get_result( + ScCallStep::new() + .call(self.state.multisig().propose_async_call( + bech32::decode(WEGLD_SWAP_SC_BECH32), + WRAP_AMOUNT, + "wrapEgld".to_string(), + MultiValueEncoded::new(), + )) + .from(&self.wallet_address) + .gas_limit("10,000,000"), + ) + .await + .result + .unwrap(); + + println!("successfully proposed wrap egld action `{action_id}`"); + action_id + } + + async fn propose_unwrap_egld(&mut self) -> usize { + let contract_call = ContractCallNoPayment::::new( + bech32::decode(WEGLD_SWAP_SC_BECH32).into(), + "unwrapEgld", + ) + .with_esdt_transfer(EsdtTokenPayment::new( + TokenIdentifier::from(WEGLD_TOKEN_IDENTIFIER), + 0u64, + UNWRAP_AMOUNT.into(), + )) + .into_normalized(); + + let action_id = self + .interactor + .sc_call_get_result( + ScCallStep::new() + .call(self.state.multisig().propose_async_call( + contract_call.basic.to, + 0u64, + contract_call.basic.endpoint_name, + contract_call.basic.arg_buffer.into_multi_value_encoded(), + )) + .from(&self.wallet_address) + .gas_limit("10,000,000"), + ) + .await + .result + .unwrap(); + + println!("successfully proposed unwrap egld action `{action_id}`"); + action_id + } +} diff --git a/contracts/multisig/meta/Cargo.toml b/contracts/multisig/meta/Cargo.toml index 617bf7cc..b5c1ad29 100644 --- a/contracts/multisig/meta/Cargo.toml +++ b/contracts/multisig/meta/Cargo.toml @@ -4,6 +4,7 @@ version = "0.0.0" authors = ["Andrei Marinica "] edition = "2021" publish = false + [dependencies.multisig] path = ".." diff --git a/contracts/multisig/scenarios/interactor_nft.scen.json b/contracts/multisig/scenarios/interactor_nft.scen.json new file mode 100644 index 00000000..f920c34a --- /dev/null +++ b/contracts/multisig/scenarios/interactor_nft.scen.json @@ -0,0 +1,563 @@ +{ + "steps": [ + { + "step": "setState", + "accounts": { + "0xe32afedc904fe1939746ad973beb383563cf63642ba669b3040f9b9428a5ed60": { + "nonce": "584", + "balance": "101517394731540000003", + "esdt": { + "str:CAN-14dc0a": "1000", + "str:CAN-2abf4b": "1000", + "str:CAN-6d39e6": "1000", + "str:CAN-ac1592": "1000" + }, + "username": "" + } + } + }, + { + "step": "setState", + "accounts": { + "0xb2a11555ce521e4944e09ab17549d85b487dcd26c84b5017a39e31a3670889ba": { + "nonce": "239", + "balance": "101639885284140000000", + "esdt": { + "str:TEST-0f54a2": { + "instances": [ + { + "nonce": "1", + "balance": "1" + }, + { + "nonce": "2", + "balance": "1" + } + ] + }, + "str:TEST-48ef66": { + "instances": [ + { + "nonce": "5", + "balance": "1" + }, + { + "nonce": "4", + "balance": "1" + } + ] + }, + "str:TEST-d2b50f": { + "instances": [ + { + "nonce": "1", + "balance": "2" + } + ] + }, + "str:TEST-fb415a": { + "instances": [ + { + "nonce": "3", + "balance": "1" + }, + { + "nonce": "4", + "balance": "1" + }, + { + "nonce": "2", + "balance": "1" + } + ] + } + }, + "username": "" + } + } + }, + { + "step": "setState", + "accounts": { + "0xb13a017423c366caff8cecfb77a12610a130f4888134122c7937feae0d6d7d17": { + "nonce": "214", + "balance": "1769165693650000000", + "username": "" + } + } + }, + { + "step": "setState", + "accounts": { + "0x3af8d9c9423b2577c6252722c1d90212a4111f7203f9744f76fcfa1d0a310033": { + "nonce": "426", + "balance": "62229302086560000000", + "esdt": { + "str:USDC-091bd3": "9997000000000", + "str:XRF-079f0d": "999999805000000000000000000", + "str:XUSDC-929b9b": "1000000000000000000000000" + }, + "username": "" + } + } + }, + { + "step": "setState", + "accounts": { + "0x00000000000000000500c114ee7698050a4d40c092add8c31d25e99a6e1ec2ee": { + "nonce": "0", + "balance": "175064792195269569513", + "esdt": { + "str:WEGLD-6cf38e": { + "instances": [], + "roles": [ + "ESDTRoleLocalBurn", + "ESDTRoleLocalMint" + ] + } + }, + "username": "", + "storage": { + "0x7772617070656445676c64546f6b656e4964": "0x5745474c442d366366333865" + }, + "code": "0x0061736d0100000001661160000060017f0060027f7f017f60027f7f006000017f60017f017f60037f7f7f0060037f7f7f017f60057f7f7e7f7f017f60047f7f7f7f0060067e7f7f7f7f7f017f60047f7f7f7f017f60027f7e0060017e006000017e60057f7f7f7f7f0060037e7f7f0002cc062303656e760b7369676e616c4572726f72000303656e7618626967496e7447657445787465726e616c42616c616e6365000303656e760a6d4275666665724e6577000403656e760d6d427566666572417070656e64000203656e76096d4275666665724571000203656e76106d616e61676564534341646472657373000103656e761b6d616e61676564457865637574654f6e44657374436f6e74657874000a03656e760f636c65616e52657475726e44617461000003656e760d6d616e6167656443616c6c6572000103656e76136d616e616765644f776e657241646472657373000103656e76126d427566666572476574417267756d656e74000203656e760f6765744e756d417267756d656e7473000403656e76126d427566666572417070656e644279746573000703656e760f6d4275666665725365744279746573000703656e76106d4275666665724765744c656e677468000503656e76196d42756666657246726f6d426967496e74556e7369676e6564000203656e76136d42756666657247657442797465536c696365000b03656e76126d42756666657253746f726167654c6f6164000203656e76126d616e616765645369676e616c4572726f72000103656e760e626967496e74536574496e743634000c03656e760a626967496e745369676e000503656e76136d42756666657253746f7261676553746f7265000203656e760e636865636b4e6f5061796d656e74000003656e7614626967496e7446696e697368556e7369676e6564000103656e760d6d42756666657246696e697368000503656e7614736d616c6c496e7446696e6973685369676e6564000d03656e761c6d616e616765644765744d756c74694553445443616c6c56616c7565000103656e7609626967496e74436d70000203656e760a6765744761734c656674000e03656e761b6d616e616765645472616e7366657256616c756545786563757465000803656e76136765744e756d455344545472616e7366657273000403656e7612626967496e7447657443616c6c56616c7565000103656e7609626967496e74416464000603656e76226d616e616765644d756c74695472616e73666572455344544e465445786563757465000803656e760f6d42756666657247657442797465730002032c2b0f00040405020310010400010303040503020301050509030306060900040501000000000000000000000005030100110619037f01418080c0000b7f0041e5d1c0000b7f0041f0d1c0000b079b010c066d656d6f7279020004696e69740044146765744c6f636b656445676c6442616c616e63650045156765745772617070656445676c64546f6b656e496400460869735061757365640047057061757365004807756e706175736500490a756e7772617045676c64004a087772617045676c64004b0863616c6c4261636b004c0a5f5f646174615f656e6403010b5f5f686561705f6261736503020abc162b2e000240200120024d0440200220044d0d011024000b1024000b2000200220016b3602042000200120036a3602000b05001043000b2301027f10262200100520001026210041c5d1c00010221a41c5d1c0002000100120000b1b01017f41a483c00041a483c00028020041016b220036020020000b0f01017f10022201200010031a20010b0b0020002001100441004a0b0900200020011000000b1f01017f4167100510262203102b20004167200320012002102610061a10070b08002000420010130b0c01017f10262200100820000b1e01017f1026220010092000102c102804400f0b41f082c00041241000000b1500100b20004604400f0b41cb81c00041191000000b4701017f230041106b2202240020022001410874418080fc077120014118747220014108764180fe03712001411876727236020c20002002410c6a4104100c1a200241106a24000b0d0010311a200020011032102f0b1401017f1026220041d482c0004100100d1a20000b0f01017f102622012000100f1a20010b0d0010311a200020011027102f0b1101017f1026220220002001100d1a20020b09002000200110031a0b5501017f20002d00042101200041003a000402402001410171044041a883c00028020022014191ce004f0d01200028020041ac83c0002001100c1a41a883c000410036020041bcd1c00041003a00000b0f0b1024000bae0102027f017e230041106b2202240020024200370308200010382200100e220141094904402002200241086a41082001103920004100200228020422002002280200220110101a027f41002000450d001a034020000440200041016b210020013100002003420886842103200141016a21010c010b0b02402003420158044041002003a741016b0d021a0c010b41f281c0004112103a000b41010b200241106a24000f0b41e481c000410e103a000b0d0020001026220010111a20000b3b01017f230041106b22042400200441086a41002003200120021023200428020c21012000200428020836020020002001360204200441106a24000b1b01017f418482c00041161034220220002001100c1a20021012000bf20101047f230041106b2203240020032000100e22024118742002410874418080fc07717220024108764180fe03712002411876727236020c20012003410c6a4104103c20012d00042102200141003a00040240024002402002410171220204402000100e22054190ce0041a883c00028020022046b4b0d0220032004200420056a2204103d200041002003280204200328020010101a41a883c00020043602000c010b2001280200200010350b200120023a00040c010b2001103620012802002000103520012d0004200120023a0004410171450d0041a883c000410036020041bcd1c00041003a00000b200341106a24000b800101027f230041106b220324000240024020002d000404404190ce0041a883c00028020022046b2002490d01200341086a2004200220046a2200103d2003280208200328020c20012002103e41a883c00020003602000c020b200028020020012002100c1a0c010b20001036200028020020012002100c1a0b200341106a24000b4001017f230041106b22032400200341086a2001200241ac83c0004190ce001023200328020c21012000200328020836020020002001360204200341106a24000bb00201067f2001200346044020012203410f4b04402000410020006b41037122056a210420050440200221010340200020012d00003a0000200141016a2101200041016a22002004490d000b0b2004200320056b2203417c7122066a21000240200220056a220541037122010440200641004c0d012005417c71220741046a21024100200141037422086b4118712109200728020021010340200420012008762002280200220120097472360200200241046a2102200441046a22042000490d000b0c010b200641004c0d0020052102034020042002280200360200200241046a2102200441046a22042000490d000b0b20034103712103200520066a21020b20030440200020036a21010340200020022d00003a0000200241016a2102200041016a22002001490d000b0b0f0b1043000b1c0041be82c0004113103410374504400f0b419a82c00041121029000b0b0041ac82c000411210340b09002000101441004a0ba60101037f230041106b2201240041be82c00041131034200142808080808080808001420020001b3703080240200045044041d482c00021000c010b4100210003400240024020004108470440200141086a20006a2d00002202450d022002411874411f7520006a220041094f0d01410820006b21022000200141086a6a21000c040b1043000b104d000b200041016a21000c000b000b20002002103410151a200141106a24000b0500104d000b1a01017f10164101102e410010262200100a1a1040200010151a0b0c0010164100102e102510170b0f0010164100102e1040103810181a0b160010164100102e41be82c000411310341037ad10190b0e001016102d4100102e410110420b0e001016102d4100102e410010420bed0302097f017e230041106b220124004100102e103f416b2102024041c4d1c0002d000022000440416b41ffffffff0720001b21020c010b41c4d1c00041013a0000416b101a0b02402002100e4170714110460440410021002002100e2106200141086a2107410121050340200041106a220420064b0d022007420037030020014200370300200220004110200110101a2005044020012902042209423886200942288642808080808080c0ff0083842009421886428080808080e03f8320094208864280808080f01f838484200942088842808080f80f832009421888428080fc07838420094228884280fe038320094238888484842109200128020022004118742000410874418080fc07717220004108764180fe0371200041187672722108200128020c22004118742000410874418080fc07717220004108764180fe037120004118767272210341002105200421000c010b0b1043000b418481c00041221000000b024002400240200950044020081040103822041028450d0120031041450d0220031025101b41004a0d031031220020041033200020031030101c41ea80c000410d10342000102a102c2003420010311031101d1a200141106a24000f0b41d482c000411c1000000b418080c00041101029000b419080c000411c1029000b41ac80c00041231029000beb0301097f230041206b220124000240101e4504404100102e103f41752103024041c0d1c0002d000022000440417541ffffffff0720001b21030c010b41c0d1c00041013a00004175101f0b20031041450d011040103821041031220020041033200020031030101c41f780c000410d10342000102a102c10312107103121081031210520041027210210262200102b20002000200310202001420037020c20012002410874418080fc077120024118747220024108764180fe03712002411876727236020820012000410874418080fc077120004118747220004108764180fe0371200041187672723602142005200141086a4110100c1a200542002007200810211a2001027f41bcd1c0002d0000220045044041bcd1c00041013a000041a883c0004100360200200141ac83c0004190ce00410010392001280200200128020441d482c0004100103e10310c010b41d482c000410010340b360218200120004101733a001c2004200141186a2200103b200142003703082000200141086a22024108103c200310322000103b20012802182100200120012d001c3a000c2001200036020820021036200128020820012d000c044041a883c000410036020041bcd1c00041003a00000b10181a200141206a24000f0b41a681c00041251000000b41cf80c000411b1029000b0300010b0c00419483c000410e1000000b0bb8030200418080c0000ba20357726f6e67206573647420746f6b656e4d75737420706179206d6f7265207468616e203020746f6b656e7321436f6e747261637420646f6573206e6f74206861766520656e6f7567682066756e64735061796d656e74206d757374206265206d6f7265207468616e2030455344544c6f63616c4275726e455344544c6f63616c4d696e74696e636f7272656374206e756d626572206f662045534454207472616e736665727366756e6374696f6e20646f6573206e6f74206163636570742045534454207061796d656e7477726f6e67206e756d626572206f6620617267756d656e7473696e70757420746f6f206c6f6e67696e707574206f7574206f662072616e676573746f72616765206465636f6465206572726f723a20436f6e7472616374206973207061757365647772617070656445676c64546f6b656e496470617573655f6d6f64756c653a70617573656400000066756e6769626c65204553445420746f6b656e206578706563746564456e64706f696e742063616e206f6e6c792062652063616c6c6564206279206f776e657270616e6963206f636375727265640041a483c0000b049cffffff" + } + } + }, + { + "step": "setState", + "newAddresses": [ + { + "creatorAddress": "0xe32afedc904fe1939746ad973beb383563cf63642ba669b3040f9b9428a5ed60", + "creatorNonce": "584", + "newAddress": "0x000000000000000005000778538f60be51f1363879297a487329bd6fa37fed60" + } + ] + }, + { + "step": "scDeploy", + "id": "", + "tx": { + "from": "0xe32afedc904fe1939746ad973beb383563cf63642ba669b3040f9b9428a5ed60", + "contractCode": "file:../output/multisig.wasm", + "arguments": [ + "0x02", + "0xe32afedc904fe1939746ad973beb383563cf63642ba669b3040f9b9428a5ed60", + "0xb2a11555ce521e4944e09ab17549d85b487dcd26c84b5017a39e31a3670889ba", + "0xb13a017423c366caff8cecfb77a12610a130f4888134122c7937feae0d6d7d17", + "0x3af8d9c9423b2577c6252722c1d90212a4111f7203f9744f76fcfa1d0a310033" + ], + "gasLimit": "70,000,000", + "gasPrice": "" + }, + "expect": { + "status": "0" + } + }, + { + "step": "transfer", + "id": "", + "tx": { + "from": "0xe32afedc904fe1939746ad973beb383563cf63642ba669b3040f9b9428a5ed60", + "to": "0x000000000000000005000778538f60be51f1363879297a487329bd6fa37fed60", + "egldValue": "0,050000000000000000", + "gasLimit": "50,000" + } + }, + { + "step": "scCall", + "id": "", + "tx": { + "from": "0xe32afedc904fe1939746ad973beb383563cf63642ba669b3040f9b9428a5ed60", + "to": "0x000000000000000005000778538f60be51f1363879297a487329bd6fa37fed60", + "function": "proposeAsyncCall", + "arguments": [ + "0x000000000000000000010000000000000000000000000000000000000002ffff", + "0xb1a2bc2ec50000", + "0x69737375654e6f6e46756e6769626c65", + "0x54657374436f6c6c656374696f6e31", + "0x54455354434f4c4c31" + ], + "gasLimit": "10,000,000", + "gasPrice": "" + }, + "expect": { + "status": "0" + } + }, + { + "step": "scCall", + "id": "", + "tx": { + "from": "0xb2a11555ce521e4944e09ab17549d85b487dcd26c84b5017a39e31a3670889ba", + "to": "0x000000000000000005000778538f60be51f1363879297a487329bd6fa37fed60", + "function": "sign", + "arguments": [ + "0x01" + ], + "gasLimit": "15,000,000", + "gasPrice": "" + } + }, + { + "step": "scCall", + "id": "", + "tx": { + "from": "0xb13a017423c366caff8cecfb77a12610a130f4888134122c7937feae0d6d7d17", + "to": "0x000000000000000005000778538f60be51f1363879297a487329bd6fa37fed60", + "function": "sign", + "arguments": [ + "0x01" + ], + "gasLimit": "15,000,000", + "gasPrice": "" + } + }, + { + "step": "scCall", + "id": "", + "tx": { + "from": "0x3af8d9c9423b2577c6252722c1d90212a4111f7203f9744f76fcfa1d0a310033", + "to": "0x000000000000000005000778538f60be51f1363879297a487329bd6fa37fed60", + "function": "sign", + "arguments": [ + "0x01" + ], + "gasLimit": "15,000,000", + "gasPrice": "" + } + }, + { + "step": "setState", + "newTokenIdentifiers": [ + "TESTCOLL1-748f3f" + ] + }, + { + "step": "scCall", + "id": "", + "tx": { + "from": "0xe32afedc904fe1939746ad973beb383563cf63642ba669b3040f9b9428a5ed60", + "to": "0x000000000000000005000778538f60be51f1363879297a487329bd6fa37fed60", + "function": "performAction", + "arguments": [ + "0x01" + ], + "gasLimit": "80,000,000", + "gasPrice": "" + } + }, + { + "step": "scCall", + "id": "", + "tx": { + "from": "0xe32afedc904fe1939746ad973beb383563cf63642ba669b3040f9b9428a5ed60", + "to": "0x000000000000000005000778538f60be51f1363879297a487329bd6fa37fed60", + "function": "proposeAsyncCall", + "arguments": [ + "0x000000000000000000010000000000000000000000000000000000000002ffff", + "0x", + "0x7365745370656369616c526f6c65", + "0x54455354434f4c4c312d373438663366", + "0x000000000000000005000778538f60be51f1363879297a487329bd6fa37fed60", + "0x45534454526f6c654e4654437265617465" + ], + "gasLimit": "10,000,000", + "gasPrice": "" + } + }, + { + "step": "scCall", + "id": "", + "tx": { + "from": "0xb2a11555ce521e4944e09ab17549d85b487dcd26c84b5017a39e31a3670889ba", + "to": "0x000000000000000005000778538f60be51f1363879297a487329bd6fa37fed60", + "function": "sign", + "arguments": [ + "0x02" + ], + "gasLimit": "15,000,000", + "gasPrice": "" + } + }, + { + "step": "scCall", + "id": "", + "tx": { + "from": "0xb13a017423c366caff8cecfb77a12610a130f4888134122c7937feae0d6d7d17", + "to": "0x000000000000000005000778538f60be51f1363879297a487329bd6fa37fed60", + "function": "sign", + "arguments": [ + "0x02" + ], + "gasLimit": "15,000,000", + "gasPrice": "" + } + }, + { + "step": "scCall", + "id": "", + "tx": { + "from": "0x3af8d9c9423b2577c6252722c1d90212a4111f7203f9744f76fcfa1d0a310033", + "to": "0x000000000000000005000778538f60be51f1363879297a487329bd6fa37fed60", + "function": "sign", + "arguments": [ + "0x02" + ], + "gasLimit": "15,000,000", + "gasPrice": "" + } + }, + { + "step": "scCall", + "id": "", + "tx": { + "from": "0xe32afedc904fe1939746ad973beb383563cf63642ba669b3040f9b9428a5ed60", + "to": "0x000000000000000005000778538f60be51f1363879297a487329bd6fa37fed60", + "function": "performAction", + "arguments": [ + "0x02" + ], + "gasLimit": "80,000,000", + "gasPrice": "" + } + }, + { + "step": "scCall", + "id": "", + "tx": { + "from": "0xe32afedc904fe1939746ad973beb383563cf63642ba669b3040f9b9428a5ed60", + "to": "0x000000000000000005000778538f60be51f1363879297a487329bd6fa37fed60", + "function": "proposeAsyncCall", + "arguments": [ + "0x000000000000000005000778538f60be51f1363879297a487329bd6fa37fed60", + "0x", + "0x455344544e4654437265617465", + "0x54455354434f4c4c312d373438663366", + "0x01", + "0x5465737420636f6c6c656374696f6e206974656d202330", + "0x0bb8", + "0x", + "0x746167733a746573742c727573742d696e7465726163746f72", + "0x68747470733a2f2f697066732e696f2f697066732f516d5979416145663170684a53356d4e3677666f7535646535476270556464427854593156656b4b636a643550432f6e667430302e706e67" + ], + "gasLimit": "10,000,000", + "gasPrice": "" + } + }, + { + "step": "scCall", + "id": "", + "tx": { + "from": "0xe32afedc904fe1939746ad973beb383563cf63642ba669b3040f9b9428a5ed60", + "to": "0x000000000000000005000778538f60be51f1363879297a487329bd6fa37fed60", + "function": "proposeAsyncCall", + "arguments": [ + "0x000000000000000005000778538f60be51f1363879297a487329bd6fa37fed60", + "0x", + "0x455344544e4654437265617465", + "0x54455354434f4c4c312d373438663366", + "0x01", + "0x5465737420636f6c6c656374696f6e206974656d202331", + "0x0bb8", + "0x", + "0x746167733a746573742c727573742d696e7465726163746f72", + "0x68747470733a2f2f697066732e696f2f697066732f516d5979416145663170684a53356d4e3677666f7535646535476270556464427854593156656b4b636a643550432f6e667430312e706e67" + ], + "gasLimit": "10,000,000", + "gasPrice": "" + } + }, + { + "step": "scCall", + "id": "", + "tx": { + "from": "0xe32afedc904fe1939746ad973beb383563cf63642ba669b3040f9b9428a5ed60", + "to": "0x000000000000000005000778538f60be51f1363879297a487329bd6fa37fed60", + "function": "proposeAsyncCall", + "arguments": [ + "0x000000000000000005000778538f60be51f1363879297a487329bd6fa37fed60", + "0x", + "0x455344544e4654437265617465", + "0x54455354434f4c4c312d373438663366", + "0x01", + "0x5465737420636f6c6c656374696f6e206974656d202332", + "0x0bb8", + "0x", + "0x746167733a746573742c727573742d696e7465726163746f72", + "0x68747470733a2f2f697066732e696f2f697066732f516d5979416145663170684a53356d4e3677666f7535646535476270556464427854593156656b4b636a643550432f6e667430322e706e67" + ], + "gasLimit": "10,000,000", + "gasPrice": "" + } + }, + { + "step": "scCall", + "id": "", + "tx": { + "from": "0xb2a11555ce521e4944e09ab17549d85b487dcd26c84b5017a39e31a3670889ba", + "to": "0x000000000000000005000778538f60be51f1363879297a487329bd6fa37fed60", + "function": "sign", + "arguments": [ + "0x03" + ], + "gasLimit": "15,000,000", + "gasPrice": "" + } + }, + { + "step": "scCall", + "id": "", + "tx": { + "from": "0xb13a017423c366caff8cecfb77a12610a130f4888134122c7937feae0d6d7d17", + "to": "0x000000000000000005000778538f60be51f1363879297a487329bd6fa37fed60", + "function": "sign", + "arguments": [ + "0x03" + ], + "gasLimit": "15,000,000", + "gasPrice": "" + } + }, + { + "step": "scCall", + "id": "", + "tx": { + "from": "0x3af8d9c9423b2577c6252722c1d90212a4111f7203f9744f76fcfa1d0a310033", + "to": "0x000000000000000005000778538f60be51f1363879297a487329bd6fa37fed60", + "function": "sign", + "arguments": [ + "0x03" + ], + "gasLimit": "15,000,000", + "gasPrice": "" + } + }, + { + "step": "scCall", + "id": "", + "tx": { + "from": "0xb2a11555ce521e4944e09ab17549d85b487dcd26c84b5017a39e31a3670889ba", + "to": "0x000000000000000005000778538f60be51f1363879297a487329bd6fa37fed60", + "function": "sign", + "arguments": [ + "0x04" + ], + "gasLimit": "15,000,000", + "gasPrice": "" + } + }, + { + "step": "scCall", + "id": "", + "tx": { + "from": "0xb13a017423c366caff8cecfb77a12610a130f4888134122c7937feae0d6d7d17", + "to": "0x000000000000000005000778538f60be51f1363879297a487329bd6fa37fed60", + "function": "sign", + "arguments": [ + "0x04" + ], + "gasLimit": "15,000,000", + "gasPrice": "" + } + }, + { + "step": "scCall", + "id": "", + "tx": { + "from": "0x3af8d9c9423b2577c6252722c1d90212a4111f7203f9744f76fcfa1d0a310033", + "to": "0x000000000000000005000778538f60be51f1363879297a487329bd6fa37fed60", + "function": "sign", + "arguments": [ + "0x04" + ], + "gasLimit": "15,000,000", + "gasPrice": "" + } + }, + { + "step": "scCall", + "id": "", + "tx": { + "from": "0xb2a11555ce521e4944e09ab17549d85b487dcd26c84b5017a39e31a3670889ba", + "to": "0x000000000000000005000778538f60be51f1363879297a487329bd6fa37fed60", + "function": "sign", + "arguments": [ + "0x05" + ], + "gasLimit": "15,000,000", + "gasPrice": "" + } + }, + { + "step": "scCall", + "id": "", + "tx": { + "from": "0xb13a017423c366caff8cecfb77a12610a130f4888134122c7937feae0d6d7d17", + "to": "0x000000000000000005000778538f60be51f1363879297a487329bd6fa37fed60", + "function": "sign", + "arguments": [ + "0x05" + ], + "gasLimit": "15,000,000", + "gasPrice": "" + } + }, + { + "step": "scCall", + "id": "", + "tx": { + "from": "0x3af8d9c9423b2577c6252722c1d90212a4111f7203f9744f76fcfa1d0a310033", + "to": "0x000000000000000005000778538f60be51f1363879297a487329bd6fa37fed60", + "function": "sign", + "arguments": [ + "0x05" + ], + "gasLimit": "15,000,000", + "gasPrice": "" + } + }, + { + "step": "scCall", + "id": "", + "tx": { + "from": "0xe32afedc904fe1939746ad973beb383563cf63642ba669b3040f9b9428a5ed60", + "to": "0x000000000000000005000778538f60be51f1363879297a487329bd6fa37fed60", + "function": "performAction", + "arguments": [ + "0x03" + ], + "gasLimit": "30,000,000", + "gasPrice": "" + } + }, + { + "step": "scCall", + "id": "", + "tx": { + "from": "0xe32afedc904fe1939746ad973beb383563cf63642ba669b3040f9b9428a5ed60", + "to": "0x000000000000000005000778538f60be51f1363879297a487329bd6fa37fed60", + "function": "performAction", + "arguments": [ + "0x04" + ], + "gasLimit": "30,000,000", + "gasPrice": "" + } + }, + { + "step": "scCall", + "id": "", + "tx": { + "from": "0xe32afedc904fe1939746ad973beb383563cf63642ba669b3040f9b9428a5ed60", + "to": "0x000000000000000005000778538f60be51f1363879297a487329bd6fa37fed60", + "function": "performAction", + "arguments": [ + "0x05" + ], + "gasLimit": "30,000,000", + "gasPrice": "" + } + } + ] +} diff --git a/contracts/multisig/scenarios/interactor_nft_all_roles.scen.json b/contracts/multisig/scenarios/interactor_nft_all_roles.scen.json new file mode 100644 index 00000000..8746f7fb --- /dev/null +++ b/contracts/multisig/scenarios/interactor_nft_all_roles.scen.json @@ -0,0 +1,526 @@ +{ + "steps": [ + { + "step": "setState", + "accounts": { + "0xe32afedc904fe1939746ad973beb383563cf63642ba669b3040f9b9428a5ed60": { + "nonce": "619", + "balance": "101110120254850000003", + "esdt": { + "str:CAN-14dc0a": "1000", + "str:CAN-2abf4b": "1000", + "str:CAN-6d39e6": "1000", + "str:CAN-ac1592": "1000" + }, + "username": "" + } + } + }, + { + "step": "setState", + "accounts": { + "0xb2a11555ce521e4944e09ab17549d85b487dcd26c84b5017a39e31a3670889ba": { + "nonce": "251", + "balance": "101558004165010000000", + "esdt": { + "str:CAMP-3bd1c7": { + "instances": [ + { + "nonce": "26", + "balance": "1" + }, + { + "nonce": "23", + "balance": "1" + }, + { + "nonce": "21", + "balance": "1" + }, + { + "nonce": "25", + "balance": "1" + }, + { + "nonce": "24", + "balance": "1" + }, + { + "nonce": "22", + "balance": "1" + } + ] + }, + "str:TEST-0f54a2": { + "instances": [ + { + "nonce": "9", + "balance": "1" + }, + { + "nonce": "1", + "balance": "1" + }, + { + "nonce": "2", + "balance": "1" + }, + { + "nonce": "6", + "balance": "1" + } + ] + }, + "str:TEST-48ef66": { + "instances": [ + { + "nonce": "5", + "balance": "1" + }, + { + "nonce": "4", + "balance": "1" + } + ] + }, + "str:TEST-d2b50f": { + "instances": [ + { + "nonce": "1", + "balance": "2" + } + ] + }, + "str:TEST-fb415a": { + "instances": [ + { + "nonce": "3", + "balance": "1" + }, + { + "nonce": "2", + "balance": "1" + }, + { + "nonce": "4", + "balance": "1" + } + ] + } + }, + "username": "" + } + } + }, + { + "step": "setState", + "accounts": { + "0xb13a017423c366caff8cecfb77a12610a130f4888134122c7937feae0d6d7d17": { + "nonce": "222", + "balance": "1767500200900000000", + "username": "" + } + } + }, + { + "step": "setState", + "accounts": { + "0x3af8d9c9423b2577c6252722c1d90212a4111f7203f9744f76fcfa1d0a310033": { + "nonce": "434", + "balance": "62227641093810000000", + "esdt": { + "str:USDC-091bd3": "9997000000000", + "str:XRF-079f0d": "999999805000000000000000000", + "str:XUSDC-929b9b": "1000000000000000000000000" + }, + "username": "" + } + } + }, + { + "step": "setState", + "accounts": { + "0x00000000000000000500c114ee7698050a4d40c092add8c31d25e99a6e1ec2ee": { + "nonce": "0", + "balance": "175064792195269569513", + "esdt": { + "str:WEGLD-6cf38e": { + "instances": [], + "roles": [ + "ESDTRoleLocalBurn", + "ESDTRoleLocalMint" + ] + } + }, + "username": "", + "storage": { + "0x7772617070656445676c64546f6b656e4964": "0x5745474c442d366366333865" + }, + "code": "0x0061736d0100000001661160000060017f0060027f7f017f60027f7f006000017f60017f017f60037f7f7f0060037f7f7f017f60057f7f7e7f7f017f60047f7f7f7f0060067e7f7f7f7f7f017f60047f7f7f7f017f60027f7e0060017e006000017e60057f7f7f7f7f0060037e7f7f0002cc062303656e760b7369676e616c4572726f72000303656e7618626967496e7447657445787465726e616c42616c616e6365000303656e760a6d4275666665724e6577000403656e760d6d427566666572417070656e64000203656e76096d4275666665724571000203656e76106d616e61676564534341646472657373000103656e761b6d616e61676564457865637574654f6e44657374436f6e74657874000a03656e760f636c65616e52657475726e44617461000003656e760d6d616e6167656443616c6c6572000103656e76136d616e616765644f776e657241646472657373000103656e76126d427566666572476574417267756d656e74000203656e760f6765744e756d417267756d656e7473000403656e76126d427566666572417070656e644279746573000703656e760f6d4275666665725365744279746573000703656e76106d4275666665724765744c656e677468000503656e76196d42756666657246726f6d426967496e74556e7369676e6564000203656e76136d42756666657247657442797465536c696365000b03656e76126d42756666657253746f726167654c6f6164000203656e76126d616e616765645369676e616c4572726f72000103656e760e626967496e74536574496e743634000c03656e760a626967496e745369676e000503656e76136d42756666657253746f7261676553746f7265000203656e760e636865636b4e6f5061796d656e74000003656e7614626967496e7446696e697368556e7369676e6564000103656e760d6d42756666657246696e697368000503656e7614736d616c6c496e7446696e6973685369676e6564000d03656e761c6d616e616765644765744d756c74694553445443616c6c56616c7565000103656e7609626967496e74436d70000203656e760a6765744761734c656674000e03656e761b6d616e616765645472616e7366657256616c756545786563757465000803656e76136765744e756d455344545472616e7366657273000403656e7612626967496e7447657443616c6c56616c7565000103656e7609626967496e74416464000603656e76226d616e616765644d756c74695472616e73666572455344544e465445786563757465000803656e760f6d42756666657247657442797465730002032c2b0f00040405020310010400010303040503020301050509030306060900040501000000000000000000000005030100110619037f01418080c0000b7f0041e5d1c0000b7f0041f0d1c0000b079b010c066d656d6f7279020004696e69740044146765744c6f636b656445676c6442616c616e63650045156765745772617070656445676c64546f6b656e496400460869735061757365640047057061757365004807756e706175736500490a756e7772617045676c64004a087772617045676c64004b0863616c6c4261636b004c0a5f5f646174615f656e6403010b5f5f686561705f6261736503020abc162b2e000240200120024d0440200220044d0d011024000b1024000b2000200220016b3602042000200120036a3602000b05001043000b2301027f10262200100520001026210041c5d1c00010221a41c5d1c0002000100120000b1b01017f41a483c00041a483c00028020041016b220036020020000b0f01017f10022201200010031a20010b0b0020002001100441004a0b0900200020011000000b1f01017f4167100510262203102b20004167200320012002102610061a10070b08002000420010130b0c01017f10262200100820000b1e01017f1026220010092000102c102804400f0b41f082c00041241000000b1500100b20004604400f0b41cb81c00041191000000b4701017f230041106b2202240020022001410874418080fc077120014118747220014108764180fe03712001411876727236020c20002002410c6a4104100c1a200241106a24000b0d0010311a200020011032102f0b1401017f1026220041d482c0004100100d1a20000b0f01017f102622012000100f1a20010b0d0010311a200020011027102f0b1101017f1026220220002001100d1a20020b09002000200110031a0b5501017f20002d00042101200041003a000402402001410171044041a883c00028020022014191ce004f0d01200028020041ac83c0002001100c1a41a883c000410036020041bcd1c00041003a00000b0f0b1024000bae0102027f017e230041106b2202240020024200370308200010382200100e220141094904402002200241086a41082001103920004100200228020422002002280200220110101a027f41002000450d001a034020000440200041016b210020013100002003420886842103200141016a21010c010b0b02402003420158044041002003a741016b0d021a0c010b41f281c0004112103a000b41010b200241106a24000f0b41e481c000410e103a000b0d0020001026220010111a20000b3b01017f230041106b22042400200441086a41002003200120021023200428020c21012000200428020836020020002001360204200441106a24000b1b01017f418482c00041161034220220002001100c1a20021012000bf20101047f230041106b2203240020032000100e22024118742002410874418080fc07717220024108764180fe03712002411876727236020c20012003410c6a4104103c20012d00042102200141003a00040240024002402002410171220204402000100e22054190ce0041a883c00028020022046b4b0d0220032004200420056a2204103d200041002003280204200328020010101a41a883c00020043602000c010b2001280200200010350b200120023a00040c010b2001103620012802002000103520012d0004200120023a0004410171450d0041a883c000410036020041bcd1c00041003a00000b200341106a24000b800101027f230041106b220324000240024020002d000404404190ce0041a883c00028020022046b2002490d01200341086a2004200220046a2200103d2003280208200328020c20012002103e41a883c00020003602000c020b200028020020012002100c1a0c010b20001036200028020020012002100c1a0b200341106a24000b4001017f230041106b22032400200341086a2001200241ac83c0004190ce001023200328020c21012000200328020836020020002001360204200341106a24000bb00201067f2001200346044020012203410f4b04402000410020006b41037122056a210420050440200221010340200020012d00003a0000200141016a2101200041016a22002004490d000b0b2004200320056b2203417c7122066a21000240200220056a220541037122010440200641004c0d012005417c71220741046a21024100200141037422086b4118712109200728020021010340200420012008762002280200220120097472360200200241046a2102200441046a22042000490d000b0c010b200641004c0d0020052102034020042002280200360200200241046a2102200441046a22042000490d000b0b20034103712103200520066a21020b20030440200020036a21010340200020022d00003a0000200241016a2102200041016a22002001490d000b0b0f0b1043000b1c0041be82c0004113103410374504400f0b419a82c00041121029000b0b0041ac82c000411210340b09002000101441004a0ba60101037f230041106b2201240041be82c00041131034200142808080808080808001420020001b3703080240200045044041d482c00021000c010b4100210003400240024020004108470440200141086a20006a2d00002202450d022002411874411f7520006a220041094f0d01410820006b21022000200141086a6a21000c040b1043000b104d000b200041016a21000c000b000b20002002103410151a200141106a24000b0500104d000b1a01017f10164101102e410010262200100a1a1040200010151a0b0c0010164100102e102510170b0f0010164100102e1040103810181a0b160010164100102e41be82c000411310341037ad10190b0e001016102d4100102e410110420b0e001016102d4100102e410010420bed0302097f017e230041106b220124004100102e103f416b2102024041c4d1c0002d000022000440416b41ffffffff0720001b21020c010b41c4d1c00041013a0000416b101a0b02402002100e4170714110460440410021002002100e2106200141086a2107410121050340200041106a220420064b0d022007420037030020014200370300200220004110200110101a2005044020012902042209423886200942288642808080808080c0ff0083842009421886428080808080e03f8320094208864280808080f01f838484200942088842808080f80f832009421888428080fc07838420094228884280fe038320094238888484842109200128020022004118742000410874418080fc07717220004108764180fe0371200041187672722108200128020c22004118742000410874418080fc07717220004108764180fe037120004118767272210341002105200421000c010b0b1043000b418481c00041221000000b024002400240200950044020081040103822041028450d0120031041450d0220031025101b41004a0d031031220020041033200020031030101c41ea80c000410d10342000102a102c2003420010311031101d1a200141106a24000f0b41d482c000411c1000000b418080c00041101029000b419080c000411c1029000b41ac80c00041231029000beb0301097f230041206b220124000240101e4504404100102e103f41752103024041c0d1c0002d000022000440417541ffffffff0720001b21030c010b41c0d1c00041013a00004175101f0b20031041450d011040103821041031220020041033200020031030101c41f780c000410d10342000102a102c10312107103121081031210520041027210210262200102b20002000200310202001420037020c20012002410874418080fc077120024118747220024108764180fe03712002411876727236020820012000410874418080fc077120004118747220004108764180fe0371200041187672723602142005200141086a4110100c1a200542002007200810211a2001027f41bcd1c0002d0000220045044041bcd1c00041013a000041a883c0004100360200200141ac83c0004190ce00410010392001280200200128020441d482c0004100103e10310c010b41d482c000410010340b360218200120004101733a001c2004200141186a2200103b200142003703082000200141086a22024108103c200310322000103b20012802182100200120012d001c3a000c2001200036020820021036200128020820012d000c044041a883c000410036020041bcd1c00041003a00000b10181a200141206a24000f0b41a681c00041251000000b41cf80c000411b1029000b0300010b0c00419483c000410e1000000b0bb8030200418080c0000ba20357726f6e67206573647420746f6b656e4d75737420706179206d6f7265207468616e203020746f6b656e7321436f6e747261637420646f6573206e6f74206861766520656e6f7567682066756e64735061796d656e74206d757374206265206d6f7265207468616e2030455344544c6f63616c4275726e455344544c6f63616c4d696e74696e636f7272656374206e756d626572206f662045534454207472616e736665727366756e6374696f6e20646f6573206e6f74206163636570742045534454207061796d656e7477726f6e67206e756d626572206f6620617267756d656e7473696e70757420746f6f206c6f6e67696e707574206f7574206f662072616e676573746f72616765206465636f6465206572726f723a20436f6e7472616374206973207061757365647772617070656445676c64546f6b656e496470617573655f6d6f64756c653a70617573656400000066756e6769626c65204553445420746f6b656e206578706563746564456e64706f696e742063616e206f6e6c792062652063616c6c6564206279206f776e657270616e6963206f636375727265640041a483c0000b049cffffff" + } + } + }, + { + "step": "setState", + "newAddresses": [ + { + "creatorAddress": "0xe32afedc904fe1939746ad973beb383563cf63642ba669b3040f9b9428a5ed60", + "creatorNonce": "619", + "newAddress": "0x000000000000000005008a3621a73196c9a9539f05be7d3c277346cdc989ed60" + } + ] + }, + { + "step": "scDeploy", + "id": "", + "tx": { + "from": "0xe32afedc904fe1939746ad973beb383563cf63642ba669b3040f9b9428a5ed60", + "contractCode": "file:../output/multisig.wasm", + "arguments": [ + "0x02", + "0xe32afedc904fe1939746ad973beb383563cf63642ba669b3040f9b9428a5ed60", + "0xb2a11555ce521e4944e09ab17549d85b487dcd26c84b5017a39e31a3670889ba", + "0xb13a017423c366caff8cecfb77a12610a130f4888134122c7937feae0d6d7d17", + "0x3af8d9c9423b2577c6252722c1d90212a4111f7203f9744f76fcfa1d0a310033" + ], + "gasLimit": "70,000,000", + "gasPrice": "" + }, + "expect": { + "status": "0" + } + }, + { + "step": "transfer", + "id": "", + "tx": { + "from": "0xe32afedc904fe1939746ad973beb383563cf63642ba669b3040f9b9428a5ed60", + "to": "0x000000000000000005008a3621a73196c9a9539f05be7d3c277346cdc989ed60", + "egldValue": "0,050000000000000000", + "gasLimit": "50,000" + } + }, + { + "step": "scCall", + "id": "", + "tx": { + "from": "0xe32afedc904fe1939746ad973beb383563cf63642ba669b3040f9b9428a5ed60", + "to": "0x000000000000000005008a3621a73196c9a9539f05be7d3c277346cdc989ed60", + "function": "proposeAsyncCall", + "arguments": [ + "0x000000000000000000010000000000000000000000000000000000000002ffff", + "0xb1a2bc2ec50000", + "0x7265676973746572416e64536574416c6c526f6c6573", + "0x54657374436f6c6c656374696f6e31", + "0x54455354434f4c4c31", + "0x4e4654", + "0x" + ], + "gasLimit": "10,000,000", + "gasPrice": "" + }, + "expect": { + "status": "0" + } + }, + { + "step": "scCall", + "id": "", + "tx": { + "from": "0xb2a11555ce521e4944e09ab17549d85b487dcd26c84b5017a39e31a3670889ba", + "to": "0x000000000000000005008a3621a73196c9a9539f05be7d3c277346cdc989ed60", + "function": "sign", + "arguments": [ + "0x01" + ], + "gasLimit": "15,000,000", + "gasPrice": "" + } + }, + { + "step": "scCall", + "id": "", + "tx": { + "from": "0xb13a017423c366caff8cecfb77a12610a130f4888134122c7937feae0d6d7d17", + "to": "0x000000000000000005008a3621a73196c9a9539f05be7d3c277346cdc989ed60", + "function": "sign", + "arguments": [ + "0x01" + ], + "gasLimit": "15,000,000", + "gasPrice": "" + } + }, + { + "step": "scCall", + "id": "", + "tx": { + "from": "0x3af8d9c9423b2577c6252722c1d90212a4111f7203f9744f76fcfa1d0a310033", + "to": "0x000000000000000005008a3621a73196c9a9539f05be7d3c277346cdc989ed60", + "function": "sign", + "arguments": [ + "0x01" + ], + "gasLimit": "15,000,000", + "gasPrice": "" + } + }, + { + "step": "setState", + "newTokenIdentifiers": [ + "TESTCOLL1-636884" + ] + }, + { + "step": "scCall", + "id": "", + "tx": { + "from": "0xe32afedc904fe1939746ad973beb383563cf63642ba669b3040f9b9428a5ed60", + "to": "0x000000000000000005008a3621a73196c9a9539f05be7d3c277346cdc989ed60", + "function": "performAction", + "arguments": [ + "0x01" + ], + "gasLimit": "80,000,000", + "gasPrice": "" + } + }, + { + "step": "scCall", + "id": "", + "tx": { + "from": "0xe32afedc904fe1939746ad973beb383563cf63642ba669b3040f9b9428a5ed60", + "to": "0x000000000000000005008a3621a73196c9a9539f05be7d3c277346cdc989ed60", + "function": "proposeAsyncCall", + "arguments": [ + "0x000000000000000005008a3621a73196c9a9539f05be7d3c277346cdc989ed60", + "0x", + "0x455344544e4654437265617465", + "0x54455354434f4c4c312d363336383834", + "0x01", + "0x5465737420636f6c6c656374696f6e206974656d202330", + "0x0bb8", + "0x", + "0x746167733a746573742c727573742d696e7465726163746f72", + "0x68747470733a2f2f697066732e696f2f697066732f516d5979416145663170684a53356d4e3677666f7535646535476270556464427854593156656b4b636a643550432f6e667430302e706e67" + ], + "gasLimit": "10,000,000", + "gasPrice": "" + } + }, + { + "step": "scCall", + "id": "", + "tx": { + "from": "0xe32afedc904fe1939746ad973beb383563cf63642ba669b3040f9b9428a5ed60", + "to": "0x000000000000000005008a3621a73196c9a9539f05be7d3c277346cdc989ed60", + "function": "proposeAsyncCall", + "arguments": [ + "0x000000000000000005008a3621a73196c9a9539f05be7d3c277346cdc989ed60", + "0x", + "0x455344544e4654437265617465", + "0x54455354434f4c4c312d363336383834", + "0x01", + "0x5465737420636f6c6c656374696f6e206974656d202331", + "0x0bb8", + "0x", + "0x746167733a746573742c727573742d696e7465726163746f72", + "0x68747470733a2f2f697066732e696f2f697066732f516d5979416145663170684a53356d4e3677666f7535646535476270556464427854593156656b4b636a643550432f6e667430312e706e67" + ], + "gasLimit": "10,000,000", + "gasPrice": "" + } + }, + { + "step": "scCall", + "id": "", + "tx": { + "from": "0xe32afedc904fe1939746ad973beb383563cf63642ba669b3040f9b9428a5ed60", + "to": "0x000000000000000005008a3621a73196c9a9539f05be7d3c277346cdc989ed60", + "function": "proposeAsyncCall", + "arguments": [ + "0x000000000000000005008a3621a73196c9a9539f05be7d3c277346cdc989ed60", + "0x", + "0x455344544e4654437265617465", + "0x54455354434f4c4c312d363336383834", + "0x01", + "0x5465737420636f6c6c656374696f6e206974656d202332", + "0x0bb8", + "0x", + "0x746167733a746573742c727573742d696e7465726163746f72", + "0x68747470733a2f2f697066732e696f2f697066732f516d5979416145663170684a53356d4e3677666f7535646535476270556464427854593156656b4b636a643550432f6e667430322e706e67" + ], + "gasLimit": "10,000,000", + "gasPrice": "" + } + }, + { + "step": "scCall", + "id": "", + "tx": { + "from": "0xb2a11555ce521e4944e09ab17549d85b487dcd26c84b5017a39e31a3670889ba", + "to": "0x000000000000000005008a3621a73196c9a9539f05be7d3c277346cdc989ed60", + "function": "sign", + "arguments": [ + "0x02" + ], + "gasLimit": "15,000,000", + "gasPrice": "" + } + }, + { + "step": "scCall", + "id": "", + "tx": { + "from": "0xb13a017423c366caff8cecfb77a12610a130f4888134122c7937feae0d6d7d17", + "to": "0x000000000000000005008a3621a73196c9a9539f05be7d3c277346cdc989ed60", + "function": "sign", + "arguments": [ + "0x02" + ], + "gasLimit": "15,000,000", + "gasPrice": "" + } + }, + { + "step": "scCall", + "id": "", + "tx": { + "from": "0x3af8d9c9423b2577c6252722c1d90212a4111f7203f9744f76fcfa1d0a310033", + "to": "0x000000000000000005008a3621a73196c9a9539f05be7d3c277346cdc989ed60", + "function": "sign", + "arguments": [ + "0x02" + ], + "gasLimit": "15,000,000", + "gasPrice": "" + } + }, + { + "step": "scCall", + "id": "", + "tx": { + "from": "0xb2a11555ce521e4944e09ab17549d85b487dcd26c84b5017a39e31a3670889ba", + "to": "0x000000000000000005008a3621a73196c9a9539f05be7d3c277346cdc989ed60", + "function": "sign", + "arguments": [ + "0x03" + ], + "gasLimit": "15,000,000", + "gasPrice": "" + } + }, + { + "step": "scCall", + "id": "", + "tx": { + "from": "0xb13a017423c366caff8cecfb77a12610a130f4888134122c7937feae0d6d7d17", + "to": "0x000000000000000005008a3621a73196c9a9539f05be7d3c277346cdc989ed60", + "function": "sign", + "arguments": [ + "0x03" + ], + "gasLimit": "15,000,000", + "gasPrice": "" + } + }, + { + "step": "scCall", + "id": "", + "tx": { + "from": "0x3af8d9c9423b2577c6252722c1d90212a4111f7203f9744f76fcfa1d0a310033", + "to": "0x000000000000000005008a3621a73196c9a9539f05be7d3c277346cdc989ed60", + "function": "sign", + "arguments": [ + "0x03" + ], + "gasLimit": "15,000,000", + "gasPrice": "" + } + }, + { + "step": "scCall", + "id": "", + "tx": { + "from": "0xb2a11555ce521e4944e09ab17549d85b487dcd26c84b5017a39e31a3670889ba", + "to": "0x000000000000000005008a3621a73196c9a9539f05be7d3c277346cdc989ed60", + "function": "sign", + "arguments": [ + "0x04" + ], + "gasLimit": "15,000,000", + "gasPrice": "" + } + }, + { + "step": "scCall", + "id": "", + "tx": { + "from": "0xb13a017423c366caff8cecfb77a12610a130f4888134122c7937feae0d6d7d17", + "to": "0x000000000000000005008a3621a73196c9a9539f05be7d3c277346cdc989ed60", + "function": "sign", + "arguments": [ + "0x04" + ], + "gasLimit": "15,000,000", + "gasPrice": "" + } + }, + { + "step": "scCall", + "id": "", + "tx": { + "from": "0x3af8d9c9423b2577c6252722c1d90212a4111f7203f9744f76fcfa1d0a310033", + "to": "0x000000000000000005008a3621a73196c9a9539f05be7d3c277346cdc989ed60", + "function": "sign", + "arguments": [ + "0x04" + ], + "gasLimit": "15,000,000", + "gasPrice": "" + } + }, + { + "step": "scCall", + "id": "", + "tx": { + "from": "0xe32afedc904fe1939746ad973beb383563cf63642ba669b3040f9b9428a5ed60", + "to": "0x000000000000000005008a3621a73196c9a9539f05be7d3c277346cdc989ed60", + "function": "performAction", + "arguments": [ + "0x02" + ], + "gasLimit": "30,000,000", + "gasPrice": "" + } + }, + { + "step": "scCall", + "id": "", + "tx": { + "from": "0xe32afedc904fe1939746ad973beb383563cf63642ba669b3040f9b9428a5ed60", + "to": "0x000000000000000005008a3621a73196c9a9539f05be7d3c277346cdc989ed60", + "function": "performAction", + "arguments": [ + "0x03" + ], + "gasLimit": "30,000,000", + "gasPrice": "" + } + }, + { + "step": "scCall", + "id": "", + "tx": { + "from": "0xe32afedc904fe1939746ad973beb383563cf63642ba669b3040f9b9428a5ed60", + "to": "0x000000000000000005008a3621a73196c9a9539f05be7d3c277346cdc989ed60", + "function": "performAction", + "arguments": [ + "0x04" + ], + "gasLimit": "30,000,000", + "gasPrice": "" + } + } + ] +} \ No newline at end of file diff --git a/contracts/multisig/scenarios/interactor_wegld.scen.json b/contracts/multisig/scenarios/interactor_wegld.scen.json new file mode 100644 index 00000000..ea9ed6ff --- /dev/null +++ b/contracts/multisig/scenarios/interactor_wegld.scen.json @@ -0,0 +1,275 @@ +{ + "steps": [ + { + "step": "setState", + "accounts": { + "0xe32afedc904fe1939746ad973beb383563cf63642ba669b3040f9b9428a5ed60": { + "nonce": "495", + "balance": "106119141427130000003", + "esdt": { + "str:CAN-14dc0a": "1000", + "str:CAN-2abf4b": "1000", + "str:CAN-6d39e6": "1000", + "str:CAN-ac1592": "1000" + }, + "username": "" + } + } + }, + { + "step": "setState", + "accounts": { + "0xb2a11555ce521e4944e09ab17549d85b487dcd26c84b5017a39e31a3670889ba": { + "nonce": "188", + "balance": "3715283822100000000", + "esdt": { + "str:TEST-d2b50f": { + "instances": [ + { + "nonce": "1", + "balance": "2" + } + ] + } + }, + "username": "" + } + } + }, + { + "step": "setState", + "accounts": { + "0xb13a017423c366caff8cecfb77a12610a130f4888134122c7937feae0d6d7d17": { + "nonce": "179", + "balance": "7777023510140000000", + "username": "" + } + } + }, + { + "step": "setState", + "accounts": { + "0x3af8d9c9423b2577c6252722c1d90212a4111f7203f9744f76fcfa1d0a310033": { + "nonce": "394", + "balance": "62236863377210000000", + "esdt": { + "str:USDC-091bd3": "9997000000000", + "str:XRF-079f0d": "999999805000000000000000000", + "str:XUSDC-929b9b": "1000000000000000000000000" + }, + "username": "" + } + } + }, + { + "step": "setState", + "accounts": { + "0x00000000000000000500c114ee7698050a4d40c092add8c31d25e99a6e1ec2ee": { + "nonce": "0", + "balance": "54039792195269569513", + "esdt": { + "str:WEGLD-6cf38e": { + "instances": [], + "roles": [ + "ESDTRoleLocalBurn", + "ESDTRoleLocalMint" + ] + } + }, + "username": "", + "storage": { + "0x7772617070656445676c64546f6b656e4964": "0x5745474c442d366366333865" + }, + "code": "0x0061736d0100000001661160000060017f0060027f7f017f60027f7f006000017f60017f017f60037f7f7f0060037f7f7f017f60057f7f7e7f7f017f60047f7f7f7f0060067e7f7f7f7f7f017f60047f7f7f7f017f60027f7e0060017e006000017e60057f7f7f7f7f0060037e7f7f0002cc062303656e760b7369676e616c4572726f72000303656e7618626967496e7447657445787465726e616c42616c616e6365000303656e760a6d4275666665724e6577000403656e760d6d427566666572417070656e64000203656e76096d4275666665724571000203656e76106d616e61676564534341646472657373000103656e761b6d616e61676564457865637574654f6e44657374436f6e74657874000a03656e760f636c65616e52657475726e44617461000003656e760d6d616e6167656443616c6c6572000103656e76136d616e616765644f776e657241646472657373000103656e76126d427566666572476574417267756d656e74000203656e760f6765744e756d417267756d656e7473000403656e76126d427566666572417070656e644279746573000703656e760f6d4275666665725365744279746573000703656e76106d4275666665724765744c656e677468000503656e76196d42756666657246726f6d426967496e74556e7369676e6564000203656e76136d42756666657247657442797465536c696365000b03656e76126d42756666657253746f726167654c6f6164000203656e76126d616e616765645369676e616c4572726f72000103656e760e626967496e74536574496e743634000c03656e760a626967496e745369676e000503656e76136d42756666657253746f7261676553746f7265000203656e760e636865636b4e6f5061796d656e74000003656e7614626967496e7446696e697368556e7369676e6564000103656e760d6d42756666657246696e697368000503656e7614736d616c6c496e7446696e6973685369676e6564000d03656e761c6d616e616765644765744d756c74694553445443616c6c56616c7565000103656e7609626967496e74436d70000203656e760a6765744761734c656674000e03656e761b6d616e616765645472616e7366657256616c756545786563757465000803656e76136765744e756d455344545472616e7366657273000403656e7612626967496e7447657443616c6c56616c7565000103656e7609626967496e74416464000603656e76226d616e616765644d756c74695472616e73666572455344544e465445786563757465000803656e760f6d42756666657247657442797465730002032c2b0f00040405020310010400010303040503020301050509030306060900040501000000000000000000000005030100110619037f01418080c0000b7f0041e5d1c0000b7f0041f0d1c0000b079b010c066d656d6f7279020004696e69740044146765744c6f636b656445676c6442616c616e63650045156765745772617070656445676c64546f6b656e496400460869735061757365640047057061757365004807756e706175736500490a756e7772617045676c64004a087772617045676c64004b0863616c6c4261636b004c0a5f5f646174615f656e6403010b5f5f686561705f6261736503020abc162b2e000240200120024d0440200220044d0d011024000b1024000b2000200220016b3602042000200120036a3602000b05001043000b2301027f10262200100520001026210041c5d1c00010221a41c5d1c0002000100120000b1b01017f41a483c00041a483c00028020041016b220036020020000b0f01017f10022201200010031a20010b0b0020002001100441004a0b0900200020011000000b1f01017f4167100510262203102b20004167200320012002102610061a10070b08002000420010130b0c01017f10262200100820000b1e01017f1026220010092000102c102804400f0b41f082c00041241000000b1500100b20004604400f0b41cb81c00041191000000b4701017f230041106b2202240020022001410874418080fc077120014118747220014108764180fe03712001411876727236020c20002002410c6a4104100c1a200241106a24000b0d0010311a200020011032102f0b1401017f1026220041d482c0004100100d1a20000b0f01017f102622012000100f1a20010b0d0010311a200020011027102f0b1101017f1026220220002001100d1a20020b09002000200110031a0b5501017f20002d00042101200041003a000402402001410171044041a883c00028020022014191ce004f0d01200028020041ac83c0002001100c1a41a883c000410036020041bcd1c00041003a00000b0f0b1024000bae0102027f017e230041106b2202240020024200370308200010382200100e220141094904402002200241086a41082001103920004100200228020422002002280200220110101a027f41002000450d001a034020000440200041016b210020013100002003420886842103200141016a21010c010b0b02402003420158044041002003a741016b0d021a0c010b41f281c0004112103a000b41010b200241106a24000f0b41e481c000410e103a000b0d0020001026220010111a20000b3b01017f230041106b22042400200441086a41002003200120021023200428020c21012000200428020836020020002001360204200441106a24000b1b01017f418482c00041161034220220002001100c1a20021012000bf20101047f230041106b2203240020032000100e22024118742002410874418080fc07717220024108764180fe03712002411876727236020c20012003410c6a4104103c20012d00042102200141003a00040240024002402002410171220204402000100e22054190ce0041a883c00028020022046b4b0d0220032004200420056a2204103d200041002003280204200328020010101a41a883c00020043602000c010b2001280200200010350b200120023a00040c010b2001103620012802002000103520012d0004200120023a0004410171450d0041a883c000410036020041bcd1c00041003a00000b200341106a24000b800101027f230041106b220324000240024020002d000404404190ce0041a883c00028020022046b2002490d01200341086a2004200220046a2200103d2003280208200328020c20012002103e41a883c00020003602000c020b200028020020012002100c1a0c010b20001036200028020020012002100c1a0b200341106a24000b4001017f230041106b22032400200341086a2001200241ac83c0004190ce001023200328020c21012000200328020836020020002001360204200341106a24000bb00201067f2001200346044020012203410f4b04402000410020006b41037122056a210420050440200221010340200020012d00003a0000200141016a2101200041016a22002004490d000b0b2004200320056b2203417c7122066a21000240200220056a220541037122010440200641004c0d012005417c71220741046a21024100200141037422086b4118712109200728020021010340200420012008762002280200220120097472360200200241046a2102200441046a22042000490d000b0c010b200641004c0d0020052102034020042002280200360200200241046a2102200441046a22042000490d000b0b20034103712103200520066a21020b20030440200020036a21010340200020022d00003a0000200241016a2102200041016a22002001490d000b0b0f0b1043000b1c0041be82c0004113103410374504400f0b419a82c00041121029000b0b0041ac82c000411210340b09002000101441004a0ba60101037f230041106b2201240041be82c00041131034200142808080808080808001420020001b3703080240200045044041d482c00021000c010b4100210003400240024020004108470440200141086a20006a2d00002202450d022002411874411f7520006a220041094f0d01410820006b21022000200141086a6a21000c040b1043000b104d000b200041016a21000c000b000b20002002103410151a200141106a24000b0500104d000b1a01017f10164101102e410010262200100a1a1040200010151a0b0c0010164100102e102510170b0f0010164100102e1040103810181a0b160010164100102e41be82c000411310341037ad10190b0e001016102d4100102e410110420b0e001016102d4100102e410010420bed0302097f017e230041106b220124004100102e103f416b2102024041c4d1c0002d000022000440416b41ffffffff0720001b21020c010b41c4d1c00041013a0000416b101a0b02402002100e4170714110460440410021002002100e2106200141086a2107410121050340200041106a220420064b0d022007420037030020014200370300200220004110200110101a2005044020012902042209423886200942288642808080808080c0ff0083842009421886428080808080e03f8320094208864280808080f01f838484200942088842808080f80f832009421888428080fc07838420094228884280fe038320094238888484842109200128020022004118742000410874418080fc07717220004108764180fe0371200041187672722108200128020c22004118742000410874418080fc07717220004108764180fe037120004118767272210341002105200421000c010b0b1043000b418481c00041221000000b024002400240200950044020081040103822041028450d0120031041450d0220031025101b41004a0d031031220020041033200020031030101c41ea80c000410d10342000102a102c2003420010311031101d1a200141106a24000f0b41d482c000411c1000000b418080c00041101029000b419080c000411c1029000b41ac80c00041231029000beb0301097f230041206b220124000240101e4504404100102e103f41752103024041c0d1c0002d000022000440417541ffffffff0720001b21030c010b41c0d1c00041013a00004175101f0b20031041450d011040103821041031220020041033200020031030101c41f780c000410d10342000102a102c10312107103121081031210520041027210210262200102b20002000200310202001420037020c20012002410874418080fc077120024118747220024108764180fe03712002411876727236020820012000410874418080fc077120004118747220004108764180fe0371200041187672723602142005200141086a4110100c1a200542002007200810211a2001027f41bcd1c0002d0000220045044041bcd1c00041013a000041a883c0004100360200200141ac83c0004190ce00410010392001280200200128020441d482c0004100103e10310c010b41d482c000410010340b360218200120004101733a001c2004200141186a2200103b200142003703082000200141086a22024108103c200310322000103b20012802182100200120012d001c3a000c2001200036020820021036200128020820012d000c044041a883c000410036020041bcd1c00041003a00000b10181a200141206a24000f0b41a681c00041251000000b41cf80c000411b1029000b0300010b0c00419483c000410e1000000b0bb8030200418080c0000ba20357726f6e67206573647420746f6b656e4d75737420706179206d6f7265207468616e203020746f6b656e7321436f6e747261637420646f6573206e6f74206861766520656e6f7567682066756e64735061796d656e74206d757374206265206d6f7265207468616e2030455344544c6f63616c4275726e455344544c6f63616c4d696e74696e636f7272656374206e756d626572206f662045534454207472616e736665727366756e6374696f6e20646f6573206e6f74206163636570742045534454207061796d656e7477726f6e67206e756d626572206f6620617267756d656e7473696e70757420746f6f206c6f6e67696e707574206f7574206f662072616e676573746f72616765206465636f6465206572726f723a20436f6e7472616374206973207061757365647772617070656445676c64546f6b656e496470617573655f6d6f64756c653a70617573656400000066756e6769626c65204553445420746f6b656e206578706563746564456e64706f696e742063616e206f6e6c792062652063616c6c6564206279206f776e657270616e6963206f636375727265640041a483c0000b049cffffff" + } + } + }, + { + "step": "setState", + "newAddresses": [ + { + "creatorAddress": "0xe32afedc904fe1939746ad973beb383563cf63642ba669b3040f9b9428a5ed60", + "creatorNonce": "495", + "newAddress": "0x0000000000000000050013ee5923031e866a442d3cb543820bf74178bc7fed60" + } + ] + }, + { + "step": "scDeploy", + "id": "", + "tx": { + "from": "0xe32afedc904fe1939746ad973beb383563cf63642ba669b3040f9b9428a5ed60", + "contractCode": "file:../output/multisig.wasm", + "arguments": [ + "0x02", + "0xe32afedc904fe1939746ad973beb383563cf63642ba669b3040f9b9428a5ed60", + "0xb2a11555ce521e4944e09ab17549d85b487dcd26c84b5017a39e31a3670889ba", + "0xb13a017423c366caff8cecfb77a12610a130f4888134122c7937feae0d6d7d17", + "0x3af8d9c9423b2577c6252722c1d90212a4111f7203f9744f76fcfa1d0a310033" + ], + "gasLimit": "70,000,000", + "gasPrice": "" + }, + "expect": { + "status": "0" + } + }, + { + "step": "transfer", + "id": "", + "tx": { + "from": "0xe32afedc904fe1939746ad973beb383563cf63642ba669b3040f9b9428a5ed60", + "to": "0x0000000000000000050013ee5923031e866a442d3cb543820bf74178bc7fed60", + "egldValue": "0,050000000000000000", + "gasLimit": "50,000" + } + }, + { + "step": "scCall", + "id": "", + "tx": { + "from": "0xe32afedc904fe1939746ad973beb383563cf63642ba669b3040f9b9428a5ed60", + "to": "0x0000000000000000050013ee5923031e866a442d3cb543820bf74178bc7fed60", + "function": "proposeAsyncCall", + "arguments": [ + "0x00000000000000000500c114ee7698050a4d40c092add8c31d25e99a6e1ec2ee", + "0xb1a2bc2ec50000", + "0x7772617045676c64" + ], + "gasLimit": "10,000,000", + "gasPrice": "" + } + }, + { + "step": "scCall", + "id": "", + "tx": { + "from": "0xb2a11555ce521e4944e09ab17549d85b487dcd26c84b5017a39e31a3670889ba", + "to": "0x0000000000000000050013ee5923031e866a442d3cb543820bf74178bc7fed60", + "function": "sign", + "arguments": [ + "0x01" + ], + "gasLimit": "15,000,000", + "gasPrice": "" + } + }, + { + "step": "scCall", + "id": "", + "tx": { + "from": "0xb13a017423c366caff8cecfb77a12610a130f4888134122c7937feae0d6d7d17", + "to": "0x0000000000000000050013ee5923031e866a442d3cb543820bf74178bc7fed60", + "function": "sign", + "arguments": [ + "0x01" + ], + "gasLimit": "15,000,000", + "gasPrice": "" + } + }, + { + "step": "scCall", + "id": "", + "tx": { + "from": "0x3af8d9c9423b2577c6252722c1d90212a4111f7203f9744f76fcfa1d0a310033", + "to": "0x0000000000000000050013ee5923031e866a442d3cb543820bf74178bc7fed60", + "function": "sign", + "arguments": [ + "0x01" + ], + "gasLimit": "15,000,000", + "gasPrice": "" + } + }, + { + "step": "scCall", + "id": "", + "tx": { + "from": "0xe32afedc904fe1939746ad973beb383563cf63642ba669b3040f9b9428a5ed60", + "to": "0x0000000000000000050013ee5923031e866a442d3cb543820bf74178bc7fed60", + "function": "performAction", + "arguments": [ + "0x01" + ], + "gasLimit": "15,000,000", + "gasPrice": "" + } + }, + { + "step": "scCall", + "id": "", + "tx": { + "from": "0xe32afedc904fe1939746ad973beb383563cf63642ba669b3040f9b9428a5ed60", + "to": "0x0000000000000000050013ee5923031e866a442d3cb543820bf74178bc7fed60", + "function": "proposeAsyncCall", + "arguments": [ + "0x00000000000000000500c114ee7698050a4d40c092add8c31d25e99a6e1ec2ee", + "0x", + "0x455344545472616e73666572", + "0x5745474c442d366366333865", + "0x58d15e17628000", + "0x756e7772617045676c64" + ], + "gasLimit": "10,000,000", + "gasPrice": "" + } + }, + { + "step": "scCall", + "id": "", + "tx": { + "from": "0xb2a11555ce521e4944e09ab17549d85b487dcd26c84b5017a39e31a3670889ba", + "to": "0x0000000000000000050013ee5923031e866a442d3cb543820bf74178bc7fed60", + "function": "sign", + "arguments": [ + "0x02" + ], + "gasLimit": "15,000,000", + "gasPrice": "" + } + }, + { + "step": "scCall", + "id": "", + "tx": { + "from": "0xb13a017423c366caff8cecfb77a12610a130f4888134122c7937feae0d6d7d17", + "to": "0x0000000000000000050013ee5923031e866a442d3cb543820bf74178bc7fed60", + "function": "sign", + "arguments": [ + "0x02" + ], + "gasLimit": "15,000,000", + "gasPrice": "" + } + }, + { + "step": "scCall", + "id": "", + "tx": { + "from": "0x3af8d9c9423b2577c6252722c1d90212a4111f7203f9744f76fcfa1d0a310033", + "to": "0x0000000000000000050013ee5923031e866a442d3cb543820bf74178bc7fed60", + "function": "sign", + "arguments": [ + "0x02" + ], + "gasLimit": "15,000,000", + "gasPrice": "" + } + }, + { + "step": "scCall", + "id": "", + "tx": { + "from": "0xe32afedc904fe1939746ad973beb383563cf63642ba669b3040f9b9428a5ed60", + "to": "0x0000000000000000050013ee5923031e866a442d3cb543820bf74178bc7fed60", + "function": "performAction", + "arguments": [ + "0x02" + ], + "gasLimit": "15,000,000", + "gasPrice": "" + } + } + ] +} diff --git a/contracts/multisig/src/action.rs b/contracts/multisig/src/action.rs index e6c0423d..f5c55cc1 100644 --- a/contracts/multisig/src/action.rs +++ b/contracts/multisig/src/action.rs @@ -56,13 +56,13 @@ pub struct ActionFullInfo { #[cfg(test)] mod test { - use multiversx_sc_scenario::DebugApi; + use multiversx_sc_scenario::api::StaticApi; use super::Action; #[test] fn test_is_pending() { - assert!(!Action::::Nothing.is_pending()); - assert!(Action::::ChangeQuorum(5).is_pending()); + assert!(!Action::::Nothing.is_pending()); + assert!(Action::::ChangeQuorum(5).is_pending()); } } diff --git a/contracts/multisig/tests/multisig_blackbox_test.rs b/contracts/multisig/tests/multisig_blackbox_test.rs new file mode 100644 index 00000000..b4e8765e --- /dev/null +++ b/contracts/multisig/tests/multisig_blackbox_test.rs @@ -0,0 +1,579 @@ +use adder::ProxyTrait as _; +use multisig::{ + multisig_perform::ProxyTrait as _, multisig_propose::ProxyTrait as _, user_role::UserRole, + ProxyTrait as _, +}; +use multiversx_sc::{ + codec::{ + multi_types::{MultiValueVec, OptionalValue}, + test_util::top_encode_to_vec_u8_or_panic, + }, + storage::mappers::SingleValue, + types::{Address, CodeMetadata, ContractCallNoPayment}, +}; +use multiversx_sc_scenario::{ + api::StaticApi, + scenario_model::{ + Account, AddressValue, CheckAccount, CheckStateStep, ScCallStep, ScDeployStep, ScQueryStep, + SetStateStep, TxExpect, + }, + ContractInfo, ScenarioWorld, +}; +use num_bigint::BigUint; + +const ADDER_ADDRESS_EXPR: &str = "sc:adder"; +const ADDER_OWNER_ADDRESS_EXPR: &str = "address:adder-owner"; +const ADDER_PATH_EXPR: &str = "file:test-contracts/adder.wasm"; +const BOARD_MEMBER_ADDRESS_EXPR: &str = "address:board-member"; +const MULTISIG_ADDRESS_EXPR: &str = "sc:multisig"; +const MULTISIG_PATH_EXPR: &str = "file:output/multisig.wasm"; +const OWNER_ADDRESS_EXPR: &str = "address:owner"; +const PROPOSER_ADDRESS_EXPR: &str = "address:proposer"; +const PROPOSER_BALANCE_EXPR: &str = "100,000,000"; +const QUORUM_SIZE: usize = 1; + +type MultisigContract = ContractInfo>; +type AdderContract = ContractInfo>; + +fn world() -> ScenarioWorld { + let mut blockchain = ScenarioWorld::new(); + blockchain.set_current_dir_from_workspace("contracts/examples/multisig"); + + blockchain.register_contract(MULTISIG_PATH_EXPR, multisig::ContractBuilder); + blockchain.register_contract(ADDER_PATH_EXPR, adder::ContractBuilder); + blockchain +} + +struct MultisigTestState { + world: ScenarioWorld, + proposer_address: Address, + board_member_address: Address, + multisig_contract: MultisigContract, + adder_contract: AdderContract, + adder_address: Address, +} + +impl MultisigTestState { + fn new() -> Self { + let mut world = world(); + world.set_state_step( + SetStateStep::new() + .put_account(OWNER_ADDRESS_EXPR, Account::new().nonce(1)) + .new_address(OWNER_ADDRESS_EXPR, 1, MULTISIG_ADDRESS_EXPR) + .put_account( + PROPOSER_ADDRESS_EXPR, + Account::new().nonce(1).balance(PROPOSER_BALANCE_EXPR), + ) + .put_account(BOARD_MEMBER_ADDRESS_EXPR, Account::new().nonce(1)) + .put_account(ADDER_OWNER_ADDRESS_EXPR, Account::new().nonce(1)) + .new_address(ADDER_OWNER_ADDRESS_EXPR, 1, ADDER_ADDRESS_EXPR), + ); + + let proposer_address = AddressValue::from(PROPOSER_ADDRESS_EXPR).to_address(); + let board_member_address = AddressValue::from(BOARD_MEMBER_ADDRESS_EXPR).to_address(); + let multisig_contract = MultisigContract::new(MULTISIG_ADDRESS_EXPR); + let adder_contract = AdderContract::new(ADDER_ADDRESS_EXPR); + let adder_address = AddressValue::from(ADDER_ADDRESS_EXPR).to_address(); + + Self { + world, + proposer_address, + board_member_address, + multisig_contract, + adder_contract, + adder_address, + } + } + + fn deploy_multisig_contract(&mut self) -> &mut Self { + let multisig_code = self.world.code_expression(MULTISIG_PATH_EXPR); + let board_members = MultiValueVec::from(vec![self.board_member_address.clone()]); + + self.world.sc_deploy( + ScDeployStep::new() + .from(OWNER_ADDRESS_EXPR) + .code(multisig_code) + .call(self.multisig_contract.init(QUORUM_SIZE, board_members)), + ); + + let action_id: usize = self.world.sc_call_get_result( + ScCallStep::new().from(BOARD_MEMBER_ADDRESS_EXPR).call( + self.multisig_contract + .propose_add_proposer(self.proposer_address.clone()), + ), + ); + self.sign(action_id); + self.perform(action_id); + + self.expect_user_role(&self.proposer_address.clone(), UserRole::Proposer); + + self + } + + fn deploy_adder_contract(&mut self) -> &mut Self { + let adder_code = self.world.code_expression(ADDER_PATH_EXPR); + + self.world.sc_deploy( + ScDeployStep::new() + .from(ADDER_OWNER_ADDRESS_EXPR) + .code(adder_code) + .call(self.adder_contract.init(5u64)), + ); + + self + } + + fn propose_add_board_member(&mut self, board_member_address: Address) -> usize { + self.world.sc_call_get_result( + ScCallStep::new().from(PROPOSER_ADDRESS_EXPR).call( + self.multisig_contract + .propose_add_board_member(board_member_address), + ), + ) + } + + fn propose_add_proposer(&mut self, proposer_address: Address) -> usize { + self.world.sc_call_get_result( + ScCallStep::new().from(PROPOSER_ADDRESS_EXPR).call( + self.multisig_contract + .propose_add_proposer(proposer_address), + ), + ) + } + + fn propose_change_quorum(&mut self, new_quorum: usize) -> usize { + self.world.sc_call_get_result( + ScCallStep::new() + .from(PROPOSER_ADDRESS_EXPR) + .call(self.multisig_contract.propose_change_quorum(new_quorum)), + ) + } + + fn propose_transfer_execute( + &mut self, + to: Address, + egld_amount: u64, + contract_call: ContractCallNoPayment, + ) -> usize { + self.world + .sc_call_get_result(ScCallStep::new().from(PROPOSER_ADDRESS_EXPR).call( + self.multisig_contract.propose_transfer_execute( + to, + egld_amount, + contract_call.endpoint_name, + contract_call.arg_buffer.into_multi_value_encoded(), + ), + )) + } + + fn propose_async_call( + &mut self, + to: Address, + egld_amount: u64, + contract_call: ContractCallNoPayment, + ) -> usize { + self.world + .sc_call_get_result(ScCallStep::new().from(PROPOSER_ADDRESS_EXPR).call( + self.multisig_contract.propose_async_call( + to, + egld_amount, + contract_call.endpoint_name, + contract_call.arg_buffer.into_multi_value_encoded(), + ), + )) + } + + fn propose_remove_user(&mut self, user_address: Address) -> usize { + self.world.sc_call_get_result( + ScCallStep::new() + .from(PROPOSER_ADDRESS_EXPR) + .call(self.multisig_contract.propose_remove_user(user_address)), + ) + } + + fn propose_sc_deploy_from_source( + &mut self, + amount: u64, + source: Address, + code_metadata: CodeMetadata, + arguments: MultiValueVec>, + ) -> usize { + self.world + .sc_call_get_result(ScCallStep::new().from(PROPOSER_ADDRESS_EXPR).call( + self.multisig_contract.propose_sc_deploy_from_source( + amount, + source, + code_metadata, + arguments, + ), + )) + } + + fn propose_sc_upgrade_from_source( + &mut self, + sc_address: Address, + amount: u64, + source: Address, + code_metadata: CodeMetadata, + arguments: MultiValueVec>, + ) -> usize { + self.world + .sc_call_get_result(ScCallStep::new().from(PROPOSER_ADDRESS_EXPR).call( + self.multisig_contract.propose_sc_upgrade_from_source( + sc_address, + amount, + source, + code_metadata, + arguments, + ), + )) + } + + fn perform(&mut self, action_id: usize) { + self.world.sc_call( + ScCallStep::new() + .from(BOARD_MEMBER_ADDRESS_EXPR) + .call(self.multisig_contract.perform_action_endpoint(action_id)), + ); + } + + fn perform_and_expect_err(&mut self, action_id: usize, err_message: &str) { + self.world.sc_call( + ScCallStep::new() + .from(BOARD_MEMBER_ADDRESS_EXPR) + .call(self.multisig_contract.perform_action_endpoint(action_id)) + .expect(TxExpect::user_error("str:".to_string() + err_message)), + ); + } + + fn sign(&mut self, action_id: usize) { + self.world.sc_call( + ScCallStep::new() + .from(BOARD_MEMBER_ADDRESS_EXPR) + .call(self.multisig_contract.sign(action_id)), + ); + } + + fn expect_user_role(&mut self, user: &Address, expected_user_role: UserRole) { + self.world.sc_query( + ScQueryStep::new() + .call(self.multisig_contract.user_role(user.clone())) + .expect_value(expected_user_role), + ); + } +} + +#[test] +fn test_add_board_member() { + let mut state = MultisigTestState::new(); + state.deploy_multisig_contract(); + + const NEW_BOARD_MEMBER_ADDRESS_EXPR: &str = "address:new-board-member"; + let new_board_member_address = AddressValue::from(NEW_BOARD_MEMBER_ADDRESS_EXPR).to_address(); + + state.world.set_state_step( + SetStateStep::new().put_account(NEW_BOARD_MEMBER_ADDRESS_EXPR, Account::new().nonce(1)), + ); + + state.expect_user_role(&new_board_member_address, UserRole::None); + + let action_id = state.propose_add_board_member(new_board_member_address.clone()); + state.sign(action_id); + state.perform(action_id); + + state.expect_user_role(&new_board_member_address, UserRole::BoardMember); + state.world.sc_query( + ScQueryStep::new() + .call(state.multisig_contract.get_all_board_members()) + .expect_value(MultiValueVec::
::from(vec![ + state.board_member_address.clone(), + new_board_member_address.clone(), + ])), + ); +} + +#[test] +fn test_add_proposer() { + let mut state = MultisigTestState::new(); + state.deploy_multisig_contract(); + + const NEW_PROPOSER_ADDRESS_EXPR: &str = "address:new-proposer"; + let new_proposer_address = AddressValue::from(NEW_PROPOSER_ADDRESS_EXPR).to_address(); + + state.world.set_state_step( + SetStateStep::new().put_account(NEW_PROPOSER_ADDRESS_EXPR, Account::new().nonce(1)), + ); + + state.expect_user_role(&new_proposer_address, UserRole::None); + + let action_id = state.propose_add_proposer(new_proposer_address.clone()); + state.sign(action_id); + state.perform(action_id); + + state.expect_user_role(&new_proposer_address, UserRole::Proposer); + state.world.sc_query( + ScQueryStep::new() + .call(state.multisig_contract.get_all_proposers()) + .expect_value(MultiValueVec::
::from(vec![ + state.proposer_address.clone(), + new_proposer_address.clone(), + ])), + ); +} + +#[test] +fn test_remove_proposer() { + let mut state = MultisigTestState::new(); + state.deploy_multisig_contract(); + + state.expect_user_role(&state.proposer_address.clone(), UserRole::Proposer); + + let action_id = state.propose_remove_user(state.proposer_address.clone()); + state.sign(action_id); + state.perform(action_id); + + state.expect_user_role(&state.proposer_address.clone(), UserRole::None); + state.world.sc_query( + ScQueryStep::new() + .call(state.multisig_contract.get_all_proposers()) + .expect_value(MultiValueVec::
::new()), + ); +} + +#[test] +fn test_try_remove_all_board_members() { + let mut state = MultisigTestState::new(); + state.deploy_multisig_contract(); + + let action_id = state.propose_remove_user(state.board_member_address.clone()); + state.sign(action_id); + state.perform_and_expect_err(action_id, "quorum cannot exceed board size") +} + +#[test] +fn test_change_quorum() { + let mut state = MultisigTestState::new(); + state.deploy_multisig_contract(); + + let new_quorum = 2; + // try change quorum > board size + let action_id = state.propose_change_quorum(new_quorum); + state.sign(action_id); + state.perform_and_expect_err(action_id, "quorum cannot exceed board size"); + + // try discard before unsigning + state.world.sc_call( + ScCallStep::new() + .from(BOARD_MEMBER_ADDRESS_EXPR) + .call(state.multisig_contract.discard_action(action_id)) + .expect(TxExpect::user_error( + "str:cannot discard action with valid signatures", + )), + ); + + // unsign and discard action + state.world.sc_call( + ScCallStep::new() + .from(BOARD_MEMBER_ADDRESS_EXPR) + .call(state.multisig_contract.unsign(action_id)), + ); + + state.world.sc_call( + ScCallStep::new() + .from(BOARD_MEMBER_ADDRESS_EXPR) + .call(state.multisig_contract.discard_action(action_id)), + ); + + // try sign discarded action + state.world.sc_call( + ScCallStep::new() + .from(BOARD_MEMBER_ADDRESS_EXPR) + .call(state.multisig_contract.sign(action_id)) + .expect(TxExpect::user_error("str:action does not exist")), + ); + + // add another board member + const NEW_BOARD_MEMBER_ADDRESS_EXPR: &str = "address:new-board-member"; + let new_board_member_address = AddressValue::from(NEW_BOARD_MEMBER_ADDRESS_EXPR).to_address(); + + state.world.set_state_step( + SetStateStep::new().put_account(NEW_BOARD_MEMBER_ADDRESS_EXPR, Account::new().nonce(1)), + ); + + let action_id = state.propose_add_board_member(new_board_member_address.clone()); + state.sign(action_id); + state.perform(action_id); + + // change quorum to 2 + let action_id = state.propose_change_quorum(new_quorum); + state.sign(action_id); + state.perform(action_id); +} + +#[test] +fn test_transfer_execute_to_user() { + let mut state = MultisigTestState::new(); + state.deploy_multisig_contract(); + + const NEW_USER_ADDRESS_EXPR: &str = "address:new-user"; + state.world.set_state_step( + SetStateStep::new().put_account(NEW_USER_ADDRESS_EXPR, Account::new().nonce(1)), + ); + + const AMOUNT: &str = "100"; + + state.world.sc_call( + ScCallStep::new() + .from(PROPOSER_ADDRESS_EXPR) + .egld_value(AMOUNT) + .call(state.multisig_contract.deposit()), + ); + + state.world.check_state_step( + CheckStateStep::new() + .put_account(MULTISIG_ADDRESS_EXPR, CheckAccount::new().balance(AMOUNT)), + ); + + // failed attempt + let new_user_address = AddressValue::from(NEW_USER_ADDRESS_EXPR).to_address(); + + state.world.sc_call( + ScCallStep::new() + .from(PROPOSER_ADDRESS_EXPR) + .call(state.multisig_contract.propose_transfer_execute( + new_user_address.clone(), + 0u64, + OptionalValue::::None, + MultiValueVec::>::new(), + )) + .expect(TxExpect::user_error("str:proposed action has no effect")), + ); + + // propose + let action_id = + state + .world + .sc_call_get_result(ScCallStep::new().from(PROPOSER_ADDRESS_EXPR).call( + state.multisig_contract.propose_transfer_execute( + new_user_address.clone(), + AMOUNT.parse::().unwrap(), + OptionalValue::::None, + MultiValueVec::>::new(), + ), + )); + state.sign(action_id); + state.perform(action_id); + + state.world.check_state_step( + CheckStateStep::new() + .put_account(NEW_USER_ADDRESS_EXPR, CheckAccount::new().balance(AMOUNT)), + ); +} + +#[test] +fn test_transfer_execute_sc_all() { + let mut state = MultisigTestState::new(); + state.deploy_multisig_contract().deploy_adder_contract(); + + let adder_call = state.adder_contract.add(5u64); + + let action_id = state.propose_transfer_execute(state.adder_address.clone(), 0u64, adder_call); + state.sign(action_id); + state.perform(action_id); + + state.world.sc_query( + ScQueryStep::new() + .call(state.adder_contract.sum()) + .expect_value(SingleValue::from(BigUint::from(10u64))), + ); +} + +#[test] +fn test_async_call_to_sc() { + let mut state = MultisigTestState::new(); + state.deploy_multisig_contract().deploy_adder_contract(); + + let adder_call = state.adder_contract.add(5u64); + + let action_id = state.propose_async_call(state.adder_address.clone(), 0u64, adder_call); + state.sign(action_id); + state.perform(action_id); + + state.world.sc_query( + ScQueryStep::new() + .call(state.adder_contract.sum()) + .expect_value(SingleValue::from(BigUint::from(10u64))), + ); +} + +#[test] +fn test_deploy_and_upgrade_from_source() { + let mut state = MultisigTestState::new(); + state.deploy_multisig_contract().deploy_adder_contract(); + + const NEW_ADDER_ADDRESS_EXPR: &str = "sc:new-adder"; + state.world.set_state_step(SetStateStep::new().new_address( + MULTISIG_ADDRESS_EXPR, + 0, + NEW_ADDER_ADDRESS_EXPR, + )); + + let new_adder_address = AddressValue::from(NEW_ADDER_ADDRESS_EXPR).to_address(); + + let action_id = state.propose_sc_deploy_from_source( + 0u64, + state.adder_address.clone(), + CodeMetadata::all(), + MultiValueVec::from([top_encode_to_vec_u8_or_panic(&5u64)]), + ); + state.sign(action_id); + state.world.sc_call( + ScCallStep::new() + .from(BOARD_MEMBER_ADDRESS_EXPR) + .call(state.multisig_contract.perform_action_endpoint(action_id)) + .expect_value(OptionalValue::Some(new_adder_address.clone())), + ); + + let adder_call = state.adder_contract.add(5u64); + + let action_id = state.propose_transfer_execute(new_adder_address.clone(), 0u64, adder_call); + state.sign(action_id); + state.perform(action_id); + + let mut new_adder_contract = AdderContract::new(NEW_ADDER_ADDRESS_EXPR); + + state.world.sc_query( + ScQueryStep::new() + .call(new_adder_contract.sum()) + .expect_value(SingleValue::from(BigUint::from(10u64))), + ); + + const FACTORIAL_ADDRESS_EXPR: &str = "sc:factorial"; + const FACTORIAL_PATH_EXPR: &str = "file:test-contracts/factorial.wasm"; + + let factorial_code = state.world.code_expression(FACTORIAL_PATH_EXPR); + let factorial_address = AddressValue::from(FACTORIAL_ADDRESS_EXPR).to_address(); + + state + .world + .register_contract(FACTORIAL_PATH_EXPR, factorial::ContractBuilder); + state.world.set_state_step(SetStateStep::new().put_account( + FACTORIAL_ADDRESS_EXPR, + Account::new().nonce(1).code(factorial_code.clone()), + )); + + let action_id = state.propose_sc_upgrade_from_source( + state.adder_address.clone(), + 0u64, + factorial_address.clone(), + CodeMetadata::all(), + MultiValueVec::new(), + ); + state.sign(action_id); + state.perform(action_id); + + state.world.check_state_step( + CheckStateStep::new() + .put_account(ADDER_ADDRESS_EXPR, CheckAccount::new().code(factorial_code)), + ); +} diff --git a/contracts/multisig/tests/multisig_rust_test.rs b/contracts/multisig/tests/multisig_rust_test.rs deleted file mode 100644 index 6d64588e..00000000 --- a/contracts/multisig/tests/multisig_rust_test.rs +++ /dev/null @@ -1,433 +0,0 @@ -use std::borrow::Borrow; - -use multisig::user_role::UserRole; -use multisig_rust_test_setup::{CallActionDataRaw, MultisigSetup}; -use multiversx_sc::types::{BoxedBytes, CodeMetadata, ManagedAddress}; -use multiversx_sc_scenario::{managed_address, managed_biguint, rust_biguint, DebugApi}; - -mod multisig_rust_test_setup; -use adder::Adder; -use factorial::Factorial; -use multisig::Multisig; - -use crate::multisig_rust_test_setup::{ActionRaw, EGLD_TOKEN_ID}; - -#[test] -fn init_test() { - let _ = MultisigSetup::new(multisig::contract_obj); -} - -#[test] -fn add_board_member_test() { - let rust_zero = rust_biguint!(0); - let mut ms_setup = MultisigSetup::new(multisig::contract_obj); - let new_board_member_addr = ms_setup.b_mock.create_user_account(&rust_zero); - - ms_setup - .b_mock - .execute_query(&ms_setup.ms_wrapper, |sc| { - // check role before - let user_role = sc.user_role(managed_address!(&new_board_member_addr)); - assert_eq!(user_role, UserRole::None); - }) - .assert_ok(); - - let (action_id, tx_result) = - ms_setup.call_propose(ActionRaw::AddBoardMember(new_board_member_addr.clone())); - tx_result.assert_ok(); - - ms_setup.call_sign(action_id).assert_ok(); - ms_setup.call_perform_action(action_id).assert_ok(); - - let prev_board_memeber_addr = ms_setup.board_member_address.clone(); - ms_setup - .b_mock - .execute_query(&ms_setup.ms_wrapper, |sc| { - // check role after - let user_role = sc.user_role(managed_address!(&new_board_member_addr)); - assert_eq!(user_role, UserRole::BoardMember); - - let board_members = sc.get_all_board_members().to_vec(); - assert_eq!( - (board_members.get(0).borrow() as &ManagedAddress).clone(), - managed_address!(&prev_board_memeber_addr) - ); - assert_eq!( - (board_members.get(1).borrow() as &ManagedAddress).clone(), - managed_address!(&new_board_member_addr) - ); - }) - .assert_ok(); -} - -#[test] -fn add_proposer_test() { - let rust_zero = rust_biguint!(0); - let mut ms_setup = MultisigSetup::new(multisig::contract_obj); - let new_proposer_addr = ms_setup.b_mock.create_user_account(&rust_zero); - - ms_setup - .b_mock - .execute_query(&ms_setup.ms_wrapper, |sc| { - // check role before - let user_role = sc.user_role(managed_address!(&new_proposer_addr)); - assert_eq!(user_role, UserRole::None); - }) - .assert_ok(); - - let (action_id, tx_result) = - ms_setup.call_propose(ActionRaw::AddProposer(new_proposer_addr.clone())); - tx_result.assert_ok(); - - ms_setup.call_sign(action_id).assert_ok(); - ms_setup.call_perform_action(action_id).assert_ok(); - - let prev_proposer_addr = ms_setup.proposer_address.clone(); - ms_setup - .b_mock - .execute_query(&ms_setup.ms_wrapper, |sc| { - // check role after - let user_role = sc.user_role(managed_address!(&new_proposer_addr)); - assert_eq!(user_role, UserRole::Proposer); - - let proposers = sc.get_all_proposers().to_vec(); - assert_eq!( - (proposers.get(0).borrow() as &ManagedAddress).clone(), - managed_address!(&prev_proposer_addr) - ); - assert_eq!( - (proposers.get(1).borrow() as &ManagedAddress).clone(), - managed_address!(&new_proposer_addr) - ); - }) - .assert_ok(); -} - -#[test] -fn remove_proposer_test() { - let mut ms_setup = MultisigSetup::new(multisig::contract_obj); - - let proposer_addr = ms_setup.proposer_address.clone(); - ms_setup - .b_mock - .execute_query(&ms_setup.ms_wrapper, |sc| { - // check role before - let user_role = sc.user_role(managed_address!(&proposer_addr)); - assert_eq!(user_role, UserRole::Proposer); - }) - .assert_ok(); - - let (action_id, tx_result) = - ms_setup.call_propose(ActionRaw::RemoveUser(proposer_addr.clone())); - tx_result.assert_ok(); - - ms_setup.call_sign(action_id).assert_ok(); - ms_setup.call_perform_action(action_id).assert_ok(); - - ms_setup - .b_mock - .execute_query(&ms_setup.ms_wrapper, |sc| { - // check role after - let user_role = sc.user_role(managed_address!(&proposer_addr)); - assert_eq!(user_role, UserRole::None); - - let proposers = sc.get_all_proposers().to_vec(); - assert!(proposers.is_empty()); - }) - .assert_ok(); -} - -#[test] -fn try_remove_all_board_members_test() { - let mut ms_setup = MultisigSetup::new(multisig::contract_obj); - - let (action_id, tx_result) = - ms_setup.call_propose(ActionRaw::RemoveUser(ms_setup.board_member_address.clone())); - tx_result.assert_ok(); - - ms_setup.call_sign(action_id).assert_ok(); - ms_setup - .call_perform_action(action_id) - .assert_user_error("quorum cannot exceed board size"); -} - -#[test] -fn change_quorum_test() { - let rust_zero = rust_biguint!(0); - let mut ms_setup = MultisigSetup::new(multisig::contract_obj); - let new_quorum_size = 2; - - // try change quorum > board size - let (first_action_id, tx_result) = - ms_setup.call_propose(ActionRaw::ChangeQuorum(new_quorum_size)); - tx_result.assert_ok(); - - ms_setup.call_sign(first_action_id).assert_ok(); - ms_setup - .call_perform_action(first_action_id) - .assert_user_error("quorum cannot exceed board size"); - - // try discard before unsigning - ms_setup - .call_discard_action(first_action_id) - .assert_user_error("cannot discard action with valid signatures"); - - // unsign and discard action - ms_setup.call_unsign(first_action_id).assert_ok(); - ms_setup.call_discard_action(first_action_id).assert_ok(); - - // try sign discarded action - ms_setup - .call_sign(first_action_id) - .assert_user_error("action does not exist"); - - // add another board member - let new_board_member_addr = ms_setup.b_mock.create_user_account(&rust_zero); - let (second_action_id, tx_result) = - ms_setup.call_propose(ActionRaw::AddBoardMember(new_board_member_addr)); - tx_result.assert_ok(); - - ms_setup.call_sign(second_action_id).assert_ok(); - ms_setup.call_perform_action(second_action_id).assert_ok(); - - // change quorum to 2 - let (third_action_id, tx_result) = - ms_setup.call_propose(ActionRaw::ChangeQuorum(new_quorum_size)); - tx_result.assert_ok(); - - ms_setup.call_sign(third_action_id).assert_ok(); - ms_setup.call_perform_action(third_action_id).assert_ok(); -} - -#[test] -fn transfer_execute_to_user_test() { - let rust_zero = rust_biguint!(0); - let mut ms_setup = MultisigSetup::new(multisig::contract_obj); - let user_addr = ms_setup.b_mock.create_user_account(&rust_zero); - let egld_amount = 100; - - ms_setup - .call_deposit(EGLD_TOKEN_ID, egld_amount) - .assert_ok(); - - ms_setup.b_mock.check_egld_balance( - ms_setup.ms_wrapper.address_ref(), - &rust_biguint!(egld_amount), - ); - - // failed attempt - let (_, tx_result) = ms_setup.call_propose(ActionRaw::SendTransferExecute(CallActionDataRaw { - to: user_addr.clone(), - egld_amount: rust_biguint!(0), - endpoint_name: BoxedBytes::empty(), - arguments: Vec::new(), - })); - tx_result.assert_user_error("proposed action has no effect"); - - // propose - let (action_id, tx_result) = - ms_setup.call_propose(ActionRaw::SendTransferExecute(CallActionDataRaw { - to: user_addr.clone(), - egld_amount: rust_biguint!(egld_amount), - endpoint_name: BoxedBytes::empty(), - arguments: Vec::new(), - })); - tx_result.assert_ok(); - - ms_setup.call_sign(action_id).assert_ok(); - ms_setup.call_perform_action(action_id).assert_ok(); - - ms_setup - .b_mock - .check_egld_balance(&user_addr, &rust_biguint!(egld_amount)); -} - -#[test] -fn transfer_execute_sc_call_test() { - let rust_zero = rust_biguint!(0); - let mut ms_setup = MultisigSetup::new(multisig::contract_obj); - let adder_owner = ms_setup.b_mock.create_user_account(&rust_zero); - let adder_wrapper = ms_setup.b_mock.create_sc_account( - &rust_zero, - Some(&adder_owner), - adder::contract_obj, - "path", - ); - - ms_setup - .b_mock - .execute_tx(&adder_owner, &adder_wrapper, &rust_zero, |sc| { - sc.init(managed_biguint!(5)); - }) - .assert_ok(); - - let (action_id, tx_result) = - ms_setup.call_propose(ActionRaw::SendTransferExecute(CallActionDataRaw { - to: adder_wrapper.address_ref().clone(), - egld_amount: rust_zero, - endpoint_name: BoxedBytes::from(&b"add"[..]), - arguments: vec![BoxedBytes::from(&[5u8][..])], - })); - tx_result.assert_ok(); - - ms_setup.call_sign(action_id).assert_ok(); - ms_setup.call_perform_action(action_id).assert_ok(); - - ms_setup - .b_mock - .execute_query(&adder_wrapper, |sc| { - let actual_sum = sc.sum().get(); - let expected_sum = managed_biguint!(10); - assert_eq!(actual_sum, expected_sum); - }) - .assert_ok(); -} - -#[test] -fn async_call_to_sc_test() { - let rust_zero = rust_biguint!(0); - let mut ms_setup = MultisigSetup::new(multisig::contract_obj); - let adder_owner = ms_setup.b_mock.create_user_account(&rust_zero); - let adder_wrapper = ms_setup.b_mock.create_sc_account( - &rust_zero, - Some(&adder_owner), - adder::contract_obj, - "path", - ); - - ms_setup - .b_mock - .execute_tx(&adder_owner, &adder_wrapper, &rust_zero, |sc| { - sc.init(managed_biguint!(5)); - }) - .assert_ok(); - - let (action_id, tx_result) = - ms_setup.call_propose(ActionRaw::SendAsyncCall(CallActionDataRaw { - to: adder_wrapper.address_ref().clone(), - egld_amount: rust_zero, - endpoint_name: BoxedBytes::from(&b"add"[..]), - arguments: vec![BoxedBytes::from(&[5u8][..])], - })); - tx_result.assert_ok(); - - ms_setup.call_sign(action_id).assert_ok(); - - let perform_action_result = ms_setup.call_perform_action(action_id); - perform_action_result.assert_ok(); - - ms_setup - .b_mock - .execute_query(&adder_wrapper, |sc| { - let actual_sum = sc.sum().get(); - let expected_sum = managed_biguint!(10); - assert_eq!(actual_sum, expected_sum); - }) - .assert_ok(); -} - -#[test] -fn deploy_and_upgrade_from_source_test() { - let rust_zero = rust_biguint!(0); - let mut ms_setup = MultisigSetup::new(multisig::contract_obj); - - // init deploy source SC - let adder_owner = ms_setup.b_mock.create_user_account(&rust_zero); - let adder_wrapper = ms_setup.b_mock.create_sc_account( - &rust_zero, - Some(&adder_owner), - adder::contract_obj, - "path", - ); - - ms_setup - .b_mock - .execute_tx(&adder_owner, &adder_wrapper, &rust_zero, |sc| { - sc.init(managed_biguint!(5)); - }) - .assert_ok(); - - // deploy from source - - let ms_addr = ms_setup.ms_wrapper.address_ref().clone(); - let new_adder_wrapper = ms_setup - .b_mock - .prepare_deploy_from_sc(&ms_addr, adder::contract_obj); - - let (deploy_action_id, tx_result) = ms_setup.call_propose(ActionRaw::SCDeployFromSource { - source: adder_wrapper.address_ref().clone(), - amount: rust_zero.clone(), - code_metadata: CodeMetadata::all(), - arguments: vec![BoxedBytes::from(&[5u8][..])], - }); - tx_result.assert_ok(); - - ms_setup.call_sign(deploy_action_id).assert_ok(); - let (tx_result, new_adder_addr_from_result) = - ms_setup.call_perform_action_with_result(deploy_action_id); - tx_result.assert_ok(); - - assert_eq!(new_adder_wrapper.address_ref(), &new_adder_addr_from_result); - - // call the new SC - - let (action_id, tx_result) = - ms_setup.call_propose(ActionRaw::SendTransferExecute(CallActionDataRaw { - to: new_adder_wrapper.address_ref().clone(), - egld_amount: rust_zero.clone(), - endpoint_name: BoxedBytes::from(&b"add"[..]), - arguments: vec![BoxedBytes::from(&[5u8][..])], - })); - tx_result.assert_ok(); - - ms_setup.call_sign(action_id).assert_ok(); - ms_setup.call_perform_action(action_id).assert_ok(); - - ms_setup - .b_mock - .execute_query(&new_adder_wrapper, |sc| { - let actual_sum = sc.sum().get(); - let expected_sum = managed_biguint!(10); - assert_eq!(actual_sum, expected_sum); - }) - .assert_ok(); - - // init upgrade source SC - let fact_owner = ms_setup.b_mock.create_user_account(&rust_zero); - let fact_wrapper = ms_setup.b_mock.create_sc_account( - &rust_zero, - Some(&fact_owner), - factorial::contract_obj, - "path222", - ); - - // upgrade adder to factorial - let (upgrade_action_id, tx_result) = ms_setup.call_propose(ActionRaw::SCUpgradeFromSource { - source: fact_wrapper.address_ref().clone(), - amount: rust_zero.clone(), - code_metadata: CodeMetadata::all(), - arguments: Vec::new(), - sc_address: adder_wrapper.address_ref().clone(), - }); - tx_result.assert_ok(); - - ms_setup.call_sign(upgrade_action_id).assert_ok(); - ms_setup.call_perform_action(upgrade_action_id).assert_ok(); - - tx_result.assert_ok(); - - let after_upgrade_wrapper = ms_setup - .b_mock - .upgrade_wrapper(adder_wrapper, factorial::contract_obj); - - // call SC after upgrade - - ms_setup - .b_mock - .execute_query(&after_upgrade_wrapper, |sc| { - let actual_fact = sc.factorial(managed_biguint!(5)); - let expected_fact = managed_biguint!(120); - assert_eq!(actual_fact, expected_fact); - }) - .assert_ok(); -} diff --git a/contracts/multisig/tests/multisig_rust_test_setup/mod.rs b/contracts/multisig/tests/multisig_rust_test_setup/mod.rs deleted file mode 100644 index aec35169..00000000 --- a/contracts/multisig/tests/multisig_rust_test_setup/mod.rs +++ /dev/null @@ -1,278 +0,0 @@ -use multisig::{ - multisig_perform::MultisigPerformModule, multisig_propose::MultisigProposeModule, - user_role::UserRole, Multisig, -}; -use multiversx_sc::{ - api::ManagedTypeApi, - codec::multi_types::OptionalValue, - types::{Address, BigUint, BoxedBytes, CodeMetadata, ManagedBuffer, ManagedVec}, -}; -use multiversx_sc_scenario::{managed_address, rust_biguint, testing_framework::*, DebugApi}; - -const MULTISIG_WASM_PATH: &str = "multisig/output/multisig.wasm"; -const QUORUM_SIZE: usize = 1; -pub const EGLD_TOKEN_ID: &[u8] = b"EGLD"; - -pub type RustBigUint = num_bigint::BigUint; - -pub enum ActionRaw { - _Nothing, - AddBoardMember(Address), - AddProposer(Address), - RemoveUser(Address), - ChangeQuorum(usize), - SendTransferExecute(CallActionDataRaw), - SendAsyncCall(CallActionDataRaw), - SCDeployFromSource { - amount: RustBigUint, - source: Address, - code_metadata: CodeMetadata, - arguments: Vec, - }, - SCUpgradeFromSource { - sc_address: Address, - amount: RustBigUint, - source: Address, - code_metadata: CodeMetadata, - arguments: Vec, - }, -} - -pub struct CallActionDataRaw { - pub to: Address, - pub egld_amount: RustBigUint, - pub endpoint_name: BoxedBytes, - pub arguments: Vec, -} - -pub struct MultisigSetup -where - MultisigObjBuilder: 'static + Copy + Fn() -> multisig::ContractObj, -{ - pub b_mock: BlockchainStateWrapper, - pub owner_address: Address, - pub proposer_address: Address, - pub board_member_address: Address, - pub ms_wrapper: ContractObjWrapper, MultisigObjBuilder>, -} - -impl MultisigSetup -where - MultisigObjBuilder: 'static + Copy + Fn() -> multisig::ContractObj, -{ - pub fn new(ms_builder: MultisigObjBuilder) -> Self { - let rust_zero = rust_biguint!(0u64); - let mut b_mock = BlockchainStateWrapper::new(); - let owner_address = b_mock.create_user_account(&rust_zero); - let proposer_address = b_mock.create_user_account(&rust_biguint!(100_000_000)); - let board_member_address = b_mock.create_user_account(&rust_zero); - - let ms_wrapper = b_mock.create_sc_account( - &rust_zero, - Some(&owner_address), - ms_builder, - MULTISIG_WASM_PATH, - ); - b_mock - .execute_tx(&owner_address, &ms_wrapper, &rust_zero, |sc| { - let mut board_members = ManagedVec::new(); - board_members.push(managed_address!(&board_member_address)); - - sc.init(QUORUM_SIZE, board_members.into()); - sc.change_user_role(0, managed_address!(&proposer_address), UserRole::Proposer); - }) - .assert_ok(); - - Self { - b_mock, - owner_address, - proposer_address, - board_member_address, - ms_wrapper, - } - } - - pub fn call_deposit(&mut self, token: &[u8], amount: u64) -> TxResult { - if token == b"EGLD" { - self.b_mock.execute_tx( - &self.proposer_address, - &self.ms_wrapper, - &rust_biguint!(amount), - |sc| { - sc.deposit(); - }, - ) - } else { - self.b_mock.execute_esdt_transfer( - &self.proposer_address, - &self.ms_wrapper, - token, - 0, - &rust_biguint!(amount), - |sc| { - sc.deposit(); - }, - ) - } - } - - pub fn call_propose(&mut self, action: ActionRaw) -> (usize, TxResult) { - let egld_amount = match &action { - ActionRaw::SendTransferExecute(call_data) => call_data.egld_amount.clone(), - ActionRaw::SendAsyncCall(call_data) => call_data.egld_amount.clone(), - ActionRaw::SCDeployFromSource { amount, .. } => amount.clone(), - ActionRaw::SCUpgradeFromSource { amount, .. } => amount.clone(), - _ => rust_biguint!(0), - }; - let amount_bytes = egld_amount.to_bytes_be(); - let amount_rust_biguint = num_bigint::BigUint::from_bytes_be(amount_bytes.as_slice()); - - let mut action_id = 0; - let tx_result = self.b_mock.execute_tx( - &self.proposer_address, - &self.ms_wrapper, - &amount_rust_biguint, - |sc| { - action_id = match action { - ActionRaw::_Nothing => panic!("Invalid action"), - ActionRaw::AddBoardMember(addr) => { - sc.propose_add_board_member(managed_address!(&addr)) - }, - ActionRaw::AddProposer(addr) => { - sc.propose_add_proposer(managed_address!(&addr)) - }, - ActionRaw::RemoveUser(addr) => sc.propose_remove_user(managed_address!(&addr)), - ActionRaw::ChangeQuorum(new_size) => sc.propose_change_quorum(new_size), - ActionRaw::SendTransferExecute(call_data) => { - let opt_endpoint = if call_data.endpoint_name.is_empty() { - OptionalValue::None - } else { - OptionalValue::Some(ManagedBuffer::new_from_bytes( - call_data.endpoint_name.as_slice(), - )) - }; - - sc.propose_transfer_execute( - managed_address!(&call_data.to), - BigUint::from_bytes_be(&call_data.egld_amount.to_bytes_be()), - opt_endpoint, - boxed_bytes_vec_to_managed(call_data.arguments).into(), - ) - }, - ActionRaw::SendAsyncCall(call_data) => { - let opt_endpoint = if call_data.endpoint_name.is_empty() { - OptionalValue::None - } else { - OptionalValue::Some(ManagedBuffer::new_from_bytes( - call_data.endpoint_name.as_slice(), - )) - }; - - sc.propose_async_call( - managed_address!(&call_data.to), - BigUint::from_bytes_be(&call_data.egld_amount.to_bytes_be()), - opt_endpoint, - boxed_bytes_vec_to_managed(call_data.arguments).into(), - ) - }, - ActionRaw::SCDeployFromSource { - amount, - source, - code_metadata, - arguments, - } => sc.propose_sc_deploy_from_source( - BigUint::from_bytes_be(&amount.to_bytes_be()), - managed_address!(&source), - code_metadata, - boxed_bytes_vec_to_managed(arguments).into(), - ), - ActionRaw::SCUpgradeFromSource { - sc_address, - amount, - source, - code_metadata, - arguments, - } => sc.propose_sc_upgrade_from_source( - managed_address!(&sc_address), - BigUint::from_bytes_be(&amount.to_bytes_be()), - managed_address!(&source), - code_metadata, - boxed_bytes_vec_to_managed(arguments).into(), - ), - } - }, - ); - - (action_id, tx_result) - } - - pub fn call_sign(&mut self, action_id: usize) -> TxResult { - self.b_mock.execute_tx( - &self.board_member_address, - &self.ms_wrapper, - &rust_biguint!(0), - |sc| { - sc.sign(action_id); - }, - ) - } - - pub fn call_unsign(&mut self, action_id: usize) -> TxResult { - self.b_mock.execute_tx( - &self.board_member_address, - &self.ms_wrapper, - &rust_biguint!(0), - |sc| { - sc.unsign(action_id); - }, - ) - } - - pub fn call_perform_action(&mut self, action_id: usize) -> TxResult { - self.b_mock.execute_tx( - &self.board_member_address, - &self.ms_wrapper, - &rust_biguint!(0), - |sc| { - let _ = sc.perform_action_endpoint(action_id); - }, - ) - } - - pub fn call_perform_action_with_result(&mut self, action_id: usize) -> (TxResult, Address) { - let mut addr = Address::zero(); - let tx_result = self.b_mock.execute_tx( - &self.board_member_address, - &self.ms_wrapper, - &rust_biguint!(0), - |sc| { - let opt_address = sc.perform_action_endpoint(action_id); - addr = opt_address.into_option().unwrap().to_address(); - }, - ); - - (tx_result, addr) - } - - pub fn call_discard_action(&mut self, action_id: usize) -> TxResult { - self.b_mock.execute_tx( - &self.board_member_address, - &self.ms_wrapper, - &rust_biguint!(0), - |sc| { - sc.discard_action(action_id); - }, - ) - } -} - -fn boxed_bytes_vec_to_managed( - raw_vec: Vec, -) -> ManagedVec> { - let mut managed = ManagedVec::new(); - for elem in raw_vec { - managed.push(ManagedBuffer::new_from_bytes(elem.as_slice())); - } - - managed -} diff --git a/contracts/multisig/tests/multisig_rust_test_v2.rs b/contracts/multisig/tests/multisig_rust_test_v2.rs deleted file mode 100644 index 5b843fd7..00000000 --- a/contracts/multisig/tests/multisig_rust_test_v2.rs +++ /dev/null @@ -1,268 +0,0 @@ -#![allow(unused)] - -use adder::*; -use multisig::{ - multisig_perform::ProxyTrait as _, multisig_propose::ProxyTrait as _, ProxyTrait as _, -}; - -use multiversx_sc::{ - codec::multi_types::{MultiValueVec, OptionalValue}, - storage::mappers::SingleValue, - types::{Address, CodeMetadata}, -}; -use multiversx_sc_scenario::{ - scenario_format::interpret_trait::{InterpretableFrom, InterpreterContext}, - scenario_model::*, - ContractInfo, DebugApi, ScenarioWorld, -}; -use num_bigint::BigUint; - -fn world() -> ScenarioWorld { - let mut blockchain = ScenarioWorld::new(); - blockchain.set_current_dir_from_workspace("contracts/multisig"); - - blockchain.register_contract("file:test-contracts/adder.wasm", adder::ContractBuilder); - blockchain.register_contract("file:output/multisig.wasm", multisig::ContractBuilder); - blockchain -} - -#[test] -fn basic_setup_test() { - let _ = DebugApi::dummy(); - - let mut test = MultisigTestState::setup(); - test.multisig_deploy(); - - let board_members: MultiValueVec
= test - .multisig - .get_all_board_members() - .into_blockchain_call() - .from(&test.alice) - .expect(TxExpect::ok()) - .execute(&mut test.world); - - let expected_board_members: Vec<_> = [ - test.alice.to_address(), - test.bob.to_address(), - test.carol.to_address(), - ] - .into(); - - assert_eq!(board_members.into_vec(), expected_board_members); -} - -#[test] -fn multisig_adder_test() { - let _ = DebugApi::dummy(); - - let mut test = MultisigTestState::setup(); - test.adder_deploy().multisig_deploy(); - - let caller = &test.alice.to_address(); - let signers = [ - &test.alice.to_address(), - &test.bob.to_address(), - &test.carol.to_address(), - ]; - let deployed_sc_address = test.multisig_deploy_adder(caller, signers.as_slice()); - assert_eq!(deployed_sc_address, test.adder_multisig.to_address()); - - let first_value: BigUint = 42u64.into(); - let second_value: BigUint = 43u64.into(); - let expected_sum = first_value.clone() + second_value.clone(); - - test.multisig_call_adder_add(first_value, caller, &signers); - test.multisig_call_adder_add(second_value, caller, &signers); - test.adder_expect_get_sum(expected_sum, caller); -} - -type MultisigContract = ContractInfo>; -type AdderContract = ContractInfo>; - -struct MultisigTestState { - world: ScenarioWorld, - owner: AddressValue, - alice: AddressValue, - bob: AddressValue, - carol: AddressValue, - multisig: MultisigContract, - adder: AdderContract, - adder_multisig: AdderContract, -} - -impl MultisigTestState { - fn setup() -> Self { - let world = world(); - let ic = &world.interpreter_context(); - - let mut state = MultisigTestState { - world, - owner: "address:owner".into(), - alice: "address:alice".into(), - bob: "address:bob".into(), - carol: "address:carol".into(), - multisig: MultisigContract::new("sc:multisig"), - adder: AdderContract::new("sc:adder"), - adder_multisig: AdderContract::new("sc:adder-multisig"), - }; - - state.world.set_state_step( - SetStateStep::new() - .put_account(&state.owner, Account::new().nonce(1)) - .put_account(&state.alice, Account::new().nonce(1)) - .put_account(&state.bob, Account::new().nonce(1)) - .put_account(&state.carol, Account::new().nonce(1)), - ); - - state - } - - fn multisig_deploy(&mut self) -> &mut Self { - self.world.set_state_step( - SetStateStep::new() - .put_account(&self.owner, Account::new().nonce(1)) - .new_address(&self.owner, 1, &self.multisig), - ); - - let board: MultiValueVec
= vec![ - self.alice.value.clone(), - self.bob.value.clone(), - self.carol.value.clone(), - ] - .into(); - - let ic = &self.world.interpreter_context(); - let (_new_address, ()) = self - .multisig - .init(2u32, board) - .into_blockchain_call() - .from(self.owner.clone()) - .contract_code("file:output/multisig.wasm", ic) - .gas_limit("5,000,000") - .expect(TxExpect::ok().no_result()) - .execute(&mut self.world); - - self - } - - fn adder_deploy(&mut self) -> &mut Self { - let ic = &self.world.interpreter_context(); - self.world.set_state_step( - SetStateStep::new() - .put_account(&self.owner, Account::new().nonce(1)) - .new_address(&self.owner, 1, &self.adder), - ); - - let (_new_address, ()) = self - .adder - .init(0u64) - .into_blockchain_call() - .from(&self.owner) - .contract_code("file:test-contracts/adder.wasm", ic) - .gas_limit("5,000,000") - .expect(TxExpect::ok().no_result()) - .execute(&mut self.world); - - self - } - - fn multisig_sign(&mut self, action_id: usize, signer: &Address) { - let () = self - .multisig - .sign(action_id) - .into_blockchain_call() - .from(signer) - .gas_limit("5,000,000") - .expect(TxExpect::ok().no_result()) - .execute(&mut self.world); - } - - fn multisig_sign_multiple(&mut self, action_id: usize, signers: &[&Address]) { - for &signer in signers { - self.multisig_sign(action_id, signer) - } - } - - fn multisig_perform(&mut self, action_id: usize, caller: &Address) -> Option
{ - let result: OptionalValue
= self - .multisig - .perform_action_endpoint(action_id) - .into_blockchain_call() - .from(caller) - .gas_limit("5,000,000") - .expect(TxExpect::ok()) - .execute(&mut self.world); - result.into_option() - } - - fn multisig_sign_and_perform( - &mut self, - action_id: usize, - caller: &Address, - signers: &[&Address], - ) -> Option
{ - self.multisig_sign_multiple(action_id, signers); - self.multisig_perform(action_id, caller) - } - - fn multisig_deploy_adder(&mut self, caller: &Address, signers: &[&Address]) -> Address { - let action_id = self.multisig_propose_adder_deploy(caller); - self.multisig_sign_and_perform(action_id, caller, signers) - .unwrap() - } - - fn multisig_propose_adder_deploy(&mut self, caller: &Address) -> usize { - self.world.set_state_step(SetStateStep::new().new_address( - &self.multisig.scenario_address_expr, - 0, - &self.adder_multisig, - )); - - let adder_init_args = self.adder.init(0u64).arg_buffer.into_multi_value_encoded(); - self.multisig - .propose_sc_deploy_from_source( - 0u64, - &self.adder, - CodeMetadata::DEFAULT, - adder_init_args, - ) - .into_blockchain_call() - .from(caller) - .gas_limit("5,000,000") - .expect(TxExpect::ok()) - .execute(&mut self.world) - } - - fn multisig_call_adder_add(&mut self, number: BigUint, caller: &Address, signers: &[&Address]) { - let action_id = self.multisig_propose_adder_add(number, caller); - self.multisig_sign_and_perform(action_id, caller, signers); - } - - fn multisig_propose_adder_add(&mut self, number: BigUint, caller: &Address) -> usize { - let adder_call = self.adder.add(number); - self.multisig - .propose_transfer_execute( - &self.adder.to_address(), - 0u32, - adder_call.endpoint_name, - adder_call.arg_buffer.into_multi_value_encoded(), - ) - .into_blockchain_call() - .from(caller) - .gas_limit("5,000,000") - .expect(TxExpect::ok()) - .execute(&mut self.world) - } - - fn adder_expect_get_sum(&mut self, expected_sum: BigUint, caller: &Address) -> BigUint { - let value: SingleValue = self - .adder - .sum() - .into_blockchain_call() - .from(caller) - .gas_limit("5,000,000") - .expect(TxExpect::ok().result(&format!("{expected_sum}"))) - .execute(&mut self.world); - value.into() - } -} diff --git a/contracts/multisig/tests/multisig_scenario_go_test.rs b/contracts/multisig/tests/multisig_scenario_go_test.rs index 7ff49bb1..6e7fc746 100644 --- a/contracts/multisig/tests/multisig_scenario_go_test.rs +++ b/contracts/multisig/tests/multisig_scenario_go_test.rs @@ -1,71 +1,94 @@ +use multiversx_sc_scenario::*; + +fn world() -> ScenarioWorld { + ScenarioWorld::vm_go() +} + #[test] fn call_other_shard_1_go() { - multiversx_sc_scenario::run_go("scenarios/call_other_shard-1.scen.json"); + world().run("scenarios/call_other_shard-1.scen.json"); } #[test] fn call_other_shard_2_go() { - multiversx_sc_scenario::run_go("scenarios/call_other_shard-2.scen.json"); + world().run("scenarios/call_other_shard-2.scen.json"); } #[test] fn change_board_go() { - multiversx_sc_scenario::run_go("scenarios/changeBoard.scen.json"); + world().run("scenarios/changeBoard.scen.json"); } #[test] fn change_quorum_go() { - multiversx_sc_scenario::run_go("scenarios/changeQuorum.scen.json"); + world().run("scenarios/changeQuorum.scen.json"); } #[test] fn change_quorum_too_big_go() { - multiversx_sc_scenario::run_go("scenarios/changeQuorum_tooBig.scen.json"); + world().run("scenarios/changeQuorum_tooBig.scen.json"); } #[test] fn deploy_adder_err_go() { - multiversx_sc_scenario::run_go("scenarios/deployAdder_err.scen.json"); + world().run("scenarios/deployAdder_err.scen.json"); } #[test] fn deploy_adder_then_call_go() { - multiversx_sc_scenario::run_go("scenarios/deployAdder_then_call.scen.json"); + world().run("scenarios/deployAdder_then_call.scen.json"); } #[test] fn deploy_factorial_go() { - multiversx_sc_scenario::run_go("scenarios/deployFactorial.scen.json"); + world().run("scenarios/deployFactorial.scen.json"); } #[test] fn deploy_other_multisig_go() { - multiversx_sc_scenario::run_go("scenarios/deployOtherMultisig.scen.json"); + world().run("scenarios/deployOtherMultisig.scen.json"); } #[test] fn deploy_duplicate_bm_go() { - multiversx_sc_scenario::run_go("scenarios/deploy_duplicate_bm.scen.json"); + world().run("scenarios/deploy_duplicate_bm.scen.json"); +} + +#[test] +#[ignore = "system SC not yet implemented"] +fn interactor_nft_go() { + world().run("scenarios/interactor_nft.scen.json"); +} + +#[test] +#[ignore = "system SC not yet implemented"] +fn interactor_nft_all_roles_go() { + world().run("scenarios/interactor_nft_all_roles.scen.json"); +} + +#[test] +fn interactor_wegld_go() { + world().run("scenarios/interactor_wegld.scen.json"); } #[test] fn remove_everyone_go() { - multiversx_sc_scenario::run_go("scenarios/remove_everyone.scen.json"); + world().run("scenarios/remove_everyone.scen.json"); } // TODO: investigate gas issue #[test] #[ignore] fn send_esdt_go() { - multiversx_sc_scenario::run_go("scenarios/sendEsdt.scen.json"); + world().run("scenarios/sendEsdt.scen.json"); } #[test] fn upgrade_go() { - multiversx_sc_scenario::run_go("scenarios/upgrade.scen.json"); + world().run("scenarios/upgrade.scen.json"); } #[test] fn upgrade_from_source_go() { - multiversx_sc_scenario::run_go("scenarios/upgrade_from_source.scen.json"); + world().run("scenarios/upgrade_from_source.scen.json"); } diff --git a/contracts/multisig/tests/multisig_scenario_rs_test.rs b/contracts/multisig/tests/multisig_scenario_rs_test.rs index 350b8db3..27d286e1 100644 --- a/contracts/multisig/tests/multisig_scenario_rs_test.rs +++ b/contracts/multisig/tests/multisig_scenario_rs_test.rs @@ -1,8 +1,10 @@ use multiversx_sc_scenario::*; +const WEGLD_SWAP_EXPR: &str = "0x0061736d0100000001661160000060017f0060027f7f017f60027f7f006000017f60017f017f60037f7f7f0060037f7f7f017f60057f7f7e7f7f017f60047f7f7f7f0060067e7f7f7f7f7f017f60047f7f7f7f017f60027f7e0060017e006000017e60057f7f7f7f7f0060037e7f7f0002cc062303656e760b7369676e616c4572726f72000303656e7618626967496e7447657445787465726e616c42616c616e6365000303656e760a6d4275666665724e6577000403656e760d6d427566666572417070656e64000203656e76096d4275666665724571000203656e76106d616e61676564534341646472657373000103656e761b6d616e61676564457865637574654f6e44657374436f6e74657874000a03656e760f636c65616e52657475726e44617461000003656e760d6d616e6167656443616c6c6572000103656e76136d616e616765644f776e657241646472657373000103656e76126d427566666572476574417267756d656e74000203656e760f6765744e756d417267756d656e7473000403656e76126d427566666572417070656e644279746573000703656e760f6d4275666665725365744279746573000703656e76106d4275666665724765744c656e677468000503656e76196d42756666657246726f6d426967496e74556e7369676e6564000203656e76136d42756666657247657442797465536c696365000b03656e76126d42756666657253746f726167654c6f6164000203656e76126d616e616765645369676e616c4572726f72000103656e760e626967496e74536574496e743634000c03656e760a626967496e745369676e000503656e76136d42756666657253746f7261676553746f7265000203656e760e636865636b4e6f5061796d656e74000003656e7614626967496e7446696e697368556e7369676e6564000103656e760d6d42756666657246696e697368000503656e7614736d616c6c496e7446696e6973685369676e6564000d03656e761c6d616e616765644765744d756c74694553445443616c6c56616c7565000103656e7609626967496e74436d70000203656e760a6765744761734c656674000e03656e761b6d616e616765645472616e7366657256616c756545786563757465000803656e76136765744e756d455344545472616e7366657273000403656e7612626967496e7447657443616c6c56616c7565000103656e7609626967496e74416464000603656e76226d616e616765644d756c74695472616e73666572455344544e465445786563757465000803656e760f6d42756666657247657442797465730002032c2b0f00040405020310010400010303040503020301050509030306060900040501000000000000000000000005030100110619037f01418080c0000b7f0041e5d1c0000b7f0041f0d1c0000b079b010c066d656d6f7279020004696e69740044146765744c6f636b656445676c6442616c616e63650045156765745772617070656445676c64546f6b656e496400460869735061757365640047057061757365004807756e706175736500490a756e7772617045676c64004a087772617045676c64004b0863616c6c4261636b004c0a5f5f646174615f656e6403010b5f5f686561705f6261736503020abc162b2e000240200120024d0440200220044d0d011024000b1024000b2000200220016b3602042000200120036a3602000b05001043000b2301027f10262200100520001026210041c5d1c00010221a41c5d1c0002000100120000b1b01017f41a483c00041a483c00028020041016b220036020020000b0f01017f10022201200010031a20010b0b0020002001100441004a0b0900200020011000000b1f01017f4167100510262203102b20004167200320012002102610061a10070b08002000420010130b0c01017f10262200100820000b1e01017f1026220010092000102c102804400f0b41f082c00041241000000b1500100b20004604400f0b41cb81c00041191000000b4701017f230041106b2202240020022001410874418080fc077120014118747220014108764180fe03712001411876727236020c20002002410c6a4104100c1a200241106a24000b0d0010311a200020011032102f0b1401017f1026220041d482c0004100100d1a20000b0f01017f102622012000100f1a20010b0d0010311a200020011027102f0b1101017f1026220220002001100d1a20020b09002000200110031a0b5501017f20002d00042101200041003a000402402001410171044041a883c00028020022014191ce004f0d01200028020041ac83c0002001100c1a41a883c000410036020041bcd1c00041003a00000b0f0b1024000bae0102027f017e230041106b2202240020024200370308200010382200100e220141094904402002200241086a41082001103920004100200228020422002002280200220110101a027f41002000450d001a034020000440200041016b210020013100002003420886842103200141016a21010c010b0b02402003420158044041002003a741016b0d021a0c010b41f281c0004112103a000b41010b200241106a24000f0b41e481c000410e103a000b0d0020001026220010111a20000b3b01017f230041106b22042400200441086a41002003200120021023200428020c21012000200428020836020020002001360204200441106a24000b1b01017f418482c00041161034220220002001100c1a20021012000bf20101047f230041106b2203240020032000100e22024118742002410874418080fc07717220024108764180fe03712002411876727236020c20012003410c6a4104103c20012d00042102200141003a00040240024002402002410171220204402000100e22054190ce0041a883c00028020022046b4b0d0220032004200420056a2204103d200041002003280204200328020010101a41a883c00020043602000c010b2001280200200010350b200120023a00040c010b2001103620012802002000103520012d0004200120023a0004410171450d0041a883c000410036020041bcd1c00041003a00000b200341106a24000b800101027f230041106b220324000240024020002d000404404190ce0041a883c00028020022046b2002490d01200341086a2004200220046a2200103d2003280208200328020c20012002103e41a883c00020003602000c020b200028020020012002100c1a0c010b20001036200028020020012002100c1a0b200341106a24000b4001017f230041106b22032400200341086a2001200241ac83c0004190ce001023200328020c21012000200328020836020020002001360204200341106a24000bb00201067f2001200346044020012203410f4b04402000410020006b41037122056a210420050440200221010340200020012d00003a0000200141016a2101200041016a22002004490d000b0b2004200320056b2203417c7122066a21000240200220056a220541037122010440200641004c0d012005417c71220741046a21024100200141037422086b4118712109200728020021010340200420012008762002280200220120097472360200200241046a2102200441046a22042000490d000b0c010b200641004c0d0020052102034020042002280200360200200241046a2102200441046a22042000490d000b0b20034103712103200520066a21020b20030440200020036a21010340200020022d00003a0000200241016a2102200041016a22002001490d000b0b0f0b1043000b1c0041be82c0004113103410374504400f0b419a82c00041121029000b0b0041ac82c000411210340b09002000101441004a0ba60101037f230041106b2201240041be82c00041131034200142808080808080808001420020001b3703080240200045044041d482c00021000c010b4100210003400240024020004108470440200141086a20006a2d00002202450d022002411874411f7520006a220041094f0d01410820006b21022000200141086a6a21000c040b1043000b104d000b200041016a21000c000b000b20002002103410151a200141106a24000b0500104d000b1a01017f10164101102e410010262200100a1a1040200010151a0b0c0010164100102e102510170b0f0010164100102e1040103810181a0b160010164100102e41be82c000411310341037ad10190b0e001016102d4100102e410110420b0e001016102d4100102e410010420bed0302097f017e230041106b220124004100102e103f416b2102024041c4d1c0002d000022000440416b41ffffffff0720001b21020c010b41c4d1c00041013a0000416b101a0b02402002100e4170714110460440410021002002100e2106200141086a2107410121050340200041106a220420064b0d022007420037030020014200370300200220004110200110101a2005044020012902042209423886200942288642808080808080c0ff0083842009421886428080808080e03f8320094208864280808080f01f838484200942088842808080f80f832009421888428080fc07838420094228884280fe038320094238888484842109200128020022004118742000410874418080fc07717220004108764180fe0371200041187672722108200128020c22004118742000410874418080fc07717220004108764180fe037120004118767272210341002105200421000c010b0b1043000b418481c00041221000000b024002400240200950044020081040103822041028450d0120031041450d0220031025101b41004a0d031031220020041033200020031030101c41ea80c000410d10342000102a102c2003420010311031101d1a200141106a24000f0b41d482c000411c1000000b418080c00041101029000b419080c000411c1029000b41ac80c00041231029000beb0301097f230041206b220124000240101e4504404100102e103f41752103024041c0d1c0002d000022000440417541ffffffff0720001b21030c010b41c0d1c00041013a00004175101f0b20031041450d011040103821041031220020041033200020031030101c41f780c000410d10342000102a102c10312107103121081031210520041027210210262200102b20002000200310202001420037020c20012002410874418080fc077120024118747220024108764180fe03712002411876727236020820012000410874418080fc077120004118747220004108764180fe0371200041187672723602142005200141086a4110100c1a200542002007200810211a2001027f41bcd1c0002d0000220045044041bcd1c00041013a000041a883c0004100360200200141ac83c0004190ce00410010392001280200200128020441d482c0004100103e10310c010b41d482c000410010340b360218200120004101733a001c2004200141186a2200103b200142003703082000200141086a22024108103c200310322000103b20012802182100200120012d001c3a000c2001200036020820021036200128020820012d000c044041a883c000410036020041bcd1c00041003a00000b10181a200141206a24000f0b41a681c00041251000000b41cf80c000411b1029000b0300010b0c00419483c000410e1000000b0bb8030200418080c0000ba20357726f6e67206573647420746f6b656e4d75737420706179206d6f7265207468616e203020746f6b656e7321436f6e747261637420646f6573206e6f74206861766520656e6f7567682066756e64735061796d656e74206d757374206265206d6f7265207468616e2030455344544c6f63616c4275726e455344544c6f63616c4d696e74696e636f7272656374206e756d626572206f662045534454207472616e736665727366756e6374696f6e20646f6573206e6f74206163636570742045534454207061796d656e7477726f6e67206e756d626572206f6620617267756d656e7473696e70757420746f6f206c6f6e67696e707574206f7574206f662072616e676573746f72616765206465636f6465206572726f723a20436f6e7472616374206973207061757365647772617070656445676c64546f6b656e496470617573655f6d6f64756c653a70617573656400000066756e6769626c65204553445420746f6b656e206578706563746564456e64706f696e742063616e206f6e6c792062652063616c6c6564206279206f776e657270616e6963206f636375727265640041a483c0000b049cffffff"; + fn world() -> ScenarioWorld { let mut blockchain = ScenarioWorld::new(); - blockchain.set_current_dir_from_workspace("contracts/multisig"); + blockchain.set_current_dir_from_workspace("contracts/examples/multisig"); blockchain.register_partial_contract::( "file:output/multisig.wasm", @@ -22,77 +24,94 @@ fn world() -> ScenarioWorld { factorial::ContractBuilder, ); + blockchain.register_contract(WEGLD_SWAP_EXPR, multiversx_wegld_swap_sc::ContractBuilder); + blockchain } #[test] #[ignore] fn call_other_shard_1_rs() { - multiversx_sc_scenario::run_rs("scenarios/call_other_shard-1.scen.json", world()); + world().run("scenarios/call_other_shard-1.scen.json"); } #[test] #[ignore] fn call_other_shard_2_rs() { - multiversx_sc_scenario::run_rs("scenarios/call_other_shard-2.scen.json", world()); + world().run("scenarios/call_other_shard-2.scen.json"); } #[test] fn change_board_rs() { - multiversx_sc_scenario::run_rs("scenarios/changeBoard.scen.json", world()); + world().run("scenarios/changeBoard.scen.json"); } #[test] fn change_quorum_rs() { - multiversx_sc_scenario::run_rs("scenarios/changeQuorum.scen.json", world()); + world().run("scenarios/changeQuorum.scen.json"); } #[test] fn change_quorum_too_big_rs() { - multiversx_sc_scenario::run_rs("scenarios/changeQuorum_tooBig.scen.json", world()); + world().run("scenarios/changeQuorum_tooBig.scen.json"); } #[test] fn deploy_adder_err_rs() { - multiversx_sc_scenario::run_rs("scenarios/deployAdder_err.scen.json", world()); + world().run("scenarios/deployAdder_err.scen.json"); } #[test] fn deploy_adder_then_call_rs() { - multiversx_sc_scenario::run_rs("scenarios/deployAdder_then_call.scen.json", world()); + world().run("scenarios/deployAdder_then_call.scen.json"); } #[test] fn deploy_factorial_rs() { - multiversx_sc_scenario::run_rs("scenarios/deployFactorial.scen.json", world()); + world().run("scenarios/deployFactorial.scen.json"); } #[test] fn deploy_other_multisig_rs() { - multiversx_sc_scenario::run_rs("scenarios/deployOtherMultisig.scen.json", world()); + world().run("scenarios/deployOtherMultisig.scen.json"); } #[test] fn deploy_duplicate_bm_rs() { - multiversx_sc_scenario::run_rs("scenarios/deploy_duplicate_bm.scen.json", world()); + world().run("scenarios/deploy_duplicate_bm.scen.json"); +} + +#[test] +fn interactor_nft_rs() { + world().run("scenarios/interactor_nft.scen.json"); +} + +#[test] +fn interactor_nft_all_roles_rs() { + world().run("scenarios/interactor_nft_all_roles.scen.json"); +} + +#[test] +fn interactor_wegld_rs() { + world().run("scenarios/interactor_wegld.scen.json"); } #[test] fn remove_everyone_rs() { - multiversx_sc_scenario::run_rs("scenarios/remove_everyone.scen.json", world()); + world().run("scenarios/remove_everyone.scen.json"); } #[test] fn send_esdt_rs() { - multiversx_sc_scenario::run_rs("scenarios/sendEsdt.scen.json", world()); + world().run("scenarios/sendEsdt.scen.json"); } #[test] fn upgrade_rs() { - multiversx_sc_scenario::run_rs("scenarios/upgrade.scen.json", world()); + world().run("scenarios/upgrade.scen.json"); } #[test] fn upgrade_from_source_rs() { - multiversx_sc_scenario::run_rs("scenarios/upgrade_from_source.scen.json", world()); + world().run("scenarios/upgrade_from_source.scen.json"); } diff --git a/contracts/multisig/tests/multisig_whitebox_test.rs b/contracts/multisig/tests/multisig_whitebox_test.rs new file mode 100644 index 00000000..6c949fa8 --- /dev/null +++ b/contracts/multisig/tests/multisig_whitebox_test.rs @@ -0,0 +1,873 @@ +#![allow(unused)] + +use std::borrow::Borrow; + +use adder::Adder; +use factorial::Factorial; +use multisig::{ + multisig_perform::MultisigPerformModule, multisig_propose::MultisigProposeModule, + user_role::UserRole, Multisig, +}; +use multiversx_sc::{ + api::ManagedTypeApi, + codec::multi_types::OptionalValue, + storage::mappers::SingleValue, + types::{ + Address, BigUint, BoxedBytes, CodeMetadata, ManagedAddress, ManagedBuffer, ManagedVec, + }, +}; +use multiversx_sc_scenario::{ + managed_address, managed_biguint, + multiversx_chain_vm::types::VMAddress, + rust_biguint, + scenario_model::{ + Account, AddressValue, CheckAccount, CheckStateStep, ScCallStep, ScDeployStep, ScQueryStep, + SetStateStep, TxExpect, TypedScQuery, + }, + testing_framework::TxResult, + DebugApi, ScenarioWorld, WhiteboxContract, +}; + +const OWNER_ADDRESS_EXPR: &str = "address:owner"; +const PROPOSER_ADDRESS_EXPR: &str = "address:proposer"; +const BOARD_MEMBER_ADDRESS_EXPR: &str = "address:board-member"; +const MULTISIG_ADDRESS_EXPR: &str = "sc:multisig"; +const MULTISIG_PATH_EXPR: &str = "file:output/multisig.wasm"; +const QUORUM_SIZE: usize = 1; + +type RustBigUint = num_bigint::BigUint; + +pub enum ActionRaw { + _Nothing, + AddBoardMember(Address), + AddProposer(Address), + RemoveUser(Address), + ChangeQuorum(usize), + SendTransferExecute(CallActionDataRaw), + SendAsyncCall(CallActionDataRaw), + SCDeployFromSource { + amount: RustBigUint, + source: Address, + code_metadata: CodeMetadata, + arguments: Vec, + }, + SCUpgradeFromSource { + sc_address: Address, + amount: RustBigUint, + source: Address, + code_metadata: CodeMetadata, + arguments: Vec, + }, +} + +pub struct CallActionDataRaw { + pub to: Address, + pub egld_amount: RustBigUint, + pub endpoint_name: BoxedBytes, + pub arguments: Vec, +} + +fn world() -> ScenarioWorld { + let mut blockchain = ScenarioWorld::new(); + blockchain.set_current_dir_from_workspace("contracts/examples/multisig"); + + blockchain.register_contract(MULTISIG_PATH_EXPR, multisig::ContractBuilder); + blockchain +} + +fn setup() -> ScenarioWorld { + // setup + let mut world = world(); + let multisig_whitebox = WhiteboxContract::new(MULTISIG_ADDRESS_EXPR, multisig::contract_obj); + let multisig_code = world.code_expression(MULTISIG_PATH_EXPR); + + world.set_state_step( + SetStateStep::new() + .put_account(OWNER_ADDRESS_EXPR, Account::new().nonce(1)) + .new_address(OWNER_ADDRESS_EXPR, 1, MULTISIG_ADDRESS_EXPR) + .put_account( + PROPOSER_ADDRESS_EXPR, + Account::new().nonce(1).balance(100_000_000u64), + ) + .put_account(BOARD_MEMBER_ADDRESS_EXPR, Account::new().nonce(1)), + ); + + // init multisig + world.whitebox_deploy( + &multisig_whitebox, + ScDeployStep::new() + .from(OWNER_ADDRESS_EXPR) + .code(multisig_code), + |sc| { + let mut board_members = ManagedVec::new(); + board_members.push(managed_address!(&address_expr_to_address( + BOARD_MEMBER_ADDRESS_EXPR + ))); + + sc.init(QUORUM_SIZE, board_members.into()); + sc.change_user_role( + 0, + managed_address!(&address_expr_to_address(PROPOSER_ADDRESS_EXPR)), + UserRole::Proposer, + ); + }, + ); + + world +} + +#[test] +fn test_init() { + setup(); +} + +fn call_propose( + world: &mut ScenarioWorld, + action: ActionRaw, + expected_message: Option<&str>, +) -> usize { + let egld_amount = match &action { + ActionRaw::SendTransferExecute(call_data) => call_data.egld_amount.clone(), + ActionRaw::SendAsyncCall(call_data) => call_data.egld_amount.clone(), + ActionRaw::SCDeployFromSource { amount, .. } => amount.clone(), + ActionRaw::SCUpgradeFromSource { amount, .. } => amount.clone(), + _ => rust_biguint!(0), + }; + let amount_bytes = egld_amount.to_bytes_be(); + let amount_rust_biguint = num_bigint::BigUint::from_bytes_be(amount_bytes.as_slice()); + + let mut action_id = 0; + + let multisig_whitebox = WhiteboxContract::new(MULTISIG_ADDRESS_EXPR, multisig::contract_obj); + + world.whitebox_call_check( + &multisig_whitebox, + ScCallStep::new() + .from(PROPOSER_ADDRESS_EXPR) + .egld_value(amount_rust_biguint) + .no_expect(), + |sc| { + action_id = match action { + ActionRaw::_Nothing => panic!("Invalid action"), + ActionRaw::AddBoardMember(addr) => { + sc.propose_add_board_member(managed_address!(&addr)) + }, + ActionRaw::AddProposer(addr) => sc.propose_add_proposer(managed_address!(&addr)), + ActionRaw::RemoveUser(addr) => sc.propose_remove_user(managed_address!(&addr)), + ActionRaw::ChangeQuorum(new_size) => sc.propose_change_quorum(new_size), + ActionRaw::SendTransferExecute(call_data) => { + let opt_endpoint = if call_data.endpoint_name.is_empty() { + OptionalValue::None + } else { + OptionalValue::Some(ManagedBuffer::new_from_bytes( + call_data.endpoint_name.as_slice(), + )) + }; + + sc.propose_transfer_execute( + managed_address!(&call_data.to), + BigUint::from_bytes_be(&call_data.egld_amount.to_bytes_be()), + opt_endpoint, + boxed_bytes_vec_to_managed(call_data.arguments).into(), + ) + }, + ActionRaw::SendAsyncCall(call_data) => { + let opt_endpoint = if call_data.endpoint_name.is_empty() { + OptionalValue::None + } else { + OptionalValue::Some(ManagedBuffer::new_from_bytes( + call_data.endpoint_name.as_slice(), + )) + }; + + sc.propose_async_call( + managed_address!(&call_data.to), + BigUint::from_bytes_be(&call_data.egld_amount.to_bytes_be()), + opt_endpoint, + boxed_bytes_vec_to_managed(call_data.arguments).into(), + ) + }, + ActionRaw::SCDeployFromSource { + amount, + source, + code_metadata, + arguments, + } => sc.propose_sc_deploy_from_source( + BigUint::from_bytes_be(&amount.to_bytes_be()), + managed_address!(&source), + code_metadata, + boxed_bytes_vec_to_managed(arguments).into(), + ), + ActionRaw::SCUpgradeFromSource { + sc_address, + amount, + source, + code_metadata, + arguments, + } => sc.propose_sc_upgrade_from_source( + managed_address!(&sc_address), + BigUint::from_bytes_be(&amount.to_bytes_be()), + managed_address!(&source), + code_metadata, + boxed_bytes_vec_to_managed(arguments).into(), + ), + } + }, + |r| match expected_message { + Some(msg) => r.assert_user_error(msg), + None => r.assert_ok(), + }, + ); + + action_id +} + +#[test] +fn test_add_board_member() { + let mut world = setup(); + let multisig_whitebox = WhiteboxContract::new(MULTISIG_ADDRESS_EXPR, multisig::contract_obj); + + const NEW_BOARD_MEMBER_ADDRESS_EXPR: &str = "address:new-board-member"; + world.set_state_step( + SetStateStep::new().put_account(NEW_BOARD_MEMBER_ADDRESS_EXPR, Account::new().nonce(1)), + ); + + world.whitebox_query(&multisig_whitebox, |sc| { + // check role before + let user_role = sc.user_role(managed_address!(&address_expr_to_address( + NEW_BOARD_MEMBER_ADDRESS_EXPR + ))); + assert_eq!(user_role, UserRole::None); + }); + + let action_id = call_propose( + &mut world, + ActionRaw::AddBoardMember(address_expr_to_address(NEW_BOARD_MEMBER_ADDRESS_EXPR)), + None, + ); + + world.whitebox_call( + &multisig_whitebox, + ScCallStep::new().from(BOARD_MEMBER_ADDRESS_EXPR), + |sc| sc.sign(action_id), + ); + + world.whitebox_call( + &multisig_whitebox, + ScCallStep::new().from(BOARD_MEMBER_ADDRESS_EXPR), + |sc| { + let _ = sc.perform_action_endpoint(action_id); + }, + ); + + world.whitebox_query(&multisig_whitebox, |sc| { + // check role after + let user_role = sc.user_role(managed_address!(&address_expr_to_address( + NEW_BOARD_MEMBER_ADDRESS_EXPR + ))); + assert_eq!(user_role, UserRole::BoardMember); + + let board_members = sc.get_all_board_members().to_vec(); + assert_eq!( + (board_members.get(0).borrow() as &ManagedAddress).clone(), + managed_address!(&address_expr_to_address(BOARD_MEMBER_ADDRESS_EXPR)) + ); + assert_eq!( + (board_members.get(1).borrow() as &ManagedAddress).clone(), + managed_address!(&address_expr_to_address(NEW_BOARD_MEMBER_ADDRESS_EXPR)) + ); + }); +} + +#[test] +fn test_add_proposer() { + let mut world = setup(); + let multisig_whitebox = WhiteboxContract::new(MULTISIG_ADDRESS_EXPR, multisig::contract_obj); + + const NEW_PROPOSER_ADDRESS_EXPR: &str = "address:new-proposer"; + world.set_state_step( + SetStateStep::new().put_account(NEW_PROPOSER_ADDRESS_EXPR, Account::new().nonce(1)), + ); + + world.whitebox_query(&multisig_whitebox, |sc| { + // check role before + let user_role = sc.user_role(managed_address!(&address_expr_to_address( + NEW_PROPOSER_ADDRESS_EXPR + ))); + assert_eq!(user_role, UserRole::None); + }); + + let action_id = call_propose( + &mut world, + ActionRaw::AddProposer(address_expr_to_address(NEW_PROPOSER_ADDRESS_EXPR)), + None, + ); + + world.whitebox_call( + &multisig_whitebox, + ScCallStep::new().from(BOARD_MEMBER_ADDRESS_EXPR), + |sc| sc.sign(action_id), + ); + + world.whitebox_call( + &multisig_whitebox, + ScCallStep::new().from(BOARD_MEMBER_ADDRESS_EXPR), + |sc| { + let _ = sc.perform_action_endpoint(action_id); + }, + ); + + world.whitebox_query(&multisig_whitebox, |sc| { + // check role after + let user_role = sc.user_role(managed_address!(&address_expr_to_address( + NEW_PROPOSER_ADDRESS_EXPR + ))); + assert_eq!(user_role, UserRole::Proposer); + + let proposers = sc.get_all_proposers().to_vec(); + assert_eq!( + (proposers.get(0).borrow() as &ManagedAddress).clone(), + managed_address!(&address_expr_to_address(PROPOSER_ADDRESS_EXPR)) + ); + assert_eq!( + (proposers.get(1).borrow() as &ManagedAddress).clone(), + managed_address!(&address_expr_to_address(NEW_PROPOSER_ADDRESS_EXPR)) + ); + }); +} + +#[test] +fn test_remove_proposer() { + let mut world = setup(); + let multisig_whitebox = WhiteboxContract::new(MULTISIG_ADDRESS_EXPR, multisig::contract_obj); + + world.whitebox_query(&multisig_whitebox, |sc| { + // check role before + let user_role = sc.user_role(managed_address!(&address_expr_to_address( + PROPOSER_ADDRESS_EXPR + ))); + assert_eq!(user_role, UserRole::Proposer); + }); + + let action_id = call_propose( + &mut world, + ActionRaw::RemoveUser(address_expr_to_address(PROPOSER_ADDRESS_EXPR)), + None, + ); + + world.whitebox_call( + &multisig_whitebox, + ScCallStep::new().from(BOARD_MEMBER_ADDRESS_EXPR), + |sc| sc.sign(action_id), + ); + + world.whitebox_call( + &multisig_whitebox, + ScCallStep::new().from(BOARD_MEMBER_ADDRESS_EXPR), + |sc| { + let _ = sc.perform_action_endpoint(action_id); + }, + ); + + world.whitebox_query(&multisig_whitebox, |sc| { + // check role after + let user_role = sc.user_role(managed_address!(&address_expr_to_address( + PROPOSER_ADDRESS_EXPR + ))); + assert_eq!(user_role, UserRole::None); + + let proposers = sc.get_all_proposers().to_vec(); + assert!(proposers.is_empty()); + }); +} + +#[test] +fn test_try_remove_all_board_members() { + let mut world = setup(); + let multisig_whitebox = WhiteboxContract::new(MULTISIG_ADDRESS_EXPR, multisig::contract_obj); + + let action_id = call_propose( + &mut world, + ActionRaw::RemoveUser(address_expr_to_address(BOARD_MEMBER_ADDRESS_EXPR)), + None, + ); + + world.whitebox_call( + &multisig_whitebox, + ScCallStep::new().from(BOARD_MEMBER_ADDRESS_EXPR), + |sc| sc.sign(action_id), + ); + + world.whitebox_call_check( + &multisig_whitebox, + ScCallStep::new() + .from(BOARD_MEMBER_ADDRESS_EXPR) + .no_expect(), + |sc| { + let _ = sc.perform_action_endpoint(action_id); + }, + |r| { + r.assert_user_error("quorum cannot exceed board size"); + }, + ); +} + +#[test] +fn test_change_quorum() { + let mut world = setup(); + let multisig_whitebox = WhiteboxContract::new(MULTISIG_ADDRESS_EXPR, multisig::contract_obj); + + let new_quorum_size = 2; + + // try change quorum > board size + let action_id = call_propose(&mut world, ActionRaw::ChangeQuorum(new_quorum_size), None); + + world.whitebox_call( + &multisig_whitebox, + ScCallStep::new().from(BOARD_MEMBER_ADDRESS_EXPR), + |sc| sc.sign(action_id), + ); + + world.whitebox_call_check( + &multisig_whitebox, + ScCallStep::new() + .from(BOARD_MEMBER_ADDRESS_EXPR) + .no_expect(), + |sc| { + let _ = sc.perform_action_endpoint(action_id); + }, + |r| { + r.assert_user_error("quorum cannot exceed board size"); + }, + ); + + // try discard before unsigning + world.whitebox_call_check( + &multisig_whitebox, + ScCallStep::new() + .from(BOARD_MEMBER_ADDRESS_EXPR) + .no_expect(), + |sc| { + sc.discard_action(action_id); + }, + |r| { + r.assert_user_error("cannot discard action with valid signatures"); + }, + ); + + // unsign and discard action + world.whitebox_call( + &multisig_whitebox, + ScCallStep::new().from(BOARD_MEMBER_ADDRESS_EXPR), + |sc| sc.unsign(action_id), + ); + + world.whitebox_call( + &multisig_whitebox, + ScCallStep::new().from(BOARD_MEMBER_ADDRESS_EXPR), + |sc| { + sc.discard_action(action_id); + }, + ); + + // try sign discarded action + world.whitebox_call_check( + &multisig_whitebox, + ScCallStep::new() + .from(BOARD_MEMBER_ADDRESS_EXPR) + .no_expect(), + |sc| { + sc.sign(action_id); + }, + |r| { + r.assert_user_error("action does not exist"); + }, + ); + + // add another board member + const NEW_BOARD_MEMBER_ADDRESS_EXPR: &str = "address:new-board-member"; + world.set_state_step( + SetStateStep::new().put_account(NEW_BOARD_MEMBER_ADDRESS_EXPR, Account::new().nonce(1)), + ); + + let action_id = call_propose( + &mut world, + ActionRaw::AddBoardMember(address_expr_to_address(NEW_BOARD_MEMBER_ADDRESS_EXPR)), + None, + ); + + world.whitebox_call( + &multisig_whitebox, + ScCallStep::new().from(BOARD_MEMBER_ADDRESS_EXPR), + |sc| sc.sign(action_id), + ); + + world.whitebox_call( + &multisig_whitebox, + ScCallStep::new().from(BOARD_MEMBER_ADDRESS_EXPR), + |sc| { + let _ = sc.perform_action_endpoint(action_id); + }, + ); + + // change quorum to 2 + let action_id = call_propose(&mut world, ActionRaw::ChangeQuorum(new_quorum_size), None); + + world.whitebox_call( + &multisig_whitebox, + ScCallStep::new().from(BOARD_MEMBER_ADDRESS_EXPR), + |sc| sc.sign(action_id), + ); + + world.whitebox_call( + &multisig_whitebox, + ScCallStep::new().from(BOARD_MEMBER_ADDRESS_EXPR), + |sc| { + let _ = sc.perform_action_endpoint(action_id); + }, + ); +} + +#[test] +fn test_transfer_execute_to_user() { + let mut world = setup(); + let multisig_whitebox = WhiteboxContract::new(MULTISIG_ADDRESS_EXPR, multisig::contract_obj); + + const NEW_USER_ADDRESS_EXPR: &str = "address:new-user"; + world.set_state_step( + SetStateStep::new().put_account(NEW_USER_ADDRESS_EXPR, Account::new().nonce(1)), + ); + + const EGLD_AMOUNT: u64 = 100; + + world.whitebox_call( + &multisig_whitebox, + ScCallStep::new() + .from(PROPOSER_ADDRESS_EXPR) + .egld_value(EGLD_AMOUNT), + |sc| { + sc.deposit(); + }, + ); + + world.check_state_step(CheckStateStep::new().put_account( + MULTISIG_ADDRESS_EXPR, + CheckAccount::new().balance(EGLD_AMOUNT.to_string().as_str()), + )); + + // failed attempt + let action_id = call_propose( + &mut world, + ActionRaw::SendTransferExecute(CallActionDataRaw { + to: address_expr_to_address(NEW_USER_ADDRESS_EXPR), + egld_amount: rust_biguint!(0), + endpoint_name: BoxedBytes::empty(), + arguments: Vec::new(), + }), + Some("proposed action has no effect"), + ); + + // propose + let action_id = call_propose( + &mut world, + ActionRaw::SendTransferExecute(CallActionDataRaw { + to: address_expr_to_address(NEW_USER_ADDRESS_EXPR), + egld_amount: rust_biguint!(EGLD_AMOUNT), + endpoint_name: BoxedBytes::empty(), + arguments: Vec::new(), + }), + None, + ); + + world.whitebox_call( + &multisig_whitebox, + ScCallStep::new().from(BOARD_MEMBER_ADDRESS_EXPR), + |sc| sc.sign(action_id), + ); + + world.whitebox_call( + &multisig_whitebox, + ScCallStep::new().from(BOARD_MEMBER_ADDRESS_EXPR), + |sc| { + let _ = sc.perform_action_endpoint(action_id); + }, + ); + + world.check_state_step(CheckStateStep::new().put_account( + NEW_USER_ADDRESS_EXPR, + CheckAccount::new().balance(EGLD_AMOUNT.to_string().as_str()), + )); +} + +#[test] +fn test_transfer_execute_sc_all() { + let mut world = setup(); + let multisig_whitebox = WhiteboxContract::new(MULTISIG_ADDRESS_EXPR, multisig::contract_obj); + + let adder_whitebox = WhiteboxContract::new(ADDER_ADDRESS_EXPR, adder::contract_obj); + let adder_code = world.code_expression(ADDER_PATH_EXPR); + + const ADDER_OWNER_ADDRESS_EXPR: &str = "address:adder-owner"; + const ADDER_ADDRESS_EXPR: &str = "sc:adder"; + const ADDER_PATH_EXPR: &str = "file:test-contracts/adder.wasm"; + + world.register_contract(ADDER_PATH_EXPR, adder::ContractBuilder); + world.set_state_step( + SetStateStep::new() + .put_account(ADDER_OWNER_ADDRESS_EXPR, Account::new().nonce(1)) + .new_address(ADDER_OWNER_ADDRESS_EXPR, 1, ADDER_ADDRESS_EXPR), + ); + + world.whitebox_deploy( + &adder_whitebox, + ScDeployStep::new() + .from(ADDER_OWNER_ADDRESS_EXPR) + .code(adder_code), + |sc| { + sc.init(managed_biguint!(5)); + }, + ); + + let action_id = call_propose( + &mut world, + ActionRaw::SendTransferExecute(CallActionDataRaw { + to: address_expr_to_address(ADDER_ADDRESS_EXPR), + egld_amount: 0u64.into(), + endpoint_name: BoxedBytes::from(&b"add"[..]), + arguments: vec![BoxedBytes::from(&[5u8][..])], + }), + None, + ); + + world.whitebox_call( + &multisig_whitebox, + ScCallStep::new().from(BOARD_MEMBER_ADDRESS_EXPR), + |sc| sc.sign(action_id), + ); + + world.whitebox_call( + &multisig_whitebox, + ScCallStep::new().from(BOARD_MEMBER_ADDRESS_EXPR), + |sc| { + let _ = sc.perform_action_endpoint(action_id); + }, + ); + + world.whitebox_query(&adder_whitebox, |sc| { + let actual_sum = sc.sum().get(); + let expected_sum = managed_biguint!(10); + assert_eq!(actual_sum, expected_sum); + }); +} + +#[test] +fn test_async_call_to_sc() { + let mut world = setup(); + let multisig_whitebox = WhiteboxContract::new(MULTISIG_ADDRESS_EXPR, multisig::contract_obj); + + let adder_whitebox = WhiteboxContract::new(ADDER_ADDRESS_EXPR, adder::contract_obj); + let adder_code = world.code_expression(ADDER_PATH_EXPR); + + const ADDER_OWNER_ADDRESS_EXPR: &str = "address:adder-owner"; + const ADDER_ADDRESS_EXPR: &str = "sc:adder"; + const ADDER_PATH_EXPR: &str = "file:test-contracts/adder.wasm"; + + world.register_contract(ADDER_PATH_EXPR, adder::ContractBuilder); + world.set_state_step( + SetStateStep::new() + .put_account(ADDER_OWNER_ADDRESS_EXPR, Account::new().nonce(1)) + .new_address(ADDER_OWNER_ADDRESS_EXPR, 1, ADDER_ADDRESS_EXPR), + ); + + world.whitebox_deploy( + &adder_whitebox, + ScDeployStep::new() + .from(ADDER_OWNER_ADDRESS_EXPR) + .code(adder_code), + |sc| { + sc.init(managed_biguint!(5)); + }, + ); + + let action_id = call_propose( + &mut world, + ActionRaw::SendAsyncCall(CallActionDataRaw { + to: address_expr_to_address(ADDER_ADDRESS_EXPR), + egld_amount: 0u64.into(), + endpoint_name: BoxedBytes::from(&b"add"[..]), + arguments: vec![BoxedBytes::from(&[5u8][..])], + }), + None, + ); + + world.whitebox_call( + &multisig_whitebox, + ScCallStep::new().from(BOARD_MEMBER_ADDRESS_EXPR), + |sc| sc.sign(action_id), + ); + + world.whitebox_call( + &multisig_whitebox, + ScCallStep::new().from(BOARD_MEMBER_ADDRESS_EXPR), + |sc| { + let _ = sc.perform_action_endpoint(action_id); + }, + ); + + world.whitebox_query(&adder_whitebox, |sc| { + let actual_sum = sc.sum().get(); + let expected_sum = managed_biguint!(10); + assert_eq!(actual_sum, expected_sum); + }); +} + +#[test] +fn test_deploy_and_upgrade_from_source() { + let mut world = setup(); + let multisig_whitebox = WhiteboxContract::new(MULTISIG_ADDRESS_EXPR, multisig::contract_obj); + + let adder_whitebox = WhiteboxContract::new(ADDER_ADDRESS_EXPR, adder::contract_obj); + let adder_code = world.code_expression(ADDER_PATH_EXPR); + + let new_adder_whitebox = WhiteboxContract::new(NEW_ADDER_ADDRESS_EXPR, adder::contract_obj); + + const ADDER_OWNER_ADDRESS_EXPR: &str = "address:adder-owner"; + const ADDER_ADDRESS_EXPR: &str = "sc:adder"; + const NEW_ADDER_ADDRESS_EXPR: &str = "sc:new-adder"; + const ADDER_PATH_EXPR: &str = "file:test-contracts/adder.wasm"; + + world.register_contract(ADDER_PATH_EXPR, adder::ContractBuilder); + world.set_state_step( + SetStateStep::new() + .put_account(ADDER_OWNER_ADDRESS_EXPR, Account::new().nonce(1)) + .new_address(ADDER_OWNER_ADDRESS_EXPR, 1, ADDER_ADDRESS_EXPR) + .new_address(MULTISIG_ADDRESS_EXPR, 0, NEW_ADDER_ADDRESS_EXPR), + ); + + world.whitebox_deploy( + &adder_whitebox, + ScDeployStep::new() + .from(ADDER_OWNER_ADDRESS_EXPR) + .code(adder_code), + |sc| { + sc.init(managed_biguint!(5)); + }, + ); + + let action_id = call_propose( + &mut world, + ActionRaw::SCDeployFromSource { + amount: 0u64.into(), + source: address_expr_to_address(ADDER_ADDRESS_EXPR), + code_metadata: CodeMetadata::all(), + arguments: vec![BoxedBytes::from(&[5u8][..])], + }, + None, + ); + + world.whitebox_call( + &multisig_whitebox, + ScCallStep::new().from(BOARD_MEMBER_ADDRESS_EXPR), + |sc| sc.sign(action_id), + ); + + let mut addr = Address::zero(); + world.whitebox_call( + &multisig_whitebox, + ScCallStep::new().from(BOARD_MEMBER_ADDRESS_EXPR), + |sc| { + let opt_address = sc.perform_action_endpoint(action_id); + addr = opt_address.into_option().unwrap().to_address(); + }, + ); + + assert_eq!(address_expr_to_address(NEW_ADDER_ADDRESS_EXPR), addr); + + let action_id = call_propose( + &mut world, + ActionRaw::SendTransferExecute(CallActionDataRaw { + to: address_expr_to_address(NEW_ADDER_ADDRESS_EXPR), + egld_amount: 0u64.into(), + endpoint_name: BoxedBytes::from(&b"add"[..]), + arguments: vec![BoxedBytes::from(&[5u8][..])], + }), + None, + ); + + world.whitebox_call( + &multisig_whitebox, + ScCallStep::new().from(BOARD_MEMBER_ADDRESS_EXPR), + |sc| sc.sign(action_id), + ); + + world.whitebox_call( + &multisig_whitebox, + ScCallStep::new().from(BOARD_MEMBER_ADDRESS_EXPR), + |sc| { + let _ = sc.perform_action_endpoint(action_id); + }, + ); + + world.whitebox_query(&new_adder_whitebox, |sc| { + let actual_sum = sc.sum().get(); + let expected_sum = managed_biguint!(10); + assert_eq!(actual_sum, expected_sum); + }); + + let factorial_code = world.code_expression(FACTORIAL_PATH_EXPR); + + const FACTORIAL_ADDRESS_EXPR: &str = "sc:factorial"; + const FACTORIAL_PATH_EXPR: &str = "file:test-contracts/factorial.wasm"; + + world.register_contract(FACTORIAL_PATH_EXPR, factorial::ContractBuilder); + world.set_state_step(SetStateStep::new().put_account( + FACTORIAL_ADDRESS_EXPR, + Account::new().nonce(1).code(factorial_code.clone()), + )); + + let action_id = call_propose( + &mut world, + ActionRaw::SCUpgradeFromSource { + source: address_expr_to_address(FACTORIAL_ADDRESS_EXPR), + amount: 0u64.into(), + code_metadata: CodeMetadata::all(), + arguments: Vec::new(), + sc_address: address_expr_to_address(ADDER_ADDRESS_EXPR), + }, + None, + ); + + world.whitebox_call( + &multisig_whitebox, + ScCallStep::new().from(BOARD_MEMBER_ADDRESS_EXPR), + |sc| sc.sign(action_id), + ); + + world.whitebox_call( + &multisig_whitebox, + ScCallStep::new().from(BOARD_MEMBER_ADDRESS_EXPR), + |sc| { + let _ = sc.perform_action_endpoint(action_id); + }, + ); + + world.check_state_step( + CheckStateStep::new() + .put_account(ADDER_ADDRESS_EXPR, CheckAccount::new().code(factorial_code)), + ); +} + +fn address_expr_to_address(address_expr: &str) -> Address { + AddressValue::from(address_expr).to_address() +} + +fn boxed_bytes_vec_to_managed( + raw_vec: Vec, +) -> ManagedVec> { + let mut managed = ManagedVec::new(); + for elem in raw_vec { + managed.push(ManagedBuffer::new_from_bytes(elem.as_slice())); + } + + managed +} diff --git a/contracts/multisig/wasm-multisig-full/Cargo.lock b/contracts/multisig/wasm-multisig-full/Cargo.lock index fcc8fd0c..9a9cb183 100644 --- a/contracts/multisig/wasm-multisig-full/Cargo.lock +++ b/contracts/multisig/wasm-multisig-full/Cargo.lock @@ -82,9 +82,7 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfbe80ec68fedf299dd65469f8999cf3c0f884ffa497122428f08303bcb8b884" +version = "0.43.3" dependencies = [ "bitflags", "hashbrown", @@ -96,9 +94,7 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d70ea458247d263b7e9fdfb207530b6a530546247139c162450e515c013a18" +version = "0.18.1" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -106,9 +102,7 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ad6920f80fda67fc60fd51aaa9f83ec7e069470f60a068c81205f9da5d05a30" +version = "0.18.1" dependencies = [ "hex", "proc-macro2", @@ -118,9 +112,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c2b87d817f2176bf1830bef938884f24267516c334a377e71a96bc18ebb09c1" +version = "0.43.3" dependencies = [ "hex", "proc-macro2", @@ -131,18 +123,14 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "704825223788bfdfd622980cae8feedae82609fded5ef5f53af31661d5e02312" +version = "0.43.3" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "932327626de71eeb1dbe86b863cc70cc532f8ceba8e73a059410f6aa56b22a77" +version = "0.43.3" dependencies = [ "multiversx-sc", ] @@ -173,9 +161,9 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.67" +version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" +checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" dependencies = [ "unicode-ident", ] @@ -218,9 +206,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.12" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" [[package]] name = "version_check" diff --git a/contracts/multisig/wasm-multisig-full/src/lib.rs b/contracts/multisig/wasm-multisig-full/src/lib.rs index 4a7ec575..bb8eaffb 100644 --- a/contracts/multisig/wasm-multisig-full/src/lib.rs +++ b/contracts/multisig/wasm-multisig-full/src/lib.rs @@ -10,6 +10,7 @@ // Total number of exported functions: 30 #![no_std] +#![allow(internal_features)] #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); @@ -18,34 +19,36 @@ multiversx_sc_wasm_adapter::panic_handler!(); multiversx_sc_wasm_adapter::endpoints! { multisig ( - deposit - signed - sign - unsign - discardAction - getQuorum - getNumBoardMembers - getNumProposers - getActionLastIndex - proposeAddBoardMember - proposeAddProposer - proposeRemoveUser - proposeChangeQuorum - proposeTransferExecute - proposeAsyncCall - proposeSCDeployFromSource - proposeSCUpgradeFromSource - quorumReached - performAction - dnsRegister - getPendingActionFullInfo - userRole - getAllBoardMembers - getAllProposers - getActionData - getActionSigners - getActionSignerCount - getActionValidSignerCount - callBack + init => init + deposit => deposit + signed => signed + sign => sign + unsign => unsign + discardAction => discard_action + getQuorum => quorum + getNumBoardMembers => num_board_members + getNumProposers => num_proposers + getActionLastIndex => get_action_last_index + proposeAddBoardMember => propose_add_board_member + proposeAddProposer => propose_add_proposer + proposeRemoveUser => propose_remove_user + proposeChangeQuorum => propose_change_quorum + proposeTransferExecute => propose_transfer_execute + proposeAsyncCall => propose_async_call + proposeSCDeployFromSource => propose_sc_deploy_from_source + proposeSCUpgradeFromSource => propose_sc_upgrade_from_source + quorumReached => quorum_reached + performAction => perform_action_endpoint + dnsRegister => dns_register + getPendingActionFullInfo => get_pending_action_full_info + userRole => user_role + getAllBoardMembers => get_all_board_members + getAllProposers => get_all_proposers + getActionData => get_action_data + getActionSigners => get_action_signers + getActionSignerCount => get_action_signer_count + getActionValidSignerCount => get_action_valid_signer_count ) } + +multiversx_sc_wasm_adapter::async_callback! { multisig } diff --git a/contracts/multisig/wasm-multisig-view/Cargo.lock b/contracts/multisig/wasm-multisig-view/Cargo.lock index e35621b1..996a48e0 100644 --- a/contracts/multisig/wasm-multisig-view/Cargo.lock +++ b/contracts/multisig/wasm-multisig-view/Cargo.lock @@ -82,9 +82,7 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfbe80ec68fedf299dd65469f8999cf3c0f884ffa497122428f08303bcb8b884" +version = "0.43.3" dependencies = [ "bitflags", "hashbrown", @@ -96,9 +94,7 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d70ea458247d263b7e9fdfb207530b6a530546247139c162450e515c013a18" +version = "0.18.1" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -106,9 +102,7 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ad6920f80fda67fc60fd51aaa9f83ec7e069470f60a068c81205f9da5d05a30" +version = "0.18.1" dependencies = [ "hex", "proc-macro2", @@ -118,9 +112,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c2b87d817f2176bf1830bef938884f24267516c334a377e71a96bc18ebb09c1" +version = "0.43.3" dependencies = [ "hex", "proc-macro2", @@ -131,18 +123,14 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "704825223788bfdfd622980cae8feedae82609fded5ef5f53af31661d5e02312" +version = "0.43.3" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "932327626de71eeb1dbe86b863cc70cc532f8ceba8e73a059410f6aa56b22a77" +version = "0.43.3" dependencies = [ "multiversx-sc", ] @@ -173,9 +161,9 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.67" +version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" +checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" dependencies = [ "unicode-ident", ] @@ -218,9 +206,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.12" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" [[package]] name = "version_check" diff --git a/contracts/multisig/wasm-multisig-view/src/lib.rs b/contracts/multisig/wasm-multisig-view/src/lib.rs index f601b68a..d547fe64 100644 --- a/contracts/multisig/wasm-multisig-view/src/lib.rs +++ b/contracts/multisig/wasm-multisig-view/src/lib.rs @@ -10,23 +10,26 @@ // Total number of exported functions: 10 #![no_std] +#![allow(internal_features)] #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); multiversx_sc_wasm_adapter::panic_handler!(); +multiversx_sc_wasm_adapter::external_view_init! {} + multiversx_sc_wasm_adapter::external_view_endpoints! { multisig ( - getPendingActionFullInfo - userRole - getAllBoardMembers - getAllProposers - getActionData - getActionSigners - getActionSignerCount - getActionValidSignerCount + getPendingActionFullInfo => get_pending_action_full_info + userRole => user_role + getAllBoardMembers => get_all_board_members + getAllProposers => get_all_proposers + getActionData => get_action_data + getActionSigners => get_action_signers + getActionSignerCount => get_action_signer_count + getActionValidSignerCount => get_action_valid_signer_count ) } -multiversx_sc_wasm_adapter::empty_callback! {} +multiversx_sc_wasm_adapter::async_callback_empty! {} diff --git a/contracts/multisig/wasm/Cargo.lock b/contracts/multisig/wasm/Cargo.lock index 8af00a24..50d624f1 100755 --- a/contracts/multisig/wasm/Cargo.lock +++ b/contracts/multisig/wasm/Cargo.lock @@ -82,9 +82,7 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfbe80ec68fedf299dd65469f8999cf3c0f884ffa497122428f08303bcb8b884" +version = "0.43.3" dependencies = [ "bitflags", "hashbrown", @@ -96,9 +94,7 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d70ea458247d263b7e9fdfb207530b6a530546247139c162450e515c013a18" +version = "0.18.1" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -106,9 +102,7 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ad6920f80fda67fc60fd51aaa9f83ec7e069470f60a068c81205f9da5d05a30" +version = "0.18.1" dependencies = [ "hex", "proc-macro2", @@ -118,9 +112,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c2b87d817f2176bf1830bef938884f24267516c334a377e71a96bc18ebb09c1" +version = "0.43.3" dependencies = [ "hex", "proc-macro2", @@ -131,18 +123,14 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "704825223788bfdfd622980cae8feedae82609fded5ef5f53af31661d5e02312" +version = "0.43.3" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "932327626de71eeb1dbe86b863cc70cc532f8ceba8e73a059410f6aa56b22a77" +version = "0.43.3" dependencies = [ "multiversx-sc", ] @@ -173,9 +161,9 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.67" +version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" +checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" dependencies = [ "unicode-ident", ] @@ -218,9 +206,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.12" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" [[package]] name = "version_check" diff --git a/contracts/multisig/wasm/Cargo.toml b/contracts/multisig/wasm/Cargo.toml index cb5cf19f..328a5720 100644 --- a/contracts/multisig/wasm/Cargo.toml +++ b/contracts/multisig/wasm/Cargo.toml @@ -7,12 +7,14 @@ publish = false [lib] crate-type = ["cdylib"] + [profile.release] codegen-units = 1 opt-level = "z" lto = true debug = false panic = "abort" + [dependencies.multisig] path = ".." diff --git a/contracts/multisig/wasm/src/lib.rs b/contracts/multisig/wasm/src/lib.rs index d125f10c..2a9774d8 100644 --- a/contracts/multisig/wasm/src/lib.rs +++ b/contracts/multisig/wasm/src/lib.rs @@ -10,6 +10,7 @@ // Total number of exported functions: 22 #![no_std] +#![allow(internal_features)] #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); @@ -18,26 +19,28 @@ multiversx_sc_wasm_adapter::panic_handler!(); multiversx_sc_wasm_adapter::endpoints! { multisig ( - deposit - signed - sign - unsign - discardAction - getQuorum - getNumBoardMembers - getNumProposers - getActionLastIndex - proposeAddBoardMember - proposeAddProposer - proposeRemoveUser - proposeChangeQuorum - proposeTransferExecute - proposeAsyncCall - proposeSCDeployFromSource - proposeSCUpgradeFromSource - quorumReached - performAction - dnsRegister - callBack + init => init + deposit => deposit + signed => signed + sign => sign + unsign => unsign + discardAction => discard_action + getQuorum => quorum + getNumBoardMembers => num_board_members + getNumProposers => num_proposers + getActionLastIndex => get_action_last_index + proposeAddBoardMember => propose_add_board_member + proposeAddProposer => propose_add_proposer + proposeRemoveUser => propose_remove_user + proposeChangeQuorum => propose_change_quorum + proposeTransferExecute => propose_transfer_execute + proposeAsyncCall => propose_async_call + proposeSCDeployFromSource => propose_sc_deploy_from_source + proposeSCUpgradeFromSource => propose_sc_upgrade_from_source + quorumReached => quorum_reached + performAction => perform_action_endpoint + dnsRegister => dns_register ) } + +multiversx_sc_wasm_adapter::async_callback! { multisig } diff --git a/contracts/order-book/factory/wasm/Cargo.lock b/contracts/order-book/factory/wasm/Cargo.lock index 83802a97..4c5f308f 100644 --- a/contracts/order-book/factory/wasm/Cargo.lock +++ b/contracts/order-book/factory/wasm/Cargo.lock @@ -67,6 +67,8 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" dependencies = [ "bitflags", "hashbrown", @@ -79,6 +81,8 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f1e15b46c17b87c0c7cdd79b041a4abd7f3a2b45f3c993f6ce38c0f233e82b6" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -87,6 +91,8 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7bc0762cd6d88f8bc54805bc652b042a61cd7fbc2d0a325010f088b78fb2ac" dependencies = [ "hex", "proc-macro2", @@ -97,6 +103,8 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" dependencies = [ "hex", "proc-macro2", @@ -108,6 +116,8 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" dependencies = [ "multiversx-sc", ] diff --git a/contracts/order-book/factory/wasm/src/lib.rs b/contracts/order-book/factory/wasm/src/lib.rs index b4a18ef5..58288a47 100644 --- a/contracts/order-book/factory/wasm/src/lib.rs +++ b/contracts/order-book/factory/wasm/src/lib.rs @@ -10,7 +10,9 @@ // Total number of exported functions: 4 #![no_std] -#![allow(internal_features)] + +// Configuration that works with rustc < 1.73.0. +// TODO: Recommended rustc version: 1.73.0 or newer. #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); From ad57e20964d5f7256fe3145a9afa7071e271f301 Mon Sep 17 00:00:00 2001 From: Alin Cruceat Date: Thu, 14 Sep 2023 17:41:08 +0300 Subject: [PATCH 04/14] reimport contracts from framework --- contracts/adder/README.md | 30 +- contracts/adder/interaction/Adder.erdjs.md | 22 - .../adder/interaction/testnet.snippets.sh | 2 +- contracts/adder/meta/Cargo.toml | 1 + contracts/adder/testnet.toml | 0 contracts/adder/wasm/Cargo.toml | 1 - contracts/bonding-curve-contract/Cargo.toml | 2 + .../bonding-curve-contract/meta/Cargo.toml | 1 + .../src/function_selector.rs | 6 +- .../tests/bonding_curve_scenario_go_test.rs | 20 +- .../tests/bonding_curve_scenario_rs_test.rs | 14 +- .../bonding-curve-contract/wasm/Cargo.lock | 32 +- .../bonding-curve-contract/wasm/Cargo.toml | 2 + .../bonding-curve-contract/wasm/src/lib.rs | 24 +- contracts/check-pause/.gitignore | 2 +- contracts/check-pause/Cargo.toml | 5 +- contracts/check-pause/meta/Cargo.toml | 1 + contracts/check-pause/wasm/Cargo.lock | 32 +- contracts/check-pause/wasm/Cargo.toml | 4 +- contracts/check-pause/wasm/src/lib.rs | 12 +- contracts/crowdfunding-esdt/Cargo.toml | 7 +- .../crowdfunding-esdt/interaction/alice.pem | 5 + .../interaction/devnet.snippets.sh | 100 ++++ .../interaction/testnet.snippets.sh | 79 +++ contracts/crowdfunding-esdt/meta/Cargo.toml | 1 + .../scenarios/_generated_fund.scen.json | 22 +- .../scenarios/_generated_init.scen.json | 16 +- .../_generated_query_status.scen.json | 21 +- .../scenarios/_generated_sc_err.scen.json | 21 +- contracts/crowdfunding-esdt/testnet.toml | 0 ....rs => crowdfunding_esdt_blackbox_test.rs} | 83 ++- .../crowdfunding_esdt_scenario_go_test.rs | 38 +- .../crowdfunding_esdt_scenario_rs_test.rs | 46 +- ...crowdfunding_esdt_whitebox_legacy_test.rs} | 2 + contracts/crowdfunding-esdt/wasm/Cargo.lock | 28 +- contracts/crowdfunding-esdt/wasm/Cargo.toml | 2 + contracts/crowdfunding-esdt/wasm/src/lib.rs | 20 +- contracts/crypto-bubbles/Cargo.toml | 2 + contracts/crypto-bubbles/meta/Cargo.toml | 1 + contracts/crypto-bubbles/testnet.toml | 0 .../tests/crypto_bubbles_scenario_go_test.rs | 28 +- .../tests/crypto_bubbles_scenario_rs_test.rs | 24 +- contracts/crypto-bubbles/wasm/Cargo.lock | 28 +- contracts/crypto-bubbles/wasm/Cargo.toml | 2 + contracts/crypto-bubbles/wasm/src/lib.rs | 16 +- .../crypto-kitties/common/kitty/Cargo.toml | 1 + .../crypto-kitties/common/random/Cargo.toml | 1 + .../crypto-kitties/kitty-auction/Cargo.toml | 2 + .../kitty-auction/meta/Cargo.toml | 1 + .../crypto-kitties/kitty-auction/testnet.toml | 0 .../tests/kitty_auction_scenario_go_test.rs | 38 +- .../tests/kitty_auction_scenario_rs_test.rs | 47 +- .../kitty-auction/wasm/Cargo.lock | 28 +- .../kitty-auction/wasm/Cargo.toml | 2 + .../kitty-auction/wasm/src/lib.rs | 23 +- .../kitty-genetic-alg/Cargo.toml | 3 + .../kitty-genetic-alg/meta/Cargo.toml | 1 + .../kitty-genetic-alg/testnet.toml | 0 .../kitty_genetic_alg_scenario_go_test.rs | 10 +- .../kitty_genetic_alg_scenario_rs_test.rs | 4 +- .../kitty-genetic-alg/wasm/Cargo.lock | 28 +- .../kitty-genetic-alg/wasm/Cargo.toml | 2 + .../kitty-genetic-alg/wasm/src/lib.rs | 6 +- .../crypto-kitties/kitty-ownership/Cargo.toml | 2 + .../kitty-ownership/meta/Cargo.toml | 1 + .../kitty-ownership/testnet.toml | 0 .../tests/kitty_ownership_scenario_go_test.rs | 18 +- .../tests/kitty_ownership_scenario_rs_test.rs | 12 +- .../kitty-ownership/wasm/Cargo.lock | 28 +- .../kitty-ownership/wasm/Cargo.toml | 2 + .../kitty-ownership/wasm/src/lib.rs | 47 +- contracts/crypto-zombies/Cargo.toml | 4 +- contracts/crypto-zombies/meta/Cargo.toml | 5 +- contracts/crypto-zombies/meta/src/main.rs | 2 +- contracts/crypto-zombies/mxsc-template.toml | 12 + contracts/crypto-zombies/testnet.toml | 0 contracts/crypto-zombies/wasm/Cargo.lock | 34 +- contracts/crypto-zombies/wasm/Cargo.toml | 5 +- contracts/crypto-zombies/wasm/src/lib.rs | 41 +- contracts/digital-cash/meta/Cargo.toml | 1 + contracts/digital-cash/testnet.toml | 0 contracts/empty/.gitignore | 2 +- contracts/empty/Cargo.toml | 7 +- contracts/empty/meta/Cargo.toml | 1 + contracts/empty/mxsc-template.toml | 17 + contracts/empty/tests/empty_rust_test.rs | 63 --- .../empty/tests/empty_scenario_go_test.rs | 8 +- .../empty/tests/empty_scenario_rs_test.rs | 3 +- contracts/empty/wasm/Cargo.lock | 28 +- contracts/empty/wasm/Cargo.toml | 2 + contracts/empty/wasm/src/lib.rs | 4 +- contracts/esdt-transfer-with-fee/.gitignore | 2 +- contracts/esdt-transfer-with-fee/Cargo.toml | 2 + contracts/esdt-transfer-with-fee/README.md | 2 +- .../esdt-transfer-with-fee/meta/Cargo.toml | 1 + contracts/esdt-transfer-with-fee/testnet.toml | 0 ...esdt_transfer_with_fee_scenario_go_test.rs | 12 +- ...esdt_transfer_with_fee_scenario_rs_test.rs | 8 +- .../esdt-transfer-with-fee/wasm/Cargo.lock | 28 +- .../esdt-transfer-with-fee/wasm/Cargo.toml | 2 + .../esdt-transfer-with-fee/wasm/src/lib.rs | 16 +- contracts/factorial/Cargo.toml | 2 + contracts/factorial/meta/Cargo.toml | 1 + contracts/factorial/testnet.toml | 0 .../tests/factorial_scenario_go_test.rs | 8 +- .../tests/factorial_scenario_rs_test.rs | 4 +- contracts/factorial/tests/factorial_test.rs | 17 +- contracts/factorial/wasm/Cargo.lock | 28 +- contracts/factorial/wasm/Cargo.toml | 2 + contracts/factorial/wasm/src/lib.rs | 6 +- contracts/fractional-nfts/Cargo.toml | 2 + contracts/fractional-nfts/meta/Cargo.toml | 1 + contracts/fractional-nfts/wasm/Cargo.lock | 32 +- contracts/fractional-nfts/wasm/Cargo.toml | 2 + contracts/fractional-nfts/wasm/src/lib.rs | 13 +- contracts/lottery-esdt/Cargo.toml | 2 + contracts/lottery-esdt/documentation.md | 2 +- contracts/lottery-esdt/meta/Cargo.toml | 1 + contracts/lottery-esdt/testnet.toml | 0 .../tests/lottery_esdt_scenario_go_test.rs | 70 +-- .../tests/lottery_esdt_scenario_rs_test.rs | 90 ++-- contracts/lottery-esdt/wasm/Cargo.lock | 28 +- contracts/lottery-esdt/wasm/Cargo.toml | 2 + contracts/lottery-esdt/wasm/src/lib.rs | 18 +- .../multisig/wasm-multisig-full/Cargo.toml | 1 + .../multisig/wasm-multisig-view/Cargo.toml | 1 + contracts/nft-minter/Cargo.toml | 2 + contracts/nft-minter/interaction/snippets.sh | 57 +++ contracts/nft-minter/meta/Cargo.toml | 1 + contracts/nft-minter/testnet.toml | 0 .../tests/nft_minter_scenario_rs_test.rs | 6 +- .../nft-minter/tests/scenario_go_test.rs | 12 +- contracts/nft-minter/wasm/Cargo.lock | 28 +- contracts/nft-minter/wasm/Cargo.toml | 2 + contracts/nft-minter/wasm/src/lib.rs | 17 +- contracts/nft-storage-prepay/Cargo.toml | 3 + contracts/nft-storage-prepay/meta/Cargo.toml | 1 + contracts/nft-storage-prepay/testnet.toml | 0 contracts/nft-storage-prepay/wasm/Cargo.lock | 28 +- contracts/nft-storage-prepay/wasm/Cargo.toml | 2 + contracts/nft-storage-prepay/wasm/src/lib.rs | 20 +- contracts/order-book/factory/meta/Cargo.toml | 1 + contracts/order-book/factory/testnet.toml | 0 contracts/order-book/factory/wasm/Cargo.lock | 10 - contracts/order-book/factory/wasm/src/lib.rs | 4 +- contracts/order-book/pair/testnet.toml | 0 contracts/ping-pong-egld/Cargo.toml | 2 + .../ping-pong-egld/interaction/snippets.sh | 48 ++ contracts/ping-pong-egld/meta/Cargo.toml | 1 + contracts/ping-pong-egld/testnet.toml | 0 .../tests/ping_pong_egld_scenario_go_test.rs | 40 +- .../tests/ping_pong_egld_scenario_rs_test.rs | 69 +-- contracts/ping-pong-egld/wasm/Cargo.lock | 28 +- contracts/ping-pong-egld/wasm/Cargo.toml | 2 + contracts/ping-pong-egld/wasm/src/lib.rs | 24 +- contracts/price-aggregator/Cargo.toml | 16 +- contracts/price-aggregator/meta/Cargo.toml | 1 + .../tests/price_agg_setup/mod.rs | 119 ----- .../price-aggregator/tests/price_agg_tests.rs | 220 -------- .../tests/price_aggregator_blackbox_test.rs | 388 ++++++++++++++ .../tests/price_aggregator_whitebox_test.rs | 481 ++++++++++++++++++ contracts/price-aggregator/wasm/Cargo.lock | 34 +- contracts/price-aggregator/wasm/Cargo.toml | 2 + contracts/price-aggregator/wasm/src/lib.rs | 42 +- contracts/proxy-pause/.gitignore | 7 - contracts/rewards-distribution/.gitignore | 2 +- contracts/rewards-distribution/Cargo.toml | 2 + .../rewards-distribution/meta/Cargo.toml | 1 + ...s => test_compute_brackets_legacy_test.rs} | 4 +- ...s => test_raffle_and_claim_legacy_test.rs} | 11 +- .../rewards-distribution/wasm/Cargo.lock | 32 +- .../rewards-distribution/wasm/Cargo.toml | 2 + .../rewards-distribution/wasm/src/lib.rs | 30 +- contracts/seed-nft-minter/.gitignore | 2 +- contracts/seed-nft-minter/Cargo.toml | 2 + contracts/seed-nft-minter/meta/Cargo.toml | 1 + contracts/seed-nft-minter/wasm/Cargo.lock | 32 +- contracts/seed-nft-minter/wasm/Cargo.toml | 2 + contracts/seed-nft-minter/wasm/src/lib.rs | 23 +- contracts/token-release/.gitignore | 7 - contracts/token-release/Cargo.toml | 2 + contracts/token-release/meta/Cargo.toml | 1 + contracts/token-release/testnet.toml | 0 .../tests/token_release_scenario_go_test.rs | 18 +- .../tests/token_release_scenario_rs_test.rs | 14 +- contracts/token-release/wasm/Cargo.lock | 28 +- contracts/token-release/wasm/Cargo.toml | 2 + contracts/token-release/wasm/src/lib.rs | 30 +- contracts/wegld-swap/.gitignore | 4 + contracts/wegld-swap/Cargo.toml | 12 +- contracts/wegld-swap/interaction/snippets.sh | 89 ++++ contracts/wegld-swap/meta/Cargo.toml | 1 + contracts/wegld-swap/testnet.toml | 2 - .../wegld-swap/tests/scenario_go_test.rs | 10 +- .../tests/wegld_swap_scenario_rs_test.rs | 6 +- contracts/wegld-swap/wasm/Cargo.lock | 38 +- contracts/wegld-swap/wasm/Cargo.toml | 2 + contracts/wegld-swap/wasm/src/lib.rs | 18 +- 198 files changed, 2295 insertions(+), 1610 deletions(-) delete mode 100644 contracts/adder/interaction/Adder.erdjs.md delete mode 100644 contracts/adder/testnet.toml create mode 100644 contracts/crowdfunding-esdt/interaction/alice.pem create mode 100644 contracts/crowdfunding-esdt/interaction/devnet.snippets.sh create mode 100644 contracts/crowdfunding-esdt/interaction/testnet.snippets.sh delete mode 100644 contracts/crowdfunding-esdt/testnet.toml rename contracts/crowdfunding-esdt/tests/{crowdfunding_esdt_mandos_rust_test.rs => crowdfunding_esdt_blackbox_test.rs} (78%) rename contracts/crowdfunding-esdt/tests/{crowdfunding_esdt_rust_test.rs => crowdfunding_esdt_whitebox_legacy_test.rs} (99%) delete mode 100644 contracts/crypto-bubbles/testnet.toml delete mode 100644 contracts/crypto-kitties/kitty-auction/testnet.toml delete mode 100644 contracts/crypto-kitties/kitty-genetic-alg/testnet.toml delete mode 100644 contracts/crypto-kitties/kitty-ownership/testnet.toml create mode 100644 contracts/crypto-zombies/mxsc-template.toml delete mode 100644 contracts/crypto-zombies/testnet.toml delete mode 100644 contracts/digital-cash/testnet.toml create mode 100644 contracts/empty/mxsc-template.toml delete mode 100644 contracts/empty/tests/empty_rust_test.rs delete mode 100644 contracts/esdt-transfer-with-fee/testnet.toml delete mode 100644 contracts/factorial/testnet.toml delete mode 100644 contracts/lottery-esdt/testnet.toml create mode 100644 contracts/nft-minter/interaction/snippets.sh delete mode 100644 contracts/nft-minter/testnet.toml delete mode 100644 contracts/nft-storage-prepay/testnet.toml delete mode 100644 contracts/order-book/factory/testnet.toml delete mode 100644 contracts/order-book/pair/testnet.toml create mode 100755 contracts/ping-pong-egld/interaction/snippets.sh delete mode 100644 contracts/ping-pong-egld/testnet.toml delete mode 100644 contracts/price-aggregator/tests/price_agg_setup/mod.rs delete mode 100644 contracts/price-aggregator/tests/price_agg_tests.rs create mode 100644 contracts/price-aggregator/tests/price_aggregator_blackbox_test.rs create mode 100644 contracts/price-aggregator/tests/price_aggregator_whitebox_test.rs delete mode 100644 contracts/proxy-pause/.gitignore rename contracts/rewards-distribution/tests/{test_compute_brackets.rs => test_compute_brackets_legacy_test.rs} (96%) rename contracts/rewards-distribution/tests/{test_raffle_and_claim.rs => test_raffle_and_claim_legacy_test.rs} (96%) delete mode 100644 contracts/token-release/.gitignore delete mode 100644 contracts/token-release/testnet.toml create mode 100644 contracts/wegld-swap/interaction/snippets.sh delete mode 100644 contracts/wegld-swap/testnet.toml diff --git a/contracts/adder/README.md b/contracts/adder/README.md index 821c7653..4538caec 100644 --- a/contracts/adder/README.md +++ b/contracts/adder/README.md @@ -1,29 +1,3 @@ -# Interaction +# Adder -## On devnet - -Deploy & interact with contract: - -``` -python3 ./interaction/playground.py --pem=./testnet/wallets/users/alice.pem --proxy=http://localhost:7950 -``` - -Interact with existing contract: - -``` -python3 ./interaction/playground.py --pem=./testnet/wallets/users/alice.pem --proxy=http://localhost:7950 --contract=erd1... -``` - -## On testnet - -Deploy & interact with contract: - -``` -python3 ./interaction/playground.py --pem=my.pem --proxy=https://testnet-gateway.elrond.com -``` - -Interact with existing contract: - -``` -python3 ./interaction/playground.py --pem=my.pem --proxy=https://testnet-gateway.elrond.com --contract=erd1... -``` +`Adder` is a simple Smart Contract. diff --git a/contracts/adder/interaction/Adder.erdjs.md b/contracts/adder/interaction/Adder.erdjs.md deleted file mode 100644 index 8df942b3..00000000 --- a/contracts/adder/interaction/Adder.erdjs.md +++ /dev/null @@ -1,22 +0,0 @@ -# Adder - -First [set up a node terminal](../../../../tutorial/src/interaction/interaction-basic.md). - -```javascript -let erdjs = await require('@elrondnetwork/erdjs'); -let { erdSys, wallets: { alice } } = await erdjs.setupInteractive("local-testnet"); - -let adder = await erdSys.loadWrapper("contracts/examples/adder"); - -// Deploy the adder contract with an initial value of 42 -await adder.sender(alice).gas(20_000_000).call.deploy(42); - -// Check that the sum is 42 -await adder.query.getSum().then((sum) => sum.toString()); - -await adder.gas(3_000_000).call.add(30); - -// Check that the sum is 72 -await adder.query.getSum().then((sum) => sum.toString()); - -``` diff --git a/contracts/adder/interaction/testnet.snippets.sh b/contracts/adder/interaction/testnet.snippets.sh index 6bb5d71a..06bb13e3 100644 --- a/contracts/adder/interaction/testnet.snippets.sh +++ b/contracts/adder/interaction/testnet.snippets.sh @@ -1,7 +1,7 @@ ALICE="${USERS}/alice.pem" ADDRESS=$(mxpy data load --key=address-testnet) DEPLOY_TRANSACTION=$(mxpy data load --key=deployTransaction-testnet) -PROXY=https://testnet-api.elrond.com +PROXY=https://testnet-api.multiversx.com deploy() { mxpy --verbose contract deploy --project=${PROJECT} --recall-nonce --pem=${ALICE} --gas-limit=50000000 --arguments 0 --send --outfile="deploy-testnet.interaction.json" --proxy=${PROXY} --chain=T || return diff --git a/contracts/adder/meta/Cargo.toml b/contracts/adder/meta/Cargo.toml index d92e8a76..a3209c18 100644 --- a/contracts/adder/meta/Cargo.toml +++ b/contracts/adder/meta/Cargo.toml @@ -9,3 +9,4 @@ path = ".." [dependencies.multiversx-sc-meta] version = "0.43.3" +path = "../../../../framework/meta" diff --git a/contracts/adder/testnet.toml b/contracts/adder/testnet.toml deleted file mode 100644 index e69de29b..00000000 diff --git a/contracts/adder/wasm/Cargo.toml b/contracts/adder/wasm/Cargo.toml index b11ffea4..cabf8e4a 100644 --- a/contracts/adder/wasm/Cargo.toml +++ b/contracts/adder/wasm/Cargo.toml @@ -20,7 +20,6 @@ path = ".." [dependencies.multiversx-sc-wasm-adapter] version = "0.43.3" -path = "../../../../framework/wasm-adapter" [workspace] members = ["."] diff --git a/contracts/bonding-curve-contract/Cargo.toml b/contracts/bonding-curve-contract/Cargo.toml index 96fa7d8b..655a3e92 100644 --- a/contracts/bonding-curve-contract/Cargo.toml +++ b/contracts/bonding-curve-contract/Cargo.toml @@ -7,10 +7,12 @@ publish = false [lib] path = "src/bonding_curve_contract.rs" + [dependencies.multiversx-sc] version = "0.43.3" [dependencies.multiversx-sc-modules] version = "0.43.3" + [dev-dependencies.multiversx-sc-scenario] version = "0.43.3" diff --git a/contracts/bonding-curve-contract/meta/Cargo.toml b/contracts/bonding-curve-contract/meta/Cargo.toml index 1b1abbb6..b531d223 100644 --- a/contracts/bonding-curve-contract/meta/Cargo.toml +++ b/contracts/bonding-curve-contract/meta/Cargo.toml @@ -4,6 +4,7 @@ version = "0.0.0" authors = ["Alin Cruceat "] edition = "2021" publish = false + [dependencies.bonding-curve-contract] path = ".." diff --git a/contracts/bonding-curve-contract/src/function_selector.rs b/contracts/bonding-curve-contract/src/function_selector.rs index 1a3ff465..94a8831e 100644 --- a/contracts/bonding-curve-contract/src/function_selector.rs +++ b/contracts/bonding-curve-contract/src/function_selector.rs @@ -26,15 +26,15 @@ impl CurveFunction for FunctionSelector { match &self { FunctionSelector::Linear(linear_function) => { linear_function.calculate_price(token_start, amount, arguments) - } + }, FunctionSelector::CustomExample(initial_cost) => { let sum = token_start + amount; &(&sum * &sum * sum / 3u32) + &arguments.balance + initial_cost.clone() - } + }, FunctionSelector::None => { M::error_api_impl().signal_error(b"Bonding Curve function is not assiged") - } + }, } } } diff --git a/contracts/bonding-curve-contract/tests/bonding_curve_scenario_go_test.rs b/contracts/bonding-curve-contract/tests/bonding_curve_scenario_go_test.rs index dee51e31..8d023293 100644 --- a/contracts/bonding-curve-contract/tests/bonding_curve_scenario_go_test.rs +++ b/contracts/bonding-curve-contract/tests/bonding_curve_scenario_go_test.rs @@ -1,34 +1,40 @@ +use multiversx_sc_scenario::*; + +fn world() -> ScenarioWorld { + ScenarioWorld::vm_go() +} + #[test] fn buy_go() { - multiversx_sc_scenario::run_go("scenarios/buy.scen.json"); + world().run("scenarios/buy.scen.json"); } #[test] fn claim_go() { - multiversx_sc_scenario::run_go("scenarios/claim.scen.json"); + world().run("scenarios/claim.scen.json"); } #[test] fn deploy_go() { - multiversx_sc_scenario::run_go("scenarios/deploy.scen.json"); + world().run("scenarios/deploy.scen.json"); } #[test] fn deposit_go() { - multiversx_sc_scenario::run_go("scenarios/deposit.scen.json"); + world().run("scenarios/deposit.scen.json"); } #[test] fn deposit_more_view_go() { - multiversx_sc_scenario::run_go("scenarios/deposit_more_view.scen.json"); + world().run("scenarios/deposit_more_view.scen.json"); } #[test] fn sell_go() { - multiversx_sc_scenario::run_go("scenarios/sell.scen.json"); + world().run("scenarios/sell.scen.json"); } #[test] fn set_bonding_curve_go() { - multiversx_sc_scenario::run_go("scenarios/set_bonding_curve.scen.json"); + world().run("scenarios/set_bonding_curve.scen.json"); } diff --git a/contracts/bonding-curve-contract/tests/bonding_curve_scenario_rs_test.rs b/contracts/bonding-curve-contract/tests/bonding_curve_scenario_rs_test.rs index 0fc3650c..576ed079 100644 --- a/contracts/bonding-curve-contract/tests/bonding_curve_scenario_rs_test.rs +++ b/contracts/bonding-curve-contract/tests/bonding_curve_scenario_rs_test.rs @@ -11,35 +11,35 @@ fn world() -> ScenarioWorld { #[test] fn buy_rs() { - multiversx_sc_scenario::run_rs("scenarios/buy.scen.json", world()); + world().run("scenarios/buy.scen.json"); } #[test] fn claim_rs() { - multiversx_sc_scenario::run_rs("scenarios/claim.scen.json", world()); + world().run("scenarios/claim.scen.json"); } #[test] fn deploy_rs() { - multiversx_sc_scenario::run_rs("scenarios/deploy.scen.json", world()); + world().run("scenarios/deploy.scen.json"); } #[test] fn deposit_rs() { - multiversx_sc_scenario::run_rs("scenarios/deposit.scen.json", world()); + world().run("scenarios/deposit.scen.json"); } #[test] fn deposit_more_view_rs() { - multiversx_sc_scenario::run_rs("scenarios/deposit_more_view.scen.json", world()); + world().run("scenarios/deposit_more_view.scen.json"); } #[test] fn sell_rs() { - multiversx_sc_scenario::run_rs("scenarios/sell.scen.json", world()); + world().run("scenarios/sell.scen.json"); } #[test] fn set_bonding_curve_rs() { - multiversx_sc_scenario::run_rs("scenarios/set_bonding_curve.scen.json", world()); + world().run("scenarios/set_bonding_curve.scen.json"); } diff --git a/contracts/bonding-curve-contract/wasm/Cargo.lock b/contracts/bonding-curve-contract/wasm/Cargo.lock index b66babea..a81fd11f 100644 --- a/contracts/bonding-curve-contract/wasm/Cargo.lock +++ b/contracts/bonding-curve-contract/wasm/Cargo.lock @@ -82,9 +82,7 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfbe80ec68fedf299dd65469f8999cf3c0f884ffa497122428f08303bcb8b884" +version = "0.43.3" dependencies = [ "bitflags", "hashbrown", @@ -96,9 +94,7 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d70ea458247d263b7e9fdfb207530b6a530546247139c162450e515c013a18" +version = "0.18.1" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -106,9 +102,7 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ad6920f80fda67fc60fd51aaa9f83ec7e069470f60a068c81205f9da5d05a30" +version = "0.18.1" dependencies = [ "hex", "proc-macro2", @@ -118,9 +112,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c2b87d817f2176bf1830bef938884f24267516c334a377e71a96bc18ebb09c1" +version = "0.43.3" dependencies = [ "hex", "proc-macro2", @@ -131,18 +123,14 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "704825223788bfdfd622980cae8feedae82609fded5ef5f53af31661d5e02312" +version = "0.43.3" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "932327626de71eeb1dbe86b863cc70cc532f8ceba8e73a059410f6aa56b22a77" +version = "0.43.3" dependencies = [ "multiversx-sc", ] @@ -173,9 +161,9 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.67" +version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" +checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" dependencies = [ "unicode-ident", ] @@ -218,9 +206,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.12" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" [[package]] name = "version_check" diff --git a/contracts/bonding-curve-contract/wasm/Cargo.toml b/contracts/bonding-curve-contract/wasm/Cargo.toml index dee5e8e8..e6d75835 100644 --- a/contracts/bonding-curve-contract/wasm/Cargo.toml +++ b/contracts/bonding-curve-contract/wasm/Cargo.toml @@ -7,12 +7,14 @@ publish = false [lib] crate-type = ["cdylib"] + [profile.release] codegen-units = 1 opt-level = "z" lto = true debug = false panic = "abort" + [dependencies.bonding-curve-contract] path = ".." diff --git a/contracts/bonding-curve-contract/wasm/src/lib.rs b/contracts/bonding-curve-contract/wasm/src/lib.rs index 4dd56651..a928dea9 100644 --- a/contracts/bonding-curve-contract/wasm/src/lib.rs +++ b/contracts/bonding-curve-contract/wasm/src/lib.rs @@ -10,6 +10,7 @@ // Total number of exported functions: 12 #![no_std] +#![allow(internal_features)] #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); @@ -18,17 +19,18 @@ multiversx_sc_wasm_adapter::panic_handler!(); multiversx_sc_wasm_adapter::endpoints! { bonding_curve_contract ( - sellToken - buyToken - deposit - setBondingCurve - claim - view_buy_price - view_sell_price - getTokenAvailability - setLocalRoles - unsetLocalRoles + init => init + sellToken => sell_token_endpoint + buyToken => buy_token_endpoint + deposit => deposit_endpoint + setBondingCurve => set_bonding_curve_endpoint + claim => claim_endpoint + view_buy_price => view_buy_price + view_sell_price => view_sell_price + getTokenAvailability => get_token_availability + setLocalRoles => set_local_roles + unsetLocalRoles => unset_local_roles ) } -multiversx_sc_wasm_adapter::empty_callback! {} +multiversx_sc_wasm_adapter::async_callback_empty! {} diff --git a/contracts/check-pause/.gitignore b/contracts/check-pause/.gitignore index 9494cb14..2c76bc98 100644 --- a/contracts/check-pause/.gitignore +++ b/contracts/check-pause/.gitignore @@ -4,4 +4,4 @@ */target/ # The mxpy output -output +/output*/ diff --git a/contracts/check-pause/Cargo.toml b/contracts/check-pause/Cargo.toml index 2f5c7365..e3f47c13 100644 --- a/contracts/check-pause/Cargo.toml +++ b/contracts/check-pause/Cargo.toml @@ -11,10 +11,11 @@ path = "src/check_pause.rs" [dev-dependencies] num-bigint = "0.4.2" -[dev-dependencies.multiversx-sc-scenario] -version = "0.43.3" [dependencies.multiversx-sc] version = "0.43.3" [dependencies.multiversx-sc-modules] version = "0.43.3" + +[dev-dependencies.multiversx-sc-scenario] +version = "0.43.3" diff --git a/contracts/check-pause/meta/Cargo.toml b/contracts/check-pause/meta/Cargo.toml index d4837bc1..d3946f2d 100644 --- a/contracts/check-pause/meta/Cargo.toml +++ b/contracts/check-pause/meta/Cargo.toml @@ -4,6 +4,7 @@ version = "0.0.0" edition = "2021" publish = false authors = ["Alin Cruceat "] + [dependencies.check-pause] path = ".." diff --git a/contracts/check-pause/wasm/Cargo.lock b/contracts/check-pause/wasm/Cargo.lock index 02a465b4..533226d6 100644 --- a/contracts/check-pause/wasm/Cargo.lock +++ b/contracts/check-pause/wasm/Cargo.lock @@ -82,9 +82,7 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfbe80ec68fedf299dd65469f8999cf3c0f884ffa497122428f08303bcb8b884" +version = "0.43.3" dependencies = [ "bitflags", "hashbrown", @@ -96,9 +94,7 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d70ea458247d263b7e9fdfb207530b6a530546247139c162450e515c013a18" +version = "0.18.1" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -106,9 +102,7 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ad6920f80fda67fc60fd51aaa9f83ec7e069470f60a068c81205f9da5d05a30" +version = "0.18.1" dependencies = [ "hex", "proc-macro2", @@ -118,9 +112,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c2b87d817f2176bf1830bef938884f24267516c334a377e71a96bc18ebb09c1" +version = "0.43.3" dependencies = [ "hex", "proc-macro2", @@ -131,18 +123,14 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "704825223788bfdfd622980cae8feedae82609fded5ef5f53af31661d5e02312" +version = "0.43.3" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "932327626de71eeb1dbe86b863cc70cc532f8ceba8e73a059410f6aa56b22a77" +version = "0.43.3" dependencies = [ "multiversx-sc", ] @@ -173,9 +161,9 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.67" +version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" +checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" dependencies = [ "unicode-ident", ] @@ -218,9 +206,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.12" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" [[package]] name = "version_check" diff --git a/contracts/check-pause/wasm/Cargo.toml b/contracts/check-pause/wasm/Cargo.toml index b18c33d0..861f72b6 100644 --- a/contracts/check-pause/wasm/Cargo.toml +++ b/contracts/check-pause/wasm/Cargo.toml @@ -2,8 +2,8 @@ name = "check-pause-wasm" version = "0.0.0" edition = "2021" +authors = ["Alin Cruceat "] publish = false -authors = ["you"] [lib] crate-type = ["cdylib"] @@ -12,12 +12,14 @@ crate-type = ["cdylib"] members = ["."] [dev-dependencies] + [profile.release] codegen-units = 1 opt-level = "z" lto = true debug = false panic = "abort" + [dependencies.check-pause] path = ".." diff --git a/contracts/check-pause/wasm/src/lib.rs b/contracts/check-pause/wasm/src/lib.rs index c8a0d49b..5b1035ef 100644 --- a/contracts/check-pause/wasm/src/lib.rs +++ b/contracts/check-pause/wasm/src/lib.rs @@ -10,6 +10,7 @@ // Total number of exported functions: 6 #![no_std] +#![allow(internal_features)] #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); @@ -18,11 +19,12 @@ multiversx_sc_wasm_adapter::panic_handler!(); multiversx_sc_wasm_adapter::endpoints! { check_pause ( - checkPause - pause - unpause - isPaused + init => init + checkPause => check_pause + pause => pause_endpoint + unpause => unpause_endpoint + isPaused => paused_status ) } -multiversx_sc_wasm_adapter::empty_callback! {} +multiversx_sc_wasm_adapter::async_callback_empty! {} diff --git a/contracts/crowdfunding-esdt/Cargo.toml b/contracts/crowdfunding-esdt/Cargo.toml index 1912ca11..6cec9623 100644 --- a/contracts/crowdfunding-esdt/Cargo.toml +++ b/contracts/crowdfunding-esdt/Cargo.toml @@ -7,13 +7,14 @@ publish = false [lib] path = "src/crowdfunding_esdt.rs" + [dependencies.multiversx-sc] version = "0.43.3" +[dev-dependencies.multiversx-sc-scenario] +version = "0.43.3" + [dev-dependencies] num-bigint = "0.4.2" num-traits = "0.2" hex = "0.4" - -[dev-dependencies.multiversx-sc-scenario] -version = "0.43.3" diff --git a/contracts/crowdfunding-esdt/interaction/alice.pem b/contracts/crowdfunding-esdt/interaction/alice.pem new file mode 100644 index 00000000..3f513ab9 --- /dev/null +++ b/contracts/crowdfunding-esdt/interaction/alice.pem @@ -0,0 +1,5 @@ +-----BEGIN PRIVATE KEY for erd1l453hd0gt5gzdp7czpuall8ggt2dcv5zwmfdf3sd3lguxseux2fsmsgldz----- +MWE5MjdlMmFmNTMwNmE5YmIyZWE3NzdmNzNlMDZlY2MwYWM5YWFhNzJmYjRlYTNm +ZWNmNjU5NDUxMzk0Y2NjZmZkNjkxYmI1ZTg1ZDEwMjY4N2Q4MTA3OWRmZmNlODQy +ZDRkYzMyODI3NmQyZDRjNjBkOGZkMWMzNDMzYzMyOTM= +-----END PRIVATE KEY for erd1l453hd0gt5gzdp7czpuall8ggt2dcv5zwmfdf3sd3lguxseux2fsmsgldz----- diff --git a/contracts/crowdfunding-esdt/interaction/devnet.snippets.sh b/contracts/crowdfunding-esdt/interaction/devnet.snippets.sh new file mode 100644 index 00000000..c9dabb5b --- /dev/null +++ b/contracts/crowdfunding-esdt/interaction/devnet.snippets.sh @@ -0,0 +1,100 @@ +ALICE="./interaction/alice.pem" +PROJECT="${PWD}" +PROXY=https://devnet-gateway.multiversx.com +CHAINID=D + +BOB="${USERS}/bob.pem" + +ADDRESS=$(mxpy data load --key=address-devnet) +DEPLOY_TRANSACTION=$(mxpy data load --key=deployTransaction-devnet) + +DEPLOY_GAS="25000000" +TARGET=10 + +DEADLINE_UNIX_TIMESTAMP=$(date -d '2100-05-12 00:00:01' +"%s") +EGLD_TOKEN_ID=0x45474c44 # "EGLD" + +deploy() { + mxpy --verbose contract deploy --project=${PROJECT} --recall-nonce --pem=${ALICE} \ + --gas-limit=${DEPLOY_GAS} \ + --arguments ${TARGET} ${DEADLINE_UNIX_TIMESTAMP} ${EGLD_TOKEN_ID} \ + --proxy=${PROXY} --chain=${CHAINID} --send + --outfile="deploy-devnet.interaction.json" || return + + TRANSACTION=$(mxpy data parse --file="deploy-devnet.interaction.json" --expression="data['emittedTransactionHash']") + ADDRESS=$(mxpy data parse --file="deploy-devnet.interaction.json" --expression="data['contractAddress']") + + mxpy data store --key=address-devnet --value=${ADDRESS} + mxpy data store --key=deployTransaction-devnet --value=${TRANSACTION} + + echo "" + echo "Smart contract address: ${ADDRESS}" +} + +deploySimulate() { + mxpy --verbose contract deploy --project=${PROJECT} --recall-nonce --pem=${ALICE} \ + --gas-limit=${DEPLOY_GAS} \ + --arguments ${TARGET} ${DEADLINE_UNIX_TIMESTAMP} ${EGLD_TOKEN_ID} \ + --outfile="simulate-devnet.interaction.json" --simulate || return + + TRANSACTION=$(mxpy data parse --file="simulate-devnet.interaction.json" --expression="data['result']['hash']") + ADDRESS=$(mxpy data parse --file="simulate-devnet.interaction.json" --expression="data['contractAddress']") + RETCODE=$(mxpy data parse --file="simulate-devnet.interaction.json" --expression="data['result']['returnCode']") + RETMSG=$(mxpy data parse --file="simulate-devnet.interaction.json" --expression="data['result']['returnMessage']") + + echo "" + echo "Simulated transaction: ${TRANSACTION}" + echo "Smart contract address: ${ADDRESS}" + echo "Deployment return code: ${RETCODE}" + echo "Deployment return message: ${RETMSG}" +} + +checkDeployment() { + mxpy tx get --hash=$DEPLOY_TRANSACTION --omit-fields="['data', 'signature']" + mxpy account get --address=$ADDRESS --omit-fields="['code']" +} + +# BOB sends funds +sendFunds() { + mxpy --verbose contract call ${ADDRESS} --recall-nonce --pem=${BOB} --gas-limit=10000000 \ + --function="fund" --value=5 \ + --send +} + +# ALICE claims +claimFunds() { + mxpy --verbose contract call ${ADDRESS} --recall-nonce --pem=${ALICE} --gas-limit=10000000 \ + --function="claim" \ + --send +} + +# 0 - Funding Period +# 1 - Successful +# 2 - Failed +status() { + mxpy --verbose contract query ${ADDRESS} --function="status" +} + +getCurrentFunds() { + mxpy --verbose contract query ${ADDRESS} --function="getCurrentFunds" +} + +getTarget() { + mxpy --verbose contract query ${ADDRESS} --function="getTarget" +} + +getDeadline() { + mxpy --verbose contract query ${ADDRESS} --function="getDeadline" +} + +# BOB's deposit +getDeposit() { + local BOB_ADDRESS_BECH32=erd1spyavw0956vq68xj8y4tenjpq2wd5a9p2c6j8gsz7ztyrnpxrruqzu66jx + local BOB_ADDRESS_HEX=0x$(mxpy wallet bech32 --decode ${BOB_ADDRESS_BECH32}) + + mxpy --verbose contract query ${ADDRESS} --function="getDeposit" --arguments ${BOB_ADDRESS_HEX} +} + +getCrowdfundingTokenName() { + mxpy --verbose contract query ${ADDRESS} --function="getCrowdfundingTokenName" +} diff --git a/contracts/crowdfunding-esdt/interaction/testnet.snippets.sh b/contracts/crowdfunding-esdt/interaction/testnet.snippets.sh new file mode 100644 index 00000000..2598e024 --- /dev/null +++ b/contracts/crowdfunding-esdt/interaction/testnet.snippets.sh @@ -0,0 +1,79 @@ +ALICE="${USERS}/alice.pem" +BOB="${USERS}/bob.pem" + +ADDRESS=$(mxpy data load --key=address-testnet) +DEPLOY_TRANSACTION=$(mxpy data load --key=deployTransaction-testnet) +PROXY=https://testnet-api.multiversx.com + +DEPLOY_GAS="80000000" +TARGET=10 +DEADLINE_UNIX_TIMESTAMP=1609452000 # Fri Jan 01 2021 00:00:00 GMT+0200 (Eastern European Standard Time) +EGLD_TOKEN_ID=0x45474c44 # "EGLD" + +deploy() { + mxpy --verbose contract deploy --project=${PROJECT} --recall-nonce --pem=${ALICE} \ + --gas-limit=${DEPLOY_GAS} \ + --arguments ${TARGET} ${DEADLINE_UNIX_TIMESTAMP} ${EGLD_TOKEN_ID} \ + --outfile="deploy-testnet.interaction.json" --send --proxy=${PROXY} --chain=T || return + + TRANSACTION=$(mxpy data parse --file="deploy-testnet.interaction.json" --expression="data['emittedTransactionHash']") + ADDRESS=$(mxpy data parse --file="deploy-testnet.interaction.json" --expression="data['contractAddress']") + + mxpy data store --key=address-testnet --value=${ADDRESS} + mxpy data store --key=deployTransaction-testnet --value=${TRANSACTION} + + echo "" + echo "Smart contract address: ${ADDRESS}" +} + +checkDeployment() { + mxpy tx get --hash=$DEPLOY_TRANSACTION --omit-fields="['data', 'signature']" --proxy=${PROXY} + mxpy account get --address=$ADDRESS --omit-fields="['code']" --proxy=${PROXY} +} + +# BOB sends funds +sendFunds() { + mxpy --verbose contract call ${ADDRESS} --recall-nonce --pem=${BOB} --gas-limit=10000000 \ + --function="fund" --value=5 \ + --proxy=${PROXY} --chain=T \ + --send +} + +# ALICE claims +claimFunds() { + mxpy --verbose contract call ${ADDRESS} --recall-nonce --pem=${ALICE} --gas-limit=10000000 \ + --function="claim" \ + --proxy=${PROXY} --chain=T \ + --send +} + +# 0 - Funding Period +# 1 - Successful +# 2 - Failed +status() { + mxpy --verbose contract query ${ADDRESS} --function="status" --proxy=${PROXY} --chain=T +} + +getCurrentFunds() { + mxpy --verbose contract query ${ADDRESS} --function="getCurrentFunds" --proxy=${PROXY} --chain=T +} + +getTarget() { + mxpy --verbose contract query ${ADDRESS} --function="getTarget" --proxy=${PROXY} --chain=T +} + +getDeadline() { + mxpy --verbose contract query ${ADDRESS} --function="getDeadline" --proxy=${PROXY} --chain=T +} + +# BOB's deposit +getDeposit() { + local BOB_ADDRESS_BECH32=erd1spyavw0956vq68xj8y4tenjpq2wd5a9p2c6j8gsz7ztyrnpxrruqzu66jx + local BOB_ADDRESS_HEX=0x$(mxpy wallet bech32 --decode ${BOB_ADDRESS_BECH32}) + + mxpy --verbose contract query ${ADDRESS} --function="getDeposit" --arguments ${BOB_ADDRESS_HEX} --proxy=${PROXY} --chain=T +} + +getCrowdfundingTokenName() { + mxpy --verbose contract query ${ADDRESS} --function="getCrowdfundingTokenName" --proxy=${PROXY} --chain=T +} diff --git a/contracts/crowdfunding-esdt/meta/Cargo.toml b/contracts/crowdfunding-esdt/meta/Cargo.toml index c772955e..e779f973 100644 --- a/contracts/crowdfunding-esdt/meta/Cargo.toml +++ b/contracts/crowdfunding-esdt/meta/Cargo.toml @@ -4,6 +4,7 @@ version = "0.0.0" authors = ["Andrei Marinica "] edition = "2021" publish = false + [dependencies.crowdfunding-esdt] path = ".." diff --git a/contracts/crowdfunding-esdt/scenarios/_generated_fund.scen.json b/contracts/crowdfunding-esdt/scenarios/_generated_fund.scen.json index 1b5c66f7..3959ce07 100644 --- a/contracts/crowdfunding-esdt/scenarios/_generated_fund.scen.json +++ b/contracts/crowdfunding-esdt/scenarios/_generated_fund.scen.json @@ -4,9 +4,7 @@ "step": "setState", "accounts": { "0x66687aadf862bd776c8fc18b8e9f8e20089714856ee233b3902a591d0d5f2925": { - "nonce": "0", - "balance": "0", - "developerRewards": "0" + "balance": "0" } } }, @@ -14,9 +12,7 @@ "step": "setState", "accounts": { "0x2b32db6c2c0a6235fb1397e8225ea85e0f0e6e8c7b126d0016ccbde0e667151e": { - "nonce": "0", - "balance": "0", - "developerRewards": "0" + "balance": "0" } } }, @@ -24,9 +20,7 @@ "step": "setState", "accounts": { "0x12771355e46cd47c71ed1721fd5319b383cca3a1f9fce3aa1c8cd3bd37af20d7": { - "nonce": "0", - "balance": "0", - "developerRewards": "0" + "balance": "0" } } }, @@ -34,11 +28,9 @@ "step": "setState", "accounts": { "0x0000000000000000d720a08b839a004c2e6386f5aecc19ec74807d1920cb6aeb": { - "nonce": "0", "balance": "0", "code": "file:../output/crowdfunding-esdt.wasm", - "owner": "0x66687aadf862bd776c8fc18b8e9f8e20089714856ee233b3902a591d0d5f2925", - "developerRewards": "0" + "owner": "0x66687aadf862bd776c8fc18b8e9f8e20089714856ee233b3902a591d0d5f2925" } } }, @@ -112,7 +104,6 @@ "esdtValue": [ { "tokenIdentifier": "str:CROWD-123456", - "nonce": "0", "value": "1000" } ], @@ -124,10 +115,7 @@ "expect": { "out": [], "status": "0", - "message": "str:", - "logs": "*", - "gas": "*", - "refund": "*" + "message": "str:" } } ] diff --git a/contracts/crowdfunding-esdt/scenarios/_generated_init.scen.json b/contracts/crowdfunding-esdt/scenarios/_generated_init.scen.json index eb5955ef..08b36928 100644 --- a/contracts/crowdfunding-esdt/scenarios/_generated_init.scen.json +++ b/contracts/crowdfunding-esdt/scenarios/_generated_init.scen.json @@ -4,9 +4,7 @@ "step": "setState", "accounts": { "0x66687aadf862bd776c8fc18b8e9f8e20089714856ee233b3902a591d0d5f2925": { - "nonce": "0", - "balance": "0", - "developerRewards": "0" + "balance": "0" } } }, @@ -14,9 +12,7 @@ "step": "setState", "accounts": { "0x2b32db6c2c0a6235fb1397e8225ea85e0f0e6e8c7b126d0016ccbde0e667151e": { - "nonce": "0", - "balance": "0", - "developerRewards": "0" + "balance": "0" } } }, @@ -24,9 +20,7 @@ "step": "setState", "accounts": { "0x12771355e46cd47c71ed1721fd5319b383cca3a1f9fce3aa1c8cd3bd37af20d7": { - "nonce": "0", - "balance": "0", - "developerRewards": "0" + "balance": "0" } } }, @@ -34,11 +28,9 @@ "step": "setState", "accounts": { "0x0000000000000000d720a08b839a004c2e6386f5aecc19ec74807d1920cb6aeb": { - "nonce": "0", "balance": "0", "code": "file:../output/crowdfunding-esdt.wasm", - "owner": "0x66687aadf862bd776c8fc18b8e9f8e20089714856ee233b3902a591d0d5f2925", - "developerRewards": "0" + "owner": "0x66687aadf862bd776c8fc18b8e9f8e20089714856ee233b3902a591d0d5f2925" } } }, diff --git a/contracts/crowdfunding-esdt/scenarios/_generated_query_status.scen.json b/contracts/crowdfunding-esdt/scenarios/_generated_query_status.scen.json index e9b6c634..c78a0a79 100644 --- a/contracts/crowdfunding-esdt/scenarios/_generated_query_status.scen.json +++ b/contracts/crowdfunding-esdt/scenarios/_generated_query_status.scen.json @@ -4,9 +4,7 @@ "step": "setState", "accounts": { "0x66687aadf862bd776c8fc18b8e9f8e20089714856ee233b3902a591d0d5f2925": { - "nonce": "0", - "balance": "0", - "developerRewards": "0" + "balance": "0" } } }, @@ -14,9 +12,7 @@ "step": "setState", "accounts": { "0x2b32db6c2c0a6235fb1397e8225ea85e0f0e6e8c7b126d0016ccbde0e667151e": { - "nonce": "0", - "balance": "0", - "developerRewards": "0" + "balance": "0" } } }, @@ -24,9 +20,7 @@ "step": "setState", "accounts": { "0x12771355e46cd47c71ed1721fd5319b383cca3a1f9fce3aa1c8cd3bd37af20d7": { - "nonce": "0", - "balance": "0", - "developerRewards": "0" + "balance": "0" } } }, @@ -34,11 +28,9 @@ "step": "setState", "accounts": { "0x0000000000000000d720a08b839a004c2e6386f5aecc19ec74807d1920cb6aeb": { - "nonce": "0", "balance": "0", "code": "file:../output/crowdfunding-esdt.wasm", - "owner": "0x66687aadf862bd776c8fc18b8e9f8e20089714856ee233b3902a591d0d5f2925", - "developerRewards": "0" + "owner": "0x66687aadf862bd776c8fc18b8e9f8e20089714856ee233b3902a591d0d5f2925" } } }, @@ -116,10 +108,7 @@ "0x" ], "status": "0", - "message": "str:", - "logs": "*", - "gas": "*", - "refund": "*" + "message": "str:" } } ] diff --git a/contracts/crowdfunding-esdt/scenarios/_generated_sc_err.scen.json b/contracts/crowdfunding-esdt/scenarios/_generated_sc_err.scen.json index 0f6a62f8..b820dc15 100644 --- a/contracts/crowdfunding-esdt/scenarios/_generated_sc_err.scen.json +++ b/contracts/crowdfunding-esdt/scenarios/_generated_sc_err.scen.json @@ -4,9 +4,7 @@ "step": "setState", "accounts": { "0x66687aadf862bd776c8fc18b8e9f8e20089714856ee233b3902a591d0d5f2925": { - "nonce": "0", - "balance": "0", - "developerRewards": "0" + "balance": "0" } } }, @@ -14,9 +12,7 @@ "step": "setState", "accounts": { "0x2b32db6c2c0a6235fb1397e8225ea85e0f0e6e8c7b126d0016ccbde0e667151e": { - "nonce": "0", - "balance": "0", - "developerRewards": "0" + "balance": "0" } } }, @@ -24,9 +20,7 @@ "step": "setState", "accounts": { "0x12771355e46cd47c71ed1721fd5319b383cca3a1f9fce3aa1c8cd3bd37af20d7": { - "nonce": "0", - "balance": "0", - "developerRewards": "0" + "balance": "0" } } }, @@ -34,11 +28,9 @@ "step": "setState", "accounts": { "0x0000000000000000d720a08b839a004c2e6386f5aecc19ec74807d1920cb6aeb": { - "nonce": "0", "balance": "0", "code": "file:../output/crowdfunding-esdt.wasm", - "owner": "0x66687aadf862bd776c8fc18b8e9f8e20089714856ee233b3902a591d0d5f2925", - "developerRewards": "0" + "owner": "0x66687aadf862bd776c8fc18b8e9f8e20089714856ee233b3902a591d0d5f2925" } } }, @@ -140,10 +132,7 @@ "expect": { "out": [], "status": "4", - "message": "str:wrong token", - "logs": "*", - "gas": "*", - "refund": "*" + "message": "str:wrong token" } } ] diff --git a/contracts/crowdfunding-esdt/testnet.toml b/contracts/crowdfunding-esdt/testnet.toml deleted file mode 100644 index e69de29b..00000000 diff --git a/contracts/crowdfunding-esdt/tests/crowdfunding_esdt_mandos_rust_test.rs b/contracts/crowdfunding-esdt/tests/crowdfunding_esdt_blackbox_test.rs similarity index 78% rename from contracts/crowdfunding-esdt/tests/crowdfunding_esdt_mandos_rust_test.rs rename to contracts/crowdfunding-esdt/tests/crowdfunding_esdt_blackbox_test.rs index a63922c0..66311ab7 100644 --- a/contracts/crowdfunding-esdt/tests/crowdfunding_esdt_mandos_rust_test.rs +++ b/contracts/crowdfunding-esdt/tests/crowdfunding_esdt_blackbox_test.rs @@ -1,23 +1,21 @@ use crowdfunding_esdt::*; use multiversx_sc::types::EgldOrEsdtTokenIdentifier; -use multiversx_sc_scenario::{scenario_model::*, *}; +use multiversx_sc_scenario::{api::StaticApi, scenario_model::*, *}; + +const CF_PATH_EXPR: &str = "file:output/crowdfunding-esdt.wasm"; fn world() -> ScenarioWorld { let mut blockchain = ScenarioWorld::new(); - blockchain.set_current_dir_from_workspace("contracts/crowdfunding-esdt"); + blockchain.set_current_dir_from_workspace("contracts/examples/crowdfunding-esdt"); - blockchain.register_contract( - "file:output/crowdfunding-esdt.wasm", - crowdfunding_esdt::ContractBuilder, - ); + blockchain.register_contract(CF_PATH_EXPR, crowdfunding_esdt::ContractBuilder); blockchain } #[test] fn crowdfunding_scenario_rust_test() { - let _ = DebugApi::dummy(); let mut world = world(); - let ctx = world.interpreter_context(); + let cf_code = world.code_expression(CF_PATH_EXPR); let owner_addr = "address:owner"; let first_user_addr = "address:user1"; @@ -26,26 +24,25 @@ fn crowdfunding_scenario_rust_test() { let deadline: u64 = 7 * 24 * 60 * 60; // 1 week in seconds let cf_token_id_value = "CROWD-123456"; // when passing as argument let cf_token_id = "str:CROWD-123456"; // when specifying the token transfer - let mut cf_sc = ContractInfo::>::new("sc:crowdfunding"); + let mut cf_sc = ContractInfo::>::new("sc:crowdfunding"); // setup owner and crowdfunding SC - world.set_state_step( + world.start_trace().set_state_step( SetStateStep::new() .put_account(owner_addr, Account::new()) .new_address(owner_addr, 0, &cf_sc), ); - let (_, ()) = cf_sc - .init( - 2_000u32, - deadline, - EgldOrEsdtTokenIdentifier::esdt(cf_token_id_value), - ) - .into_blockchain_call() - .from(owner_addr) - .contract_code("file:output/crowdfunding-esdt.wasm", &ctx) - .gas_limit("5,000,000") - .expect(TxExpect::ok().no_result()) - .execute(&mut world); + + world.sc_deploy( + ScDeployStep::new() + .from(owner_addr) + .code(cf_code) + .call(cf_sc.init( + 2_000u32, + deadline, + EgldOrEsdtTokenIdentifier::esdt(cf_token_id_value), + )), + ); // setup user accounts world @@ -60,13 +57,12 @@ fn crowdfunding_scenario_rust_test() { // first user deposit world - .sc_call_step( + .sc_call( ScCallStep::new() .from(first_user_addr) .to(&cf_sc) .esdt_transfer(cf_token_id, 0u64, 1_000u64) - .call(cf_sc.fund()) - .expect(TxExpect::ok().no_result()), + .call(cf_sc.fund()), ) .check_state_step( CheckStateStep::new() @@ -82,13 +78,12 @@ fn crowdfunding_scenario_rust_test() { // second user deposit world - .sc_call_step( + .sc_call( ScCallStep::new() .from(second_user_addr) .to(&cf_sc) .esdt_transfer(cf_token_id, 0u64, 500u64) - .call(cf_sc.fund()) - .expect(TxExpect::ok().no_result()), + .call(cf_sc.fund()), ) .check_state_step( CheckStateStep::new() @@ -125,12 +120,11 @@ fn crowdfunding_scenario_rust_test() { // owner claim - failed campaign - nothing is transferred world - .sc_call_step( + .sc_call( ScCallStep::new() .from(owner_addr) .to(&cf_sc) - .call(cf_sc.claim()) - .expect(TxExpect::ok().no_result()), + .call(cf_sc.claim()), ) .check_state_step( CheckStateStep::new() @@ -146,12 +140,11 @@ fn crowdfunding_scenario_rust_test() { // first user claim - failed campaign world - .sc_call_step( + .sc_call( ScCallStep::new() .from(first_user_addr) .to(&cf_sc) - .call(cf_sc.claim()) - .expect(TxExpect::ok().no_result()), + .call(cf_sc.claim()), ) .check_state_step( CheckStateStep::new() @@ -167,12 +160,11 @@ fn crowdfunding_scenario_rust_test() { // second user claim - failed campaign world - .sc_call_step( + .sc_call( ScCallStep::new() .from(second_user_addr) .to(&cf_sc) - .call(cf_sc.claim()) - .expect(TxExpect::ok().no_result()), + .call(cf_sc.claim()), ) .check_state_step( CheckStateStep::new() @@ -188,23 +180,21 @@ fn crowdfunding_scenario_rust_test() { world.set_state_step(SetStateStep::new().block_timestamp(deadline / 2)); // first user deposit - world.sc_call_step( + world.sc_call( ScCallStep::new() .from(first_user_addr) .to(&cf_sc) .esdt_transfer(cf_token_id, 0u64, 1_000u64) - .call(cf_sc.fund()) - .expect(TxExpect::ok().no_result()), + .call(cf_sc.fund()), ); // second user deposit - world.sc_call_step( + world.sc_call( ScCallStep::new() .from(second_user_addr) .to(&cf_sc) .esdt_transfer(cf_token_id, 0u64, 1_000u64) - .call(cf_sc.fund()) - .expect(TxExpect::ok().no_result()), + .call(cf_sc.fund()), ); let status: Status = cf_sc @@ -224,7 +214,7 @@ fn crowdfunding_scenario_rust_test() { assert_eq!(status, Status::Successful); // first user try claim - successful campaign - world.sc_call_step( + world.sc_call( ScCallStep::new() .from(first_user_addr) .to(&cf_sc) @@ -237,12 +227,11 @@ fn crowdfunding_scenario_rust_test() { // owner claim successful campaign world - .sc_call_step( + .sc_call( ScCallStep::new() .from(owner_addr) .to(&cf_sc) - .call(cf_sc.claim()) - .expect(TxExpect::ok().no_result()), + .call(cf_sc.claim()), ) .check_state_step( CheckStateStep::new() diff --git a/contracts/crowdfunding-esdt/tests/crowdfunding_esdt_scenario_go_test.rs b/contracts/crowdfunding-esdt/tests/crowdfunding_esdt_scenario_go_test.rs index 4b89f05c..bf74ad63 100644 --- a/contracts/crowdfunding-esdt/tests/crowdfunding_esdt_scenario_go_test.rs +++ b/contracts/crowdfunding-esdt/tests/crowdfunding_esdt_scenario_go_test.rs @@ -1,79 +1,85 @@ +use multiversx_sc_scenario::*; + +fn world() -> ScenarioWorld { + ScenarioWorld::vm_go() +} + #[test] fn generated_fund_go() { - multiversx_sc_scenario::run_go("scenarios/_generated_fund.scen.json"); + world().run("scenarios/_generated_fund.scen.json"); } #[test] fn generated_init_go() { - multiversx_sc_scenario::run_go("scenarios/_generated_init.scen.json"); + world().run("scenarios/_generated_init.scen.json"); } #[test] fn generated_query_status_go() { - multiversx_sc_scenario::run_go("scenarios/_generated_query_status.scen.json"); + world().run("scenarios/_generated_query_status.scen.json"); } #[test] fn generated_sc_err_go() { - multiversx_sc_scenario::run_go("scenarios/_generated_sc_err.scen.json"); + world().run("scenarios/_generated_sc_err.scen.json"); } #[test] fn crowdfunding_claim_failed_go() { - multiversx_sc_scenario::run_go("scenarios/crowdfunding-claim-failed.scen.json"); + world().run("scenarios/crowdfunding-claim-failed.scen.json"); } #[test] fn crowdfunding_claim_successful_go() { - multiversx_sc_scenario::run_go("scenarios/crowdfunding-claim-successful.scen.json"); + world().run("scenarios/crowdfunding-claim-successful.scen.json"); } #[test] fn crowdfunding_claim_too_early_go() { - multiversx_sc_scenario::run_go("scenarios/crowdfunding-claim-too-early.scen.json"); + world().run("scenarios/crowdfunding-claim-too-early.scen.json"); } #[test] fn crowdfunding_fund_go() { - multiversx_sc_scenario::run_go("scenarios/crowdfunding-fund.scen.json"); + world().run("scenarios/crowdfunding-fund.scen.json"); } #[test] fn crowdfunding_fund_too_late_go() { - multiversx_sc_scenario::run_go("scenarios/crowdfunding-fund-too-late.scen.json"); + world().run("scenarios/crowdfunding-fund-too-late.scen.json"); } #[test] fn crowdfunding_init_go() { - multiversx_sc_scenario::run_go("scenarios/crowdfunding-init.scen.json"); + world().run("scenarios/crowdfunding-init.scen.json"); } #[test] fn egld_crowdfunding_claim_failed_go() { - multiversx_sc_scenario::run_go("scenarios/egld-crowdfunding-claim-failed.scen.json"); + world().run("scenarios/egld-crowdfunding-claim-failed.scen.json"); } #[test] fn egld_crowdfunding_claim_successful_go() { - multiversx_sc_scenario::run_go("scenarios/egld-crowdfunding-claim-successful.scen.json"); + world().run("scenarios/egld-crowdfunding-claim-successful.scen.json"); } #[test] fn egld_crowdfunding_claim_too_early_go() { - multiversx_sc_scenario::run_go("scenarios/egld-crowdfunding-claim-too-early.scen.json"); + world().run("scenarios/egld-crowdfunding-claim-too-early.scen.json"); } #[test] fn egld_crowdfunding_fund_go() { - multiversx_sc_scenario::run_go("scenarios/egld-crowdfunding-fund.scen.json"); + world().run("scenarios/egld-crowdfunding-fund.scen.json"); } #[test] fn egld_crowdfunding_fund_too_late_go() { - multiversx_sc_scenario::run_go("scenarios/egld-crowdfunding-fund-too-late.scen.json"); + world().run("scenarios/egld-crowdfunding-fund-too-late.scen.json"); } #[test] fn egld_crowdfunding_init_go() { - multiversx_sc_scenario::run_go("scenarios/egld-crowdfunding-init.scen.json"); + world().run("scenarios/egld-crowdfunding-init.scen.json"); } diff --git a/contracts/crowdfunding-esdt/tests/crowdfunding_esdt_scenario_rs_test.rs b/contracts/crowdfunding-esdt/tests/crowdfunding_esdt_scenario_rs_test.rs index 1cabc4d1..2d1ff391 100644 --- a/contracts/crowdfunding-esdt/tests/crowdfunding_esdt_scenario_rs_test.rs +++ b/contracts/crowdfunding-esdt/tests/crowdfunding_esdt_scenario_rs_test.rs @@ -2,7 +2,7 @@ use multiversx_sc_scenario::*; fn world() -> ScenarioWorld { let mut blockchain = ScenarioWorld::new(); - blockchain.set_current_dir_from_workspace("contracts/crowdfunding-esdt"); + blockchain.set_current_dir_from_workspace("contracts/examples/crowdfunding-esdt"); blockchain.register_contract( "file:output/crowdfunding-esdt.wasm", @@ -13,92 +13,80 @@ fn world() -> ScenarioWorld { #[test] fn generated_fund_rs() { - multiversx_sc_scenario::run_rs("scenarios/_generated_fund.scen.json", world()); + world().run("scenarios/_generated_fund.scen.json"); } #[test] fn generated_init_rs() { - multiversx_sc_scenario::run_rs("scenarios/_generated_init.scen.json", world()); + world().run("scenarios/_generated_init.scen.json"); } #[test] fn generated_query_status_rs() { - multiversx_sc_scenario::run_rs("scenarios/_generated_query_status.scen.json", world()); + world().run("scenarios/_generated_query_status.scen.json"); } #[test] fn generated_sc_err_rs() { - multiversx_sc_scenario::run_rs("scenarios/_generated_sc_err.scen.json", world()); + world().run("scenarios/_generated_sc_err.scen.json"); } #[test] fn crowdfunding_claim_failed_rs() { - multiversx_sc_scenario::run_rs("scenarios/crowdfunding-claim-failed.scen.json", world()); + world().run("scenarios/crowdfunding-claim-failed.scen.json"); } #[test] fn crowdfunding_claim_successful_rs() { - multiversx_sc_scenario::run_rs("scenarios/crowdfunding-claim-successful.scen.json", world()); + world().run("scenarios/crowdfunding-claim-successful.scen.json"); } #[test] fn crowdfunding_claim_too_early_rs() { - multiversx_sc_scenario::run_rs("scenarios/crowdfunding-claim-too-early.scen.json", world()); + world().run("scenarios/crowdfunding-claim-too-early.scen.json"); } #[test] fn crowdfunding_fund_rs() { - multiversx_sc_scenario::run_rs("scenarios/crowdfunding-fund.scen.json", world()); + world().run("scenarios/crowdfunding-fund.scen.json"); } #[test] fn crowdfunding_fund_too_late_rs() { - multiversx_sc_scenario::run_rs("scenarios/crowdfunding-fund-too-late.scen.json", world()); + world().run("scenarios/crowdfunding-fund-too-late.scen.json"); } #[test] fn crowdfunding_init_rs() { - multiversx_sc_scenario::run_rs("scenarios/crowdfunding-init.scen.json", world()); + world().run("scenarios/crowdfunding-init.scen.json"); } #[test] fn egld_crowdfunding_claim_failed_rs() { - multiversx_sc_scenario::run_rs( - "scenarios/egld-crowdfunding-claim-failed.scen.json", - world(), - ); + world().run("scenarios/egld-crowdfunding-claim-failed.scen.json"); } #[test] fn egld_crowdfunding_claim_successful_rs() { - multiversx_sc_scenario::run_rs( - "scenarios/egld-crowdfunding-claim-successful.scen.json", - world(), - ); + world().run("scenarios/egld-crowdfunding-claim-successful.scen.json"); } #[test] fn egld_crowdfunding_claim_too_early_rs() { - multiversx_sc_scenario::run_rs( - "scenarios/egld-crowdfunding-claim-too-early.scen.json", - world(), - ); + world().run("scenarios/egld-crowdfunding-claim-too-early.scen.json"); } #[test] fn egld_crowdfunding_fund_rs() { - multiversx_sc_scenario::run_rs("scenarios/egld-crowdfunding-fund.scen.json", world()); + world().run("scenarios/egld-crowdfunding-fund.scen.json"); } #[test] fn egld_crowdfunding_fund_too_late_rs() { - multiversx_sc_scenario::run_rs( - "scenarios/egld-crowdfunding-fund-too-late.scen.json", - world(), - ); + world().run("scenarios/egld-crowdfunding-fund-too-late.scen.json"); } #[test] fn egld_crowdfunding_init_rs() { - multiversx_sc_scenario::run_rs("scenarios/egld-crowdfunding-init.scen.json", world()); + world().run("scenarios/egld-crowdfunding-init.scen.json"); } diff --git a/contracts/crowdfunding-esdt/tests/crowdfunding_esdt_rust_test.rs b/contracts/crowdfunding-esdt/tests/crowdfunding_esdt_whitebox_legacy_test.rs similarity index 99% rename from contracts/crowdfunding-esdt/tests/crowdfunding_esdt_rust_test.rs rename to contracts/crowdfunding-esdt/tests/crowdfunding_esdt_whitebox_legacy_test.rs index e5e1c7a9..87289e7a 100644 --- a/contracts/crowdfunding-esdt/tests/crowdfunding_esdt_rust_test.rs +++ b/contracts/crowdfunding-esdt/tests/crowdfunding_esdt_whitebox_legacy_test.rs @@ -1,3 +1,5 @@ +#![allow(deprecated)] // TODO: migrate tests + use crowdfunding_esdt::*; use multiversx_sc::types::{Address, EgldOrEsdtTokenIdentifier}; use multiversx_sc_scenario::{ diff --git a/contracts/crowdfunding-esdt/wasm/Cargo.lock b/contracts/crowdfunding-esdt/wasm/Cargo.lock index a1931bd0..037db941 100644 --- a/contracts/crowdfunding-esdt/wasm/Cargo.lock +++ b/contracts/crowdfunding-esdt/wasm/Cargo.lock @@ -81,9 +81,7 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfbe80ec68fedf299dd65469f8999cf3c0f884ffa497122428f08303bcb8b884" +version = "0.43.3" dependencies = [ "bitflags", "hashbrown", @@ -95,9 +93,7 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d70ea458247d263b7e9fdfb207530b6a530546247139c162450e515c013a18" +version = "0.18.1" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -105,9 +101,7 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ad6920f80fda67fc60fd51aaa9f83ec7e069470f60a068c81205f9da5d05a30" +version = "0.18.1" dependencies = [ "hex", "proc-macro2", @@ -117,9 +111,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c2b87d817f2176bf1830bef938884f24267516c334a377e71a96bc18ebb09c1" +version = "0.43.3" dependencies = [ "hex", "proc-macro2", @@ -130,9 +122,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "932327626de71eeb1dbe86b863cc70cc532f8ceba8e73a059410f6aa56b22a77" +version = "0.43.3" dependencies = [ "multiversx-sc", ] @@ -163,9 +153,9 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.67" +version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" +checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" dependencies = [ "unicode-ident", ] @@ -208,9 +198,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.12" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" [[package]] name = "version_check" diff --git a/contracts/crowdfunding-esdt/wasm/Cargo.toml b/contracts/crowdfunding-esdt/wasm/Cargo.toml index 306b7a74..39b5afdf 100644 --- a/contracts/crowdfunding-esdt/wasm/Cargo.toml +++ b/contracts/crowdfunding-esdt/wasm/Cargo.toml @@ -7,12 +7,14 @@ publish = false [lib] crate-type = ["cdylib"] + [profile.release] codegen-units = 1 opt-level = "z" lto = true debug = false panic = "abort" + [dependencies.crowdfunding-esdt] path = ".." diff --git a/contracts/crowdfunding-esdt/wasm/src/lib.rs b/contracts/crowdfunding-esdt/wasm/src/lib.rs index 9b54846c..76a051b0 100644 --- a/contracts/crowdfunding-esdt/wasm/src/lib.rs +++ b/contracts/crowdfunding-esdt/wasm/src/lib.rs @@ -10,6 +10,7 @@ // Total number of exported functions: 10 #![no_std] +#![allow(internal_features)] #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); @@ -18,15 +19,16 @@ multiversx_sc_wasm_adapter::panic_handler!(); multiversx_sc_wasm_adapter::endpoints! { crowdfunding_esdt ( - fund - status - getCurrentFunds - claim - getTarget - getDeadline - getDeposit - getCrowdfundingTokenIdentifier + init => init + fund => fund + status => status + getCurrentFunds => get_current_funds + claim => claim + getTarget => target + getDeadline => deadline + getDeposit => deposit + getCrowdfundingTokenIdentifier => cf_token_identifier ) } -multiversx_sc_wasm_adapter::empty_callback! {} +multiversx_sc_wasm_adapter::async_callback_empty! {} diff --git a/contracts/crypto-bubbles/Cargo.toml b/contracts/crypto-bubbles/Cargo.toml index 2c9f4347..9c805f4a 100644 --- a/contracts/crypto-bubbles/Cargo.toml +++ b/contracts/crypto-bubbles/Cargo.toml @@ -7,7 +7,9 @@ publish = false [lib] path = "src/crypto_bubbles.rs" + [dependencies.multiversx-sc] version = "0.43.3" + [dev-dependencies.multiversx-sc-scenario] version = "0.43.3" diff --git a/contracts/crypto-bubbles/meta/Cargo.toml b/contracts/crypto-bubbles/meta/Cargo.toml index d624f901..c52bf9e5 100644 --- a/contracts/crypto-bubbles/meta/Cargo.toml +++ b/contracts/crypto-bubbles/meta/Cargo.toml @@ -4,6 +4,7 @@ version = "0.0.0" authors = ["Andrei Marinica "] edition = "2021" publish = false + [dependencies.crypto-bubbles] path = ".." diff --git a/contracts/crypto-bubbles/testnet.toml b/contracts/crypto-bubbles/testnet.toml deleted file mode 100644 index e69de29b..00000000 diff --git a/contracts/crypto-bubbles/tests/crypto_bubbles_scenario_go_test.rs b/contracts/crypto-bubbles/tests/crypto_bubbles_scenario_go_test.rs index e36dc3e5..5fc0d6d9 100644 --- a/contracts/crypto-bubbles/tests/crypto_bubbles_scenario_go_test.rs +++ b/contracts/crypto-bubbles/tests/crypto_bubbles_scenario_go_test.rs @@ -1,54 +1,60 @@ +use multiversx_sc_scenario::*; + +fn world() -> ScenarioWorld { + ScenarioWorld::vm_go() +} + #[test] fn balance_of_go() { - multiversx_sc_scenario::run_go("scenarios/balanceOf.scen.json"); + world().run("scenarios/balanceOf.scen.json"); } #[test] fn create_go() { - multiversx_sc_scenario::run_go("scenarios/create.scen.json"); + world().run("scenarios/create.scen.json"); } #[test] fn exceptions_go() { - multiversx_sc_scenario::run_go("scenarios/exceptions.scen.json"); + world().run("scenarios/exceptions.scen.json"); } #[test] fn join_game_go() { - multiversx_sc_scenario::run_go("scenarios/joinGame.scen.json"); + world().run("scenarios/joinGame.scen.json"); } #[test] fn reward_and_send_to_wallet_go() { - multiversx_sc_scenario::run_go("scenarios/rewardAndSendToWallet.scen.json"); + world().run("scenarios/rewardAndSendToWallet.scen.json"); } #[test] fn reward_winner_go() { - multiversx_sc_scenario::run_go("scenarios/rewardWinner.scen.json"); + world().run("scenarios/rewardWinner.scen.json"); } #[test] fn reward_winner_last_go() { - multiversx_sc_scenario::run_go("scenarios/rewardWinner_Last.scen.json"); + world().run("scenarios/rewardWinner_Last.scen.json"); } #[test] fn top_up_ok_go() { - multiversx_sc_scenario::run_go("scenarios/topUp_ok.scen.json"); + world().run("scenarios/topUp_ok.scen.json"); } #[test] fn top_up_withdraw_go() { - multiversx_sc_scenario::run_go("scenarios/topUp_withdraw.scen.json"); + world().run("scenarios/topUp_withdraw.scen.json"); } #[test] fn withdraw_ok_go() { - multiversx_sc_scenario::run_go("scenarios/withdraw_Ok.scen.json"); + world().run("scenarios/withdraw_Ok.scen.json"); } #[test] fn withdraw_too_much_go() { - multiversx_sc_scenario::run_go("scenarios/withdraw_TooMuch.scen.json"); + world().run("scenarios/withdraw_TooMuch.scen.json"); } diff --git a/contracts/crypto-bubbles/tests/crypto_bubbles_scenario_rs_test.rs b/contracts/crypto-bubbles/tests/crypto_bubbles_scenario_rs_test.rs index 653b09f3..3f54c45a 100644 --- a/contracts/crypto-bubbles/tests/crypto_bubbles_scenario_rs_test.rs +++ b/contracts/crypto-bubbles/tests/crypto_bubbles_scenario_rs_test.rs @@ -2,7 +2,7 @@ use multiversx_sc_scenario::*; fn world() -> ScenarioWorld { let mut blockchain = ScenarioWorld::new(); - blockchain.set_current_dir_from_workspace("contracts/crypto-bubbles"); + blockchain.set_current_dir_from_workspace("contracts/examples/crypto-bubbles"); blockchain.register_contract( "file:output/crypto-bubbles.wasm", @@ -13,55 +13,55 @@ fn world() -> ScenarioWorld { #[test] fn balance_of_rs() { - multiversx_sc_scenario::run_rs("scenarios/balanceOf.scen.json", world()); + world().run("scenarios/balanceOf.scen.json"); } #[test] fn create_rs() { - multiversx_sc_scenario::run_rs("scenarios/create.scen.json", world()); + world().run("scenarios/create.scen.json"); } #[test] fn exceptions_rs() { - multiversx_sc_scenario::run_rs("scenarios/exceptions.scen.json", world()); + world().run("scenarios/exceptions.scen.json"); } #[test] fn join_game_rs() { - multiversx_sc_scenario::run_rs("scenarios/joinGame.scen.json", world()); + world().run("scenarios/joinGame.scen.json"); } #[test] fn reward_and_send_to_wallet_rs() { - multiversx_sc_scenario::run_rs("scenarios/rewardAndSendToWallet.scen.json", world()); + world().run("scenarios/rewardAndSendToWallet.scen.json"); } #[test] fn reward_winner_rs() { - multiversx_sc_scenario::run_rs("scenarios/rewardWinner.scen.json", world()); + world().run("scenarios/rewardWinner.scen.json"); } #[test] fn reward_winner_last_rs() { - multiversx_sc_scenario::run_rs("scenarios/rewardWinner_Last.scen.json", world()); + world().run("scenarios/rewardWinner_Last.scen.json"); } #[test] fn top_up_ok_rs() { - multiversx_sc_scenario::run_rs("scenarios/topUp_ok.scen.json", world()); + world().run("scenarios/topUp_ok.scen.json"); } #[test] fn top_up_withdraw_rs() { - multiversx_sc_scenario::run_rs("scenarios/topUp_withdraw.scen.json", world()); + world().run("scenarios/topUp_withdraw.scen.json"); } #[test] fn withdraw_ok_rs() { - multiversx_sc_scenario::run_rs("scenarios/withdraw_Ok.scen.json", world()); + world().run("scenarios/withdraw_Ok.scen.json"); } #[test] fn withdraw_too_much_rs() { - multiversx_sc_scenario::run_rs("scenarios/withdraw_TooMuch.scen.json", world()); + world().run("scenarios/withdraw_TooMuch.scen.json"); } diff --git a/contracts/crypto-bubbles/wasm/Cargo.lock b/contracts/crypto-bubbles/wasm/Cargo.lock index 1401e053..c4cc81c8 100755 --- a/contracts/crypto-bubbles/wasm/Cargo.lock +++ b/contracts/crypto-bubbles/wasm/Cargo.lock @@ -81,9 +81,7 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfbe80ec68fedf299dd65469f8999cf3c0f884ffa497122428f08303bcb8b884" +version = "0.43.3" dependencies = [ "bitflags", "hashbrown", @@ -95,9 +93,7 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d70ea458247d263b7e9fdfb207530b6a530546247139c162450e515c013a18" +version = "0.18.1" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -105,9 +101,7 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ad6920f80fda67fc60fd51aaa9f83ec7e069470f60a068c81205f9da5d05a30" +version = "0.18.1" dependencies = [ "hex", "proc-macro2", @@ -117,9 +111,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c2b87d817f2176bf1830bef938884f24267516c334a377e71a96bc18ebb09c1" +version = "0.43.3" dependencies = [ "hex", "proc-macro2", @@ -130,9 +122,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "932327626de71eeb1dbe86b863cc70cc532f8ceba8e73a059410f6aa56b22a77" +version = "0.43.3" dependencies = [ "multiversx-sc", ] @@ -163,9 +153,9 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.67" +version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" +checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" dependencies = [ "unicode-ident", ] @@ -208,9 +198,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.12" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" [[package]] name = "version_check" diff --git a/contracts/crypto-bubbles/wasm/Cargo.toml b/contracts/crypto-bubbles/wasm/Cargo.toml index c490a3c1..c61b5d0b 100644 --- a/contracts/crypto-bubbles/wasm/Cargo.toml +++ b/contracts/crypto-bubbles/wasm/Cargo.toml @@ -7,12 +7,14 @@ publish = false [lib] crate-type = ["cdylib"] + [profile.release] codegen-units = 1 opt-level = "z" lto = true debug = false panic = "abort" + [dependencies.crypto-bubbles] path = ".." diff --git a/contracts/crypto-bubbles/wasm/src/lib.rs b/contracts/crypto-bubbles/wasm/src/lib.rs index 382e0bee..fb1892a8 100644 --- a/contracts/crypto-bubbles/wasm/src/lib.rs +++ b/contracts/crypto-bubbles/wasm/src/lib.rs @@ -10,6 +10,7 @@ // Total number of exported functions: 8 #![no_std] +#![allow(internal_features)] #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); @@ -18,13 +19,14 @@ multiversx_sc_wasm_adapter::panic_handler!(); multiversx_sc_wasm_adapter::endpoints! { crypto_bubbles ( - topUp - withdraw - joinGame - rewardWinner - rewardAndSendToWallet - balanceOf + init => init + topUp => top_up + withdraw => withdraw + joinGame => join_game + rewardWinner => reward_winner + rewardAndSendToWallet => reward_and_send_to_wallet + balanceOf => player_balance ) } -multiversx_sc_wasm_adapter::empty_callback! {} +multiversx_sc_wasm_adapter::async_callback_empty! {} diff --git a/contracts/crypto-kitties/common/kitty/Cargo.toml b/contracts/crypto-kitties/common/kitty/Cargo.toml index 74f9640b..2a1eebc1 100644 --- a/contracts/crypto-kitties/common/kitty/Cargo.toml +++ b/contracts/crypto-kitties/common/kitty/Cargo.toml @@ -7,6 +7,7 @@ publish = false [lib] path = "src/lib.rs" + [dependencies.multiversx-sc] version = "0.43.3" diff --git a/contracts/crypto-kitties/common/random/Cargo.toml b/contracts/crypto-kitties/common/random/Cargo.toml index 6f35a817..060c17ca 100644 --- a/contracts/crypto-kitties/common/random/Cargo.toml +++ b/contracts/crypto-kitties/common/random/Cargo.toml @@ -6,5 +6,6 @@ edition = "2021" [lib] path = "src/lib.rs" + [dependencies.multiversx-sc] version = "0.43.3" diff --git a/contracts/crypto-kitties/kitty-auction/Cargo.toml b/contracts/crypto-kitties/kitty-auction/Cargo.toml index 98d1e714..e7289881 100644 --- a/contracts/crypto-kitties/kitty-auction/Cargo.toml +++ b/contracts/crypto-kitties/kitty-auction/Cargo.toml @@ -7,6 +7,7 @@ publish = false [lib] path = "src/lib.rs" + [dependencies.kitty] version = "0.0.0" path = "../common/kitty" @@ -17,5 +18,6 @@ path = "../kitty-ownership" [dependencies.multiversx-sc] version = "0.43.3" + [dev-dependencies.multiversx-sc-scenario] version = "0.43.3" diff --git a/contracts/crypto-kitties/kitty-auction/meta/Cargo.toml b/contracts/crypto-kitties/kitty-auction/meta/Cargo.toml index 6fad107a..f70aad05 100644 --- a/contracts/crypto-kitties/kitty-auction/meta/Cargo.toml +++ b/contracts/crypto-kitties/kitty-auction/meta/Cargo.toml @@ -3,6 +3,7 @@ name = "kitty-auction-meta" version = "0.0.0" edition = "2021" publish = false + [dependencies.kitty-auction] path = ".." diff --git a/contracts/crypto-kitties/kitty-auction/testnet.toml b/contracts/crypto-kitties/kitty-auction/testnet.toml deleted file mode 100644 index e69de29b..00000000 diff --git a/contracts/crypto-kitties/kitty-auction/tests/kitty_auction_scenario_go_test.rs b/contracts/crypto-kitties/kitty-auction/tests/kitty_auction_scenario_go_test.rs index f694c09c..5948c69b 100644 --- a/contracts/crypto-kitties/kitty-auction/tests/kitty_auction_scenario_go_test.rs +++ b/contracts/crypto-kitties/kitty-auction/tests/kitty_auction_scenario_go_test.rs @@ -1,79 +1,85 @@ +use multiversx_sc_scenario::*; + +fn world() -> ScenarioWorld { + ScenarioWorld::vm_go() +} + #[test] fn bid_first_go() { - multiversx_sc_scenario::run_go("scenarios/bid_first.scen.json"); + world().run("scenarios/bid_first.scen.json"); } #[test] fn bid_second_max_go() { - multiversx_sc_scenario::run_go("scenarios/bid_second_max.scen.json"); + world().run("scenarios/bid_second_max.scen.json"); } #[test] fn bid_second_ok_go() { - multiversx_sc_scenario::run_go("scenarios/bid_second_ok.scen.json"); + world().run("scenarios/bid_second_ok.scen.json"); } #[test] fn bid_second_too_low_go() { - multiversx_sc_scenario::run_go("scenarios/bid_second_too_low.scen.json"); + world().run("scenarios/bid_second_too_low.scen.json"); } #[test] fn bid_siring_auction_go() { - multiversx_sc_scenario::run_go("scenarios/bid_siring_auction.scen.json"); + world().run("scenarios/bid_siring_auction.scen.json"); } #[test] fn create_and_auction_gen_zero_kitty_go() { - multiversx_sc_scenario::run_go("scenarios/create_and_auction_gen_zero_kitty.scen.json"); + world().run("scenarios/create_and_auction_gen_zero_kitty.scen.json"); } #[test] fn create_sale_auction_not_owner_go() { - multiversx_sc_scenario::run_go("scenarios/create_sale_auction_not_owner.scen.json"); + world().run("scenarios/create_sale_auction_not_owner.scen.json"); } #[test] fn create_sale_auction_ok_go() { - multiversx_sc_scenario::run_go("scenarios/create_sale_auction_ok.scen.json"); + world().run("scenarios/create_sale_auction_ok.scen.json"); } #[test] fn create_siring_auction_not_owner_go() { - multiversx_sc_scenario::run_go("scenarios/create_siring_auction_not_owner.scen.json"); + world().run("scenarios/create_siring_auction_not_owner.scen.json"); } #[test] fn create_siring_auction_ok_go() { - multiversx_sc_scenario::run_go("scenarios/create_siring_auction_ok.scen.json"); + world().run("scenarios/create_siring_auction_ok.scen.json"); } #[test] fn end_auction_no_bids_go() { - multiversx_sc_scenario::run_go("scenarios/end_auction_no_bids.scen.json"); + world().run("scenarios/end_auction_no_bids.scen.json"); } #[test] fn end_auction_second_bid_max_early_go() { - multiversx_sc_scenario::run_go("scenarios/end_auction_second_bid_max_early.scen.json"); + world().run("scenarios/end_auction_second_bid_max_early.scen.json"); } #[test] fn end_auction_second_bid_ok_early_go() { - multiversx_sc_scenario::run_go("scenarios/end_auction_second_bid_ok_early.scen.json"); + world().run("scenarios/end_auction_second_bid_ok_early.scen.json"); } #[test] fn end_auction_second_bid_ok_late_go() { - multiversx_sc_scenario::run_go("scenarios/end_auction_second_bid_ok_late.scen.json"); + world().run("scenarios/end_auction_second_bid_ok_late.scen.json"); } #[test] fn end_siring_auction_go() { - multiversx_sc_scenario::run_go("scenarios/end_siring_auction.scen.json"); + world().run("scenarios/end_siring_auction.scen.json"); } #[test] fn init_go() { - multiversx_sc_scenario::run_go("scenarios/init.scen.json"); + world().run("scenarios/init.scen.json"); } diff --git a/contracts/crypto-kitties/kitty-auction/tests/kitty_auction_scenario_rs_test.rs b/contracts/crypto-kitties/kitty-auction/tests/kitty_auction_scenario_rs_test.rs index 648222cb..110acd8d 100644 --- a/contracts/crypto-kitties/kitty-auction/tests/kitty_auction_scenario_rs_test.rs +++ b/contracts/crypto-kitties/kitty-auction/tests/kitty_auction_scenario_rs_test.rs @@ -16,95 +16,80 @@ fn world() -> ScenarioWorld { } #[test] fn bid_first_rs() { - multiversx_sc_scenario::run_rs("scenarios/bid_first.scen.json", world()); + world().run("scenarios/bid_first.scen.json"); } #[test] fn bid_second_max_rs() { - multiversx_sc_scenario::run_rs("scenarios/bid_second_max.scen.json", world()); + world().run("scenarios/bid_second_max.scen.json"); } #[test] fn bid_second_ok_rs() { - multiversx_sc_scenario::run_rs("scenarios/bid_second_ok.scen.json", world()); + world().run("scenarios/bid_second_ok.scen.json"); } #[test] fn bid_second_too_low_rs() { - multiversx_sc_scenario::run_rs("scenarios/bid_second_too_low.scen.json", world()); + world().run("scenarios/bid_second_too_low.scen.json"); } #[test] fn bid_siring_auction_rs() { - multiversx_sc_scenario::run_rs("scenarios/bid_siring_auction.scen.json", world()); + world().run("scenarios/bid_siring_auction.scen.json"); } #[test] fn create_and_auction_gen_zero_kitty_rs() { - multiversx_sc_scenario::run_rs( - "scenarios/create_and_auction_gen_zero_kitty.scen.json", - world(), - ); + world().run("scenarios/create_and_auction_gen_zero_kitty.scen.json"); } #[test] fn create_sale_auction_not_owner_rs() { - multiversx_sc_scenario::run_rs("scenarios/create_sale_auction_not_owner.scen.json", world()); + world().run("scenarios/create_sale_auction_not_owner.scen.json"); } #[test] fn create_sale_auction_ok_rs() { - multiversx_sc_scenario::run_rs("scenarios/create_sale_auction_ok.scen.json", world()); + world().run("scenarios/create_sale_auction_ok.scen.json"); } #[test] fn create_siring_auction_not_owner_rs() { - multiversx_sc_scenario::run_rs( - "scenarios/create_siring_auction_not_owner.scen.json", - world(), - ); + world().run("scenarios/create_siring_auction_not_owner.scen.json"); } #[test] fn create_siring_auction_ok_rs() { - multiversx_sc_scenario::run_rs("scenarios/create_siring_auction_ok.scen.json", world()); + world().run("scenarios/create_siring_auction_ok.scen.json"); } #[test] fn end_auction_no_bids_rs() { - multiversx_sc_scenario::run_rs("scenarios/end_auction_no_bids.scen.json", world()); + world().run("scenarios/end_auction_no_bids.scen.json"); } #[test] fn end_auction_second_bid_max_early_rs() { - multiversx_sc_scenario::run_rs( - "scenarios/end_auction_second_bid_max_early.scen.json", - world(), - ); + world().run("scenarios/end_auction_second_bid_max_early.scen.json"); } #[test] fn end_auction_second_bid_ok_early_rs() { - multiversx_sc_scenario::run_rs( - "scenarios/end_auction_second_bid_ok_early.scen.json", - world(), - ); + world().run("scenarios/end_auction_second_bid_ok_early.scen.json"); } #[test] fn end_auction_second_bid_ok_late_rs() { - multiversx_sc_scenario::run_rs( - "scenarios/end_auction_second_bid_ok_late.scen.json", - world(), - ); + world().run("scenarios/end_auction_second_bid_ok_late.scen.json"); } #[test] fn end_siring_auction_rs() { - multiversx_sc_scenario::run_rs("scenarios/end_siring_auction.scen.json", world()); + world().run("scenarios/end_siring_auction.scen.json"); } #[test] fn init_rs() { - multiversx_sc_scenario::run_rs("scenarios/init.scen.json", world()); + world().run("scenarios/init.scen.json"); } diff --git a/contracts/crypto-kitties/kitty-auction/wasm/Cargo.lock b/contracts/crypto-kitties/kitty-auction/wasm/Cargo.lock index ae4990ed..cf6d3a44 100755 --- a/contracts/crypto-kitties/kitty-auction/wasm/Cargo.lock +++ b/contracts/crypto-kitties/kitty-auction/wasm/Cargo.lock @@ -110,9 +110,7 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfbe80ec68fedf299dd65469f8999cf3c0f884ffa497122428f08303bcb8b884" +version = "0.43.3" dependencies = [ "bitflags", "hashbrown", @@ -124,9 +122,7 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d70ea458247d263b7e9fdfb207530b6a530546247139c162450e515c013a18" +version = "0.18.1" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -134,9 +130,7 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ad6920f80fda67fc60fd51aaa9f83ec7e069470f60a068c81205f9da5d05a30" +version = "0.18.1" dependencies = [ "hex", "proc-macro2", @@ -146,9 +140,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c2b87d817f2176bf1830bef938884f24267516c334a377e71a96bc18ebb09c1" +version = "0.43.3" dependencies = [ "hex", "proc-macro2", @@ -159,9 +151,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "932327626de71eeb1dbe86b863cc70cc532f8ceba8e73a059410f6aa56b22a77" +version = "0.43.3" dependencies = [ "multiversx-sc", ] @@ -192,9 +182,9 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.67" +version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" +checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" dependencies = [ "unicode-ident", ] @@ -244,9 +234,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.12" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" [[package]] name = "version_check" diff --git a/contracts/crypto-kitties/kitty-auction/wasm/Cargo.toml b/contracts/crypto-kitties/kitty-auction/wasm/Cargo.toml index 30c3845a..4328f407 100644 --- a/contracts/crypto-kitties/kitty-auction/wasm/Cargo.toml +++ b/contracts/crypto-kitties/kitty-auction/wasm/Cargo.toml @@ -9,12 +9,14 @@ crate-type = ["cdylib"] [workspace] members = ["."] + [profile.release] codegen-units = 1 opt-level = "z" lto = true debug = false panic = "abort" + [dependencies.kitty-auction] path = ".." diff --git a/contracts/crypto-kitties/kitty-auction/wasm/src/lib.rs b/contracts/crypto-kitties/kitty-auction/wasm/src/lib.rs index 1ca93e9d..5ee16c68 100644 --- a/contracts/crypto-kitties/kitty-auction/wasm/src/lib.rs +++ b/contracts/crypto-kitties/kitty-auction/wasm/src/lib.rs @@ -10,6 +10,7 @@ // Total number of exported functions: 11 #![no_std] +#![allow(internal_features)] #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); @@ -18,15 +19,17 @@ multiversx_sc_wasm_adapter::panic_handler!(); multiversx_sc_wasm_adapter::endpoints! { kitty_auction ( - setKittyOwnershipContractAddress - createAndAuctionGenZeroKitty - isUpForAuction - getAuctionStatus - getCurrentWinningBid - createSaleAuction - createSiringAuction - bid - endAuction - callBack + init => init + setKittyOwnershipContractAddress => set_kitty_ownership_contract_address_endpoint + createAndAuctionGenZeroKitty => create_and_auction_gen_zero_kitty + isUpForAuction => is_up_for_auction + getAuctionStatus => get_auction_status + getCurrentWinningBid => get_current_winning_bid + createSaleAuction => create_sale_auction + createSiringAuction => create_siring_auction + bid => bid + endAuction => end_auction ) } + +multiversx_sc_wasm_adapter::async_callback! { kitty_auction } diff --git a/contracts/crypto-kitties/kitty-genetic-alg/Cargo.toml b/contracts/crypto-kitties/kitty-genetic-alg/Cargo.toml index a129a301..bb189f51 100644 --- a/contracts/crypto-kitties/kitty-genetic-alg/Cargo.toml +++ b/contracts/crypto-kitties/kitty-genetic-alg/Cargo.toml @@ -7,6 +7,8 @@ publish = false [lib] path = "src/lib.rs" + + [dependencies.kitty] version = "0.0.0" path = "../common/kitty" @@ -17,5 +19,6 @@ path = "../common/random" [dependencies.multiversx-sc] version = "0.43.3" + [dev-dependencies.multiversx-sc-scenario] version = "0.43.3" diff --git a/contracts/crypto-kitties/kitty-genetic-alg/meta/Cargo.toml b/contracts/crypto-kitties/kitty-genetic-alg/meta/Cargo.toml index 7f488c4a..7ff43eef 100644 --- a/contracts/crypto-kitties/kitty-genetic-alg/meta/Cargo.toml +++ b/contracts/crypto-kitties/kitty-genetic-alg/meta/Cargo.toml @@ -3,6 +3,7 @@ name = "kitty-genetic-alg-meta" version = "0.0.0" edition = "2021" publish = false + [dependencies.kitty-genetic-alg] path = ".." diff --git a/contracts/crypto-kitties/kitty-genetic-alg/testnet.toml b/contracts/crypto-kitties/kitty-genetic-alg/testnet.toml deleted file mode 100644 index e69de29b..00000000 diff --git a/contracts/crypto-kitties/kitty-genetic-alg/tests/kitty_genetic_alg_scenario_go_test.rs b/contracts/crypto-kitties/kitty-genetic-alg/tests/kitty_genetic_alg_scenario_go_test.rs index 768cca96..8e262b62 100644 --- a/contracts/crypto-kitties/kitty-genetic-alg/tests/kitty_genetic_alg_scenario_go_test.rs +++ b/contracts/crypto-kitties/kitty-genetic-alg/tests/kitty_genetic_alg_scenario_go_test.rs @@ -1,9 +1,15 @@ +use multiversx_sc_scenario::*; + +fn world() -> ScenarioWorld { + ScenarioWorld::vm_go() +} + #[test] fn generate_kitty_genes_go() { - multiversx_sc_scenario::run_go("scenarios/generate-kitty-genes.scen.json"); + world().run("scenarios/generate-kitty-genes.scen.json"); } #[test] fn init_go() { - multiversx_sc_scenario::run_go("scenarios/init.scen.json"); + world().run("scenarios/init.scen.json"); } diff --git a/contracts/crypto-kitties/kitty-genetic-alg/tests/kitty_genetic_alg_scenario_rs_test.rs b/contracts/crypto-kitties/kitty-genetic-alg/tests/kitty_genetic_alg_scenario_rs_test.rs index ac866f90..8389bb81 100644 --- a/contracts/crypto-kitties/kitty-genetic-alg/tests/kitty_genetic_alg_scenario_rs_test.rs +++ b/contracts/crypto-kitties/kitty-genetic-alg/tests/kitty_genetic_alg_scenario_rs_test.rs @@ -11,10 +11,10 @@ fn world() -> ScenarioWorld { #[test] fn generate_kitty_genes_rs() { - multiversx_sc_scenario::run_rs("scenarios/generate-kitty-genes.scen.json", world()); + world().run("scenarios/generate-kitty-genes.scen.json"); } #[test] fn init_rs() { - multiversx_sc_scenario::run_rs("scenarios/init.scen.json", world()); + world().run("scenarios/init.scen.json"); } diff --git a/contracts/crypto-kitties/kitty-genetic-alg/wasm/Cargo.lock b/contracts/crypto-kitties/kitty-genetic-alg/wasm/Cargo.lock index 4a2ca27e..8c7a3c5b 100755 --- a/contracts/crypto-kitties/kitty-genetic-alg/wasm/Cargo.lock +++ b/contracts/crypto-kitties/kitty-genetic-alg/wasm/Cargo.lock @@ -91,9 +91,7 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfbe80ec68fedf299dd65469f8999cf3c0f884ffa497122428f08303bcb8b884" +version = "0.43.3" dependencies = [ "bitflags", "hashbrown", @@ -105,9 +103,7 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d70ea458247d263b7e9fdfb207530b6a530546247139c162450e515c013a18" +version = "0.18.1" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -115,9 +111,7 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ad6920f80fda67fc60fd51aaa9f83ec7e069470f60a068c81205f9da5d05a30" +version = "0.18.1" dependencies = [ "hex", "proc-macro2", @@ -127,9 +121,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c2b87d817f2176bf1830bef938884f24267516c334a377e71a96bc18ebb09c1" +version = "0.43.3" dependencies = [ "hex", "proc-macro2", @@ -140,9 +132,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "932327626de71eeb1dbe86b863cc70cc532f8ceba8e73a059410f6aa56b22a77" +version = "0.43.3" dependencies = [ "multiversx-sc", ] @@ -173,9 +163,9 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.67" +version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" +checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" dependencies = [ "unicode-ident", ] @@ -225,9 +215,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.12" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" [[package]] name = "version_check" diff --git a/contracts/crypto-kitties/kitty-genetic-alg/wasm/Cargo.toml b/contracts/crypto-kitties/kitty-genetic-alg/wasm/Cargo.toml index 32325242..92623a1c 100644 --- a/contracts/crypto-kitties/kitty-genetic-alg/wasm/Cargo.toml +++ b/contracts/crypto-kitties/kitty-genetic-alg/wasm/Cargo.toml @@ -9,12 +9,14 @@ crate-type = ["cdylib"] [workspace] members = ["."] + [profile.release] codegen-units = 1 opt-level = "z" lto = true debug = false panic = "abort" + [dependencies.kitty-genetic-alg] path = ".." diff --git a/contracts/crypto-kitties/kitty-genetic-alg/wasm/src/lib.rs b/contracts/crypto-kitties/kitty-genetic-alg/wasm/src/lib.rs index 0babb284..9b1df239 100644 --- a/contracts/crypto-kitties/kitty-genetic-alg/wasm/src/lib.rs +++ b/contracts/crypto-kitties/kitty-genetic-alg/wasm/src/lib.rs @@ -10,6 +10,7 @@ // Total number of exported functions: 3 #![no_std] +#![allow(internal_features)] #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); @@ -18,8 +19,9 @@ multiversx_sc_wasm_adapter::panic_handler!(); multiversx_sc_wasm_adapter::endpoints! { kitty_genetic_alg ( - generateKittyGenes + init => init + generateKittyGenes => generate_kitty_genes ) } -multiversx_sc_wasm_adapter::empty_callback! {} +multiversx_sc_wasm_adapter::async_callback_empty! {} diff --git a/contracts/crypto-kitties/kitty-ownership/Cargo.toml b/contracts/crypto-kitties/kitty-ownership/Cargo.toml index f2826b71..8ae5e67b 100644 --- a/contracts/crypto-kitties/kitty-ownership/Cargo.toml +++ b/contracts/crypto-kitties/kitty-ownership/Cargo.toml @@ -7,6 +7,7 @@ publish = false [lib] path = "src/lib.rs" + [dependencies.kitty] version = "0.0.0" path = "../common/kitty" @@ -21,5 +22,6 @@ path = "../kitty-genetic-alg" [dependencies.multiversx-sc] version = "0.43.3" + [dev-dependencies.multiversx-sc-scenario] version = "0.43.3" diff --git a/contracts/crypto-kitties/kitty-ownership/meta/Cargo.toml b/contracts/crypto-kitties/kitty-ownership/meta/Cargo.toml index 47dec0f8..fc8f95c2 100644 --- a/contracts/crypto-kitties/kitty-ownership/meta/Cargo.toml +++ b/contracts/crypto-kitties/kitty-ownership/meta/Cargo.toml @@ -3,6 +3,7 @@ name = "kitty-ownership-meta" version = "0.0.0" edition = "2021" publish = false + [dependencies.kitty-ownership] path = ".." diff --git a/contracts/crypto-kitties/kitty-ownership/testnet.toml b/contracts/crypto-kitties/kitty-ownership/testnet.toml deleted file mode 100644 index e69de29b..00000000 diff --git a/contracts/crypto-kitties/kitty-ownership/tests/kitty_ownership_scenario_go_test.rs b/contracts/crypto-kitties/kitty-ownership/tests/kitty_ownership_scenario_go_test.rs index a5f24552..5442a645 100644 --- a/contracts/crypto-kitties/kitty-ownership/tests/kitty_ownership_scenario_go_test.rs +++ b/contracts/crypto-kitties/kitty-ownership/tests/kitty_ownership_scenario_go_test.rs @@ -1,29 +1,35 @@ +use multiversx_sc_scenario::*; + +fn world() -> ScenarioWorld { + ScenarioWorld::vm_go() +} + #[test] fn approve_siring_go() { - multiversx_sc_scenario::run_go("scenarios/approve_siring.scen.json"); + world().run("scenarios/approve_siring.scen.json"); } #[test] fn breed_ok_go() { - multiversx_sc_scenario::run_go("scenarios/breed_ok.scen.json"); + world().run("scenarios/breed_ok.scen.json"); } #[test] fn give_birth_go() { - multiversx_sc_scenario::run_go("scenarios/give_birth.scen.json"); + world().run("scenarios/give_birth.scen.json"); } #[test] fn init_go() { - multiversx_sc_scenario::run_go("scenarios/init.scen.json"); + world().run("scenarios/init.scen.json"); } #[test] fn query_go() { - multiversx_sc_scenario::run_go("scenarios/query.scen.json"); + world().run("scenarios/query.scen.json"); } #[test] fn setup_accounts_go() { - multiversx_sc_scenario::run_go("scenarios/setup_accounts.scen.json"); + world().run("scenarios/setup_accounts.scen.json"); } diff --git a/contracts/crypto-kitties/kitty-ownership/tests/kitty_ownership_scenario_rs_test.rs b/contracts/crypto-kitties/kitty-ownership/tests/kitty_ownership_scenario_rs_test.rs index f4179758..9101ffbf 100644 --- a/contracts/crypto-kitties/kitty-ownership/tests/kitty_ownership_scenario_rs_test.rs +++ b/contracts/crypto-kitties/kitty-ownership/tests/kitty_ownership_scenario_rs_test.rs @@ -17,30 +17,30 @@ fn world() -> ScenarioWorld { #[test] fn approve_siring_rs() { - multiversx_sc_scenario::run_rs("scenarios/approve_siring.scen.json", world()); + world().run("scenarios/approve_siring.scen.json"); } #[test] fn breed_ok_rs() { - multiversx_sc_scenario::run_rs("scenarios/breed_ok.scen.json", world()); + world().run("scenarios/breed_ok.scen.json"); } #[test] fn give_birth_rs() { - multiversx_sc_scenario::run_rs("scenarios/give_birth.scen.json", world()); + world().run("scenarios/give_birth.scen.json"); } #[test] fn init_rs() { - multiversx_sc_scenario::run_rs("scenarios/init.scen.json", world()); + world().run("scenarios/init.scen.json"); } #[test] fn query_rs() { - multiversx_sc_scenario::run_rs("scenarios/query.scen.json", world()); + world().run("scenarios/query.scen.json"); } #[test] fn setup_accounts_rs() { - multiversx_sc_scenario::run_rs("scenarios/setup_accounts.scen.json", world()); + world().run("scenarios/setup_accounts.scen.json"); } diff --git a/contracts/crypto-kitties/kitty-ownership/wasm/Cargo.lock b/contracts/crypto-kitties/kitty-ownership/wasm/Cargo.lock index 965ac7b9..bd9b1910 100755 --- a/contracts/crypto-kitties/kitty-ownership/wasm/Cargo.lock +++ b/contracts/crypto-kitties/kitty-ownership/wasm/Cargo.lock @@ -101,9 +101,7 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfbe80ec68fedf299dd65469f8999cf3c0f884ffa497122428f08303bcb8b884" +version = "0.43.3" dependencies = [ "bitflags", "hashbrown", @@ -115,9 +113,7 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d70ea458247d263b7e9fdfb207530b6a530546247139c162450e515c013a18" +version = "0.18.1" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -125,9 +121,7 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ad6920f80fda67fc60fd51aaa9f83ec7e069470f60a068c81205f9da5d05a30" +version = "0.18.1" dependencies = [ "hex", "proc-macro2", @@ -137,9 +131,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c2b87d817f2176bf1830bef938884f24267516c334a377e71a96bc18ebb09c1" +version = "0.43.3" dependencies = [ "hex", "proc-macro2", @@ -150,9 +142,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "932327626de71eeb1dbe86b863cc70cc532f8ceba8e73a059410f6aa56b22a77" +version = "0.43.3" dependencies = [ "multiversx-sc", ] @@ -183,9 +173,9 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.67" +version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" +checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" dependencies = [ "unicode-ident", ] @@ -235,9 +225,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.12" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" [[package]] name = "version_check" diff --git a/contracts/crypto-kitties/kitty-ownership/wasm/Cargo.toml b/contracts/crypto-kitties/kitty-ownership/wasm/Cargo.toml index fcde0d65..d9102f46 100644 --- a/contracts/crypto-kitties/kitty-ownership/wasm/Cargo.toml +++ b/contracts/crypto-kitties/kitty-ownership/wasm/Cargo.toml @@ -9,12 +9,14 @@ crate-type = ["cdylib"] [workspace] members = ["."] + [profile.release] codegen-units = 1 opt-level = "z" lto = true debug = false panic = "abort" + [dependencies.kitty-ownership] path = ".." diff --git a/contracts/crypto-kitties/kitty-ownership/wasm/src/lib.rs b/contracts/crypto-kitties/kitty-ownership/wasm/src/lib.rs index 62b7ddb3..56f84bce 100644 --- a/contracts/crypto-kitties/kitty-ownership/wasm/src/lib.rs +++ b/contracts/crypto-kitties/kitty-ownership/wasm/src/lib.rs @@ -10,6 +10,7 @@ // Total number of exported functions: 23 #![no_std] +#![allow(internal_features)] #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); @@ -18,27 +19,29 @@ multiversx_sc_wasm_adapter::panic_handler!(); multiversx_sc_wasm_adapter::endpoints! { kitty_ownership ( - setGeneScienceContractAddress - setKittyAuctionContractAddress - claim - totalSupply - balanceOf - ownerOf - approve - transfer - transfer_from - tokensOfOwner - allowAuctioning - approveSiringAndReturnKitty - createGenZeroKitty - getKittyById - isReadyToBreed - isPregnant - canBreedWith - approveSiring - breedWith - giveBirth - birthFee - callBack + init => init + setGeneScienceContractAddress => set_gene_science_contract_address_endpoint + setKittyAuctionContractAddress => set_kitty_auction_contract_address_endpoint + claim => claim + totalSupply => total_supply + balanceOf => balance_of + ownerOf => owner_of + approve => approve + transfer => transfer + transfer_from => transfer_from + tokensOfOwner => tokens_of_owner + allowAuctioning => allow_auctioning + approveSiringAndReturnKitty => approve_siring_and_return_kitty + createGenZeroKitty => create_gen_zero_kitty + getKittyById => get_kitty_by_id_endpoint + isReadyToBreed => is_ready_to_breed + isPregnant => is_pregnant + canBreedWith => can_breed_with + approveSiring => approve_siring + breedWith => breed_with + giveBirth => give_birth + birthFee => birth_fee ) } + +multiversx_sc_wasm_adapter::async_callback! { kitty_ownership } diff --git a/contracts/crypto-zombies/Cargo.toml b/contracts/crypto-zombies/Cargo.toml index 3e33728d..4a4aec3e 100644 --- a/contracts/crypto-zombies/Cargo.toml +++ b/contracts/crypto-zombies/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "cryptozombies" +name = "crypto-zombies" version = "0.0.0" authors = ["Alin Cruceat "] edition = "2021" @@ -7,7 +7,9 @@ publish = false [lib] path = "src/lib.rs" + [dependencies.multiversx-sc] version = "0.43.3" + [dev-dependencies.multiversx-sc-scenario] version = "0.43.3" diff --git a/contracts/crypto-zombies/meta/Cargo.toml b/contracts/crypto-zombies/meta/Cargo.toml index 344425cf..c28c63f0 100644 --- a/contracts/crypto-zombies/meta/Cargo.toml +++ b/contracts/crypto-zombies/meta/Cargo.toml @@ -1,9 +1,10 @@ [package] -name = "cryptozombies-meta" +name = "crypto-zombies-meta" version = "0.0.0" edition = "2021" publish = false -[dependencies.cryptozombies] + +[dependencies.crypto-zombies] path = ".." [dependencies.multiversx-sc-meta] diff --git a/contracts/crypto-zombies/meta/src/main.rs b/contracts/crypto-zombies/meta/src/main.rs index 485ec62e..0956e125 100644 --- a/contracts/crypto-zombies/meta/src/main.rs +++ b/contracts/crypto-zombies/meta/src/main.rs @@ -1,3 +1,3 @@ fn main() { - multiversx_sc_meta::cli_main::(); + multiversx_sc_meta::cli_main::(); } diff --git a/contracts/crypto-zombies/mxsc-template.toml b/contracts/crypto-zombies/mxsc-template.toml new file mode 100644 index 00000000..5b84e7a8 --- /dev/null +++ b/contracts/crypto-zombies/mxsc-template.toml @@ -0,0 +1,12 @@ +name = "crypto-zombies" +contract_trait = "CryptoZombies" +src_file = "lib.rs" +rename_pairs = [] +files_include = [ + "meta", + "scenarios", + "src", + "tests", + "wasm/Cargo.toml", + "Cargo.toml", +] diff --git a/contracts/crypto-zombies/testnet.toml b/contracts/crypto-zombies/testnet.toml deleted file mode 100644 index e69de29b..00000000 diff --git a/contracts/crypto-zombies/wasm/Cargo.lock b/contracts/crypto-zombies/wasm/Cargo.lock index b90afcf6..1e26ef40 100755 --- a/contracts/crypto-zombies/wasm/Cargo.lock +++ b/contracts/crypto-zombies/wasm/Cargo.lock @@ -38,17 +38,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] -name = "cryptozombies" +name = "crypto-zombies" version = "0.0.0" dependencies = [ "multiversx-sc", ] [[package]] -name = "cryptozombies-wasm" +name = "crypto-zombies-wasm" version = "0.0.0" dependencies = [ - "cryptozombies", + "crypto-zombies", "multiversx-sc-wasm-adapter", ] @@ -81,9 +81,7 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfbe80ec68fedf299dd65469f8999cf3c0f884ffa497122428f08303bcb8b884" +version = "0.43.3" dependencies = [ "bitflags", "hashbrown", @@ -95,9 +93,7 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d70ea458247d263b7e9fdfb207530b6a530546247139c162450e515c013a18" +version = "0.18.1" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -105,9 +101,7 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ad6920f80fda67fc60fd51aaa9f83ec7e069470f60a068c81205f9da5d05a30" +version = "0.18.1" dependencies = [ "hex", "proc-macro2", @@ -117,9 +111,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c2b87d817f2176bf1830bef938884f24267516c334a377e71a96bc18ebb09c1" +version = "0.43.3" dependencies = [ "hex", "proc-macro2", @@ -130,9 +122,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "932327626de71eeb1dbe86b863cc70cc532f8ceba8e73a059410f6aa56b22a77" +version = "0.43.3" dependencies = [ "multiversx-sc", ] @@ -163,9 +153,9 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.67" +version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" +checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" dependencies = [ "unicode-ident", ] @@ -208,9 +198,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.12" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" [[package]] name = "version_check" diff --git a/contracts/crypto-zombies/wasm/Cargo.toml b/contracts/crypto-zombies/wasm/Cargo.toml index 01d8a69a..98e462c3 100644 --- a/contracts/crypto-zombies/wasm/Cargo.toml +++ b/contracts/crypto-zombies/wasm/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "cryptozombies-wasm" +name = "crypto-zombies-wasm" version = "0.0.0" authors = ["Alin Cruceat "] edition = "2021" @@ -13,7 +13,8 @@ opt-level = "z" lto = true debug = false panic = "abort" -[dependencies.cryptozombies] + +[dependencies.crypto-zombies] path = ".." [dependencies.multiversx-sc-wasm-adapter] diff --git a/contracts/crypto-zombies/wasm/src/lib.rs b/contracts/crypto-zombies/wasm/src/lib.rs index b874fece..91106fdb 100644 --- a/contracts/crypto-zombies/wasm/src/lib.rs +++ b/contracts/crypto-zombies/wasm/src/lib.rs @@ -10,31 +10,34 @@ // Total number of exported functions: 19 #![no_std] +#![allow(internal_features)] #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); multiversx_sc_wasm_adapter::panic_handler!(); multiversx_sc_wasm_adapter::endpoints! { - cryptozombies + crypto_zombies ( - set_crypto_kitties_sc_address - generate_random_dna - create_random_zombie - is_ready - feed_on_kitty - dna_digits - zombies_count - zombies - zombie_owner - crypto_kitties_sc_address - cooldown_time - owned_zombies - level_up - withdraw - change_name - change_dna - attack - callBack + init => init + set_crypto_kitties_sc_address => set_crypto_kitties_sc_address + generate_random_dna => generate_random_dna + create_random_zombie => create_random_zombie + is_ready => is_ready + feed_on_kitty => feed_on_kitty + dna_digits => dna_digits + zombies_count => zombies_count + zombies => zombies + zombie_owner => zombie_owner + crypto_kitties_sc_address => crypto_kitties_sc_address + cooldown_time => cooldown_time + owned_zombies => owned_zombies + level_up => level_up + withdraw => withdraw + change_name => change_name + change_dna => change_dna + attack => attack ) } + +multiversx_sc_wasm_adapter::async_callback! { crypto_zombies } diff --git a/contracts/digital-cash/meta/Cargo.toml b/contracts/digital-cash/meta/Cargo.toml index ff13c5e9..4a557f21 100644 --- a/contracts/digital-cash/meta/Cargo.toml +++ b/contracts/digital-cash/meta/Cargo.toml @@ -3,6 +3,7 @@ name = "digital-cash-meta" version = "0.0.0" edition = "2021" publish = false + [dependencies.digital-cash] path = ".." diff --git a/contracts/digital-cash/testnet.toml b/contracts/digital-cash/testnet.toml deleted file mode 100644 index e69de29b..00000000 diff --git a/contracts/empty/.gitignore b/contracts/empty/.gitignore index 9494cb14..2c76bc98 100644 --- a/contracts/empty/.gitignore +++ b/contracts/empty/.gitignore @@ -4,4 +4,4 @@ */target/ # The mxpy output -output +/output*/ diff --git a/contracts/empty/Cargo.toml b/contracts/empty/Cargo.toml index c3b80dbd..77305842 100644 --- a/contracts/empty/Cargo.toml +++ b/contracts/empty/Cargo.toml @@ -7,11 +7,12 @@ publish = false [lib] path = "src/empty.rs" + [dependencies.multiversx-sc] version = "0.43.3" -[dev-dependencies] -num-bigint = "0.4.2" - [dev-dependencies.multiversx-sc-scenario] version = "0.43.3" + +[dev-dependencies] +num-bigint = "0.4.2" diff --git a/contracts/empty/meta/Cargo.toml b/contracts/empty/meta/Cargo.toml index f1c0774f..0ee5a4b6 100644 --- a/contracts/empty/meta/Cargo.toml +++ b/contracts/empty/meta/Cargo.toml @@ -3,6 +3,7 @@ name = "empty-meta" version = "0.0.0" edition = "2021" publish = false + [dependencies.empty] path = ".." diff --git a/contracts/empty/mxsc-template.toml b/contracts/empty/mxsc-template.toml new file mode 100644 index 00000000..be199ddf --- /dev/null +++ b/contracts/empty/mxsc-template.toml @@ -0,0 +1,17 @@ +name = "empty" +contract_trait = "EmptyContract" +src_file = "empty.rs" +rename_pairs = [ + [ + "blockchain.set_current_dir_from_workspace(\"contracts/examples/empty\");", + "// blockchain.set_current_dir_from_workspace(\"relative path to your workspace, if applicable\");", + ], +] +files_include = [ + "meta", + "scenarios", + "src", + "tests", + "wasm/Cargo.toml", + "Cargo.toml", +] diff --git a/contracts/empty/tests/empty_rust_test.rs b/contracts/empty/tests/empty_rust_test.rs deleted file mode 100644 index 1b012c16..00000000 --- a/contracts/empty/tests/empty_rust_test.rs +++ /dev/null @@ -1,63 +0,0 @@ -use empty::*; -use multiversx_sc::types::Address; -use multiversx_sc_scenario::{rust_biguint, testing_framework::*, DebugApi}; - -const WASM_PATH: &str = "output/empty.wasm"; - -struct ContractSetup -where - ContractObjBuilder: 'static + Copy + Fn() -> empty::ContractObj, -{ - pub blockchain_wrapper: BlockchainStateWrapper, - pub owner_address: Address, - pub contract_wrapper: ContractObjWrapper, ContractObjBuilder>, -} - -fn setup_contract( - cf_builder: ContractObjBuilder, -) -> ContractSetup -where - ContractObjBuilder: 'static + Copy + Fn() -> empty::ContractObj, -{ - let rust_zero = rust_biguint!(0u64); - let mut blockchain_wrapper = BlockchainStateWrapper::new(); - let owner_address = blockchain_wrapper.create_user_account(&rust_zero); - let cf_wrapper = blockchain_wrapper.create_sc_account( - &rust_zero, - Some(&owner_address), - cf_builder, - WASM_PATH, - ); - - blockchain_wrapper - .execute_tx(&owner_address, &cf_wrapper, &rust_zero, |sc| { - sc.init(); - }) - .assert_ok(); - - blockchain_wrapper.add_mandos_set_account(cf_wrapper.address_ref()); - - ContractSetup { - blockchain_wrapper, - owner_address, - contract_wrapper: cf_wrapper, - } -} - -#[test] -fn deploy_test() { - let mut setup = setup_contract(empty::contract_obj); - - // simulate deploy - setup - .blockchain_wrapper - .execute_tx( - &setup.owner_address, - &setup.contract_wrapper, - &rust_biguint!(0u64), - |sc| { - sc.init(); - }, - ) - .assert_ok(); -} diff --git a/contracts/empty/tests/empty_scenario_go_test.rs b/contracts/empty/tests/empty_scenario_go_test.rs index 6ffeba61..ef0a7f21 100644 --- a/contracts/empty/tests/empty_scenario_go_test.rs +++ b/contracts/empty/tests/empty_scenario_go_test.rs @@ -1,4 +1,10 @@ +use multiversx_sc_scenario::*; + +fn world() -> ScenarioWorld { + ScenarioWorld::vm_go() +} + #[test] fn empty_go() { - multiversx_sc_scenario::run_go("scenarios/empty.scen.json"); + world().run("scenarios/empty.scen.json"); } diff --git a/contracts/empty/tests/empty_scenario_rs_test.rs b/contracts/empty/tests/empty_scenario_rs_test.rs index 2ceb3a04..a4e9d016 100644 --- a/contracts/empty/tests/empty_scenario_rs_test.rs +++ b/contracts/empty/tests/empty_scenario_rs_test.rs @@ -2,6 +2,7 @@ use multiversx_sc_scenario::*; fn world() -> ScenarioWorld { let mut blockchain = ScenarioWorld::new(); + blockchain.set_current_dir_from_workspace("contracts/examples/empty"); blockchain.register_contract("file:output/empty.wasm", empty::ContractBuilder); blockchain @@ -9,5 +10,5 @@ fn world() -> ScenarioWorld { #[test] fn empty_rs() { - multiversx_sc_scenario::run_rs("scenarios/empty.scen.json", world()); + world().run("scenarios/empty.scen.json"); } diff --git a/contracts/empty/wasm/Cargo.lock b/contracts/empty/wasm/Cargo.lock index 2d7cef59..5ab4989f 100755 --- a/contracts/empty/wasm/Cargo.lock +++ b/contracts/empty/wasm/Cargo.lock @@ -81,9 +81,7 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfbe80ec68fedf299dd65469f8999cf3c0f884ffa497122428f08303bcb8b884" +version = "0.43.3" dependencies = [ "bitflags", "hashbrown", @@ -95,9 +93,7 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d70ea458247d263b7e9fdfb207530b6a530546247139c162450e515c013a18" +version = "0.18.1" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -105,9 +101,7 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ad6920f80fda67fc60fd51aaa9f83ec7e069470f60a068c81205f9da5d05a30" +version = "0.18.1" dependencies = [ "hex", "proc-macro2", @@ -117,9 +111,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c2b87d817f2176bf1830bef938884f24267516c334a377e71a96bc18ebb09c1" +version = "0.43.3" dependencies = [ "hex", "proc-macro2", @@ -130,9 +122,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "932327626de71eeb1dbe86b863cc70cc532f8ceba8e73a059410f6aa56b22a77" +version = "0.43.3" dependencies = [ "multiversx-sc", ] @@ -163,9 +153,9 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.67" +version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" +checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" dependencies = [ "unicode-ident", ] @@ -208,9 +198,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.12" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" [[package]] name = "version_check" diff --git a/contracts/empty/wasm/Cargo.toml b/contracts/empty/wasm/Cargo.toml index 56e8028d..114c7910 100644 --- a/contracts/empty/wasm/Cargo.toml +++ b/contracts/empty/wasm/Cargo.toml @@ -6,12 +6,14 @@ publish = false [lib] crate-type = ["cdylib"] + [profile.release] codegen-units = 1 opt-level = "z" lto = true debug = false panic = "abort" + [dependencies.empty] path = ".." diff --git a/contracts/empty/wasm/src/lib.rs b/contracts/empty/wasm/src/lib.rs index 89ef4fc9..8ea5e5e0 100644 --- a/contracts/empty/wasm/src/lib.rs +++ b/contracts/empty/wasm/src/lib.rs @@ -10,6 +10,7 @@ // Total number of exported functions: 2 #![no_std] +#![allow(internal_features)] #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); @@ -18,7 +19,8 @@ multiversx_sc_wasm_adapter::panic_handler!(); multiversx_sc_wasm_adapter::endpoints! { empty ( + init => init ) } -multiversx_sc_wasm_adapter::empty_callback! {} +multiversx_sc_wasm_adapter::async_callback_empty! {} diff --git a/contracts/esdt-transfer-with-fee/.gitignore b/contracts/esdt-transfer-with-fee/.gitignore index 9494cb14..2c76bc98 100644 --- a/contracts/esdt-transfer-with-fee/.gitignore +++ b/contracts/esdt-transfer-with-fee/.gitignore @@ -4,4 +4,4 @@ */target/ # The mxpy output -output +/output*/ diff --git a/contracts/esdt-transfer-with-fee/Cargo.toml b/contracts/esdt-transfer-with-fee/Cargo.toml index 11709d49..f4d152ca 100644 --- a/contracts/esdt-transfer-with-fee/Cargo.toml +++ b/contracts/esdt-transfer-with-fee/Cargo.toml @@ -7,7 +7,9 @@ publish = false [lib] path = "src/esdt_transfer_with_fee.rs" + [dependencies.multiversx-sc] version = "0.43.3" + [dev-dependencies.multiversx-sc-scenario] version = "0.43.3" diff --git a/contracts/esdt-transfer-with-fee/README.md b/contracts/esdt-transfer-with-fee/README.md index 75117f1b..e3884edf 100644 --- a/contracts/esdt-transfer-with-fee/README.md +++ b/contracts/esdt-transfer-with-fee/README.md @@ -1,4 +1,4 @@ -# ESDT-transfer-with-fee contract +# Interaction The contract allows transfering token with the `ESDTRoleTransfer` role. diff --git a/contracts/esdt-transfer-with-fee/meta/Cargo.toml b/contracts/esdt-transfer-with-fee/meta/Cargo.toml index 1fb46eb4..2b0e9857 100644 --- a/contracts/esdt-transfer-with-fee/meta/Cargo.toml +++ b/contracts/esdt-transfer-with-fee/meta/Cargo.toml @@ -3,6 +3,7 @@ name = "esdt-transfer-with-fee-meta" version = "0.0.0" edition = "2021" publish = false + [dependencies.esdt-transfer-with-fee] path = ".." diff --git a/contracts/esdt-transfer-with-fee/testnet.toml b/contracts/esdt-transfer-with-fee/testnet.toml deleted file mode 100644 index e69de29b..00000000 diff --git a/contracts/esdt-transfer-with-fee/tests/esdt_transfer_with_fee_scenario_go_test.rs b/contracts/esdt-transfer-with-fee/tests/esdt_transfer_with_fee_scenario_go_test.rs index 7a985e0f..6ad5c097 100644 --- a/contracts/esdt-transfer-with-fee/tests/esdt_transfer_with_fee_scenario_go_test.rs +++ b/contracts/esdt-transfer-with-fee/tests/esdt_transfer_with_fee_scenario_go_test.rs @@ -1,14 +1,20 @@ +use multiversx_sc_scenario::*; + +fn world() -> ScenarioWorld { + ScenarioWorld::vm_go() +} + #[test] fn claim_go() { - multiversx_sc_scenario::run_go("scenarios/claim.scen.json"); + world().run("scenarios/claim.scen.json"); } #[test] fn deploy_go() { - multiversx_sc_scenario::run_go("scenarios/deploy.scen.json"); + world().run("scenarios/deploy.scen.json"); } #[test] fn setup_fees_and_transfer_go() { - multiversx_sc_scenario::run_go("scenarios/setup_fees_and_transfer.scen.json"); + world().run("scenarios/setup_fees_and_transfer.scen.json"); } diff --git a/contracts/esdt-transfer-with-fee/tests/esdt_transfer_with_fee_scenario_rs_test.rs b/contracts/esdt-transfer-with-fee/tests/esdt_transfer_with_fee_scenario_rs_test.rs index efe7e81b..4dd60121 100644 --- a/contracts/esdt-transfer-with-fee/tests/esdt_transfer_with_fee_scenario_rs_test.rs +++ b/contracts/esdt-transfer-with-fee/tests/esdt_transfer_with_fee_scenario_rs_test.rs @@ -2,7 +2,7 @@ use multiversx_sc_scenario::*; fn world() -> ScenarioWorld { let mut blockchain = ScenarioWorld::new(); - blockchain.set_current_dir_from_workspace("contracts/esdt-transfer-with-fee"); + blockchain.set_current_dir_from_workspace("contracts/examples/esdt-transfer-with-fee"); blockchain.register_contract( "file:output/esdt-transfer-with-fee.wasm", @@ -13,15 +13,15 @@ fn world() -> ScenarioWorld { #[test] fn claim_rs() { - multiversx_sc_scenario::run_rs("scenarios/claim.scen.json", world()); + world().run("scenarios/claim.scen.json"); } #[test] fn deploy_rs() { - multiversx_sc_scenario::run_rs("scenarios/deploy.scen.json", world()); + world().run("scenarios/deploy.scen.json"); } #[test] fn setup_fees_and_transfer_rs() { - multiversx_sc_scenario::run_rs("scenarios/setup_fees_and_transfer.scen.json", world()); + world().run("scenarios/setup_fees_and_transfer.scen.json"); } diff --git a/contracts/esdt-transfer-with-fee/wasm/Cargo.lock b/contracts/esdt-transfer-with-fee/wasm/Cargo.lock index dcd5e709..a4eae179 100644 --- a/contracts/esdt-transfer-with-fee/wasm/Cargo.lock +++ b/contracts/esdt-transfer-with-fee/wasm/Cargo.lock @@ -81,9 +81,7 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfbe80ec68fedf299dd65469f8999cf3c0f884ffa497122428f08303bcb8b884" +version = "0.43.3" dependencies = [ "bitflags", "hashbrown", @@ -95,9 +93,7 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d70ea458247d263b7e9fdfb207530b6a530546247139c162450e515c013a18" +version = "0.18.1" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -105,9 +101,7 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ad6920f80fda67fc60fd51aaa9f83ec7e069470f60a068c81205f9da5d05a30" +version = "0.18.1" dependencies = [ "hex", "proc-macro2", @@ -117,9 +111,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c2b87d817f2176bf1830bef938884f24267516c334a377e71a96bc18ebb09c1" +version = "0.43.3" dependencies = [ "hex", "proc-macro2", @@ -130,9 +122,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "932327626de71eeb1dbe86b863cc70cc532f8ceba8e73a059410f6aa56b22a77" +version = "0.43.3" dependencies = [ "multiversx-sc", ] @@ -163,9 +153,9 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.67" +version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" +checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" dependencies = [ "unicode-ident", ] @@ -208,9 +198,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.12" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" [[package]] name = "version_check" diff --git a/contracts/esdt-transfer-with-fee/wasm/Cargo.toml b/contracts/esdt-transfer-with-fee/wasm/Cargo.toml index 3937f27c..876fda48 100644 --- a/contracts/esdt-transfer-with-fee/wasm/Cargo.toml +++ b/contracts/esdt-transfer-with-fee/wasm/Cargo.toml @@ -7,12 +7,14 @@ publish = false [lib] crate-type = ["cdylib"] + [profile.release] codegen-units = 1 opt-level = "z" lto = true debug = false panic = "abort" + [dependencies.esdt-transfer-with-fee] path = ".." diff --git a/contracts/esdt-transfer-with-fee/wasm/src/lib.rs b/contracts/esdt-transfer-with-fee/wasm/src/lib.rs index b2db83e3..de7a8669 100644 --- a/contracts/esdt-transfer-with-fee/wasm/src/lib.rs +++ b/contracts/esdt-transfer-with-fee/wasm/src/lib.rs @@ -10,6 +10,7 @@ // Total number of exported functions: 8 #![no_std] +#![allow(internal_features)] #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); @@ -18,13 +19,14 @@ multiversx_sc_wasm_adapter::panic_handler!(); multiversx_sc_wasm_adapter::endpoints! { esdt_transfer_with_fee ( - setExactValueFee - setPercentageFee - claimFees - transfer - getTokenFee - getPaidFees + init => init + setExactValueFee => set_exact_value_fee + setPercentageFee => set_percentage_fee + claimFees => claim_fees + transfer => transfer + getTokenFee => token_fee + getPaidFees => paid_fees ) } -multiversx_sc_wasm_adapter::empty_callback! {} +multiversx_sc_wasm_adapter::async_callback_empty! {} diff --git a/contracts/factorial/Cargo.toml b/contracts/factorial/Cargo.toml index 38d79570..f40e608c 100644 --- a/contracts/factorial/Cargo.toml +++ b/contracts/factorial/Cargo.toml @@ -7,7 +7,9 @@ publish = false [lib] path = "src/factorial.rs" + [dependencies.multiversx-sc] version = "0.43.3" + [dev-dependencies.multiversx-sc-scenario] version = "0.43.3" diff --git a/contracts/factorial/meta/Cargo.toml b/contracts/factorial/meta/Cargo.toml index 156f3f3f..a33730ec 100644 --- a/contracts/factorial/meta/Cargo.toml +++ b/contracts/factorial/meta/Cargo.toml @@ -4,6 +4,7 @@ version = "0.0.0" authors = ["Andrei Marinica "] edition = "2021" publish = false + [dependencies.factorial] path = ".." diff --git a/contracts/factorial/testnet.toml b/contracts/factorial/testnet.toml deleted file mode 100644 index e69de29b..00000000 diff --git a/contracts/factorial/tests/factorial_scenario_go_test.rs b/contracts/factorial/tests/factorial_scenario_go_test.rs index 8d4a29e2..996cdb90 100644 --- a/contracts/factorial/tests/factorial_scenario_go_test.rs +++ b/contracts/factorial/tests/factorial_scenario_go_test.rs @@ -1,4 +1,10 @@ +use multiversx_sc_scenario::*; + +fn world() -> ScenarioWorld { + ScenarioWorld::vm_go() +} + #[test] fn factorial_go() { - multiversx_sc_scenario::run_go("scenarios/factorial.scen.json"); + world().run("scenarios/factorial.scen.json"); } diff --git a/contracts/factorial/tests/factorial_scenario_rs_test.rs b/contracts/factorial/tests/factorial_scenario_rs_test.rs index 24d5c8cd..9e192fbb 100644 --- a/contracts/factorial/tests/factorial_scenario_rs_test.rs +++ b/contracts/factorial/tests/factorial_scenario_rs_test.rs @@ -2,7 +2,7 @@ use multiversx_sc_scenario::*; fn world() -> ScenarioWorld { let mut blockchain = ScenarioWorld::new(); - blockchain.set_current_dir_from_workspace("contracts/factorial"); + blockchain.set_current_dir_from_workspace("contracts/examples/factorial"); blockchain.register_contract("file:output/factorial.wasm", factorial::ContractBuilder); blockchain @@ -10,5 +10,5 @@ fn world() -> ScenarioWorld { #[test] fn factorial_rs() { - multiversx_sc_scenario::run_rs("scenarios/factorial.scen.json", world()); + world().run("scenarios/factorial.scen.json"); } diff --git a/contracts/factorial/tests/factorial_test.rs b/contracts/factorial/tests/factorial_test.rs index 16370113..d3c7eaa9 100644 --- a/contracts/factorial/tests/factorial_test.rs +++ b/contracts/factorial/tests/factorial_test.rs @@ -1,34 +1,33 @@ use factorial::*; use multiversx_sc::types::BigUint; -use multiversx_sc_scenario::DebugApi; +use multiversx_sc_scenario::api::StaticApi; #[test] fn test_factorial() { - let _ = DebugApi::dummy(); - let factorial = factorial::contract_obj::(); + let factorial = factorial::contract_obj::(); assert_eq!( - BigUint::::from(1u32), + BigUint::::from(1u32), factorial.factorial(0u32.into()) ); assert_eq!( - BigUint::::from(1u32), + BigUint::::from(1u32), factorial.factorial(1u32.into()) ); assert_eq!( - BigUint::::from(2u32), + BigUint::::from(2u32), factorial.factorial(2u32.into()) ); assert_eq!( - BigUint::::from(6u32), + BigUint::::from(6u32), factorial.factorial(3u32.into()) ); assert_eq!( - BigUint::::from(24u32), + BigUint::::from(24u32), factorial.factorial(4u32.into()) ); assert_eq!( - BigUint::::from(120u32), + BigUint::::from(120u32), factorial.factorial(5u32.into()) ); } diff --git a/contracts/factorial/wasm/Cargo.lock b/contracts/factorial/wasm/Cargo.lock index ddc6d8b7..9a6fd914 100755 --- a/contracts/factorial/wasm/Cargo.lock +++ b/contracts/factorial/wasm/Cargo.lock @@ -81,9 +81,7 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfbe80ec68fedf299dd65469f8999cf3c0f884ffa497122428f08303bcb8b884" +version = "0.43.3" dependencies = [ "bitflags", "hashbrown", @@ -95,9 +93,7 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d70ea458247d263b7e9fdfb207530b6a530546247139c162450e515c013a18" +version = "0.18.1" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -105,9 +101,7 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ad6920f80fda67fc60fd51aaa9f83ec7e069470f60a068c81205f9da5d05a30" +version = "0.18.1" dependencies = [ "hex", "proc-macro2", @@ -117,9 +111,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c2b87d817f2176bf1830bef938884f24267516c334a377e71a96bc18ebb09c1" +version = "0.43.3" dependencies = [ "hex", "proc-macro2", @@ -130,9 +122,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "932327626de71eeb1dbe86b863cc70cc532f8ceba8e73a059410f6aa56b22a77" +version = "0.43.3" dependencies = [ "multiversx-sc", ] @@ -163,9 +153,9 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.67" +version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" +checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" dependencies = [ "unicode-ident", ] @@ -208,9 +198,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.12" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" [[package]] name = "version_check" diff --git a/contracts/factorial/wasm/Cargo.toml b/contracts/factorial/wasm/Cargo.toml index 2f432e56..92f92feb 100644 --- a/contracts/factorial/wasm/Cargo.toml +++ b/contracts/factorial/wasm/Cargo.toml @@ -7,12 +7,14 @@ publish = false [lib] crate-type = ["cdylib"] + [profile.release] codegen-units = 1 opt-level = "z" lto = true debug = false panic = "abort" + [dependencies.factorial] path = ".." diff --git a/contracts/factorial/wasm/src/lib.rs b/contracts/factorial/wasm/src/lib.rs index 31719e50..7fe4c70e 100644 --- a/contracts/factorial/wasm/src/lib.rs +++ b/contracts/factorial/wasm/src/lib.rs @@ -10,6 +10,7 @@ // Total number of exported functions: 3 #![no_std] +#![allow(internal_features)] #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); @@ -18,8 +19,9 @@ multiversx_sc_wasm_adapter::panic_handler!(); multiversx_sc_wasm_adapter::endpoints! { factorial ( - factorial + init => init + factorial => factorial ) } -multiversx_sc_wasm_adapter::empty_callback! {} +multiversx_sc_wasm_adapter::async_callback_empty! {} diff --git a/contracts/fractional-nfts/Cargo.toml b/contracts/fractional-nfts/Cargo.toml index 31859932..4d6d4351 100644 --- a/contracts/fractional-nfts/Cargo.toml +++ b/contracts/fractional-nfts/Cargo.toml @@ -7,10 +7,12 @@ publish = false [lib] path = "src/fractional_nfts.rs" + [dependencies.multiversx-sc] version = "0.43.3" [dependencies.multiversx-sc-modules] version = "0.43.3" + [dev-dependencies.multiversx-sc-scenario] version = "0.43.3" diff --git a/contracts/fractional-nfts/meta/Cargo.toml b/contracts/fractional-nfts/meta/Cargo.toml index aa82235b..44e0e935 100644 --- a/contracts/fractional-nfts/meta/Cargo.toml +++ b/contracts/fractional-nfts/meta/Cargo.toml @@ -4,6 +4,7 @@ version = "0.0.0" authors = ["Claudiu-Marcel Bruda "] edition = "2021" publish = false + [dependencies.fractional-nfts] path = ".." diff --git a/contracts/fractional-nfts/wasm/Cargo.lock b/contracts/fractional-nfts/wasm/Cargo.lock index 904b46a4..5c869075 100644 --- a/contracts/fractional-nfts/wasm/Cargo.lock +++ b/contracts/fractional-nfts/wasm/Cargo.lock @@ -82,9 +82,7 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfbe80ec68fedf299dd65469f8999cf3c0f884ffa497122428f08303bcb8b884" +version = "0.43.3" dependencies = [ "bitflags", "hashbrown", @@ -96,9 +94,7 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d70ea458247d263b7e9fdfb207530b6a530546247139c162450e515c013a18" +version = "0.18.1" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -106,9 +102,7 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ad6920f80fda67fc60fd51aaa9f83ec7e069470f60a068c81205f9da5d05a30" +version = "0.18.1" dependencies = [ "hex", "proc-macro2", @@ -118,9 +112,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c2b87d817f2176bf1830bef938884f24267516c334a377e71a96bc18ebb09c1" +version = "0.43.3" dependencies = [ "hex", "proc-macro2", @@ -131,18 +123,14 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "704825223788bfdfd622980cae8feedae82609fded5ef5f53af31661d5e02312" +version = "0.43.3" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "932327626de71eeb1dbe86b863cc70cc532f8ceba8e73a059410f6aa56b22a77" +version = "0.43.3" dependencies = [ "multiversx-sc", ] @@ -173,9 +161,9 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.67" +version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" +checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" dependencies = [ "unicode-ident", ] @@ -218,9 +206,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.12" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" [[package]] name = "version_check" diff --git a/contracts/fractional-nfts/wasm/Cargo.toml b/contracts/fractional-nfts/wasm/Cargo.toml index 4c4826ef..1a7fd614 100644 --- a/contracts/fractional-nfts/wasm/Cargo.toml +++ b/contracts/fractional-nfts/wasm/Cargo.toml @@ -7,12 +7,14 @@ publish = false [lib] crate-type = ["cdylib"] + [profile.release] codegen-units = 1 opt-level = "z" lto = true debug = false panic = "abort" + [dependencies.fractional-nfts] path = ".." diff --git a/contracts/fractional-nfts/wasm/src/lib.rs b/contracts/fractional-nfts/wasm/src/lib.rs index 906c6de2..dfbe6796 100644 --- a/contracts/fractional-nfts/wasm/src/lib.rs +++ b/contracts/fractional-nfts/wasm/src/lib.rs @@ -10,6 +10,7 @@ // Total number of exported functions: 6 #![no_std] +#![allow(internal_features)] #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); @@ -18,10 +19,12 @@ multiversx_sc_wasm_adapter::panic_handler!(); multiversx_sc_wasm_adapter::endpoints! { fractional_nfts ( - claimRoyaltiesFromMarketplace - fractionalizeNFT - unFractionalizeNFT - getFractionalToken - callBack + init => init + claimRoyaltiesFromMarketplace => claim_royalties_from_marketplace + fractionalizeNFT => fractionalize_nft + unFractionalizeNFT => unfractionalize_nft + getFractionalToken => fractional_token ) } + +multiversx_sc_wasm_adapter::async_callback! { fractional_nfts } diff --git a/contracts/lottery-esdt/Cargo.toml b/contracts/lottery-esdt/Cargo.toml index c52ed906..f39e382d 100644 --- a/contracts/lottery-esdt/Cargo.toml +++ b/contracts/lottery-esdt/Cargo.toml @@ -7,7 +7,9 @@ publish = false [lib] path = "src/lottery.rs" + [dependencies.multiversx-sc] version = "0.43.3" + [dev-dependencies.multiversx-sc-scenario] version = "0.43.3" diff --git a/contracts/lottery-esdt/documentation.md b/contracts/lottery-esdt/documentation.md index af2fa1b3..6e111918 100644 --- a/contracts/lottery-esdt/documentation.md +++ b/contracts/lottery-esdt/documentation.md @@ -1,6 +1,6 @@ # Abstract -The lottery smart contract is designed to allow anyone to create their very own lottery, directly on the blockchain. Having said that, the purpose of this contract is just to have a bit of fun and show what’s possible on the current version of the Elrond blockchain. We do not endorse gambling. +The lottery smart contract is designed to allow anyone to create their very own lottery, directly on the blockchain. Having said that, the purpose of this contract is just to have a bit of fun and show what’s possible on the current version of the MultiversX blockchain. We do not endorse gambling. This is the esdt version, which allows any arbitrary token to be used as currency. diff --git a/contracts/lottery-esdt/meta/Cargo.toml b/contracts/lottery-esdt/meta/Cargo.toml index f36be959..9d9eae48 100644 --- a/contracts/lottery-esdt/meta/Cargo.toml +++ b/contracts/lottery-esdt/meta/Cargo.toml @@ -4,6 +4,7 @@ version = "0.0.0" authors = ["Andrei Marinica "] edition = "2021" publish = false + [dependencies.lottery-esdt] path = ".." diff --git a/contracts/lottery-esdt/testnet.toml b/contracts/lottery-esdt/testnet.toml deleted file mode 100644 index e69de29b..00000000 diff --git a/contracts/lottery-esdt/tests/lottery_esdt_scenario_go_test.rs b/contracts/lottery-esdt/tests/lottery_esdt_scenario_go_test.rs index 7ecf6fdb..df292938 100644 --- a/contracts/lottery-esdt/tests/lottery_esdt_scenario_go_test.rs +++ b/contracts/lottery-esdt/tests/lottery_esdt_scenario_go_test.rs @@ -1,155 +1,157 @@ +use multiversx_sc_scenario::*; + +fn world() -> ScenarioWorld { + ScenarioWorld::vm_go() +} + #[test] fn buy_all_tickets_different_accounts_go() { - multiversx_sc_scenario::run_go("scenarios/buy-all-tickets-different-accounts.scen.json"); + world().run("scenarios/buy-all-tickets-different-accounts.scen.json"); } #[test] fn buy_more_tickets_than_allowed_go() { - multiversx_sc_scenario::run_go("scenarios/buy-more-tickets-than-allowed.scen.json"); + world().run("scenarios/buy-more-tickets-than-allowed.scen.json"); } #[test] fn buy_ticket_go() { - multiversx_sc_scenario::run_go("scenarios/buy-ticket.scen.json"); + world().run("scenarios/buy-ticket.scen.json"); } #[test] fn buy_ticket_after_deadline_go() { - multiversx_sc_scenario::run_go("scenarios/buy-ticket-after-deadline.scen.json"); + world().run("scenarios/buy-ticket-after-deadline.scen.json"); } #[test] fn buy_ticket_after_determined_winner_go() { - multiversx_sc_scenario::run_go("scenarios/buy-ticket-after-determined-winner.scen.json"); + world().run("scenarios/buy-ticket-after-determined-winner.scen.json"); } #[test] fn buy_ticket_after_sold_out_go() { - multiversx_sc_scenario::run_go("scenarios/buy-ticket-after-sold-out.scen.json"); + world().run("scenarios/buy-ticket-after-sold-out.scen.json"); } #[test] fn buy_ticket_all_options_go() { - multiversx_sc_scenario::run_go("scenarios/buy-ticket-all-options.scen.json"); + world().run("scenarios/buy-ticket-all-options.scen.json"); } #[test] fn buy_ticket_another_account_go() { - multiversx_sc_scenario::run_go("scenarios/buy-ticket-another-account.scen.json"); + world().run("scenarios/buy-ticket-another-account.scen.json"); } #[test] fn buy_ticket_not_on_whitelist_go() { - multiversx_sc_scenario::run_go("scenarios/buy-ticket-not-on-whitelist.scen.json"); + world().run("scenarios/buy-ticket-not-on-whitelist.scen.json"); } #[test] fn buy_ticket_same_account_go() { - multiversx_sc_scenario::run_go("scenarios/buy-ticket-same-account.scen.json"); + world().run("scenarios/buy-ticket-same-account.scen.json"); } #[test] fn buy_ticket_second_lottery_go() { - multiversx_sc_scenario::run_go("scenarios/buy-ticket-second-lottery.scen.json"); + world().run("scenarios/buy-ticket-second-lottery.scen.json"); } #[test] fn buy_ticket_wrong_fee_go() { - multiversx_sc_scenario::run_go("scenarios/buy-ticket-wrong-fee.scen.json"); + world().run("scenarios/buy-ticket-wrong-fee.scen.json"); } #[test] fn complex_prize_distribution_go() { - multiversx_sc_scenario::run_go("scenarios/complex-prize-distribution.scen.json"); + world().run("scenarios/complex-prize-distribution.scen.json"); } #[test] fn determine_winner_different_ticket_holders_winner_acc_1_go() { - multiversx_sc_scenario::run_go( - "scenarios/determine-winner-different-ticket-holders-winner-acc1.scen.json", - ); + world().run("scenarios/determine-winner-different-ticket-holders-winner-acc1.scen.json"); } #[test] fn determine_winner_early_go() { - multiversx_sc_scenario::run_go("scenarios/determine-winner-early.scen.json"); + world().run("scenarios/determine-winner-early.scen.json"); } #[test] fn determine_winner_same_ticket_holder_go() { - multiversx_sc_scenario::run_go("scenarios/determine-winner-same-ticket-holder.scen.json"); + world().run("scenarios/determine-winner-same-ticket-holder.scen.json"); } #[test] fn determine_winner_split_prize_pool_go() { - multiversx_sc_scenario::run_go("scenarios/determine-winner-split-prize-pool.scen.json"); + world().run("scenarios/determine-winner-split-prize-pool.scen.json"); } #[test] fn lottery_init_go() { - multiversx_sc_scenario::run_go("scenarios/lottery-init.scen.json"); + world().run("scenarios/lottery-init.scen.json"); } #[test] fn lottery_with_burn_percentage_go() { - multiversx_sc_scenario::run_go("scenarios/lottery-with-burn-percentage.scen.json"); + world().run("scenarios/lottery-with-burn-percentage.scen.json"); } #[test] fn start_after_announced_winner_go() { - multiversx_sc_scenario::run_go("scenarios/start-after-announced-winner.scen.json"); + world().run("scenarios/start-after-announced-winner.scen.json"); } #[test] fn start_all_options_bigger_whitelist_go() { - multiversx_sc_scenario::run_go("scenarios/start-all-options-bigger-whitelist.scen.json"); + world().run("scenarios/start-all-options-bigger-whitelist.scen.json"); } #[test] fn start_alternative_function_name_go() { - multiversx_sc_scenario::run_go("scenarios/start-alternative-function-name.scen.json"); + world().run("scenarios/start-alternative-function-name.scen.json"); } #[test] fn start_fixed_deadline_go() { - multiversx_sc_scenario::run_go("scenarios/start-fixed-deadline.scen.json"); + world().run("scenarios/start-fixed-deadline.scen.json"); } #[test] fn start_limited_tickets_go() { - multiversx_sc_scenario::run_go("scenarios/start-limited-tickets.scen.json"); + world().run("scenarios/start-limited-tickets.scen.json"); } #[test] fn start_limited_tickets_and_fixed_deadline_go() { - multiversx_sc_scenario::run_go("scenarios/start-limited-tickets-and-fixed-deadline.scen.json"); + world().run("scenarios/start-limited-tickets-and-fixed-deadline.scen.json"); } #[test] fn start_limited_tickets_and_fixed_deadline_invalid_deadline_go() { - multiversx_sc_scenario::run_go( - "scenarios/start-limited-tickets-and-fixed-deadline-invalid-deadline.scen.json", - ); + world().run("scenarios/start-limited-tickets-and-fixed-deadline-invalid-deadline.scen.json"); } #[test] fn start_limited_tickets_and_fixed_deadline_invalid_ticket_price_arg_go() { - multiversx_sc_scenario::run_go( + world().run( "scenarios/start-limited-tickets-and-fixed-deadline-invalid-ticket-price-arg.scen.json", ); } #[test] fn start_second_lottery_go() { - multiversx_sc_scenario::run_go("scenarios/start-second-lottery.scen.json"); + world().run("scenarios/start-second-lottery.scen.json"); } #[test] fn start_with_all_options_go() { - multiversx_sc_scenario::run_go("scenarios/start-with-all-options.scen.json"); + world().run("scenarios/start-with-all-options.scen.json"); } #[test] fn start_with_no_options_go() { - multiversx_sc_scenario::run_go("scenarios/start-with-no-options.scen.json"); + world().run("scenarios/start-with-no-options.scen.json"); } diff --git a/contracts/lottery-esdt/tests/lottery_esdt_scenario_rs_test.rs b/contracts/lottery-esdt/tests/lottery_esdt_scenario_rs_test.rs index 4d543c4a..31ebeb7a 100644 --- a/contracts/lottery-esdt/tests/lottery_esdt_scenario_rs_test.rs +++ b/contracts/lottery-esdt/tests/lottery_esdt_scenario_rs_test.rs @@ -2,7 +2,7 @@ use multiversx_sc_scenario::*; fn world() -> ScenarioWorld { let mut blockchain = ScenarioWorld::new(); - blockchain.set_current_dir_from_workspace("contracts/lottery-esdt"); + blockchain.set_current_dir_from_workspace("contracts/examples/lottery-esdt"); blockchain.register_contract( "file:output/lottery-esdt.wasm", @@ -13,181 +13,153 @@ fn world() -> ScenarioWorld { #[test] fn buy_all_tickets_different_accounts_rs() { - multiversx_sc_scenario::run_rs( - "scenarios/buy-all-tickets-different-accounts.scen.json", - world(), - ); + world().run("scenarios/buy-all-tickets-different-accounts.scen.json"); } #[test] fn buy_more_tickets_than_allowed_rs() { - multiversx_sc_scenario::run_rs("scenarios/buy-more-tickets-than-allowed.scen.json", world()); + world().run("scenarios/buy-more-tickets-than-allowed.scen.json"); } #[test] fn buy_ticket_rs() { - multiversx_sc_scenario::run_rs("scenarios/buy-ticket.scen.json", world()); + world().run("scenarios/buy-ticket.scen.json"); } #[test] fn buy_ticket_after_deadline_rs() { - multiversx_sc_scenario::run_rs("scenarios/buy-ticket-after-deadline.scen.json", world()); + world().run("scenarios/buy-ticket-after-deadline.scen.json"); } #[test] fn buy_ticket_after_determined_winner_rs() { - multiversx_sc_scenario::run_rs( - "scenarios/buy-ticket-after-determined-winner.scen.json", - world(), - ); + world().run("scenarios/buy-ticket-after-determined-winner.scen.json"); } #[test] fn buy_ticket_after_sold_out_rs() { - multiversx_sc_scenario::run_rs("scenarios/buy-ticket-after-sold-out.scen.json", world()); + world().run("scenarios/buy-ticket-after-sold-out.scen.json"); } #[test] fn buy_ticket_all_options_rs() { - multiversx_sc_scenario::run_rs("scenarios/buy-ticket-all-options.scen.json", world()); + world().run("scenarios/buy-ticket-all-options.scen.json"); } #[test] fn buy_ticket_another_account_rs() { - multiversx_sc_scenario::run_rs("scenarios/buy-ticket-another-account.scen.json", world()); + world().run("scenarios/buy-ticket-another-account.scen.json"); } #[test] fn buy_ticket_not_on_whitelist_rs() { - multiversx_sc_scenario::run_rs("scenarios/buy-ticket-not-on-whitelist.scen.json", world()); + world().run("scenarios/buy-ticket-not-on-whitelist.scen.json"); } #[test] fn buy_ticket_same_account_rs() { - multiversx_sc_scenario::run_rs("scenarios/buy-ticket-same-account.scen.json", world()); + world().run("scenarios/buy-ticket-same-account.scen.json"); } #[test] fn buy_ticket_second_lottery_rs() { - multiversx_sc_scenario::run_rs("scenarios/buy-ticket-second-lottery.scen.json", world()); + world().run("scenarios/buy-ticket-second-lottery.scen.json"); } #[test] fn buy_ticket_wrong_fee_rs() { - multiversx_sc_scenario::run_rs("scenarios/buy-ticket-wrong-fee.scen.json", world()); + world().run("scenarios/buy-ticket-wrong-fee.scen.json"); } #[test] #[ignore] fn complex_prize_distribution_rs() { - multiversx_sc_scenario::run_rs("scenarios/complex-prize-distribution.scen.json", world()); + world().run("scenarios/complex-prize-distribution.scen.json"); } #[test] fn determine_winner_different_ticket_holders_winner_acc_1_rs() { - multiversx_sc_scenario::run_rs( - "scenarios/determine-winner-different-ticket-holders-winner-acc1.scen.json", - world(), - ); + world().run("scenarios/determine-winner-different-ticket-holders-winner-acc1.scen.json"); } #[test] fn determine_winner_early_rs() { - multiversx_sc_scenario::run_rs("scenarios/determine-winner-early.scen.json", world()); + world().run("scenarios/determine-winner-early.scen.json"); } #[test] fn determine_winner_same_ticket_holder_rs() { - multiversx_sc_scenario::run_rs( - "scenarios/determine-winner-same-ticket-holder.scen.json", - world(), - ); + world().run("scenarios/determine-winner-same-ticket-holder.scen.json"); } #[test] #[ignore = "NOT SUPPORTED YET"] fn determine_winner_split_prize_pool_rs() { - multiversx_sc_scenario::run_rs( - "scenarios/determine-winner-split-prize-pool.scen.json", - world(), - ); + world().run("scenarios/determine-winner-split-prize-pool.scen.json"); } #[test] fn lottery_init_rs() { - multiversx_sc_scenario::run_rs("scenarios/lottery-init.scen.json", world()); + world().run("scenarios/lottery-init.scen.json"); } #[test] fn lottery_with_burn_percentage_rs() { - multiversx_sc_scenario::run_rs("scenarios/lottery-with-burn-percentage.scen.json", world()); + world().run("scenarios/lottery-with-burn-percentage.scen.json"); } #[test] fn start_after_announced_winner_rs() { - multiversx_sc_scenario::run_rs("scenarios/start-after-announced-winner.scen.json", world()); + world().run("scenarios/start-after-announced-winner.scen.json"); } #[test] fn start_all_options_bigger_whitelist_rs() { - multiversx_sc_scenario::run_rs( - "scenarios/start-all-options-bigger-whitelist.scen.json", - world(), - ); + world().run("scenarios/start-all-options-bigger-whitelist.scen.json"); } #[test] fn start_alternative_function_name_rs() { - multiversx_sc_scenario::run_rs( - "scenarios/start-alternative-function-name.scen.json", - world(), - ); + world().run("scenarios/start-alternative-function-name.scen.json"); } #[test] fn start_fixed_deadline_rs() { - multiversx_sc_scenario::run_rs("scenarios/start-fixed-deadline.scen.json", world()); + world().run("scenarios/start-fixed-deadline.scen.json"); } #[test] fn start_limited_tickets_rs() { - multiversx_sc_scenario::run_rs("scenarios/start-limited-tickets.scen.json", world()); + world().run("scenarios/start-limited-tickets.scen.json"); } #[test] fn start_limited_tickets_and_fixed_deadline_rs() { - multiversx_sc_scenario::run_rs( - "scenarios/start-limited-tickets-and-fixed-deadline.scen.json", - world(), - ); + world().run("scenarios/start-limited-tickets-and-fixed-deadline.scen.json"); } #[test] fn start_limited_tickets_and_fixed_deadline_invalid_deadline_rs() { - multiversx_sc_scenario::run_rs( - "scenarios/start-limited-tickets-and-fixed-deadline-invalid-deadline.scen.json", - world(), - ); + world().run("scenarios/start-limited-tickets-and-fixed-deadline-invalid-deadline.scen.json"); } #[test] fn start_limited_tickets_and_fixed_deadline_invalid_ticket_price_arg_rs() { - multiversx_sc_scenario::run_rs( + world().run( "scenarios/start-limited-tickets-and-fixed-deadline-invalid-ticket-price-arg.scen.json", - world(), ); } #[test] fn start_second_lottery_rs() { - multiversx_sc_scenario::run_rs("scenarios/start-second-lottery.scen.json", world()); + world().run("scenarios/start-second-lottery.scen.json"); } #[test] fn start_with_all_options_rs() { - multiversx_sc_scenario::run_rs("scenarios/start-with-all-options.scen.json", world()); + world().run("scenarios/start-with-all-options.scen.json"); } #[test] fn start_with_no_options_rs() { - multiversx_sc_scenario::run_rs("scenarios/start-with-no-options.scen.json", world()); + world().run("scenarios/start-with-no-options.scen.json"); } diff --git a/contracts/lottery-esdt/wasm/Cargo.lock b/contracts/lottery-esdt/wasm/Cargo.lock index 54a988fd..f3deac1b 100755 --- a/contracts/lottery-esdt/wasm/Cargo.lock +++ b/contracts/lottery-esdt/wasm/Cargo.lock @@ -81,9 +81,7 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfbe80ec68fedf299dd65469f8999cf3c0f884ffa497122428f08303bcb8b884" +version = "0.43.3" dependencies = [ "bitflags", "hashbrown", @@ -95,9 +93,7 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d70ea458247d263b7e9fdfb207530b6a530546247139c162450e515c013a18" +version = "0.18.1" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -105,9 +101,7 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ad6920f80fda67fc60fd51aaa9f83ec7e069470f60a068c81205f9da5d05a30" +version = "0.18.1" dependencies = [ "hex", "proc-macro2", @@ -117,9 +111,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c2b87d817f2176bf1830bef938884f24267516c334a377e71a96bc18ebb09c1" +version = "0.43.3" dependencies = [ "hex", "proc-macro2", @@ -130,9 +122,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "932327626de71eeb1dbe86b863cc70cc532f8ceba8e73a059410f6aa56b22a77" +version = "0.43.3" dependencies = [ "multiversx-sc", ] @@ -163,9 +153,9 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.67" +version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" +checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" dependencies = [ "unicode-ident", ] @@ -208,9 +198,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.12" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" [[package]] name = "version_check" diff --git a/contracts/lottery-esdt/wasm/Cargo.toml b/contracts/lottery-esdt/wasm/Cargo.toml index b8460162..bfb8ac7a 100644 --- a/contracts/lottery-esdt/wasm/Cargo.toml +++ b/contracts/lottery-esdt/wasm/Cargo.toml @@ -7,12 +7,14 @@ publish = false [lib] crate-type = ["cdylib"] + [profile.release] codegen-units = 1 opt-level = "z" lto = true debug = false panic = "abort" + [dependencies.lottery-esdt] path = ".." diff --git a/contracts/lottery-esdt/wasm/src/lib.rs b/contracts/lottery-esdt/wasm/src/lib.rs index 6163d738..b7945ea6 100644 --- a/contracts/lottery-esdt/wasm/src/lib.rs +++ b/contracts/lottery-esdt/wasm/src/lib.rs @@ -10,6 +10,7 @@ // Total number of exported functions: 9 #![no_std] +#![allow(internal_features)] #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); @@ -18,14 +19,15 @@ multiversx_sc_wasm_adapter::panic_handler!(); multiversx_sc_wasm_adapter::endpoints! { lottery_esdt ( - start - createLotteryPool - buy_ticket - determine_winner - status - getLotteryInfo - getLotteryWhitelist + init => init + start => start + createLotteryPool => create_lottery_pool + buy_ticket => buy_ticket + determine_winner => determine_winner + status => status + getLotteryInfo => lottery_info + getLotteryWhitelist => lottery_whitelist ) } -multiversx_sc_wasm_adapter::empty_callback! {} +multiversx_sc_wasm_adapter::async_callback_empty! {} diff --git a/contracts/multisig/wasm-multisig-full/Cargo.toml b/contracts/multisig/wasm-multisig-full/Cargo.toml index 47e39ec0..5ae4b81a 100644 --- a/contracts/multisig/wasm-multisig-full/Cargo.toml +++ b/contracts/multisig/wasm-multisig-full/Cargo.toml @@ -18,6 +18,7 @@ path = ".." [dependencies.multiversx-sc-wasm-adapter] version = "0.43.3" +path = "../../../../framework/wasm-adapter" [workspace] members = ["."] diff --git a/contracts/multisig/wasm-multisig-view/Cargo.toml b/contracts/multisig/wasm-multisig-view/Cargo.toml index 99b0f307..6765c0a2 100644 --- a/contracts/multisig/wasm-multisig-view/Cargo.toml +++ b/contracts/multisig/wasm-multisig-view/Cargo.toml @@ -18,6 +18,7 @@ path = ".." [dependencies.multiversx-sc-wasm-adapter] version = "0.43.3" +path = "../../../../framework/wasm-adapter" [workspace] members = ["."] diff --git a/contracts/nft-minter/Cargo.toml b/contracts/nft-minter/Cargo.toml index 4cc898f8..531567bc 100644 --- a/contracts/nft-minter/Cargo.toml +++ b/contracts/nft-minter/Cargo.toml @@ -7,7 +7,9 @@ publish = false [lib] path = "src/lib.rs" + [dependencies.multiversx-sc] version = "0.43.3" + [dev-dependencies.multiversx-sc-scenario] version = "0.43.3" diff --git a/contracts/nft-minter/interaction/snippets.sh b/contracts/nft-minter/interaction/snippets.sh new file mode 100644 index 00000000..b593cff0 --- /dev/null +++ b/contracts/nft-minter/interaction/snippets.sh @@ -0,0 +1,57 @@ +ALICE="" # PEM path +ADDRESS=$(mxpy data load --key=address-devnet) +DEPLOY_TRANSACTION=$(mxpy data load --key=deployTransaction-devnet) +PROXY=https://devnet-gateway.multiversx.com +CHAIN_ID=D + +deploy() { + mxpy --verbose contract deploy --project=${PROJECT} --recall-nonce --pem=${ALICE} \ + --gas-limit=100000000 \ + --send --outfile="deploy-devnet.interaction.json" --proxy=${PROXY} --chain=${CHAIN_ID} || return + + TRANSACTION=$(mxpy data parse --file="deploy-devnet.interaction.json" --expression="data['emittedTransactionHash']") + ADDRESS=$(mxpy data parse --file="deploy-devnet.interaction.json" --expression="data['contractAddress']") + + mxpy data store --key=address-devnet --value=${ADDRESS} + mxpy data store --key=deployTransaction-devnet --value=${TRANSACTION} + + echo "" + echo "Smart contract address: ${ADDRESS}" +} + +issueNft() { + local TOKEN_DISPLAY_NAME=0x4d79546573744e667464 # "MyTestNft" + local TOKEN_TICKER=0x544553544e4654 # "TESTNFT" + + mxpy --verbose contract call ${ADDRESS} --recall-nonce --pem=${ALICE} \ + --gas-limit=100000000 --value=50000000000000000 --function="issueToken" \ + --arguments ${TOKEN_DISPLAY_NAME} ${TOKEN_TICKER} \ + --send --proxy=${PROXY} --chain=${CHAIN_ID} +} + +setLocalRoles() { + mxpy --verbose contract call ${ADDRESS} --recall-nonce --pem=${ALICE} \ + --gas-limit=100000000 --function="setLocalRoles" \ + --send --proxy=${PROXY} --chain=${CHAIN_ID} +} + +createNft() { + local TOKEN_NAME=0x4e616d65 # "Name" + local ROYALTIES=1000 # 10% + local URI=0x72616e647572692e636f6d # randuri.com + local SELLING_PRICE=0 + + mxpy --verbose contract call ${ADDRESS} --recall-nonce --pem=${ALICE} \ + --gas-limit=50000000 --function="createNft" \ + --arguments ${TOKEN_NAME} ${ROYALTIES} ${URI} ${SELLING_PRICE} \ + --send --proxy=${PROXY} --chain=${CHAIN_ID} +} + +buyNft() { + local NFT_NONCE=1 + + mxpy --verbose contract call ${ADDRESS} --recall-nonce --pem=${ALICE} \ + --gas-limit=10000000 --function="buyNft" \ + --arguments ${NFT_NONCE} \ + --send --proxy=${PROXY} --chain=${CHAIN_ID} +} diff --git a/contracts/nft-minter/meta/Cargo.toml b/contracts/nft-minter/meta/Cargo.toml index ed1097f1..0205c545 100644 --- a/contracts/nft-minter/meta/Cargo.toml +++ b/contracts/nft-minter/meta/Cargo.toml @@ -4,6 +4,7 @@ version = "0.0.0" authors = ["Dorin Iancu "] edition = "2021" publish = false + [dependencies.nft-minter] path = ".." diff --git a/contracts/nft-minter/testnet.toml b/contracts/nft-minter/testnet.toml deleted file mode 100644 index e69de29b..00000000 diff --git a/contracts/nft-minter/tests/nft_minter_scenario_rs_test.rs b/contracts/nft-minter/tests/nft_minter_scenario_rs_test.rs index 8d79be9d..3d3961f1 100644 --- a/contracts/nft-minter/tests/nft_minter_scenario_rs_test.rs +++ b/contracts/nft-minter/tests/nft_minter_scenario_rs_test.rs @@ -7,17 +7,17 @@ fn world() -> ScenarioWorld { #[test] #[ignore = "not supported"] fn buy_nft_rs() { - multiversx_sc_scenario::run_rs("scenarios/buy_nft.scen.json", world()); + world().run("scenarios/buy_nft.scen.json"); } #[test] #[ignore = "not supported"] fn create_nft_rs() { - multiversx_sc_scenario::run_rs("scenarios/create_nft.scen.json", world()); + world().run("scenarios/create_nft.scen.json"); } #[test] #[ignore = "not supported"] fn init_rs() { - multiversx_sc_scenario::run_rs("scenarios/init.scen.json", world()); + world().run("scenarios/init.scen.json"); } diff --git a/contracts/nft-minter/tests/scenario_go_test.rs b/contracts/nft-minter/tests/scenario_go_test.rs index bbac38ff..be38984d 100644 --- a/contracts/nft-minter/tests/scenario_go_test.rs +++ b/contracts/nft-minter/tests/scenario_go_test.rs @@ -1,14 +1,20 @@ +use multiversx_sc_scenario::*; + +fn world() -> ScenarioWorld { + ScenarioWorld::vm_go() +} + #[test] fn buy_nft_go() { - multiversx_sc_scenario::run_go("scenarios/buy_nft.scen.json"); + world().run("scenarios/buy_nft.scen.json"); } #[test] fn create_nft_go() { - multiversx_sc_scenario::run_go("scenarios/create_nft.scen.json"); + world().run("scenarios/create_nft.scen.json"); } #[test] fn init_go() { - multiversx_sc_scenario::run_go("scenarios/init.scen.json"); + world().run("scenarios/init.scen.json"); } diff --git a/contracts/nft-minter/wasm/Cargo.lock b/contracts/nft-minter/wasm/Cargo.lock index ad00b141..16f6ea5a 100644 --- a/contracts/nft-minter/wasm/Cargo.lock +++ b/contracts/nft-minter/wasm/Cargo.lock @@ -66,9 +66,7 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfbe80ec68fedf299dd65469f8999cf3c0f884ffa497122428f08303bcb8b884" +version = "0.43.3" dependencies = [ "bitflags", "hashbrown", @@ -80,9 +78,7 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d70ea458247d263b7e9fdfb207530b6a530546247139c162450e515c013a18" +version = "0.18.1" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -90,9 +86,7 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ad6920f80fda67fc60fd51aaa9f83ec7e069470f60a068c81205f9da5d05a30" +version = "0.18.1" dependencies = [ "hex", "proc-macro2", @@ -102,9 +96,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c2b87d817f2176bf1830bef938884f24267516c334a377e71a96bc18ebb09c1" +version = "0.43.3" dependencies = [ "hex", "proc-macro2", @@ -115,9 +107,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "932327626de71eeb1dbe86b863cc70cc532f8ceba8e73a059410f6aa56b22a77" +version = "0.43.3" dependencies = [ "multiversx-sc", ] @@ -163,9 +153,9 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.67" +version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" +checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" dependencies = [ "unicode-ident", ] @@ -208,9 +198,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.12" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" [[package]] name = "version_check" diff --git a/contracts/nft-minter/wasm/Cargo.toml b/contracts/nft-minter/wasm/Cargo.toml index 0e53a516..1f16faac 100644 --- a/contracts/nft-minter/wasm/Cargo.toml +++ b/contracts/nft-minter/wasm/Cargo.toml @@ -7,12 +7,14 @@ publish = false [lib] crate-type = ["cdylib"] + [profile.release] codegen-units = 1 opt-level = "z" lto = true debug = false panic = "abort" + [dependencies.nft-minter] path = ".." diff --git a/contracts/nft-minter/wasm/src/lib.rs b/contracts/nft-minter/wasm/src/lib.rs index 645eee95..d3630166 100644 --- a/contracts/nft-minter/wasm/src/lib.rs +++ b/contracts/nft-minter/wasm/src/lib.rs @@ -10,6 +10,7 @@ // Total number of exported functions: 8 #![no_std] +#![allow(internal_features)] #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); @@ -18,12 +19,14 @@ multiversx_sc_wasm_adapter::panic_handler!(); multiversx_sc_wasm_adapter::endpoints! { nft_minter ( - createNft - claimRoyaltiesFromMarketplace - issueToken - setLocalRoles - buyNft - getNftPrice - callBack + init => init + createNft => create_nft + claimRoyaltiesFromMarketplace => claim_royalties_from_marketplace + issueToken => issue_token + setLocalRoles => set_local_roles + buyNft => buy_nft + getNftPrice => get_nft_price ) } + +multiversx_sc_wasm_adapter::async_callback! { nft_minter } diff --git a/contracts/nft-storage-prepay/Cargo.toml b/contracts/nft-storage-prepay/Cargo.toml index 4b4024ae..b1838491 100644 --- a/contracts/nft-storage-prepay/Cargo.toml +++ b/contracts/nft-storage-prepay/Cargo.toml @@ -7,7 +7,10 @@ publish = false [lib] path = "src/nft_storage_prepay.rs" + + [dependencies.multiversx-sc] version = "0.43.3" + [dev-dependencies.multiversx-sc-scenario] version = "0.43.3" diff --git a/contracts/nft-storage-prepay/meta/Cargo.toml b/contracts/nft-storage-prepay/meta/Cargo.toml index 99e53f34..80ece45d 100644 --- a/contracts/nft-storage-prepay/meta/Cargo.toml +++ b/contracts/nft-storage-prepay/meta/Cargo.toml @@ -6,6 +6,7 @@ edition = "2021" publish = false [dev-dependencies] + [dependencies.nft-storage-prepay] path = ".." diff --git a/contracts/nft-storage-prepay/testnet.toml b/contracts/nft-storage-prepay/testnet.toml deleted file mode 100644 index e69de29b..00000000 diff --git a/contracts/nft-storage-prepay/wasm/Cargo.lock b/contracts/nft-storage-prepay/wasm/Cargo.lock index 329f1952..be379c90 100755 --- a/contracts/nft-storage-prepay/wasm/Cargo.lock +++ b/contracts/nft-storage-prepay/wasm/Cargo.lock @@ -66,9 +66,7 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfbe80ec68fedf299dd65469f8999cf3c0f884ffa497122428f08303bcb8b884" +version = "0.43.3" dependencies = [ "bitflags", "hashbrown", @@ -80,9 +78,7 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d70ea458247d263b7e9fdfb207530b6a530546247139c162450e515c013a18" +version = "0.18.1" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -90,9 +86,7 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ad6920f80fda67fc60fd51aaa9f83ec7e069470f60a068c81205f9da5d05a30" +version = "0.18.1" dependencies = [ "hex", "proc-macro2", @@ -102,9 +96,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c2b87d817f2176bf1830bef938884f24267516c334a377e71a96bc18ebb09c1" +version = "0.43.3" dependencies = [ "hex", "proc-macro2", @@ -115,9 +107,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "932327626de71eeb1dbe86b863cc70cc532f8ceba8e73a059410f6aa56b22a77" +version = "0.43.3" dependencies = [ "multiversx-sc", ] @@ -163,9 +153,9 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.67" +version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" +checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" dependencies = [ "unicode-ident", ] @@ -208,9 +198,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.12" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" [[package]] name = "version_check" diff --git a/contracts/nft-storage-prepay/wasm/Cargo.toml b/contracts/nft-storage-prepay/wasm/Cargo.toml index 80bf1bdc..d7b906ef 100644 --- a/contracts/nft-storage-prepay/wasm/Cargo.toml +++ b/contracts/nft-storage-prepay/wasm/Cargo.toml @@ -12,12 +12,14 @@ crate-type = ["cdylib"] members = ["."] [dev-dependencies] + [profile.release] codegen-units = 1 opt-level = "z" lto = true debug = false panic = "abort" + [dependencies.nft-storage-prepay] path = ".." diff --git a/contracts/nft-storage-prepay/wasm/src/lib.rs b/contracts/nft-storage-prepay/wasm/src/lib.rs index 96723df7..c69fe1b0 100644 --- a/contracts/nft-storage-prepay/wasm/src/lib.rs +++ b/contracts/nft-storage-prepay/wasm/src/lib.rs @@ -10,6 +10,7 @@ // Total number of exported functions: 10 #![no_std] +#![allow(internal_features)] #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); @@ -18,15 +19,16 @@ multiversx_sc_wasm_adapter::panic_handler!(); multiversx_sc_wasm_adapter::endpoints! { nft_storage_prepay ( - setCostPerByte - reserveFunds - claim - depositPaymentForStorage - withdraw - getCostForSize - getDepositAmount - getCostPerByte + init => init + setCostPerByte => set_cost_per_byte + reserveFunds => reserve_funds + claim => claim + depositPaymentForStorage => deposit_payment_for_storage + withdraw => withdraw + getCostForSize => get_cost_for_size + getDepositAmount => get_deposit_amount + getCostPerByte => cost_per_byte ) } -multiversx_sc_wasm_adapter::empty_callback! {} +multiversx_sc_wasm_adapter::async_callback_empty! {} diff --git a/contracts/order-book/factory/meta/Cargo.toml b/contracts/order-book/factory/meta/Cargo.toml index 87cc0723..8082b850 100644 --- a/contracts/order-book/factory/meta/Cargo.toml +++ b/contracts/order-book/factory/meta/Cargo.toml @@ -4,6 +4,7 @@ version = "0.0.0" authors = ["you"] edition = "2021" publish = false + [dependencies.order-book-factory] path = ".." diff --git a/contracts/order-book/factory/testnet.toml b/contracts/order-book/factory/testnet.toml deleted file mode 100644 index e69de29b..00000000 diff --git a/contracts/order-book/factory/wasm/Cargo.lock b/contracts/order-book/factory/wasm/Cargo.lock index 4c5f308f..83802a97 100644 --- a/contracts/order-book/factory/wasm/Cargo.lock +++ b/contracts/order-book/factory/wasm/Cargo.lock @@ -67,8 +67,6 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" version = "0.43.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" dependencies = [ "bitflags", "hashbrown", @@ -81,8 +79,6 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" version = "0.18.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f1e15b46c17b87c0c7cdd79b041a4abd7f3a2b45f3c993f6ce38c0f233e82b6" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -91,8 +87,6 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" version = "0.18.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a7bc0762cd6d88f8bc54805bc652b042a61cd7fbc2d0a325010f088b78fb2ac" dependencies = [ "hex", "proc-macro2", @@ -103,8 +97,6 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" version = "0.43.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" dependencies = [ "hex", "proc-macro2", @@ -116,8 +108,6 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" version = "0.43.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" dependencies = [ "multiversx-sc", ] diff --git a/contracts/order-book/factory/wasm/src/lib.rs b/contracts/order-book/factory/wasm/src/lib.rs index 58288a47..b4a18ef5 100644 --- a/contracts/order-book/factory/wasm/src/lib.rs +++ b/contracts/order-book/factory/wasm/src/lib.rs @@ -10,9 +10,7 @@ // Total number of exported functions: 4 #![no_std] - -// Configuration that works with rustc < 1.73.0. -// TODO: Recommended rustc version: 1.73.0 or newer. +#![allow(internal_features)] #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); diff --git a/contracts/order-book/pair/testnet.toml b/contracts/order-book/pair/testnet.toml deleted file mode 100644 index e69de29b..00000000 diff --git a/contracts/ping-pong-egld/Cargo.toml b/contracts/ping-pong-egld/Cargo.toml index cfeab160..a5c624cf 100644 --- a/contracts/ping-pong-egld/Cargo.toml +++ b/contracts/ping-pong-egld/Cargo.toml @@ -7,7 +7,9 @@ publish = false [lib] path = "src/ping_pong.rs" + [dependencies.multiversx-sc] version = "0.43.3" + [dev-dependencies.multiversx-sc-scenario] version = "0.43.3" diff --git a/contracts/ping-pong-egld/interaction/snippets.sh b/contracts/ping-pong-egld/interaction/snippets.sh new file mode 100755 index 00000000..64be1f57 --- /dev/null +++ b/contracts/ping-pong-egld/interaction/snippets.sh @@ -0,0 +1,48 @@ +PEM_FILE="./ping-pong.pem" +PING_PONG_CONTRACT="./mx-sdk-rs/contracts/examples/ping-pong-egld" + +PROXY_ARGUMENT="--proxy=https://devnet-api.multiversx.com" +CHAIN_ARGUMENT="--chain=D" + +build_ping_pong() { + (set -x; mxpy --verbose contract build "$PING_PONG_CONTRACT") +} + +deploy_ping_pong() { + local FIXED_SUM=1500000000000000000 # 1.5 EGLD + local DURATION=$1 + local BEGINNING=$(option_u64_arg $2) + local MAX_FUNDS=$3 + + if [[ $# -ne 3 ]]; then + echo "Incorrect number of arguments. Need to provide 3 arguments: DURATION(seconds) BEGINNING(unix timestamp) MAX_FUNDS(int)" + return 1 + fi + + local OUTFILE="out.json" + (set -x; mxpy contract deploy --bytecode="$PING_PONG_CONTRACT/output/ping-pong-egld.wasm" \ + --pem="$PEM_FILE" \ + $PROXY_ARGUMENT $CHAIN_ARGUMENT \ + --outfile="$OUTFILE" --recall-nonce --gas-limit=60000000 \ + --arguments $FIXED_SUM $DURATION $BEGINNING $MAX_FUNDS --send \ + || return) + + local RESULT_ADDRESS=$(mxpy data parse --file="$OUTFILE" --expression="data['contractAddress']") + local RESULT_TRANSACTION=$(mxpy data parse --file="$OUTFILE" --expression="data['emittedTransactionHash']") + + echo "" + echo "Deployed contract with:" + echo " \$RESULT_ADDRESS == ${RESULT_ADDRESS}" + echo " \$RESULT_TRANSACTION == ${RESULT_TRANSACTION}" + echo "" +} + +number_to_u64() { + local NUMBER=$1 + printf "%016x" $NUMBER +} + +option_u64_arg() { + local NUMBER=$1 + echo "0x01$(number_to_u64 $NUMBER)" +} diff --git a/contracts/ping-pong-egld/meta/Cargo.toml b/contracts/ping-pong-egld/meta/Cargo.toml index 379430e7..58346f6a 100644 --- a/contracts/ping-pong-egld/meta/Cargo.toml +++ b/contracts/ping-pong-egld/meta/Cargo.toml @@ -4,6 +4,7 @@ version = "0.0.0" authors = ["Bruda Claudiu-Marcel "] edition = "2021" publish = false + [dependencies.ping-pong-egld] path = ".." diff --git a/contracts/ping-pong-egld/testnet.toml b/contracts/ping-pong-egld/testnet.toml deleted file mode 100644 index e69de29b..00000000 diff --git a/contracts/ping-pong-egld/tests/ping_pong_egld_scenario_go_test.rs b/contracts/ping-pong-egld/tests/ping_pong_egld_scenario_go_test.rs index 6ba82bd6..4f8d99bd 100644 --- a/contracts/ping-pong-egld/tests/ping_pong_egld_scenario_go_test.rs +++ b/contracts/ping-pong-egld/tests/ping_pong_egld_scenario_go_test.rs @@ -1,84 +1,90 @@ +use multiversx_sc_scenario::*; + +fn world() -> ScenarioWorld { + ScenarioWorld::vm_go() +} + #[test] fn ping_pong_call_get_user_addresses_go() { - multiversx_sc_scenario::run_go("scenarios/ping-pong-call-get-user-addresses.scen.json"); + world().run("scenarios/ping-pong-call-get-user-addresses.scen.json"); } #[test] fn ping_pong_call_ping_go() { - multiversx_sc_scenario::run_go("scenarios/ping-pong-call-ping.scen.json"); + world().run("scenarios/ping-pong-call-ping.scen.json"); } #[test] fn ping_pong_call_ping_after_deadline_go() { - multiversx_sc_scenario::run_go("scenarios/ping-pong-call-ping-after-deadline.scen.json"); + world().run("scenarios/ping-pong-call-ping-after-deadline.scen.json"); } #[test] fn ping_pong_call_ping_before_activation_go() { - multiversx_sc_scenario::run_go("scenarios/ping-pong-call-ping-before-activation.scen.json"); + world().run("scenarios/ping-pong-call-ping-before-activation.scen.json"); } #[test] fn ping_pong_call_ping_before_beginning_go() { - multiversx_sc_scenario::run_go("scenarios/ping-pong-call-ping-before-beginning.scen.json"); + world().run("scenarios/ping-pong-call-ping-before-beginning.scen.json"); } #[test] fn ping_pong_call_ping_second_user_go() { - multiversx_sc_scenario::run_go("scenarios/ping-pong-call-ping-second-user.scen.json"); + world().run("scenarios/ping-pong-call-ping-second-user.scen.json"); } #[test] fn ping_pong_call_ping_twice_go() { - multiversx_sc_scenario::run_go("scenarios/ping-pong-call-ping-twice.scen.json"); + world().run("scenarios/ping-pong-call-ping-twice.scen.json"); } #[test] fn ping_pong_call_ping_wrong_ammount_go() { - multiversx_sc_scenario::run_go("scenarios/ping-pong-call-ping-wrong-ammount.scen.json"); + world().run("scenarios/ping-pong-call-ping-wrong-ammount.scen.json"); } #[test] fn ping_pong_call_pong_go() { - multiversx_sc_scenario::run_go("scenarios/ping-pong-call-pong.scen.json"); + world().run("scenarios/ping-pong-call-pong.scen.json"); } #[test] fn ping_pong_call_pong_all_go() { - multiversx_sc_scenario::run_go("scenarios/ping-pong-call-pong-all.scen.json"); + world().run("scenarios/ping-pong-call-pong-all.scen.json"); } #[test] fn ping_pong_call_pong_all_after_pong_go() { - multiversx_sc_scenario::run_go("scenarios/ping-pong-call-pong-all-after-pong.scen.json"); + world().run("scenarios/ping-pong-call-pong-all-after-pong.scen.json"); } #[test] fn ping_pong_call_pong_all_interrupted_1_go() { - multiversx_sc_scenario::run_go("scenarios/ping-pong-call-pong-all-interrupted-1.scen.json"); + world().run("scenarios/ping-pong-call-pong-all-interrupted-1.scen.json"); } #[test] fn ping_pong_call_pong_all_interrupted_2_go() { - multiversx_sc_scenario::run_go("scenarios/ping-pong-call-pong-all-interrupted-2.scen.json"); + world().run("scenarios/ping-pong-call-pong-all-interrupted-2.scen.json"); } #[test] fn ping_pong_call_pong_before_deadline_go() { - multiversx_sc_scenario::run_go("scenarios/ping-pong-call-pong-before-deadline.scen.json"); + world().run("scenarios/ping-pong-call-pong-before-deadline.scen.json"); } #[test] fn ping_pong_call_pong_twice_go() { - multiversx_sc_scenario::run_go("scenarios/ping-pong-call-pong-twice.scen.json"); + world().run("scenarios/ping-pong-call-pong-twice.scen.json"); } #[test] fn ping_pong_call_pong_without_ping_go() { - multiversx_sc_scenario::run_go("scenarios/ping-pong-call-pong-without-ping.scen.json"); + world().run("scenarios/ping-pong-call-pong-without-ping.scen.json"); } #[test] fn ping_pong_init_go() { - multiversx_sc_scenario::run_go("scenarios/ping-pong-init.scen.json"); + world().run("scenarios/ping-pong-init.scen.json"); } diff --git a/contracts/ping-pong-egld/tests/ping_pong_egld_scenario_rs_test.rs b/contracts/ping-pong-egld/tests/ping_pong_egld_scenario_rs_test.rs index b7696638..fb7c98be 100644 --- a/contracts/ping-pong-egld/tests/ping_pong_egld_scenario_rs_test.rs +++ b/contracts/ping-pong-egld/tests/ping_pong_egld_scenario_rs_test.rs @@ -2,7 +2,7 @@ use multiversx_sc_scenario::*; fn world() -> ScenarioWorld { let mut blockchain = ScenarioWorld::new(); - blockchain.set_current_dir_from_workspace("contracts/ping-pong-egld"); + blockchain.set_current_dir_from_workspace("contracts/examples/ping-pong-egld"); blockchain.register_contract( "file:output/ping-pong-egld.wasm", @@ -13,120 +13,87 @@ fn world() -> ScenarioWorld { #[test] fn ping_pong_call_get_user_addresses_rs() { - multiversx_sc_scenario::run_rs( - "scenarios/ping-pong-call-get-user-addresses.scen.json", - world(), - ); + world().run("scenarios/ping-pong-call-get-user-addresses.scen.json"); } #[test] fn ping_pong_call_ping_rs() { - multiversx_sc_scenario::run_rs("scenarios/ping-pong-call-ping.scen.json", world()); + world().run("scenarios/ping-pong-call-ping.scen.json"); } #[test] fn ping_pong_call_ping_after_deadline_rs() { - multiversx_sc_scenario::run_rs( - "scenarios/ping-pong-call-ping-after-deadline.scen.json", - world(), - ); + world().run("scenarios/ping-pong-call-ping-after-deadline.scen.json"); } #[test] fn ping_pong_call_ping_before_activation_rs() { - multiversx_sc_scenario::run_rs( - "scenarios/ping-pong-call-ping-before-activation.scen.json", - world(), - ); + world().run("scenarios/ping-pong-call-ping-before-activation.scen.json"); } #[test] fn ping_pong_call_ping_before_beginning_rs() { - multiversx_sc_scenario::run_rs( - "scenarios/ping-pong-call-ping-before-beginning.scen.json", - world(), - ); + world().run("scenarios/ping-pong-call-ping-before-beginning.scen.json"); } #[test] fn ping_pong_call_ping_second_user_rs() { - multiversx_sc_scenario::run_rs( - "scenarios/ping-pong-call-ping-second-user.scen.json", - world(), - ); + world().run("scenarios/ping-pong-call-ping-second-user.scen.json"); } #[test] fn ping_pong_call_ping_twice_rs() { - multiversx_sc_scenario::run_rs("scenarios/ping-pong-call-ping-twice.scen.json", world()); + world().run("scenarios/ping-pong-call-ping-twice.scen.json"); } #[test] fn ping_pong_call_ping_wrong_ammount_rs() { - multiversx_sc_scenario::run_rs( - "scenarios/ping-pong-call-ping-wrong-ammount.scen.json", - world(), - ); + world().run("scenarios/ping-pong-call-ping-wrong-ammount.scen.json"); } #[test] fn ping_pong_call_pong_rs() { - multiversx_sc_scenario::run_rs("scenarios/ping-pong-call-pong.scen.json", world()); + world().run("scenarios/ping-pong-call-pong.scen.json"); } #[test] fn ping_pong_call_pong_all_rs() { - multiversx_sc_scenario::run_rs("scenarios/ping-pong-call-pong-all.scen.json", world()); + world().run("scenarios/ping-pong-call-pong-all.scen.json"); } #[test] fn ping_pong_call_pong_all_after_pong_rs() { - multiversx_sc_scenario::run_rs( - "scenarios/ping-pong-call-pong-all-after-pong.scen.json", - world(), - ); + world().run("scenarios/ping-pong-call-pong-all-after-pong.scen.json"); } #[test] #[ignore = "unsupported, relies on gas"] fn ping_pong_call_pong_all_interrupted_1_rs() { - multiversx_sc_scenario::run_rs( - "scenarios/ping-pong-call-pong-all-interrupted-1.scen.json", - world(), - ); + world().run("scenarios/ping-pong-call-pong-all-interrupted-1.scen.json"); } #[test] #[ignore = "unsupported, relies on gas"] fn ping_pong_call_pong_all_interrupted_2_rs() { - multiversx_sc_scenario::run_rs( - "scenarios/ping-pong-call-pong-all-interrupted-2.scen.json", - world(), - ); + world().run("scenarios/ping-pong-call-pong-all-interrupted-2.scen.json"); } #[test] fn ping_pong_call_pong_before_deadline_rs() { - multiversx_sc_scenario::run_rs( - "scenarios/ping-pong-call-pong-before-deadline.scen.json", - world(), - ); + world().run("scenarios/ping-pong-call-pong-before-deadline.scen.json"); } #[test] fn ping_pong_call_pong_twice_rs() { - multiversx_sc_scenario::run_rs("scenarios/ping-pong-call-pong-twice.scen.json", world()); + world().run("scenarios/ping-pong-call-pong-twice.scen.json"); } #[test] fn ping_pong_call_pong_without_ping_rs() { - multiversx_sc_scenario::run_rs( - "scenarios/ping-pong-call-pong-without-ping.scen.json", - world(), - ); + world().run("scenarios/ping-pong-call-pong-without-ping.scen.json"); } #[test] fn ping_pong_init_rs() { - multiversx_sc_scenario::run_rs("scenarios/ping-pong-init.scen.json", world()); + world().run("scenarios/ping-pong-init.scen.json"); } diff --git a/contracts/ping-pong-egld/wasm/Cargo.lock b/contracts/ping-pong-egld/wasm/Cargo.lock index 1dea48f2..6774507a 100755 --- a/contracts/ping-pong-egld/wasm/Cargo.lock +++ b/contracts/ping-pong-egld/wasm/Cargo.lock @@ -66,9 +66,7 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfbe80ec68fedf299dd65469f8999cf3c0f884ffa497122428f08303bcb8b884" +version = "0.43.3" dependencies = [ "bitflags", "hashbrown", @@ -80,9 +78,7 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d70ea458247d263b7e9fdfb207530b6a530546247139c162450e515c013a18" +version = "0.18.1" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -90,9 +86,7 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ad6920f80fda67fc60fd51aaa9f83ec7e069470f60a068c81205f9da5d05a30" +version = "0.18.1" dependencies = [ "hex", "proc-macro2", @@ -102,9 +96,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c2b87d817f2176bf1830bef938884f24267516c334a377e71a96bc18ebb09c1" +version = "0.43.3" dependencies = [ "hex", "proc-macro2", @@ -115,9 +107,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "932327626de71eeb1dbe86b863cc70cc532f8ceba8e73a059410f6aa56b22a77" +version = "0.43.3" dependencies = [ "multiversx-sc", ] @@ -163,9 +153,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.67" +version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" +checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" dependencies = [ "unicode-ident", ] @@ -208,9 +198,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.12" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" [[package]] name = "version_check" diff --git a/contracts/ping-pong-egld/wasm/Cargo.toml b/contracts/ping-pong-egld/wasm/Cargo.toml index c9452a73..7b688fad 100644 --- a/contracts/ping-pong-egld/wasm/Cargo.toml +++ b/contracts/ping-pong-egld/wasm/Cargo.toml @@ -9,12 +9,14 @@ publish = false crate-type = ["cdylib"] [workspace] + [profile.release] codegen-units = 1 opt-level = "z" lto = true debug = false panic = "abort" + [dependencies.ping-pong-egld] path = ".." diff --git a/contracts/ping-pong-egld/wasm/src/lib.rs b/contracts/ping-pong-egld/wasm/src/lib.rs index 58398d82..14fbd348 100644 --- a/contracts/ping-pong-egld/wasm/src/lib.rs +++ b/contracts/ping-pong-egld/wasm/src/lib.rs @@ -10,6 +10,7 @@ // Total number of exported functions: 12 #![no_std] +#![allow(internal_features)] #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); @@ -18,17 +19,18 @@ multiversx_sc_wasm_adapter::panic_handler!(); multiversx_sc_wasm_adapter::endpoints! { ping_pong_egld ( - ping - pong - pongAll - getUserAddresses - getPingAmount - getDeadline - getActivationTimestamp - getMaxFunds - getUserStatus - pongAllLastUser + init => init + ping => ping + pong => pong + pongAll => pong_all + getUserAddresses => get_user_addresses + getPingAmount => ping_amount + getDeadline => deadline + getActivationTimestamp => activation_timestamp + getMaxFunds => max_funds + getUserStatus => user_status + pongAllLastUser => pong_all_last_user ) } -multiversx_sc_wasm_adapter::empty_callback! {} +multiversx_sc_wasm_adapter::async_callback_empty! {} diff --git a/contracts/price-aggregator/Cargo.toml b/contracts/price-aggregator/Cargo.toml index f3d99d84..005f661e 100644 --- a/contracts/price-aggregator/Cargo.toml +++ b/contracts/price-aggregator/Cargo.toml @@ -1,27 +1,31 @@ [package] name = "multiversx-price-aggregator-sc" -version = "0.41.1" -authors = ["Claudiu-Marcel Bruda ", "MultiversX "] +version = "0.43.3" +authors = [ + "Claudiu-Marcel Bruda ", + "MultiversX ", +] license = "GPL-3.0-only" readme = "README.md" repository = "https://github.com/multiversx/mx-sdk-rs" homepage = "https://multiversx.com/" documentation = "https://docs.multiversx.com/" -description = "Elrond Price aggregator Smart Contract" +description = "MultiversX Price aggregator Smart Contract" keywords = ["multiversx", "wasm", "webassembly", "blockchain", "contract"] categories = ["no-std", "wasm", "cryptography::cryptocurrencies"] edition = "2021" [lib] path = "src/lib.rs" + [dependencies.multiversx-sc] version = "0.43.3" [dependencies.multiversx-sc-modules] version = "0.43.3" -[dependencies.arrayvec] -version = "0.7.1" -default-features = false [dev-dependencies.multiversx-sc-scenario] version = "0.43.3" + +[dependencies] +arrayvec = { version = "0.7.1", default-features = false } diff --git a/contracts/price-aggregator/meta/Cargo.toml b/contracts/price-aggregator/meta/Cargo.toml index 58242a1f..f4045665 100644 --- a/contracts/price-aggregator/meta/Cargo.toml +++ b/contracts/price-aggregator/meta/Cargo.toml @@ -3,6 +3,7 @@ name = "multiversx-price-aggregator-sc-meta" version = "0.0.0" edition = "2021" publish = false + [dependencies.multiversx-price-aggregator-sc] path = ".." diff --git a/contracts/price-aggregator/tests/price_agg_setup/mod.rs b/contracts/price-aggregator/tests/price_agg_setup/mod.rs deleted file mode 100644 index 9da03f2b..00000000 --- a/contracts/price-aggregator/tests/price_agg_setup/mod.rs +++ /dev/null @@ -1,119 +0,0 @@ -use multiversx_price_aggregator_sc::{staking::StakingModule, PriceAggregator}; -use multiversx_sc::types::{Address, EgldOrEsdtTokenIdentifier, MultiValueEncoded}; -use multiversx_sc_modules::pause::PauseModule; -use multiversx_sc_scenario::{ - managed_address, managed_biguint, managed_buffer, rust_biguint, - testing_framework::{BlockchainStateWrapper, ContractObjWrapper, TxResult}, - DebugApi, -}; - -pub const NR_ORACLES: usize = 4; -pub const SUBMISSION_COUNT: usize = 3; -pub const DECIMALS: u8 = 0; -pub static EGLD_TICKER: &[u8] = b"EGLD"; -pub static USD_TICKER: &[u8] = b"USDC"; - -pub const STAKE_AMOUNT: u64 = 20; -pub const SLASH_AMOUNT: u64 = 10; -pub const SLASH_QUORUM: usize = 2; - -pub struct PriceAggSetup -where - PriceAggObjBuilder: - 'static + Copy + Fn() -> multiversx_price_aggregator_sc::ContractObj, -{ - pub b_mock: BlockchainStateWrapper, - pub owner: Address, - pub oracles: Vec
, - pub price_agg: ContractObjWrapper< - multiversx_price_aggregator_sc::ContractObj, - PriceAggObjBuilder, - >, -} - -impl PriceAggSetup -where - PriceAggObjBuilder: - 'static + Copy + Fn() -> multiversx_price_aggregator_sc::ContractObj, -{ - pub fn new(builder: PriceAggObjBuilder) -> Self { - let rust_zero = rust_biguint!(0); - let mut b_mock = BlockchainStateWrapper::new(); - let owner = b_mock.create_user_account(&rust_zero); - - let mut oracles = Vec::new(); - for _ in 0..NR_ORACLES { - let oracle = b_mock.create_user_account(&rust_biguint!(STAKE_AMOUNT)); - oracles.push(oracle); - } - - let price_agg = - b_mock.create_sc_account(&rust_zero, Some(&owner), builder, "price_agg_path"); - - let current_timestamp = 100; - b_mock.set_block_timestamp(current_timestamp); - - // init price aggregator - b_mock - .execute_tx(&owner, &price_agg, &rust_zero, |sc| { - let mut oracle_args = MultiValueEncoded::new(); - for oracle in &oracles { - oracle_args.push(managed_address!(oracle)); - } - - sc.init( - EgldOrEsdtTokenIdentifier::egld(), - managed_biguint!(STAKE_AMOUNT), - managed_biguint!(SLASH_AMOUNT), - SLASH_QUORUM, - SUBMISSION_COUNT, - oracle_args, - ); - }) - .assert_ok(); - - for oracle in &oracles { - b_mock - .execute_tx(oracle, &price_agg, &rust_biguint!(STAKE_AMOUNT), |sc| { - sc.stake(); - }) - .assert_ok(); - } - - Self { - b_mock, - oracles, - owner, - price_agg, - } - } - - pub fn set_pair_decimals(&mut self, from: &[u8], to: &[u8], decimals: u8) { - self.b_mock - .execute_tx(&self.owner, &self.price_agg, &rust_biguint!(0), |sc| { - sc.set_pair_decimals(managed_buffer!(from), managed_buffer!(to), decimals); - }) - .assert_ok(); - } - - pub fn unpause(&mut self) { - self.b_mock - .execute_tx(&self.owner, &self.price_agg, &rust_biguint!(0), |sc| { - sc.unpause_endpoint(); - }) - .assert_ok(); - } - - pub fn submit(&mut self, oracle: &Address, timestamp: u64, price: u64) -> TxResult { - self.b_mock - .execute_tx(oracle, &self.price_agg, &rust_biguint!(0), |sc| { - sc.submit( - managed_buffer!(EGLD_TICKER), - managed_buffer!(USD_TICKER), - timestamp, - managed_biguint!(price), - DECIMALS, - ); - }) - } -} diff --git a/contracts/price-aggregator/tests/price_agg_tests.rs b/contracts/price-aggregator/tests/price_agg_tests.rs deleted file mode 100644 index 920df0d4..00000000 --- a/contracts/price-aggregator/tests/price_agg_tests.rs +++ /dev/null @@ -1,220 +0,0 @@ -use multiversx_price_aggregator_sc::{ - price_aggregator_data::{OracleStatus, TimestampedPrice, TokenPair}, - staking::StakingModule, - PriceAggregator, MAX_ROUND_DURATION_SECONDS, -}; -use multiversx_sc_scenario::{managed_address, managed_biguint, managed_buffer, rust_biguint}; - -mod price_agg_setup; -use price_agg_setup::*; - -#[test] -fn price_agg_submit_test() { - let mut pa_setup = PriceAggSetup::new(multiversx_price_aggregator_sc::contract_obj); - let current_timestamp = 100; - let oracles = pa_setup.oracles.clone(); - - // configure the number of decimals - pa_setup.set_pair_decimals(EGLD_TICKER, USD_TICKER, DECIMALS); - - // try submit while paused - pa_setup - .submit(&oracles[0], 99, 100) - .assert_user_error("Contract is paused"); - - // unpause - pa_setup.unpause(); - - // submit first timestamp too old - pa_setup - .submit(&oracles[0], 10, 100) - .assert_user_error("First submission too old"); - - // submit ok - pa_setup.submit(&oracles[0], 95, 100).assert_ok(); - - pa_setup - .b_mock - .execute_query(&pa_setup.price_agg, |sc| { - let token_pair = TokenPair { - from: managed_buffer!(EGLD_TICKER), - to: managed_buffer!(USD_TICKER), - }; - assert_eq!( - sc.first_submission_timestamp(&token_pair).get(), - current_timestamp - ); - assert_eq!( - sc.last_submission_timestamp(&token_pair).get(), - current_timestamp - ); - - let submissions = sc.submissions().get(&token_pair).unwrap(); - assert_eq!(submissions.len(), 1); - assert_eq!( - submissions.get(&managed_address!(&oracles[0])).unwrap(), - managed_biguint!(100) - ); - - assert_eq!( - sc.oracle_status() - .get(&managed_address!(&oracles[0])) - .unwrap(), - OracleStatus { - total_submissions: 1, - accepted_submissions: 1 - } - ); - }) - .assert_ok(); - - // first oracle submit again - submission not accepted - pa_setup.submit(&oracles[0], 95, 100).assert_ok(); - - pa_setup - .b_mock - .execute_query(&pa_setup.price_agg, |sc| { - assert_eq!( - sc.oracle_status() - .get(&managed_address!(&oracles[0])) - .unwrap(), - OracleStatus { - total_submissions: 2, - accepted_submissions: 1 - } - ); - }) - .assert_ok(); -} - -#[test] -fn price_agg_submit_round_ok_test() { - let mut pa_setup = PriceAggSetup::new(multiversx_price_aggregator_sc::contract_obj); - let oracles = pa_setup.oracles.clone(); - - // configure the number of decimals - pa_setup.set_pair_decimals(EGLD_TICKER, USD_TICKER, DECIMALS); - - // unpause - pa_setup.unpause(); - - // submit first - pa_setup.submit(&oracles[0], 95, 10_000).assert_ok(); - - let current_timestamp = 110; - pa_setup.b_mock.set_block_timestamp(current_timestamp); - - // submit second - pa_setup.submit(&oracles[1], 101, 11_000).assert_ok(); - - // submit third - pa_setup.submit(&oracles[2], 105, 12_000).assert_ok(); - - pa_setup - .b_mock - .execute_query(&pa_setup.price_agg, |sc| { - let result = sc - .latest_price_feed(managed_buffer!(EGLD_TICKER), managed_buffer!(USD_TICKER)) - .unwrap(); - - let (round_id, from, to, timestamp, price, decimals) = result.into_tuple(); - assert_eq!(round_id, 1); - assert_eq!(from, managed_buffer!(EGLD_TICKER)); - assert_eq!(to, managed_buffer!(USD_TICKER)); - assert_eq!(timestamp, current_timestamp); - assert_eq!(price, managed_biguint!(11_000)); - assert_eq!(decimals, DECIMALS); - - // submissions are deleted after round is created - let token_pair = TokenPair { from, to }; - let submissions = sc.submissions().get(&token_pair).unwrap(); - assert_eq!(submissions.len(), 0); - - let rounds = sc.rounds().get(&token_pair).unwrap(); - assert_eq!(rounds.len(), 1); - assert_eq!( - rounds.get(1), - TimestampedPrice { - timestamp, - price, - decimals - } - ); - }) - .assert_ok(); -} - -#[test] -fn price_agg_discarded_round_test() { - let mut pa_setup = PriceAggSetup::new(multiversx_price_aggregator_sc::contract_obj); - let oracles = pa_setup.oracles.clone(); - - // configure the number of decimals - pa_setup.set_pair_decimals(EGLD_TICKER, USD_TICKER, DECIMALS); - - // unpause - pa_setup.unpause(); - - // submit first - pa_setup.submit(&oracles[0], 95, 10_000).assert_ok(); - - let current_timestamp = 100 + MAX_ROUND_DURATION_SECONDS + 1; - pa_setup.b_mock.set_block_timestamp(current_timestamp); - - // submit second - this will discard the previous submission - pa_setup - .submit(&oracles[1], current_timestamp - 1, 11_000) - .assert_ok(); - - pa_setup - .b_mock - .execute_query(&pa_setup.price_agg, |sc| { - let token_pair = TokenPair { - from: managed_buffer!(EGLD_TICKER), - to: managed_buffer!(USD_TICKER), - }; - let submissions = sc.submissions().get(&token_pair).unwrap(); - assert_eq!(submissions.len(), 1); - assert_eq!( - submissions.get(&managed_address!(&oracles[1])).unwrap(), - managed_biguint!(11_000) - ); - }) - .assert_ok(); -} - -#[test] -fn price_agg_slashing_test() { - let rust_zero = rust_biguint!(0); - let mut pa_setup = PriceAggSetup::new(multiversx_price_aggregator_sc::contract_obj); - let oracles = pa_setup.oracles.clone(); - - // unpause - pa_setup.unpause(); - - pa_setup - .b_mock - .execute_tx(&oracles[0], &pa_setup.price_agg, &rust_zero, |sc| { - sc.vote_slash_member(managed_address!(&oracles[1])); - }) - .assert_ok(); - - pa_setup - .b_mock - .execute_tx(&oracles[2], &pa_setup.price_agg, &rust_zero, |sc| { - sc.vote_slash_member(managed_address!(&oracles[1])); - }) - .assert_ok(); - - pa_setup - .b_mock - .execute_tx(&oracles[0], &pa_setup.price_agg, &rust_zero, |sc| { - sc.slash_member(managed_address!(&oracles[1])); - }) - .assert_ok(); - - // oracle 1 try submit after slashing - pa_setup - .submit(&oracles[1], 95, 10_000) - .assert_user_error("only oracles allowed"); -} diff --git a/contracts/price-aggregator/tests/price_aggregator_blackbox_test.rs b/contracts/price-aggregator/tests/price_aggregator_blackbox_test.rs new file mode 100644 index 00000000..bc1078bb --- /dev/null +++ b/contracts/price-aggregator/tests/price_aggregator_blackbox_test.rs @@ -0,0 +1,388 @@ +use multiversx_price_aggregator_sc::{ + price_aggregator_data::{OracleStatus, TimestampedPrice, TokenPair}, + staking::ProxyTrait as _, + ContractObj, PriceAggregator, ProxyTrait as _, MAX_ROUND_DURATION_SECONDS, +}; +use multiversx_sc::{ + codec::multi_types::MultiValueVec, + types::{Address, EgldOrEsdtTokenIdentifier}, +}; +use multiversx_sc_modules::pause::ProxyTrait; +use multiversx_sc_scenario::{ + api::StaticApi, + managed_address, managed_biguint, managed_buffer, + scenario_model::{Account, AddressValue, ScCallStep, ScDeployStep, SetStateStep, TxExpect}, + ContractInfo, DebugApi, ScenarioWorld, WhiteboxContract, +}; + +const DECIMALS: u8 = 0; +const EGLD_TICKER: &[u8] = b"EGLD"; +const NR_ORACLES: usize = 4; +const OWNER_ADDRESS_EXPR: &str = "address:owner"; +const PRICE_AGGREGATOR_ADDRESS_EXPR: &str = "sc:price-aggregator"; +const PRICE_AGGREGATOR_PATH_EXPR: &str = "file:output/multiversx-price-aggregator-sc.wasm"; +const SLASH_AMOUNT: u64 = 10; +const SLASH_QUORUM: usize = 2; +const STAKE_AMOUNT: u64 = 20; +const SUBMISSION_COUNT: usize = 3; +const USD_TICKER: &[u8] = b"USDC"; + +type PriceAggregatorContract = ContractInfo>; + +fn world() -> ScenarioWorld { + let mut blockchain = ScenarioWorld::new(); + + blockchain.set_current_dir_from_workspace("contracts/core/price-aggregator"); + blockchain.register_contract( + PRICE_AGGREGATOR_PATH_EXPR, + multiversx_price_aggregator_sc::ContractBuilder, + ); + + blockchain +} + +struct PriceAggregatorTestState { + world: ScenarioWorld, + oracles: Vec, + price_aggregator_contract: PriceAggregatorContract, + price_aggregator_whitebox: WhiteboxContract>, +} + +impl PriceAggregatorTestState { + fn new() -> Self { + let mut world = world(); + + let mut set_state_step = SetStateStep::new() + .put_account(OWNER_ADDRESS_EXPR, Account::new().nonce(1)) + .new_address(OWNER_ADDRESS_EXPR, 1, PRICE_AGGREGATOR_ADDRESS_EXPR) + .block_timestamp(100); + + let mut oracles = Vec::new(); + for i in 1..=NR_ORACLES { + let address_expr = format!("address:oracle{}", i); + let address_value = AddressValue::from(address_expr.as_str()); + + set_state_step = set_state_step.put_account( + address_expr.as_str(), + Account::new().nonce(1).balance(STAKE_AMOUNT), + ); + + oracles.push(address_value); + } + world.set_state_step(set_state_step); + + let price_aggregator_contract = PriceAggregatorContract::new(PRICE_AGGREGATOR_ADDRESS_EXPR); + let price_aggregator_whitebox = WhiteboxContract::new( + PRICE_AGGREGATOR_ADDRESS_EXPR, + multiversx_price_aggregator_sc::contract_obj, + ); + + Self { + world, + oracles, + price_aggregator_contract, + price_aggregator_whitebox, + } + } + + fn deploy(&mut self) -> &mut Self { + let price_aggregator_code = self.world.code_expression(PRICE_AGGREGATOR_PATH_EXPR); + + let oracles = MultiValueVec::from( + self.oracles + .iter() + .map(|oracle| oracle.to_address()) + .collect::>(), + ); + + self.world.sc_deploy( + ScDeployStep::new() + .from(OWNER_ADDRESS_EXPR) + .code(price_aggregator_code) + .call(self.price_aggregator_contract.init( + EgldOrEsdtTokenIdentifier::egld(), + STAKE_AMOUNT, + SLASH_AMOUNT, + SLASH_QUORUM, + SUBMISSION_COUNT, + oracles, + )), + ); + + for address in self.oracles.iter() { + self.world.sc_call( + ScCallStep::new() + .from(address) + .egld_value(STAKE_AMOUNT) + .call(self.price_aggregator_contract.stake()), + ); + } + + self + } + + fn set_pair_decimals(&mut self) { + self.world.sc_call( + ScCallStep::new().from(OWNER_ADDRESS_EXPR).call( + self.price_aggregator_contract + .set_pair_decimals(EGLD_TICKER, USD_TICKER, DECIMALS), + ), + ); + } + + fn unpause_endpoint(&mut self) { + self.world.sc_call( + ScCallStep::new() + .from(OWNER_ADDRESS_EXPR) + .call(self.price_aggregator_contract.unpause_endpoint()), + ); + } + + fn submit(&mut self, from: &AddressValue, submission_timestamp: u64, price: u64) { + self.world.sc_call(ScCallStep::new().from(from).call( + self.price_aggregator_contract.submit( + EGLD_TICKER, + USD_TICKER, + submission_timestamp, + price, + DECIMALS, + ), + )); + } + + fn submit_and_expect_err( + &mut self, + from: &AddressValue, + submission_timestamp: u64, + price: u64, + err_message: &str, + ) { + self.world.sc_call( + ScCallStep::new() + .from(from) + .call(self.price_aggregator_contract.submit( + EGLD_TICKER, + USD_TICKER, + submission_timestamp, + price, + DECIMALS, + )) + .expect(TxExpect::user_error("str:".to_string() + err_message)), + ); + } + + fn vote_slash_member(&mut self, from: &AddressValue, member_to_slash: Address) { + self.world.sc_call( + ScCallStep::new().from(from).call( + self.price_aggregator_contract + .vote_slash_member(member_to_slash), + ), + ); + } +} + +#[test] +fn test_price_aggregator_submit() { + let mut state = PriceAggregatorTestState::new(); + state.deploy(); + + // configure the number of decimals + state.set_pair_decimals(); + + // try submit while paused + state.submit_and_expect_err(&state.oracles[0].clone(), 99, 100, "Contract is paused"); + + // unpause + state.unpause_endpoint(); + + // submit first timestamp too old + state.submit_and_expect_err( + &state.oracles[0].clone(), + 10, + 100, + "First submission too old", + ); + + // submit ok + state.submit(&state.oracles[0].clone(), 95, 100); + + let current_timestamp = 100; + state + .world + .whitebox_query(&state.price_aggregator_whitebox, |sc| { + let token_pair = TokenPair { + from: managed_buffer!(EGLD_TICKER), + to: managed_buffer!(USD_TICKER), + }; + assert_eq!( + sc.first_submission_timestamp(&token_pair).get(), + current_timestamp + ); + assert_eq!( + sc.last_submission_timestamp(&token_pair).get(), + current_timestamp + ); + + let submissions = sc.submissions().get(&token_pair).unwrap(); + assert_eq!(submissions.len(), 1); + assert_eq!( + submissions + .get(&managed_address!(&state.oracles[0].to_address())) + .unwrap(), + managed_biguint!(100) + ); + + assert_eq!( + sc.oracle_status() + .get(&managed_address!(&state.oracles[0].to_address())) + .unwrap(), + OracleStatus { + total_submissions: 1, + accepted_submissions: 1 + } + ); + }); + + // first oracle submit again - submission not accepted + state.submit(&state.oracles[0].clone(), 95, 100); + + state + .world + .whitebox_query(&state.price_aggregator_whitebox, |sc| { + assert_eq!( + sc.oracle_status() + .get(&managed_address!(&state.oracles[0].to_address())) + .unwrap(), + OracleStatus { + total_submissions: 2, + accepted_submissions: 1 + } + ); + }); +} + +#[test] +fn test_price_aggregator_submit_round_ok() { + let mut state = PriceAggregatorTestState::new(); + state.deploy(); + + // configure the number of decimals + state.set_pair_decimals(); + + // unpause + state.unpause_endpoint(); + + // submit first + state.submit(&state.oracles[0].clone(), 95, 10_000); + + let current_timestamp = 110; + state + .world + .set_state_step(SetStateStep::new().block_timestamp(current_timestamp)); + + // submit second + state.submit(&state.oracles[1].clone(), 101, 11_000); + + // submit third + state.submit(&state.oracles[2].clone(), 105, 12_000); + + 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 (round_id, from, to, timestamp, price, decimals) = result.into_tuple(); + assert_eq!(round_id, 1); + assert_eq!(from, managed_buffer!(EGLD_TICKER)); + assert_eq!(to, managed_buffer!(USD_TICKER)); + assert_eq!(timestamp, current_timestamp); + assert_eq!(price, managed_biguint!(11_000)); + assert_eq!(decimals, DECIMALS); + + // submissions are deleted after round is created + let token_pair = TokenPair { from, to }; + let submissions = sc.submissions().get(&token_pair).unwrap(); + assert_eq!(submissions.len(), 0); + + let rounds = sc.rounds().get(&token_pair).unwrap(); + assert_eq!(rounds.len(), 1); + assert_eq!( + rounds.get(1), + TimestampedPrice { + timestamp, + price, + decimals + } + ); + }); +} + +#[test] +fn test_price_aggregator_discarded_round() { + let mut state = PriceAggregatorTestState::new(); + state.deploy(); + + // configure the number of decimals + state.set_pair_decimals(); + + // unpause + state.unpause_endpoint(); + + // submit first + state.submit(&state.oracles[0].clone(), 95, 10_000); + + let current_timestamp = 100 + MAX_ROUND_DURATION_SECONDS + 1; + state + .world + .set_state_step(SetStateStep::new().block_timestamp(current_timestamp)); + + // submit second - this will discard the previous submission + state.submit(&state.oracles[1].clone(), current_timestamp - 1, 11_000); + + state + .world + .whitebox_query(&state.price_aggregator_whitebox, |sc| { + let token_pair = TokenPair { + from: managed_buffer!(EGLD_TICKER), + to: managed_buffer!(USD_TICKER), + }; + let submissions = sc.submissions().get(&token_pair).unwrap(); + assert_eq!(submissions.len(), 1); + assert_eq!( + submissions + .get(&managed_address!(&state.oracles[1].to_address())) + .unwrap(), + managed_biguint!(11_000) + ); + }); +} + +#[test] +fn test_price_aggregator_slashing() { + let mut state = PriceAggregatorTestState::new(); + state.deploy(); + + // unpause + state.unpause_endpoint(); + + state.vote_slash_member(&state.oracles[0].clone(), state.oracles[1].to_address()); + state.vote_slash_member(&state.oracles[2].clone(), state.oracles[1].to_address()); + + state.world.sc_call( + ScCallStep::new().from(&state.oracles[0]).call( + state + .price_aggregator_contract + .slash_member(state.oracles[1].to_address()), + ), + ); + + // oracle 1 try submit after slashing + state.submit_and_expect_err( + &state.oracles[1].clone(), + 95, + 10_000, + "only oracles allowed", + ); +} diff --git a/contracts/price-aggregator/tests/price_aggregator_whitebox_test.rs b/contracts/price-aggregator/tests/price_aggregator_whitebox_test.rs new file mode 100644 index 00000000..a2ab56a2 --- /dev/null +++ b/contracts/price-aggregator/tests/price_aggregator_whitebox_test.rs @@ -0,0 +1,481 @@ +use multiversx_price_aggregator_sc::{ + price_aggregator_data::{OracleStatus, TimestampedPrice, TokenPair}, + staking::EndpointWrappers as StakingEndpointWrappers, + PriceAggregator, MAX_ROUND_DURATION_SECONDS, +}; +use multiversx_sc::types::{EgldOrEsdtTokenIdentifier, MultiValueEncoded}; +use multiversx_sc_modules::pause::EndpointWrappers as PauseEndpointWrappers; +use multiversx_sc_scenario::{ + managed_address, managed_biguint, managed_buffer, scenario_model::*, WhiteboxContract, *, +}; + +pub const DECIMALS: u8 = 0; +pub const EGLD_TICKER: &[u8] = b"EGLD"; +pub const NR_ORACLES: usize = 4; +pub const SLASH_AMOUNT: u64 = 10; +pub const SLASH_QUORUM: usize = 2; +pub const STAKE_AMOUNT: u64 = 20; +pub const SUBMISSION_COUNT: usize = 3; +pub const USD_TICKER: &[u8] = b"USDC"; + +const OWNER_ADDRESS_EXPR: &str = "address:owner"; +const PRICE_AGGREGATOR_ADDRESS_EXPR: &str = "sc:price-aggregator"; +const PRICE_AGGREGATOR_PATH_EXPR: &str = "file:output/multiversx-price-aggregator-sc.wasm"; + +fn world() -> ScenarioWorld { + let mut blockchain = ScenarioWorld::new(); + + blockchain.set_current_dir_from_workspace("contracts/core/price-aggregator"); + blockchain.register_contract( + PRICE_AGGREGATOR_PATH_EXPR, + multiversx_price_aggregator_sc::ContractBuilder, + ); + + blockchain +} + +#[test] +fn test_price_aggregator_submit() { + let (mut world, oracles) = setup(); + let price_aggregator_whitebox = WhiteboxContract::new( + PRICE_AGGREGATOR_ADDRESS_EXPR, + multiversx_price_aggregator_sc::contract_obj, + ); + + // configure the number of decimals + world.whitebox_call( + &price_aggregator_whitebox, + ScCallStep::new().from(OWNER_ADDRESS_EXPR), + |sc| { + sc.set_pair_decimals( + managed_buffer!(EGLD_TICKER), + managed_buffer!(USD_TICKER), + DECIMALS, + ) + }, + ); + + // try submit while paused + world.whitebox_call_check( + &price_aggregator_whitebox, + ScCallStep::new() + .from(&oracles[0]) + .expect(TxExpect::user_error("str:Contract is paused")), + |sc| { + sc.submit( + managed_buffer!(EGLD_TICKER), + managed_buffer!(USD_TICKER), + 99, + managed_biguint!(100), + DECIMALS, + ) + }, + |r| r.assert_user_error("Contract is paused"), + ); + + // unpause + world.whitebox_call( + &price_aggregator_whitebox, + ScCallStep::new().from(OWNER_ADDRESS_EXPR), + |sc| sc.call_unpause_endpoint(), + ); + + // submit first timestamp too old + world.whitebox_call_check( + &price_aggregator_whitebox, + ScCallStep::new().from(&oracles[0]).no_expect(), + |sc| { + sc.submit( + managed_buffer!(EGLD_TICKER), + managed_buffer!(USD_TICKER), + 10, + managed_biguint!(100), + DECIMALS, + ) + }, + |r| { + r.assert_user_error("First submission too old"); + }, + ); + + // submit ok + world.whitebox_call( + &price_aggregator_whitebox, + ScCallStep::new().from(&oracles[0]), + |sc| { + sc.submit( + managed_buffer!(EGLD_TICKER), + managed_buffer!(USD_TICKER), + 95, + managed_biguint!(100), + DECIMALS, + ) + }, + ); + + let current_timestamp = 100; + world.whitebox_query(&price_aggregator_whitebox, |sc| { + let token_pair = TokenPair { + from: managed_buffer!(EGLD_TICKER), + to: managed_buffer!(USD_TICKER), + }; + assert_eq!( + sc.first_submission_timestamp(&token_pair).get(), + current_timestamp + ); + assert_eq!( + sc.last_submission_timestamp(&token_pair).get(), + current_timestamp + ); + + let submissions = sc.submissions().get(&token_pair).unwrap(); + assert_eq!(submissions.len(), 1); + assert_eq!( + submissions + .get(&managed_address!(&oracles[0].to_address())) + .unwrap(), + managed_biguint!(100) + ); + + assert_eq!( + sc.oracle_status() + .get(&managed_address!(&oracles[0].to_address())) + .unwrap(), + OracleStatus { + total_submissions: 1, + accepted_submissions: 1 + } + ); + }); + + // first oracle submit again - submission not accepted + world.whitebox_call( + &price_aggregator_whitebox, + ScCallStep::new().from(&oracles[0]), + |sc| { + sc.submit( + managed_buffer!(EGLD_TICKER), + managed_buffer!(USD_TICKER), + 95, + managed_biguint!(100), + DECIMALS, + ) + }, + ); + + world.whitebox_query(&price_aggregator_whitebox, |sc| { + assert_eq!( + sc.oracle_status() + .get(&managed_address!(&oracles[0].to_address())) + .unwrap(), + OracleStatus { + total_submissions: 2, + accepted_submissions: 1 + } + ); + }); +} + +#[test] +fn test_price_aggregator_submit_round_ok() { + let (mut world, oracles) = setup(); + let price_aggregator_whitebox = WhiteboxContract::new( + PRICE_AGGREGATOR_ADDRESS_EXPR, + multiversx_price_aggregator_sc::contract_obj, + ); + + // configure the number of decimals + world.whitebox_call( + &price_aggregator_whitebox, + ScCallStep::new().from(OWNER_ADDRESS_EXPR), + |sc| { + sc.set_pair_decimals( + managed_buffer!(EGLD_TICKER), + managed_buffer!(USD_TICKER), + DECIMALS, + ) + }, + ); + + // unpause + world.whitebox_call( + &price_aggregator_whitebox, + ScCallStep::new().from(OWNER_ADDRESS_EXPR), + |sc| sc.call_unpause_endpoint(), + ); + + // submit first + world.whitebox_call( + &price_aggregator_whitebox, + ScCallStep::new().from(&oracles[0]), + |sc| { + sc.submit( + managed_buffer!(EGLD_TICKER), + managed_buffer!(USD_TICKER), + 95, + managed_biguint!(10_000), + DECIMALS, + ) + }, + ); + + let current_timestamp = 110; + world.set_state_step(SetStateStep::new().block_timestamp(current_timestamp)); + + // submit second + world.whitebox_call( + &price_aggregator_whitebox, + ScCallStep::new().from(&oracles[1]), + |sc| { + sc.submit( + managed_buffer!(EGLD_TICKER), + managed_buffer!(USD_TICKER), + 101, + managed_biguint!(11_000), + DECIMALS, + ) + }, + ); + + // submit third + world.whitebox_call( + &price_aggregator_whitebox, + ScCallStep::new().from(&oracles[2]), + |sc| { + sc.submit( + managed_buffer!(EGLD_TICKER), + managed_buffer!(USD_TICKER), + 105, + managed_biguint!(12_000), + DECIMALS, + ) + }, + ); + + world.whitebox_query(&price_aggregator_whitebox, |sc| { + let result = sc + .latest_price_feed(managed_buffer!(EGLD_TICKER), managed_buffer!(USD_TICKER)) + .unwrap(); + + let (round_id, from, to, timestamp, price, decimals) = result.into_tuple(); + assert_eq!(round_id, 1); + assert_eq!(from, managed_buffer!(EGLD_TICKER)); + assert_eq!(to, managed_buffer!(USD_TICKER)); + assert_eq!(timestamp, current_timestamp); + assert_eq!(price, managed_biguint!(11_000)); + assert_eq!(decimals, DECIMALS); + + // submissions are deleted after round is created + let token_pair = TokenPair { from, to }; + let submissions = sc.submissions().get(&token_pair).unwrap(); + assert_eq!(submissions.len(), 0); + + let rounds = sc.rounds().get(&token_pair).unwrap(); + assert_eq!(rounds.len(), 1); + assert_eq!( + rounds.get(1), + TimestampedPrice { + timestamp, + price, + decimals + } + ); + }); +} + +#[test] +fn test_price_aggregator_discarded_round() { + let (mut world, oracles) = setup(); + let price_aggregator_whitebox = WhiteboxContract::new( + PRICE_AGGREGATOR_ADDRESS_EXPR, + multiversx_price_aggregator_sc::contract_obj, + ); + + // configure the number of decimals + world.whitebox_call( + &price_aggregator_whitebox, + ScCallStep::new().from(OWNER_ADDRESS_EXPR), + |sc| { + sc.set_pair_decimals( + managed_buffer!(EGLD_TICKER), + managed_buffer!(USD_TICKER), + DECIMALS, + ) + }, + ); + + // unpause + world.whitebox_call( + &price_aggregator_whitebox, + ScCallStep::new().from(OWNER_ADDRESS_EXPR), + |sc| sc.call_unpause_endpoint(), + ); + + // submit first + world.whitebox_call( + &price_aggregator_whitebox, + ScCallStep::new().from(&oracles[0]), + |sc| { + sc.submit( + managed_buffer!(EGLD_TICKER), + managed_buffer!(USD_TICKER), + 95, + managed_biguint!(10_000), + DECIMALS, + ) + }, + ); + + let current_timestamp = 100 + MAX_ROUND_DURATION_SECONDS + 1; + world.set_state_step(SetStateStep::new().block_timestamp(current_timestamp)); + + // submit second - this will discard the previous submission + world.whitebox_call( + &price_aggregator_whitebox, + ScCallStep::new().from(&oracles[1]), + |sc| { + sc.submit( + managed_buffer!(EGLD_TICKER), + managed_buffer!(USD_TICKER), + current_timestamp - 1, + managed_biguint!(11_000), + DECIMALS, + ) + }, + ); + + world.whitebox_query(&price_aggregator_whitebox, |sc| { + let token_pair = TokenPair { + from: managed_buffer!(EGLD_TICKER), + to: managed_buffer!(USD_TICKER), + }; + let submissions = sc.submissions().get(&token_pair).unwrap(); + assert_eq!(submissions.len(), 1); + assert_eq!( + submissions + .get(&managed_address!(&oracles[1].to_address())) + .unwrap(), + managed_biguint!(11_000) + ); + }); +} + +#[test] +fn test_price_aggregator_slashing() { + let (mut world, oracles) = setup(); + let price_aggregator_whitebox = WhiteboxContract::new( + PRICE_AGGREGATOR_ADDRESS_EXPR, + multiversx_price_aggregator_sc::contract_obj, + ); + + // unpause + world.whitebox_call( + &price_aggregator_whitebox, + ScCallStep::new().from(OWNER_ADDRESS_EXPR), + |sc| sc.call_unpause_endpoint(), + ); + + world.whitebox_call( + &price_aggregator_whitebox, + ScCallStep::new() + .from(&oracles[0]) + .argument(BytesValue::from(oracles[1].to_address().as_bytes())), + |sc| sc.call_vote_slash_member(), + ); + + world.whitebox_call( + &price_aggregator_whitebox, + ScCallStep::new() + .from(&oracles[2]) + .argument(BytesValue::from(oracles[1].to_address().as_bytes())), + |sc| sc.call_vote_slash_member(), + ); + + world.whitebox_call( + &price_aggregator_whitebox, + ScCallStep::new() + .from(&oracles[0]) + .argument(BytesValue::from(oracles[1].to_address().as_bytes())), + |sc| sc.call_slash_member(), + ); + + // oracle 1 try submit after slashing + world.whitebox_call_check( + &price_aggregator_whitebox, + ScCallStep::new().from(&oracles[1]).no_expect(), + |sc| { + sc.submit( + managed_buffer!(EGLD_TICKER), + managed_buffer!(USD_TICKER), + 95, + managed_biguint!(10_000), + DECIMALS, + ) + }, + |r| { + r.assert_user_error("only oracles allowed"); + }, + ); +} + +fn setup() -> (ScenarioWorld, Vec) { + // setup + let mut world = world(); + let price_aggregator_whitebox = WhiteboxContract::new( + PRICE_AGGREGATOR_ADDRESS_EXPR, + multiversx_price_aggregator_sc::contract_obj, + ); + let price_aggregator_code = world.code_expression(PRICE_AGGREGATOR_PATH_EXPR); + + let mut set_state_step = SetStateStep::new() + .put_account(OWNER_ADDRESS_EXPR, Account::new().nonce(1)) + .new_address(OWNER_ADDRESS_EXPR, 1, PRICE_AGGREGATOR_ADDRESS_EXPR) + .block_timestamp(100); + + let mut oracles = Vec::new(); + for i in 1..=NR_ORACLES { + let oracle_address_expr = format!("address:oracle{i}"); + let oracle_address = AddressValue::from(oracle_address_expr.as_str()); + + set_state_step = set_state_step.put_account( + oracle_address_expr.as_str(), + Account::new().nonce(1).balance(STAKE_AMOUNT), + ); + oracles.push(oracle_address); + } + + // init price aggregator + world.set_state_step(set_state_step).whitebox_deploy( + &price_aggregator_whitebox, + ScDeployStep::new() + .from(OWNER_ADDRESS_EXPR) + .code(price_aggregator_code), + |sc| { + let mut oracle_args = MultiValueEncoded::new(); + for oracle_address in &oracles { + oracle_args.push(managed_address!(&oracle_address.to_address())); + } + + sc.init( + EgldOrEsdtTokenIdentifier::egld(), + managed_biguint!(STAKE_AMOUNT), + managed_biguint!(SLASH_AMOUNT), + SLASH_QUORUM, + SUBMISSION_COUNT, + oracle_args, + ) + }, + ); + + for oracle_address in &oracles { + world.whitebox_call( + &price_aggregator_whitebox, + ScCallStep::new() + .from(oracle_address) + .egld_value(STAKE_AMOUNT), + |sc| sc.call_stake(), + ); + } + + (world, oracles) +} diff --git a/contracts/price-aggregator/wasm/Cargo.lock b/contracts/price-aggregator/wasm/Cargo.lock index d058eba9..e4f9cbcf 100644 --- a/contracts/price-aggregator/wasm/Cargo.lock +++ b/contracts/price-aggregator/wasm/Cargo.lock @@ -66,7 +66,7 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-price-aggregator-sc" -version = "0.41.1" +version = "0.43.3" dependencies = [ "arrayvec", "multiversx-sc", @@ -83,9 +83,7 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfbe80ec68fedf299dd65469f8999cf3c0f884ffa497122428f08303bcb8b884" +version = "0.43.3" dependencies = [ "bitflags", "hashbrown", @@ -97,9 +95,7 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d70ea458247d263b7e9fdfb207530b6a530546247139c162450e515c013a18" +version = "0.18.1" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -107,9 +103,7 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ad6920f80fda67fc60fd51aaa9f83ec7e069470f60a068c81205f9da5d05a30" +version = "0.18.1" dependencies = [ "hex", "proc-macro2", @@ -119,9 +113,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c2b87d817f2176bf1830bef938884f24267516c334a377e71a96bc18ebb09c1" +version = "0.43.3" dependencies = [ "hex", "proc-macro2", @@ -132,18 +124,14 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "704825223788bfdfd622980cae8feedae82609fded5ef5f53af31661d5e02312" +version = "0.43.3" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "932327626de71eeb1dbe86b863cc70cc532f8ceba8e73a059410f6aa56b22a77" +version = "0.43.3" dependencies = [ "multiversx-sc", ] @@ -174,9 +162,9 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.67" +version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" +checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" dependencies = [ "unicode-ident", ] @@ -219,9 +207,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.12" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" [[package]] name = "version_check" diff --git a/contracts/price-aggregator/wasm/Cargo.toml b/contracts/price-aggregator/wasm/Cargo.toml index 14c485e6..8d00195e 100644 --- a/contracts/price-aggregator/wasm/Cargo.toml +++ b/contracts/price-aggregator/wasm/Cargo.toml @@ -7,12 +7,14 @@ publish = false [lib] crate-type = ["cdylib"] + [profile.release] codegen-units = 1 opt-level = "z" lto = true debug = false panic = "abort" + [dependencies.multiversx-price-aggregator-sc] path = ".." diff --git a/contracts/price-aggregator/wasm/src/lib.rs b/contracts/price-aggregator/wasm/src/lib.rs index 1c0d0f4d..3a6ca767 100644 --- a/contracts/price-aggregator/wasm/src/lib.rs +++ b/contracts/price-aggregator/wasm/src/lib.rs @@ -10,6 +10,7 @@ // Total number of exported functions: 21 #![no_std] +#![allow(internal_features)] #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); @@ -18,26 +19,27 @@ multiversx_sc_wasm_adapter::panic_handler!(); multiversx_sc_wasm_adapter::endpoints! { multiversx_price_aggregator_sc ( - addOracles - removeOracles - submit - submitBatch - latestRoundData - latestPriceFeed - latestPriceFeedOptional - setSubmissionCount - getOracles - setPairDecimals - getPairDecimals - submission_count - pause - unpause - isPaused - stake - unstake - voteSlashMember - slashMember + init => init + addOracles => add_oracles + removeOracles => remove_oracles + submit => submit + submitBatch => submit_batch + latestRoundData => latest_round_data + latestPriceFeed => latest_price_feed + latestPriceFeedOptional => latest_price_feed_optional + setSubmissionCount => set_submission_count + getOracles => get_oracles + setPairDecimals => set_pair_decimals + getPairDecimals => get_pair_decimals + submission_count => submission_count + pause => pause_endpoint + unpause => unpause_endpoint + isPaused => paused_status + stake => stake + unstake => unstake + voteSlashMember => vote_slash_member + slashMember => slash_member ) } -multiversx_sc_wasm_adapter::empty_callback! {} +multiversx_sc_wasm_adapter::async_callback_empty! {} diff --git a/contracts/proxy-pause/.gitignore b/contracts/proxy-pause/.gitignore deleted file mode 100644 index 9494cb14..00000000 --- a/contracts/proxy-pause/.gitignore +++ /dev/null @@ -1,7 +0,0 @@ -# Generated by Cargo -# will have compiled files and executables -/target/ -*/target/ - -# The mxpy output -output diff --git a/contracts/rewards-distribution/.gitignore b/contracts/rewards-distribution/.gitignore index 61d019f5..dd49a952 100644 --- a/contracts/rewards-distribution/.gitignore +++ b/contracts/rewards-distribution/.gitignore @@ -4,7 +4,7 @@ */target/ # The mxpy output -output +/output*/ # Mandos test trace trace*.scen.json diff --git a/contracts/rewards-distribution/Cargo.toml b/contracts/rewards-distribution/Cargo.toml index 70003439..f28d135b 100644 --- a/contracts/rewards-distribution/Cargo.toml +++ b/contracts/rewards-distribution/Cargo.toml @@ -7,10 +7,12 @@ publish = false [lib] path = "src/rewards_distribution.rs" + [dependencies.multiversx-sc] version = "0.43.3" [dependencies.multiversx-sc-modules] version = "0.43.3" + [dev-dependencies.multiversx-sc-scenario] version = "0.43.3" diff --git a/contracts/rewards-distribution/meta/Cargo.toml b/contracts/rewards-distribution/meta/Cargo.toml index 62e94319..c19be428 100644 --- a/contracts/rewards-distribution/meta/Cargo.toml +++ b/contracts/rewards-distribution/meta/Cargo.toml @@ -6,6 +6,7 @@ publish = false authors = ["Claudiu-Marcel Bruda "] [dev-dependencies] + [dependencies.rewards-distribution] path = ".." diff --git a/contracts/rewards-distribution/tests/test_compute_brackets.rs b/contracts/rewards-distribution/tests/test_compute_brackets_legacy_test.rs similarity index 96% rename from contracts/rewards-distribution/tests/test_compute_brackets.rs rename to contracts/rewards-distribution/tests/test_compute_brackets_legacy_test.rs index d6ec0682..d10c2e06 100644 --- a/contracts/rewards-distribution/tests/test_compute_brackets.rs +++ b/contracts/rewards-distribution/tests/test_compute_brackets_legacy_test.rs @@ -1,3 +1,5 @@ +#![allow(deprecated)] // TODO: migrate tests + use core::iter::zip; use multiversx_sc_scenario::{rust_biguint, testing_framework::BlockchainStateWrapper, DebugApi}; @@ -9,7 +11,7 @@ multiversx_sc::imports!(); #[test] fn test_compute_brackets() { - let _ = DebugApi::dummy(); + DebugApi::dummy(); let mut wrapper = BlockchainStateWrapper::new(); diff --git a/contracts/rewards-distribution/tests/test_raffle_and_claim.rs b/contracts/rewards-distribution/tests/test_raffle_and_claim_legacy_test.rs similarity index 96% rename from contracts/rewards-distribution/tests/test_raffle_and_claim.rs rename to contracts/rewards-distribution/tests/test_raffle_and_claim_legacy_test.rs index 66319a48..b60de294 100644 --- a/contracts/rewards-distribution/tests/test_raffle_and_claim.rs +++ b/contracts/rewards-distribution/tests/test_raffle_and_claim_legacy_test.rs @@ -1,3 +1,5 @@ +#![allow(deprecated)] // TODO: migrate tests + use multiversx_sc::{ codec::multi_types::MultiValue2, types::{BigUint, EgldOrEsdtTokenIdentifier, MultiValueEncoded, OperationCompletionStatus}, @@ -15,7 +17,7 @@ mod utils; #[test] fn test_raffle_and_claim() { - let _ = DebugApi::dummy(); + DebugApi::dummy(); let mut wrapper = BlockchainStateWrapper::new(); @@ -25,7 +27,7 @@ fn test_raffle_and_claim() { let owner = wrapper.create_user_account(&rust_biguint!(0)); let alice = wrapper.create_user_account(&full_reward_amount); - let nft_token_id = managed_token_id!(b"NFT-123456"); + let nft_token_id = b"NFT-123456"; let nft_balance = rust_biguint!(1); let nft_attributes: [u8; 0] = []; @@ -51,7 +53,7 @@ fn test_raffle_and_claim() { // setup the mock contract wrapper .execute_tx(&alice, &seed_nft_minter_mock_sc, &rust_biguint!(0), |sc| { - sc.init(nft_token_id.clone()); + sc.init(managed_token_id!(nft_token_id)); sc.set_nft_count(nft_count); }) @@ -149,11 +151,10 @@ fn test_raffle_and_claim() { // claim the rewards - let token_identifier = nft_token_id.clone().to_boxed_bytes().into_vec(); let nft_payments: Vec = nft_nonces .iter() .map(|nonce| TxTokenTransfer { - token_identifier: token_identifier.clone(), + token_identifier: nft_token_id.to_vec(), nonce: *nonce, value: rust_biguint!(1), }) diff --git a/contracts/rewards-distribution/wasm/Cargo.lock b/contracts/rewards-distribution/wasm/Cargo.lock index 782742ed..3c1b7cce 100644 --- a/contracts/rewards-distribution/wasm/Cargo.lock +++ b/contracts/rewards-distribution/wasm/Cargo.lock @@ -66,9 +66,7 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfbe80ec68fedf299dd65469f8999cf3c0f884ffa497122428f08303bcb8b884" +version = "0.43.3" dependencies = [ "bitflags", "hashbrown", @@ -80,9 +78,7 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d70ea458247d263b7e9fdfb207530b6a530546247139c162450e515c013a18" +version = "0.18.1" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -90,9 +86,7 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ad6920f80fda67fc60fd51aaa9f83ec7e069470f60a068c81205f9da5d05a30" +version = "0.18.1" dependencies = [ "hex", "proc-macro2", @@ -102,9 +96,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c2b87d817f2176bf1830bef938884f24267516c334a377e71a96bc18ebb09c1" +version = "0.43.3" dependencies = [ "hex", "proc-macro2", @@ -115,18 +107,14 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "704825223788bfdfd622980cae8feedae82609fded5ef5f53af31661d5e02312" +version = "0.43.3" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "932327626de71eeb1dbe86b863cc70cc532f8ceba8e73a059410f6aa56b22a77" +version = "0.43.3" dependencies = [ "multiversx-sc", ] @@ -157,9 +145,9 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.67" +version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" +checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" dependencies = [ "unicode-ident", ] @@ -218,9 +206,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.12" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" [[package]] name = "version_check" diff --git a/contracts/rewards-distribution/wasm/Cargo.toml b/contracts/rewards-distribution/wasm/Cargo.toml index 0f8ec32e..5c53c3c7 100644 --- a/contracts/rewards-distribution/wasm/Cargo.toml +++ b/contracts/rewards-distribution/wasm/Cargo.toml @@ -12,12 +12,14 @@ crate-type = ["cdylib"] members = ["."] [dev-dependencies] + [profile.release] codegen-units = 1 opt-level = "z" lto = true debug = false panic = "abort" + [dependencies.rewards-distribution] path = ".." diff --git a/contracts/rewards-distribution/wasm/src/lib.rs b/contracts/rewards-distribution/wasm/src/lib.rs index 92806cb5..4b1220d0 100644 --- a/contracts/rewards-distribution/wasm/src/lib.rs +++ b/contracts/rewards-distribution/wasm/src/lib.rs @@ -10,6 +10,7 @@ // Total number of exported functions: 15 #![no_std] +#![allow(internal_features)] #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); @@ -18,20 +19,21 @@ multiversx_sc_wasm_adapter::panic_handler!(); multiversx_sc_wasm_adapter::endpoints! { rewards_distribution ( - depositRoyalties - raffle - claimRewards - computeClaimableAmount - getRaffleId - getCompletedRaffleIdCount - getRoyalties - getNftRewardPercent - getWasClaimed - getSeedNftMinterAddress - getBrackets - getLastRaffleEpoch - getNftTokenId + init => init + depositRoyalties => deposit_royalties + raffle => raffle + claimRewards => claim_rewards + computeClaimableAmount => compute_claimable_amount + getRaffleId => raffle_id + getCompletedRaffleIdCount => completed_raffle_id_count + getRoyalties => royalties + getNftRewardPercent => nft_reward_percent + getWasClaimed => was_claimed + getSeedNftMinterAddress => seed_nft_minter_address + getBrackets => brackets + getLastRaffleEpoch => last_raffle_epoch + getNftTokenId => nft_token_id ) } -multiversx_sc_wasm_adapter::empty_callback! {} +multiversx_sc_wasm_adapter::async_callback_empty! {} diff --git a/contracts/seed-nft-minter/.gitignore b/contracts/seed-nft-minter/.gitignore index 61d019f5..dd49a952 100644 --- a/contracts/seed-nft-minter/.gitignore +++ b/contracts/seed-nft-minter/.gitignore @@ -4,7 +4,7 @@ */target/ # The mxpy output -output +/output*/ # Mandos test trace trace*.scen.json diff --git a/contracts/seed-nft-minter/Cargo.toml b/contracts/seed-nft-minter/Cargo.toml index b5246922..7fd323e9 100644 --- a/contracts/seed-nft-minter/Cargo.toml +++ b/contracts/seed-nft-minter/Cargo.toml @@ -7,10 +7,12 @@ publish = false [lib] path = "src/seed_nft_minter.rs" + [dependencies.multiversx-sc] version = "0.43.3" [dependencies.multiversx-sc-modules] version = "0.43.3" + [dev-dependencies.multiversx-sc-scenario] version = "0.43.3" diff --git a/contracts/seed-nft-minter/meta/Cargo.toml b/contracts/seed-nft-minter/meta/Cargo.toml index 44121bf1..2c4788c2 100644 --- a/contracts/seed-nft-minter/meta/Cargo.toml +++ b/contracts/seed-nft-minter/meta/Cargo.toml @@ -6,6 +6,7 @@ publish = false authors = ["Claudiu-Marcel Bruda "] [dev-dependencies] + [dependencies.seed-nft-minter] path = ".." diff --git a/contracts/seed-nft-minter/wasm/Cargo.lock b/contracts/seed-nft-minter/wasm/Cargo.lock index 02865a82..c08ef1fe 100644 --- a/contracts/seed-nft-minter/wasm/Cargo.lock +++ b/contracts/seed-nft-minter/wasm/Cargo.lock @@ -66,9 +66,7 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfbe80ec68fedf299dd65469f8999cf3c0f884ffa497122428f08303bcb8b884" +version = "0.43.3" dependencies = [ "bitflags", "hashbrown", @@ -80,9 +78,7 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d70ea458247d263b7e9fdfb207530b6a530546247139c162450e515c013a18" +version = "0.18.1" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -90,9 +86,7 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ad6920f80fda67fc60fd51aaa9f83ec7e069470f60a068c81205f9da5d05a30" +version = "0.18.1" dependencies = [ "hex", "proc-macro2", @@ -102,9 +96,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c2b87d817f2176bf1830bef938884f24267516c334a377e71a96bc18ebb09c1" +version = "0.43.3" dependencies = [ "hex", "proc-macro2", @@ -115,18 +107,14 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "704825223788bfdfd622980cae8feedae82609fded5ef5f53af31661d5e02312" +version = "0.43.3" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "932327626de71eeb1dbe86b863cc70cc532f8ceba8e73a059410f6aa56b22a77" +version = "0.43.3" dependencies = [ "multiversx-sc", ] @@ -157,9 +145,9 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.67" +version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" +checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" dependencies = [ "unicode-ident", ] @@ -218,9 +206,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.12" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" [[package]] name = "version_check" diff --git a/contracts/seed-nft-minter/wasm/Cargo.toml b/contracts/seed-nft-minter/wasm/Cargo.toml index b8fd017d..be0815a9 100644 --- a/contracts/seed-nft-minter/wasm/Cargo.toml +++ b/contracts/seed-nft-minter/wasm/Cargo.toml @@ -12,12 +12,14 @@ crate-type = ["cdylib"] members = ["."] [dev-dependencies] + [profile.release] codegen-units = 1 opt-level = "z" lto = true debug = false panic = "abort" + [dependencies.seed-nft-minter] path = ".." diff --git a/contracts/seed-nft-minter/wasm/src/lib.rs b/contracts/seed-nft-minter/wasm/src/lib.rs index cb34c0fc..9f208eaf 100644 --- a/contracts/seed-nft-minter/wasm/src/lib.rs +++ b/contracts/seed-nft-minter/wasm/src/lib.rs @@ -10,6 +10,7 @@ // Total number of exported functions: 11 #![no_std] +#![allow(internal_features)] #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); @@ -18,15 +19,17 @@ multiversx_sc_wasm_adapter::panic_handler!(); multiversx_sc_wasm_adapter::endpoints! { seed_nft_minter ( - createNft - claimAndDistribute - getMarketplaces - getNftCount - getDistributionRules - issueToken - buyNft - getNftPrice - getNftTokenId - callBack + init => init + createNft => create_nft + claimAndDistribute => claim_and_distribute + getMarketplaces => marketplaces + getNftCount => nft_count + getDistributionRules => distribution_rules + issueToken => issue_token + buyNft => buy_nft + getNftPrice => get_nft_price + getNftTokenId => nft_token_id ) } + +multiversx_sc_wasm_adapter::async_callback! { seed_nft_minter } diff --git a/contracts/token-release/.gitignore b/contracts/token-release/.gitignore deleted file mode 100644 index 9494cb14..00000000 --- a/contracts/token-release/.gitignore +++ /dev/null @@ -1,7 +0,0 @@ -# Generated by Cargo -# will have compiled files and executables -/target/ -*/target/ - -# The mxpy output -output diff --git a/contracts/token-release/Cargo.toml b/contracts/token-release/Cargo.toml index 497f5370..f8a4e5dc 100644 --- a/contracts/token-release/Cargo.toml +++ b/contracts/token-release/Cargo.toml @@ -7,7 +7,9 @@ publish = false [lib] path = "src/token_release.rs" + [dependencies.multiversx-sc] version = "0.43.3" + [dev-dependencies.multiversx-sc-scenario] version = "0.43.3" diff --git a/contracts/token-release/meta/Cargo.toml b/contracts/token-release/meta/Cargo.toml index 60fbd012..9fab4e4f 100644 --- a/contracts/token-release/meta/Cargo.toml +++ b/contracts/token-release/meta/Cargo.toml @@ -5,6 +5,7 @@ edition = "2021" publish = false [dev-dependencies] + [dependencies.token-release] path = ".." diff --git a/contracts/token-release/testnet.toml b/contracts/token-release/testnet.toml deleted file mode 100644 index e69de29b..00000000 diff --git a/contracts/token-release/tests/token_release_scenario_go_test.rs b/contracts/token-release/tests/token_release_scenario_go_test.rs index 60fb9764..49614865 100644 --- a/contracts/token-release/tests/token_release_scenario_go_test.rs +++ b/contracts/token-release/tests/token_release_scenario_go_test.rs @@ -1,29 +1,35 @@ +use multiversx_sc_scenario::*; + +fn world() -> ScenarioWorld { + ScenarioWorld::vm_go() +} + #[test] fn test_add_group_go() { - multiversx_sc_scenario::run_go("scenarios/test-add-group.scen.json"); + world().run("scenarios/test-add-group.scen.json"); } #[test] fn test_add_user_go() { - multiversx_sc_scenario::run_go("scenarios/test-add-user.scen.json"); + world().run("scenarios/test-add-user.scen.json"); } #[test] fn test_change_user_go() { - multiversx_sc_scenario::run_go("scenarios/test-change-user.scen.json"); + world().run("scenarios/test-change-user.scen.json"); } #[test] fn test_claim_go() { - multiversx_sc_scenario::run_go("scenarios/test-claim.scen.json"); + world().run("scenarios/test-claim.scen.json"); } #[test] fn test_end_setup_go() { - multiversx_sc_scenario::run_go("scenarios/test-end-setup.scen.json"); + world().run("scenarios/test-end-setup.scen.json"); } #[test] fn test_init_go() { - multiversx_sc_scenario::run_go("scenarios/test-init.scen.json"); + world().run("scenarios/test-init.scen.json"); } diff --git a/contracts/token-release/tests/token_release_scenario_rs_test.rs b/contracts/token-release/tests/token_release_scenario_rs_test.rs index 8bfefb70..ca1a7cad 100644 --- a/contracts/token-release/tests/token_release_scenario_rs_test.rs +++ b/contracts/token-release/tests/token_release_scenario_rs_test.rs @@ -2,7 +2,7 @@ use multiversx_sc_scenario::*; fn world() -> ScenarioWorld { let mut blockchain = ScenarioWorld::new(); - blockchain.set_current_dir_from_workspace("contracts/token-release"); + blockchain.set_current_dir_from_workspace("contracts/examples/token-release"); blockchain.register_contract( "file:output/token-release.wasm", @@ -13,30 +13,30 @@ fn world() -> ScenarioWorld { #[test] fn test_add_group_rs() { - multiversx_sc_scenario::run_rs("scenarios/test-add-group.scen.json", world()); + world().run("scenarios/test-add-group.scen.json"); } #[test] fn test_add_user_rs() { - multiversx_sc_scenario::run_rs("scenarios/test-add-user.scen.json", world()); + world().run("scenarios/test-add-user.scen.json"); } #[test] fn test_change_user_rs() { - multiversx_sc_scenario::run_rs("scenarios/test-change-user.scen.json", world()); + world().run("scenarios/test-change-user.scen.json"); } #[test] fn test_claim_rs() { - multiversx_sc_scenario::run_rs("scenarios/test-claim.scen.json", world()); + world().run("scenarios/test-claim.scen.json"); } #[test] fn test_end_setup_rs() { - multiversx_sc_scenario::run_rs("scenarios/test-end-setup.scen.json", world()); + world().run("scenarios/test-end-setup.scen.json"); } #[test] fn test_init_rs() { - multiversx_sc_scenario::run_rs("scenarios/test-init.scen.json", world()); + world().run("scenarios/test-init.scen.json"); } diff --git a/contracts/token-release/wasm/Cargo.lock b/contracts/token-release/wasm/Cargo.lock index b36475be..c259bb4c 100644 --- a/contracts/token-release/wasm/Cargo.lock +++ b/contracts/token-release/wasm/Cargo.lock @@ -66,9 +66,7 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfbe80ec68fedf299dd65469f8999cf3c0f884ffa497122428f08303bcb8b884" +version = "0.43.3" dependencies = [ "bitflags", "hashbrown", @@ -80,9 +78,7 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d70ea458247d263b7e9fdfb207530b6a530546247139c162450e515c013a18" +version = "0.18.1" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -90,9 +86,7 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ad6920f80fda67fc60fd51aaa9f83ec7e069470f60a068c81205f9da5d05a30" +version = "0.18.1" dependencies = [ "hex", "proc-macro2", @@ -102,9 +96,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c2b87d817f2176bf1830bef938884f24267516c334a377e71a96bc18ebb09c1" +version = "0.43.3" dependencies = [ "hex", "proc-macro2", @@ -115,9 +107,7 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "932327626de71eeb1dbe86b863cc70cc532f8ceba8e73a059410f6aa56b22a77" +version = "0.43.3" dependencies = [ "multiversx-sc", ] @@ -148,9 +138,9 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.67" +version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" +checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" dependencies = [ "unicode-ident", ] @@ -208,9 +198,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.12" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" [[package]] name = "version_check" diff --git a/contracts/token-release/wasm/Cargo.toml b/contracts/token-release/wasm/Cargo.toml index 85e64989..8700a719 100644 --- a/contracts/token-release/wasm/Cargo.toml +++ b/contracts/token-release/wasm/Cargo.toml @@ -9,12 +9,14 @@ publish = false crate-type = ["cdylib"] [workspace] + [profile.release] codegen-units = 1 opt-level = "z" lto = true debug = false panic = "abort" + [dependencies.token-release] path = ".." diff --git a/contracts/token-release/wasm/src/lib.rs b/contracts/token-release/wasm/src/lib.rs index f3520783..05732711 100644 --- a/contracts/token-release/wasm/src/lib.rs +++ b/contracts/token-release/wasm/src/lib.rs @@ -10,6 +10,7 @@ // Total number of exported functions: 15 #![no_std] +#![allow(internal_features)] #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); @@ -18,20 +19,21 @@ multiversx_sc_wasm_adapter::panic_handler!(); multiversx_sc_wasm_adapter::endpoints! { token_release ( - addFixedAmountGroup - addPercentageBasedGroup - removeGroup - addUserGroup - removeUser - requestAddressChange - approveAddressChange - endSetupPeriod - claimTokens - verify_address_change - get_claimable_tokens - getTokenIdentifier - getTokenTotalSupply + init => init + addFixedAmountGroup => add_fixed_amount_group + addPercentageBasedGroup => add_percentage_based_group + removeGroup => remove_group + addUserGroup => add_user_group + removeUser => remove_user + requestAddressChange => request_address_change + approveAddressChange => approve_address_change + endSetupPeriod => end_setup_period + claimTokens => claim_tokens + verify_address_change => verify_address_change + get_claimable_tokens => get_claimable_tokens + getTokenIdentifier => token_identifier + getTokenTotalSupply => token_total_supply ) } -multiversx_sc_wasm_adapter::empty_callback! {} +multiversx_sc_wasm_adapter::async_callback_empty! {} diff --git a/contracts/wegld-swap/.gitignore b/contracts/wegld-swap/.gitignore index 9494cb14..f00d026a 100644 --- a/contracts/wegld-swap/.gitignore +++ b/contracts/wegld-swap/.gitignore @@ -3,5 +3,9 @@ /target/ */target/ +# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries +# More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html +Cargo.lock + # The mxpy output output diff --git a/contracts/wegld-swap/Cargo.toml b/contracts/wegld-swap/Cargo.toml index 764ce54c..2d35ec24 100644 --- a/contracts/wegld-swap/Cargo.toml +++ b/contracts/wegld-swap/Cargo.toml @@ -1,23 +1,29 @@ [package] name = "multiversx-wegld-swap-sc" -version = "0.41.1" -authors = ["Dorin Iancu ", "MultiversX "] +version = "0.43.3" + +authors = [ + "Dorin Iancu ", + "MultiversX ", +] license = "GPL-3.0-only" readme = "README.md" repository = "https://github.com/multiversx/mx-sdk-rs" homepage = "https://multiversx.com/" documentation = "https://docs.multiversx.com/" -description = "Elrond Price aggregator Smart Contract" +description = "MultiversX Wrapped EGLD Smart Contract" keywords = ["multiversx", "wasm", "webassembly", "blockchain", "contract"] categories = ["no-std", "wasm", "cryptography::cryptocurrencies"] edition = "2021" [lib] path = "src/wegld.rs" + [dependencies.multiversx-sc] version = "0.43.3" [dependencies.multiversx-sc-modules] version = "0.43.3" + [dev-dependencies.multiversx-sc-scenario] version = "0.43.3" diff --git a/contracts/wegld-swap/interaction/snippets.sh b/contracts/wegld-swap/interaction/snippets.sh new file mode 100644 index 00000000..0924be51 --- /dev/null +++ b/contracts/wegld-swap/interaction/snippets.sh @@ -0,0 +1,89 @@ +ALICE="~/multiversx-sdk/testwallets/latest/users/alice.pem" +BOB="~/multiversx-sdk/testwallets/latest/users/bob.pem" +ADDRESS=$(mxpy data load --key=address-testnet-egld-esdt-swap) +DEPLOY_TRANSACTION=$(mxpy data load --key=deployTransaction-testnet) +PROXY=https://testnet-gateway.multiversx.com +CHAIN_ID=T + +ESDT_SYSTEM_SC_ADDRESS=erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqzllls8a5w6u + +deploy() { + ###################################################################### + ############################ Update after issue ###################### + ###################################################################### + local WRAPPED_EGLD_TOKEN_ID=0x + + mxpy --verbose contract deploy --project=${PROJECT} --recall-nonce --pem=${ALICE} \ + --gas-limit=100000000 \ + --arguments ${WRAPPED_EGLD_TOKEN_ID} \ + --send --outfile="deploy-testnet.interaction.json" --proxy=${PROXY} --chain=${CHAIN_ID} || return + + TRANSACTION=$(mxpy data parse --file="deploy-testnet.interaction.json" --expression="data['emittedTransactionHash']") + ADDRESS=$(mxpy data parse --file="deploy-testnet.interaction.json" --expression="data['contractAddress']") + + mxpy data store --key=address-testnet --value=${ADDRESS} + mxpy data store --key=deployTransaction-testnet-egld-esdt-swap --value=${TRANSACTION} + + echo "" + echo "Smart contract address: ${ADDRESS}" +} + +upgrade() { + mxpy --verbose contract upgrade ${ADDRESS} --project=${PROJECT} --recall-nonce --pem=${ALICE} \ + --arguments ${WRAPPED_EGLD_TOKEN_ID} --gas-limit=100000000 --outfile="upgrade.json" \ + --send --proxy=${PROXY} --chain=${CHAIN_ID} || return +} + +issueWrappedEgld() { + local TOKEN_DISPLAY_NAME=0x5772617070656445676c64 # "WrappedEgld" + local TOKEN_TICKER=0x5745474c44 # "WEGLD" + local INITIAL_SUPPLY=0x01 # 1 + local NR_DECIMALS=0x12 # 18 + local CAN_ADD_SPECIAL_ROLES=0x63616e4164645370656369616c526f6c6573 # "canAddSpecialRoles" + local TRUE=0x74727565 # "true" + + mxpy --verbose contract call ${ESDT_SYSTEM_SC_ADDRESS} --recall-nonce --pem=${ALICE} \ + --gas-limit=60000000 --value=5000000000000000000 --function="issue" \ + --arguments ${TOKEN_DISPLAY_NAME} ${TOKEN_TICKER} ${INITIAL_SUPPLY} ${NR_DECIMALS} ${CAN_ADD_SPECIAL_ROLES} ${TRUE} \ + --send --proxy=${PROXY} --chain=${CHAIN_ID} +} + +setLocalRoles() { + local LOCAL_MINT_ROLE=0x45534454526f6c654c6f63616c4d696e74 # "ESDTRoleLocalMint" + local LOCAL_BURN_ROLE=0x45534454526f6c654c6f63616c4275726e # "ESDTRoleLocalBurn" + local ADDRESS_HEX = $(mxpy wallet bech32 --decode ${ADDRESS}) + + mxpy --verbose contract call ${ESDT_SYSTEM_SC_ADDRESS} --recall-nonce --pem=${ALICE} \ + --gas-limit=60000000 --function="setSpecialRole" \ + --arguments ${WRAPPED_EGLD_TOKEN_ID} ${ADDRESS_HEX} ${LOCAL_MINT_ROLE} ${LOCAL_BURN_ROLE} \ + --send --proxy=${PROXY} --chain=${CHAIN_ID} +} + +wrapEgldBob() { + mxpy --verbose contract call ${ADDRESS} --recall-nonce --pem=${BOB} \ + --gas-limit=10000000 --value=1000 --function="wrapEgld" \ + --send --proxy=${PROXY} --chain=${CHAIN_ID} +} + +unwrapEgldBob() { + local UNWRAP_EGLD_ENDPOINT=0x756e7772617045676c64 # "unwrapEgld" + local UNWRAP_AMOUNT=0x05 + + getWrappedEgldTokenIdentifier + mxpy --verbose contract call ${ADDRESS} --recall-nonce --pem=${BOB} \ + --gas-limit=10000000 --function="ESDTTransfer" \ + --arguments ${TOKEN_IDENTIFIER} ${UNWRAP_AMOUNT} ${UNWRAP_EGLD_ENDPOINT} \ + --send --proxy=${PROXY} --chain=${CHAIN_ID} +} + +# views + +getWrappedEgldTokenIdentifier() { + local QUERY_OUTPUT=$(mxpy --verbose contract query ${ADDRESS} --function="getWrappedEgldTokenId" --proxy=${PROXY}) + TOKEN_IDENTIFIER=0x$(jq -r '.[0] .hex' <<< "${QUERY_OUTPUT}") + echo "Wrapped eGLD token identifier: ${TOKEN_IDENTIFIER}" +} + +getLockedEgldBalance() { + mxpy --verbose contract query ${ADDRESS} --function="getLockedEgldBalance" --proxy=${PROXY} +} diff --git a/contracts/wegld-swap/meta/Cargo.toml b/contracts/wegld-swap/meta/Cargo.toml index 0ea1ad0b..74063f6a 100644 --- a/contracts/wegld-swap/meta/Cargo.toml +++ b/contracts/wegld-swap/meta/Cargo.toml @@ -6,6 +6,7 @@ edition = "2021" publish = false [dev-dependencies] + [dependencies.multiversx-wegld-swap-sc] path = ".." diff --git a/contracts/wegld-swap/testnet.toml b/contracts/wegld-swap/testnet.toml deleted file mode 100644 index 3020c585..00000000 --- a/contracts/wegld-swap/testnet.toml +++ /dev/null @@ -1,2 +0,0 @@ -[folders] -elrond_go = "/home/elrond/elrond-go" \ No newline at end of file diff --git a/contracts/wegld-swap/tests/scenario_go_test.rs b/contracts/wegld-swap/tests/scenario_go_test.rs index 0a020585..cf896f38 100644 --- a/contracts/wegld-swap/tests/scenario_go_test.rs +++ b/contracts/wegld-swap/tests/scenario_go_test.rs @@ -1,9 +1,15 @@ +use multiversx_sc_scenario::*; + +fn world() -> ScenarioWorld { + ScenarioWorld::vm_go() +} + #[test] fn unwrap_egld_go() { - multiversx_sc_scenario::run_go("scenarios/unwrap_egld.scen.json"); + world().run("scenarios/unwrap_egld.scen.json"); } #[test] fn wrap_egld_go() { - multiversx_sc_scenario::run_go("scenarios/wrap_egld.scen.json"); + world().run("scenarios/wrap_egld.scen.json"); } diff --git a/contracts/wegld-swap/tests/wegld_swap_scenario_rs_test.rs b/contracts/wegld-swap/tests/wegld_swap_scenario_rs_test.rs index cefd7128..29b8456d 100644 --- a/contracts/wegld-swap/tests/wegld_swap_scenario_rs_test.rs +++ b/contracts/wegld-swap/tests/wegld_swap_scenario_rs_test.rs @@ -2,7 +2,7 @@ use multiversx_sc_scenario::*; fn world() -> ScenarioWorld { let mut blockchain = ScenarioWorld::new(); - blockchain.set_current_dir_from_workspace("contracts/wegld-swap"); + blockchain.set_current_dir_from_workspace("contracts/core/wegld-swap"); blockchain.register_contract( "file:output/multiversx-wegld-swap-sc.wasm", @@ -13,10 +13,10 @@ fn world() -> ScenarioWorld { #[test] fn unwrap_egld_rs() { - multiversx_sc_scenario::run_rs("scenarios/unwrap_egld.scen.json", world()); + world().run("scenarios/unwrap_egld.scen.json"); } #[test] fn wrap_egld_rs() { - multiversx_sc_scenario::run_rs("scenarios/wrap_egld.scen.json", world()); + world().run("scenarios/wrap_egld.scen.json"); } diff --git a/contracts/wegld-swap/wasm/Cargo.lock b/contracts/wegld-swap/wasm/Cargo.lock index 3c7b8bf0..69cf9c41 100644 --- a/contracts/wegld-swap/wasm/Cargo.lock +++ b/contracts/wegld-swap/wasm/Cargo.lock @@ -66,9 +66,7 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfbe80ec68fedf299dd65469f8999cf3c0f884ffa497122428f08303bcb8b884" +version = "0.42.0" dependencies = [ "bitflags", "hashbrown", @@ -80,9 +78,7 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d70ea458247d263b7e9fdfb207530b6a530546247139c162450e515c013a18" +version = "0.18.0" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -90,9 +86,7 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ad6920f80fda67fc60fd51aaa9f83ec7e069470f60a068c81205f9da5d05a30" +version = "0.18.0" dependencies = [ "hex", "proc-macro2", @@ -102,9 +96,7 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c2b87d817f2176bf1830bef938884f24267516c334a377e71a96bc18ebb09c1" +version = "0.42.0" dependencies = [ "hex", "proc-macro2", @@ -115,25 +107,21 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "704825223788bfdfd622980cae8feedae82609fded5ef5f53af31661d5e02312" +version = "0.42.0" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "932327626de71eeb1dbe86b863cc70cc532f8ceba8e73a059410f6aa56b22a77" +version = "0.42.0" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-wegld-swap-sc" -version = "0.41.1" +version = "0.42.0" dependencies = [ "multiversx-sc", "multiversx-sc-modules", @@ -173,18 +161,18 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.67" +version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" +checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.33" +version = "1.0.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" +checksum = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965" dependencies = [ "proc-macro2", ] @@ -218,9 +206,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.12" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" [[package]] name = "version_check" diff --git a/contracts/wegld-swap/wasm/Cargo.toml b/contracts/wegld-swap/wasm/Cargo.toml index dab61e65..1b8a4722 100644 --- a/contracts/wegld-swap/wasm/Cargo.toml +++ b/contracts/wegld-swap/wasm/Cargo.toml @@ -12,12 +12,14 @@ crate-type = ["cdylib"] members = ["."] [dev-dependencies] + [profile.release] codegen-units = 1 opt-level = "z" lto = true debug = false panic = "abort" + [dependencies.multiversx-wegld-swap-sc] path = ".." diff --git a/contracts/wegld-swap/wasm/src/lib.rs b/contracts/wegld-swap/wasm/src/lib.rs index d5215134..0f7a9731 100644 --- a/contracts/wegld-swap/wasm/src/lib.rs +++ b/contracts/wegld-swap/wasm/src/lib.rs @@ -10,6 +10,7 @@ // Total number of exported functions: 9 #![no_std] +#![allow(internal_features)] #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); @@ -18,14 +19,15 @@ multiversx_sc_wasm_adapter::panic_handler!(); multiversx_sc_wasm_adapter::endpoints! { multiversx_wegld_swap_sc ( - wrapEgld - unwrapEgld - getLockedEgldBalance - getWrappedEgldTokenId - pause - unpause - isPaused + init => init + wrapEgld => wrap_egld + unwrapEgld => unwrap_egld + getLockedEgldBalance => get_locked_egld_balance + getWrappedEgldTokenId => wrapped_egld_token_id + pause => pause_endpoint + unpause => unpause_endpoint + isPaused => paused_status ) } -multiversx_sc_wasm_adapter::empty_callback! {} +multiversx_sc_wasm_adapter::async_callback_empty! {} From 9145d4c835d0120f55ccbc2d90288012b2f61b21 Mon Sep 17 00:00:00 2001 From: Alin Cruceat Date: Thu, 14 Sep 2023 17:48:59 +0300 Subject: [PATCH 05/14] update skipped toml files --- contracts/adder/meta/Cargo.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/contracts/adder/meta/Cargo.toml b/contracts/adder/meta/Cargo.toml index a3209c18..d92e8a76 100644 --- a/contracts/adder/meta/Cargo.toml +++ b/contracts/adder/meta/Cargo.toml @@ -9,4 +9,3 @@ path = ".." [dependencies.multiversx-sc-meta] version = "0.43.3" -path = "../../../../framework/meta" From e0308764b7e08e0ff0485b21adb8f88bf13b8774 Mon Sep 17 00:00:00 2001 From: Alin Cruceat Date: Fri, 15 Sep 2023 09:49:00 +0300 Subject: [PATCH 06/14] update cargo locks --- contracts/adder/wasm/Cargo.lock | 10 +++++++ contracts/adder/wasm/src/lib.rs | 4 ++- .../bonding-curve-contract/wasm/Cargo.lock | 12 ++++++++ .../bonding-curve-contract/wasm/src/lib.rs | 4 ++- contracts/check-pause/wasm/Cargo.lock | 12 ++++++++ contracts/check-pause/wasm/src/lib.rs | 4 ++- contracts/crowdfunding-esdt/wasm/Cargo.lock | 10 +++++++ contracts/crowdfunding-esdt/wasm/src/lib.rs | 4 ++- contracts/crypto-bubbles/wasm/Cargo.lock | 10 +++++++ contracts/crypto-bubbles/wasm/src/lib.rs | 4 ++- .../kitty-auction/wasm/Cargo.lock | 10 +++++++ .../kitty-auction/wasm/src/lib.rs | 4 ++- .../kitty-genetic-alg/wasm/Cargo.lock | 10 +++++++ .../kitty-genetic-alg/wasm/src/lib.rs | 4 ++- .../kitty-ownership/wasm/Cargo.lock | 10 +++++++ .../kitty-ownership/wasm/src/lib.rs | 4 ++- contracts/crypto-zombies/wasm/Cargo.lock | 10 +++++++ contracts/crypto-zombies/wasm/src/lib.rs | 4 ++- contracts/digital-cash/wasm/Cargo.lock | 10 +++++++ contracts/empty/wasm/Cargo.lock | 10 +++++++ contracts/empty/wasm/src/lib.rs | 4 ++- .../esdt-transfer-with-fee/wasm/Cargo.lock | 10 +++++++ .../esdt-transfer-with-fee/wasm/src/lib.rs | 4 ++- contracts/factorial/wasm/Cargo.lock | 10 +++++++ contracts/factorial/wasm/src/lib.rs | 4 ++- contracts/fractional-nfts/wasm/Cargo.lock | 12 ++++++++ contracts/fractional-nfts/wasm/src/lib.rs | 4 ++- contracts/liquid-locking/wasm/Cargo.lock | 20 ++++++------- contracts/liquid-locking/wasm/src/lib.rs | 30 +++++++++++-------- contracts/lottery-esdt/wasm/Cargo.lock | 10 +++++++ contracts/lottery-esdt/wasm/src/lib.rs | 4 ++- .../multisig/wasm-multisig-full/Cargo.lock | 12 ++++++++ .../multisig/wasm-multisig-full/Cargo.toml | 1 - .../multisig/wasm-multisig-full/src/lib.rs | 4 ++- .../multisig/wasm-multisig-view/Cargo.lock | 12 ++++++++ .../multisig/wasm-multisig-view/Cargo.toml | 1 - .../multisig/wasm-multisig-view/src/lib.rs | 4 ++- contracts/multisig/wasm/Cargo.lock | 12 ++++++++ contracts/multisig/wasm/src/lib.rs | 4 ++- contracts/mystery-box/wasm/Cargo.lock | 24 +++++++-------- contracts/mystery-box/wasm/src/lib.rs | 30 +++++++++++-------- contracts/nft-minter/wasm/Cargo.lock | 10 +++++++ contracts/nft-minter/wasm/src/lib.rs | 4 ++- contracts/nft-storage-prepay/wasm/Cargo.lock | 10 +++++++ contracts/nft-storage-prepay/wasm/src/lib.rs | 4 ++- contracts/order-book/factory/wasm/Cargo.lock | 10 +++++++ contracts/order-book/factory/wasm/src/lib.rs | 4 ++- contracts/order-book/pair/wasm/Cargo.lock | 10 +++++++ contracts/order-book/pair/wasm/src/lib.rs | 4 ++- contracts/ping-pong-egld/wasm/Cargo.lock | 10 +++++++ contracts/ping-pong-egld/wasm/src/lib.rs | 4 ++- contracts/price-aggregator/wasm/Cargo.lock | 12 ++++++++ contracts/price-aggregator/wasm/src/lib.rs | 4 ++- contracts/proxy-pause/wasm/Cargo.lock | 10 +++++++ contracts/proxy-pause/wasm/src/lib.rs | 4 ++- .../rewards-distribution/wasm/Cargo.lock | 12 ++++++++ .../rewards-distribution/wasm/src/lib.rs | 4 ++- contracts/seed-nft-minter/wasm/Cargo.lock | 12 ++++++++ contracts/seed-nft-minter/wasm/src/lib.rs | 4 ++- contracts/token-release/wasm/Cargo.lock | 10 +++++++ contracts/token-release/wasm/src/lib.rs | 4 ++- contracts/wegld-swap/wasm/Cargo.lock | 30 +++++++++++++------ contracts/wegld-swap/wasm/src/lib.rs | 4 ++- 63 files changed, 459 insertions(+), 87 deletions(-) diff --git a/contracts/adder/wasm/Cargo.lock b/contracts/adder/wasm/Cargo.lock index 77838272..759a269e 100755 --- a/contracts/adder/wasm/Cargo.lock +++ b/contracts/adder/wasm/Cargo.lock @@ -82,6 +82,8 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" dependencies = [ "bitflags", "hashbrown", @@ -94,6 +96,8 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f1e15b46c17b87c0c7cdd79b041a4abd7f3a2b45f3c993f6ce38c0f233e82b6" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -102,6 +106,8 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7bc0762cd6d88f8bc54805bc652b042a61cd7fbc2d0a325010f088b78fb2ac" dependencies = [ "hex", "proc-macro2", @@ -112,6 +118,8 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" dependencies = [ "hex", "proc-macro2", @@ -123,6 +131,8 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" dependencies = [ "multiversx-sc", ] diff --git a/contracts/adder/wasm/src/lib.rs b/contracts/adder/wasm/src/lib.rs index 0e883af1..9fef0547 100644 --- a/contracts/adder/wasm/src/lib.rs +++ b/contracts/adder/wasm/src/lib.rs @@ -10,7 +10,9 @@ // Total number of exported functions: 4 #![no_std] -#![allow(internal_features)] + +// Configuration that works with rustc < 1.73.0. +// TODO: Recommended rustc version: 1.73.0 or newer. #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); diff --git a/contracts/bonding-curve-contract/wasm/Cargo.lock b/contracts/bonding-curve-contract/wasm/Cargo.lock index a81fd11f..46268e82 100644 --- a/contracts/bonding-curve-contract/wasm/Cargo.lock +++ b/contracts/bonding-curve-contract/wasm/Cargo.lock @@ -83,6 +83,8 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" dependencies = [ "bitflags", "hashbrown", @@ -95,6 +97,8 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f1e15b46c17b87c0c7cdd79b041a4abd7f3a2b45f3c993f6ce38c0f233e82b6" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -103,6 +107,8 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7bc0762cd6d88f8bc54805bc652b042a61cd7fbc2d0a325010f088b78fb2ac" dependencies = [ "hex", "proc-macro2", @@ -113,6 +119,8 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" dependencies = [ "hex", "proc-macro2", @@ -124,6 +132,8 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5c160745bf0c997146fa816a19fba8a8d0517e99ed30cc514eca0967f2eed74" dependencies = [ "multiversx-sc", ] @@ -131,6 +141,8 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" dependencies = [ "multiversx-sc", ] diff --git a/contracts/bonding-curve-contract/wasm/src/lib.rs b/contracts/bonding-curve-contract/wasm/src/lib.rs index a928dea9..c2e6df33 100644 --- a/contracts/bonding-curve-contract/wasm/src/lib.rs +++ b/contracts/bonding-curve-contract/wasm/src/lib.rs @@ -10,7 +10,9 @@ // Total number of exported functions: 12 #![no_std] -#![allow(internal_features)] + +// Configuration that works with rustc < 1.73.0. +// TODO: Recommended rustc version: 1.73.0 or newer. #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); diff --git a/contracts/check-pause/wasm/Cargo.lock b/contracts/check-pause/wasm/Cargo.lock index 533226d6..564b6b34 100644 --- a/contracts/check-pause/wasm/Cargo.lock +++ b/contracts/check-pause/wasm/Cargo.lock @@ -83,6 +83,8 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" dependencies = [ "bitflags", "hashbrown", @@ -95,6 +97,8 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f1e15b46c17b87c0c7cdd79b041a4abd7f3a2b45f3c993f6ce38c0f233e82b6" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -103,6 +107,8 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7bc0762cd6d88f8bc54805bc652b042a61cd7fbc2d0a325010f088b78fb2ac" dependencies = [ "hex", "proc-macro2", @@ -113,6 +119,8 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" dependencies = [ "hex", "proc-macro2", @@ -124,6 +132,8 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5c160745bf0c997146fa816a19fba8a8d0517e99ed30cc514eca0967f2eed74" dependencies = [ "multiversx-sc", ] @@ -131,6 +141,8 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" dependencies = [ "multiversx-sc", ] diff --git a/contracts/check-pause/wasm/src/lib.rs b/contracts/check-pause/wasm/src/lib.rs index 5b1035ef..5ce44c37 100644 --- a/contracts/check-pause/wasm/src/lib.rs +++ b/contracts/check-pause/wasm/src/lib.rs @@ -10,7 +10,9 @@ // Total number of exported functions: 6 #![no_std] -#![allow(internal_features)] + +// Configuration that works with rustc < 1.73.0. +// TODO: Recommended rustc version: 1.73.0 or newer. #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); diff --git a/contracts/crowdfunding-esdt/wasm/Cargo.lock b/contracts/crowdfunding-esdt/wasm/Cargo.lock index 037db941..799ea679 100644 --- a/contracts/crowdfunding-esdt/wasm/Cargo.lock +++ b/contracts/crowdfunding-esdt/wasm/Cargo.lock @@ -82,6 +82,8 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" dependencies = [ "bitflags", "hashbrown", @@ -94,6 +96,8 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f1e15b46c17b87c0c7cdd79b041a4abd7f3a2b45f3c993f6ce38c0f233e82b6" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -102,6 +106,8 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7bc0762cd6d88f8bc54805bc652b042a61cd7fbc2d0a325010f088b78fb2ac" dependencies = [ "hex", "proc-macro2", @@ -112,6 +118,8 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" dependencies = [ "hex", "proc-macro2", @@ -123,6 +131,8 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" dependencies = [ "multiversx-sc", ] diff --git a/contracts/crowdfunding-esdt/wasm/src/lib.rs b/contracts/crowdfunding-esdt/wasm/src/lib.rs index 76a051b0..44468e83 100644 --- a/contracts/crowdfunding-esdt/wasm/src/lib.rs +++ b/contracts/crowdfunding-esdt/wasm/src/lib.rs @@ -10,7 +10,9 @@ // Total number of exported functions: 10 #![no_std] -#![allow(internal_features)] + +// Configuration that works with rustc < 1.73.0. +// TODO: Recommended rustc version: 1.73.0 or newer. #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); diff --git a/contracts/crypto-bubbles/wasm/Cargo.lock b/contracts/crypto-bubbles/wasm/Cargo.lock index c4cc81c8..77856e2a 100755 --- a/contracts/crypto-bubbles/wasm/Cargo.lock +++ b/contracts/crypto-bubbles/wasm/Cargo.lock @@ -82,6 +82,8 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" dependencies = [ "bitflags", "hashbrown", @@ -94,6 +96,8 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f1e15b46c17b87c0c7cdd79b041a4abd7f3a2b45f3c993f6ce38c0f233e82b6" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -102,6 +106,8 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7bc0762cd6d88f8bc54805bc652b042a61cd7fbc2d0a325010f088b78fb2ac" dependencies = [ "hex", "proc-macro2", @@ -112,6 +118,8 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" dependencies = [ "hex", "proc-macro2", @@ -123,6 +131,8 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" dependencies = [ "multiversx-sc", ] diff --git a/contracts/crypto-bubbles/wasm/src/lib.rs b/contracts/crypto-bubbles/wasm/src/lib.rs index fb1892a8..addf606a 100644 --- a/contracts/crypto-bubbles/wasm/src/lib.rs +++ b/contracts/crypto-bubbles/wasm/src/lib.rs @@ -10,7 +10,9 @@ // Total number of exported functions: 8 #![no_std] -#![allow(internal_features)] + +// Configuration that works with rustc < 1.73.0. +// TODO: Recommended rustc version: 1.73.0 or newer. #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); diff --git a/contracts/crypto-kitties/kitty-auction/wasm/Cargo.lock b/contracts/crypto-kitties/kitty-auction/wasm/Cargo.lock index cf6d3a44..baa170bd 100755 --- a/contracts/crypto-kitties/kitty-auction/wasm/Cargo.lock +++ b/contracts/crypto-kitties/kitty-auction/wasm/Cargo.lock @@ -111,6 +111,8 @@ dependencies = [ [[package]] name = "multiversx-sc" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" dependencies = [ "bitflags", "hashbrown", @@ -123,6 +125,8 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f1e15b46c17b87c0c7cdd79b041a4abd7f3a2b45f3c993f6ce38c0f233e82b6" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -131,6 +135,8 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7bc0762cd6d88f8bc54805bc652b042a61cd7fbc2d0a325010f088b78fb2ac" dependencies = [ "hex", "proc-macro2", @@ -141,6 +147,8 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" dependencies = [ "hex", "proc-macro2", @@ -152,6 +160,8 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" dependencies = [ "multiversx-sc", ] diff --git a/contracts/crypto-kitties/kitty-auction/wasm/src/lib.rs b/contracts/crypto-kitties/kitty-auction/wasm/src/lib.rs index 5ee16c68..d4dc345a 100644 --- a/contracts/crypto-kitties/kitty-auction/wasm/src/lib.rs +++ b/contracts/crypto-kitties/kitty-auction/wasm/src/lib.rs @@ -10,7 +10,9 @@ // Total number of exported functions: 11 #![no_std] -#![allow(internal_features)] + +// Configuration that works with rustc < 1.73.0. +// TODO: Recommended rustc version: 1.73.0 or newer. #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); diff --git a/contracts/crypto-kitties/kitty-genetic-alg/wasm/Cargo.lock b/contracts/crypto-kitties/kitty-genetic-alg/wasm/Cargo.lock index 8c7a3c5b..da06b872 100755 --- a/contracts/crypto-kitties/kitty-genetic-alg/wasm/Cargo.lock +++ b/contracts/crypto-kitties/kitty-genetic-alg/wasm/Cargo.lock @@ -92,6 +92,8 @@ dependencies = [ [[package]] name = "multiversx-sc" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" dependencies = [ "bitflags", "hashbrown", @@ -104,6 +106,8 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f1e15b46c17b87c0c7cdd79b041a4abd7f3a2b45f3c993f6ce38c0f233e82b6" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -112,6 +116,8 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7bc0762cd6d88f8bc54805bc652b042a61cd7fbc2d0a325010f088b78fb2ac" dependencies = [ "hex", "proc-macro2", @@ -122,6 +128,8 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" dependencies = [ "hex", "proc-macro2", @@ -133,6 +141,8 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" dependencies = [ "multiversx-sc", ] diff --git a/contracts/crypto-kitties/kitty-genetic-alg/wasm/src/lib.rs b/contracts/crypto-kitties/kitty-genetic-alg/wasm/src/lib.rs index 9b1df239..8f754d1c 100644 --- a/contracts/crypto-kitties/kitty-genetic-alg/wasm/src/lib.rs +++ b/contracts/crypto-kitties/kitty-genetic-alg/wasm/src/lib.rs @@ -10,7 +10,9 @@ // Total number of exported functions: 3 #![no_std] -#![allow(internal_features)] + +// Configuration that works with rustc < 1.73.0. +// TODO: Recommended rustc version: 1.73.0 or newer. #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); diff --git a/contracts/crypto-kitties/kitty-ownership/wasm/Cargo.lock b/contracts/crypto-kitties/kitty-ownership/wasm/Cargo.lock index bd9b1910..36708f40 100755 --- a/contracts/crypto-kitties/kitty-ownership/wasm/Cargo.lock +++ b/contracts/crypto-kitties/kitty-ownership/wasm/Cargo.lock @@ -102,6 +102,8 @@ dependencies = [ [[package]] name = "multiversx-sc" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" dependencies = [ "bitflags", "hashbrown", @@ -114,6 +116,8 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f1e15b46c17b87c0c7cdd79b041a4abd7f3a2b45f3c993f6ce38c0f233e82b6" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -122,6 +126,8 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7bc0762cd6d88f8bc54805bc652b042a61cd7fbc2d0a325010f088b78fb2ac" dependencies = [ "hex", "proc-macro2", @@ -132,6 +138,8 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" dependencies = [ "hex", "proc-macro2", @@ -143,6 +151,8 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" dependencies = [ "multiversx-sc", ] diff --git a/contracts/crypto-kitties/kitty-ownership/wasm/src/lib.rs b/contracts/crypto-kitties/kitty-ownership/wasm/src/lib.rs index 56f84bce..f739b7ee 100644 --- a/contracts/crypto-kitties/kitty-ownership/wasm/src/lib.rs +++ b/contracts/crypto-kitties/kitty-ownership/wasm/src/lib.rs @@ -10,7 +10,9 @@ // Total number of exported functions: 23 #![no_std] -#![allow(internal_features)] + +// Configuration that works with rustc < 1.73.0. +// TODO: Recommended rustc version: 1.73.0 or newer. #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); diff --git a/contracts/crypto-zombies/wasm/Cargo.lock b/contracts/crypto-zombies/wasm/Cargo.lock index 1e26ef40..1ccc8d10 100755 --- a/contracts/crypto-zombies/wasm/Cargo.lock +++ b/contracts/crypto-zombies/wasm/Cargo.lock @@ -82,6 +82,8 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" dependencies = [ "bitflags", "hashbrown", @@ -94,6 +96,8 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f1e15b46c17b87c0c7cdd79b041a4abd7f3a2b45f3c993f6ce38c0f233e82b6" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -102,6 +106,8 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7bc0762cd6d88f8bc54805bc652b042a61cd7fbc2d0a325010f088b78fb2ac" dependencies = [ "hex", "proc-macro2", @@ -112,6 +118,8 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" dependencies = [ "hex", "proc-macro2", @@ -123,6 +131,8 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" dependencies = [ "multiversx-sc", ] diff --git a/contracts/crypto-zombies/wasm/src/lib.rs b/contracts/crypto-zombies/wasm/src/lib.rs index 91106fdb..b6dcbb65 100644 --- a/contracts/crypto-zombies/wasm/src/lib.rs +++ b/contracts/crypto-zombies/wasm/src/lib.rs @@ -10,7 +10,9 @@ // Total number of exported functions: 19 #![no_std] -#![allow(internal_features)] + +// Configuration that works with rustc < 1.73.0. +// TODO: Recommended rustc version: 1.73.0 or newer. #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); diff --git a/contracts/digital-cash/wasm/Cargo.lock b/contracts/digital-cash/wasm/Cargo.lock index 30d389f9..7143f36c 100644 --- a/contracts/digital-cash/wasm/Cargo.lock +++ b/contracts/digital-cash/wasm/Cargo.lock @@ -82,6 +82,8 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" dependencies = [ "bitflags", "hashbrown", @@ -94,6 +96,8 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f1e15b46c17b87c0c7cdd79b041a4abd7f3a2b45f3c993f6ce38c0f233e82b6" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -102,6 +106,8 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7bc0762cd6d88f8bc54805bc652b042a61cd7fbc2d0a325010f088b78fb2ac" dependencies = [ "hex", "proc-macro2", @@ -112,6 +118,8 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" dependencies = [ "hex", "proc-macro2", @@ -123,6 +131,8 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" dependencies = [ "multiversx-sc", ] diff --git a/contracts/empty/wasm/Cargo.lock b/contracts/empty/wasm/Cargo.lock index 5ab4989f..eb1217c8 100755 --- a/contracts/empty/wasm/Cargo.lock +++ b/contracts/empty/wasm/Cargo.lock @@ -82,6 +82,8 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" dependencies = [ "bitflags", "hashbrown", @@ -94,6 +96,8 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f1e15b46c17b87c0c7cdd79b041a4abd7f3a2b45f3c993f6ce38c0f233e82b6" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -102,6 +106,8 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7bc0762cd6d88f8bc54805bc652b042a61cd7fbc2d0a325010f088b78fb2ac" dependencies = [ "hex", "proc-macro2", @@ -112,6 +118,8 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" dependencies = [ "hex", "proc-macro2", @@ -123,6 +131,8 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" dependencies = [ "multiversx-sc", ] diff --git a/contracts/empty/wasm/src/lib.rs b/contracts/empty/wasm/src/lib.rs index 8ea5e5e0..0f1e581e 100644 --- a/contracts/empty/wasm/src/lib.rs +++ b/contracts/empty/wasm/src/lib.rs @@ -10,7 +10,9 @@ // Total number of exported functions: 2 #![no_std] -#![allow(internal_features)] + +// Configuration that works with rustc < 1.73.0. +// TODO: Recommended rustc version: 1.73.0 or newer. #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); diff --git a/contracts/esdt-transfer-with-fee/wasm/Cargo.lock b/contracts/esdt-transfer-with-fee/wasm/Cargo.lock index a4eae179..eb7b9c56 100644 --- a/contracts/esdt-transfer-with-fee/wasm/Cargo.lock +++ b/contracts/esdt-transfer-with-fee/wasm/Cargo.lock @@ -82,6 +82,8 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" dependencies = [ "bitflags", "hashbrown", @@ -94,6 +96,8 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f1e15b46c17b87c0c7cdd79b041a4abd7f3a2b45f3c993f6ce38c0f233e82b6" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -102,6 +106,8 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7bc0762cd6d88f8bc54805bc652b042a61cd7fbc2d0a325010f088b78fb2ac" dependencies = [ "hex", "proc-macro2", @@ -112,6 +118,8 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" dependencies = [ "hex", "proc-macro2", @@ -123,6 +131,8 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" dependencies = [ "multiversx-sc", ] diff --git a/contracts/esdt-transfer-with-fee/wasm/src/lib.rs b/contracts/esdt-transfer-with-fee/wasm/src/lib.rs index de7a8669..62d43c3c 100644 --- a/contracts/esdt-transfer-with-fee/wasm/src/lib.rs +++ b/contracts/esdt-transfer-with-fee/wasm/src/lib.rs @@ -10,7 +10,9 @@ // Total number of exported functions: 8 #![no_std] -#![allow(internal_features)] + +// Configuration that works with rustc < 1.73.0. +// TODO: Recommended rustc version: 1.73.0 or newer. #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); diff --git a/contracts/factorial/wasm/Cargo.lock b/contracts/factorial/wasm/Cargo.lock index 9a6fd914..303efb85 100755 --- a/contracts/factorial/wasm/Cargo.lock +++ b/contracts/factorial/wasm/Cargo.lock @@ -82,6 +82,8 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" dependencies = [ "bitflags", "hashbrown", @@ -94,6 +96,8 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f1e15b46c17b87c0c7cdd79b041a4abd7f3a2b45f3c993f6ce38c0f233e82b6" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -102,6 +106,8 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7bc0762cd6d88f8bc54805bc652b042a61cd7fbc2d0a325010f088b78fb2ac" dependencies = [ "hex", "proc-macro2", @@ -112,6 +118,8 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" dependencies = [ "hex", "proc-macro2", @@ -123,6 +131,8 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" dependencies = [ "multiversx-sc", ] diff --git a/contracts/factorial/wasm/src/lib.rs b/contracts/factorial/wasm/src/lib.rs index 7fe4c70e..9f564de4 100644 --- a/contracts/factorial/wasm/src/lib.rs +++ b/contracts/factorial/wasm/src/lib.rs @@ -10,7 +10,9 @@ // Total number of exported functions: 3 #![no_std] -#![allow(internal_features)] + +// Configuration that works with rustc < 1.73.0. +// TODO: Recommended rustc version: 1.73.0 or newer. #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); diff --git a/contracts/fractional-nfts/wasm/Cargo.lock b/contracts/fractional-nfts/wasm/Cargo.lock index 5c869075..a1d06149 100644 --- a/contracts/fractional-nfts/wasm/Cargo.lock +++ b/contracts/fractional-nfts/wasm/Cargo.lock @@ -83,6 +83,8 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" dependencies = [ "bitflags", "hashbrown", @@ -95,6 +97,8 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f1e15b46c17b87c0c7cdd79b041a4abd7f3a2b45f3c993f6ce38c0f233e82b6" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -103,6 +107,8 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7bc0762cd6d88f8bc54805bc652b042a61cd7fbc2d0a325010f088b78fb2ac" dependencies = [ "hex", "proc-macro2", @@ -113,6 +119,8 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" dependencies = [ "hex", "proc-macro2", @@ -124,6 +132,8 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5c160745bf0c997146fa816a19fba8a8d0517e99ed30cc514eca0967f2eed74" dependencies = [ "multiversx-sc", ] @@ -131,6 +141,8 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" dependencies = [ "multiversx-sc", ] diff --git a/contracts/fractional-nfts/wasm/src/lib.rs b/contracts/fractional-nfts/wasm/src/lib.rs index dfbe6796..59e4a11f 100644 --- a/contracts/fractional-nfts/wasm/src/lib.rs +++ b/contracts/fractional-nfts/wasm/src/lib.rs @@ -10,7 +10,9 @@ // Total number of exported functions: 6 #![no_std] -#![allow(internal_features)] + +// Configuration that works with rustc < 1.73.0. +// TODO: Recommended rustc version: 1.73.0 or newer. #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); diff --git a/contracts/liquid-locking/wasm/Cargo.lock b/contracts/liquid-locking/wasm/Cargo.lock index 9f962cfc..11ce02b9 100644 --- a/contracts/liquid-locking/wasm/Cargo.lock +++ b/contracts/liquid-locking/wasm/Cargo.lock @@ -81,9 +81,9 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.41.3" +version = "0.43.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfbe80ec68fedf299dd65469f8999cf3c0f884ffa497122428f08303bcb8b884" +checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" dependencies = [ "bitflags", "hashbrown", @@ -95,9 +95,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.17.2" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d70ea458247d263b7e9fdfb207530b6a530546247139c162450e515c013a18" +checksum = "0f1e15b46c17b87c0c7cdd79b041a4abd7f3a2b45f3c993f6ce38c0f233e82b6" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -105,9 +105,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.17.2" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ad6920f80fda67fc60fd51aaa9f83ec7e069470f60a068c81205f9da5d05a30" +checksum = "9a7bc0762cd6d88f8bc54805bc652b042a61cd7fbc2d0a325010f088b78fb2ac" dependencies = [ "hex", "proc-macro2", @@ -117,9 +117,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.41.3" +version = "0.43.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c2b87d817f2176bf1830bef938884f24267516c334a377e71a96bc18ebb09c1" +checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" dependencies = [ "hex", "proc-macro2", @@ -130,9 +130,9 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.41.3" +version = "0.43.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "932327626de71eeb1dbe86b863cc70cc532f8ceba8e73a059410f6aa56b22a77" +checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" dependencies = [ "multiversx-sc", ] diff --git a/contracts/liquid-locking/wasm/src/lib.rs b/contracts/liquid-locking/wasm/src/lib.rs index c2fbe446..17c7c47d 100644 --- a/contracts/liquid-locking/wasm/src/lib.rs +++ b/contracts/liquid-locking/wasm/src/lib.rs @@ -10,6 +10,9 @@ // Total number of exported functions: 14 #![no_std] + +// Configuration that works with rustc < 1.73.0. +// TODO: Recommended rustc version: 1.73.0 or newer. #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); @@ -18,19 +21,20 @@ multiversx_sc_wasm_adapter::panic_handler!(); multiversx_sc_wasm_adapter::endpoints! { liquid_locking ( - set_unbond_period - whitelist_token - blacklist_token - lock - unlock - unbond - lockedTokenAmounts - unlockedTokenAmounts - lockedTokens - unlockedTokens - whitelistedTokens - unbondPeriod + init => init + set_unbond_period => set_unbond_period + whitelist_token => whitelist_token + blacklist_token => blacklist_token + lock => lock + unlock => unlock + unbond => unbond + lockedTokenAmounts => locked_token_amounts_by_address + unlockedTokenAmounts => unlocked_token_by_address + lockedTokens => locked_tokens + unlockedTokens => unlocked_tokens + whitelistedTokens => token_whitelist + unbondPeriod => unbond_period ) } -multiversx_sc_wasm_adapter::empty_callback! {} +multiversx_sc_wasm_adapter::async_callback_empty! {} diff --git a/contracts/lottery-esdt/wasm/Cargo.lock b/contracts/lottery-esdt/wasm/Cargo.lock index f3deac1b..4a446e89 100755 --- a/contracts/lottery-esdt/wasm/Cargo.lock +++ b/contracts/lottery-esdt/wasm/Cargo.lock @@ -82,6 +82,8 @@ dependencies = [ [[package]] name = "multiversx-sc" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" dependencies = [ "bitflags", "hashbrown", @@ -94,6 +96,8 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f1e15b46c17b87c0c7cdd79b041a4abd7f3a2b45f3c993f6ce38c0f233e82b6" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -102,6 +106,8 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7bc0762cd6d88f8bc54805bc652b042a61cd7fbc2d0a325010f088b78fb2ac" dependencies = [ "hex", "proc-macro2", @@ -112,6 +118,8 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" dependencies = [ "hex", "proc-macro2", @@ -123,6 +131,8 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" dependencies = [ "multiversx-sc", ] diff --git a/contracts/lottery-esdt/wasm/src/lib.rs b/contracts/lottery-esdt/wasm/src/lib.rs index b7945ea6..9e429a0c 100644 --- a/contracts/lottery-esdt/wasm/src/lib.rs +++ b/contracts/lottery-esdt/wasm/src/lib.rs @@ -10,7 +10,9 @@ // Total number of exported functions: 9 #![no_std] -#![allow(internal_features)] + +// Configuration that works with rustc < 1.73.0. +// TODO: Recommended rustc version: 1.73.0 or newer. #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); diff --git a/contracts/multisig/wasm-multisig-full/Cargo.lock b/contracts/multisig/wasm-multisig-full/Cargo.lock index 9a9cb183..3651d93f 100644 --- a/contracts/multisig/wasm-multisig-full/Cargo.lock +++ b/contracts/multisig/wasm-multisig-full/Cargo.lock @@ -83,6 +83,8 @@ dependencies = [ [[package]] name = "multiversx-sc" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" dependencies = [ "bitflags", "hashbrown", @@ -95,6 +97,8 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f1e15b46c17b87c0c7cdd79b041a4abd7f3a2b45f3c993f6ce38c0f233e82b6" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -103,6 +107,8 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7bc0762cd6d88f8bc54805bc652b042a61cd7fbc2d0a325010f088b78fb2ac" dependencies = [ "hex", "proc-macro2", @@ -113,6 +119,8 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" dependencies = [ "hex", "proc-macro2", @@ -124,6 +132,8 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5c160745bf0c997146fa816a19fba8a8d0517e99ed30cc514eca0967f2eed74" dependencies = [ "multiversx-sc", ] @@ -131,6 +141,8 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" dependencies = [ "multiversx-sc", ] diff --git a/contracts/multisig/wasm-multisig-full/Cargo.toml b/contracts/multisig/wasm-multisig-full/Cargo.toml index 5ae4b81a..47e39ec0 100644 --- a/contracts/multisig/wasm-multisig-full/Cargo.toml +++ b/contracts/multisig/wasm-multisig-full/Cargo.toml @@ -18,7 +18,6 @@ path = ".." [dependencies.multiversx-sc-wasm-adapter] version = "0.43.3" -path = "../../../../framework/wasm-adapter" [workspace] members = ["."] diff --git a/contracts/multisig/wasm-multisig-full/src/lib.rs b/contracts/multisig/wasm-multisig-full/src/lib.rs index bb8eaffb..f06f1be4 100644 --- a/contracts/multisig/wasm-multisig-full/src/lib.rs +++ b/contracts/multisig/wasm-multisig-full/src/lib.rs @@ -10,7 +10,9 @@ // Total number of exported functions: 30 #![no_std] -#![allow(internal_features)] + +// Configuration that works with rustc < 1.73.0. +// TODO: Recommended rustc version: 1.73.0 or newer. #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); diff --git a/contracts/multisig/wasm-multisig-view/Cargo.lock b/contracts/multisig/wasm-multisig-view/Cargo.lock index 996a48e0..94b43743 100644 --- a/contracts/multisig/wasm-multisig-view/Cargo.lock +++ b/contracts/multisig/wasm-multisig-view/Cargo.lock @@ -83,6 +83,8 @@ dependencies = [ [[package]] name = "multiversx-sc" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" dependencies = [ "bitflags", "hashbrown", @@ -95,6 +97,8 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f1e15b46c17b87c0c7cdd79b041a4abd7f3a2b45f3c993f6ce38c0f233e82b6" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -103,6 +107,8 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7bc0762cd6d88f8bc54805bc652b042a61cd7fbc2d0a325010f088b78fb2ac" dependencies = [ "hex", "proc-macro2", @@ -113,6 +119,8 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" dependencies = [ "hex", "proc-macro2", @@ -124,6 +132,8 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5c160745bf0c997146fa816a19fba8a8d0517e99ed30cc514eca0967f2eed74" dependencies = [ "multiversx-sc", ] @@ -131,6 +141,8 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" dependencies = [ "multiversx-sc", ] diff --git a/contracts/multisig/wasm-multisig-view/Cargo.toml b/contracts/multisig/wasm-multisig-view/Cargo.toml index 6765c0a2..99b0f307 100644 --- a/contracts/multisig/wasm-multisig-view/Cargo.toml +++ b/contracts/multisig/wasm-multisig-view/Cargo.toml @@ -18,7 +18,6 @@ path = ".." [dependencies.multiversx-sc-wasm-adapter] version = "0.43.3" -path = "../../../../framework/wasm-adapter" [workspace] members = ["."] diff --git a/contracts/multisig/wasm-multisig-view/src/lib.rs b/contracts/multisig/wasm-multisig-view/src/lib.rs index d547fe64..baa49197 100644 --- a/contracts/multisig/wasm-multisig-view/src/lib.rs +++ b/contracts/multisig/wasm-multisig-view/src/lib.rs @@ -10,7 +10,9 @@ // Total number of exported functions: 10 #![no_std] -#![allow(internal_features)] + +// Configuration that works with rustc < 1.73.0. +// TODO: Recommended rustc version: 1.73.0 or newer. #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); diff --git a/contracts/multisig/wasm/Cargo.lock b/contracts/multisig/wasm/Cargo.lock index 50d624f1..d4068080 100755 --- a/contracts/multisig/wasm/Cargo.lock +++ b/contracts/multisig/wasm/Cargo.lock @@ -83,6 +83,8 @@ dependencies = [ [[package]] name = "multiversx-sc" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" dependencies = [ "bitflags", "hashbrown", @@ -95,6 +97,8 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f1e15b46c17b87c0c7cdd79b041a4abd7f3a2b45f3c993f6ce38c0f233e82b6" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -103,6 +107,8 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7bc0762cd6d88f8bc54805bc652b042a61cd7fbc2d0a325010f088b78fb2ac" dependencies = [ "hex", "proc-macro2", @@ -113,6 +119,8 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" dependencies = [ "hex", "proc-macro2", @@ -124,6 +132,8 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5c160745bf0c997146fa816a19fba8a8d0517e99ed30cc514eca0967f2eed74" dependencies = [ "multiversx-sc", ] @@ -131,6 +141,8 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" dependencies = [ "multiversx-sc", ] diff --git a/contracts/multisig/wasm/src/lib.rs b/contracts/multisig/wasm/src/lib.rs index 2a9774d8..d62dd3d4 100644 --- a/contracts/multisig/wasm/src/lib.rs +++ b/contracts/multisig/wasm/src/lib.rs @@ -10,7 +10,9 @@ // Total number of exported functions: 22 #![no_std] -#![allow(internal_features)] + +// Configuration that works with rustc < 1.73.0. +// TODO: Recommended rustc version: 1.73.0 or newer. #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); diff --git a/contracts/mystery-box/wasm/Cargo.lock b/contracts/mystery-box/wasm/Cargo.lock index e7e78657..6e86f9e0 100644 --- a/contracts/mystery-box/wasm/Cargo.lock +++ b/contracts/mystery-box/wasm/Cargo.lock @@ -66,9 +66,9 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" -version = "0.41.3" +version = "0.43.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfbe80ec68fedf299dd65469f8999cf3c0f884ffa497122428f08303bcb8b884" +checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" dependencies = [ "bitflags", "hashbrown", @@ -80,9 +80,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.17.2" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d70ea458247d263b7e9fdfb207530b6a530546247139c162450e515c013a18" +checksum = "0f1e15b46c17b87c0c7cdd79b041a4abd7f3a2b45f3c993f6ce38c0f233e82b6" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -90,9 +90,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.17.2" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ad6920f80fda67fc60fd51aaa9f83ec7e069470f60a068c81205f9da5d05a30" +checksum = "9a7bc0762cd6d88f8bc54805bc652b042a61cd7fbc2d0a325010f088b78fb2ac" dependencies = [ "hex", "proc-macro2", @@ -102,9 +102,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.41.3" +version = "0.43.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c2b87d817f2176bf1830bef938884f24267516c334a377e71a96bc18ebb09c1" +checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" dependencies = [ "hex", "proc-macro2", @@ -115,18 +115,18 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.41.3" +version = "0.43.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "704825223788bfdfd622980cae8feedae82609fded5ef5f53af31661d5e02312" +checksum = "e5c160745bf0c997146fa816a19fba8a8d0517e99ed30cc514eca0967f2eed74" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.41.3" +version = "0.43.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "932327626de71eeb1dbe86b863cc70cc532f8ceba8e73a059410f6aa56b22a77" +checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" dependencies = [ "multiversx-sc", ] diff --git a/contracts/mystery-box/wasm/src/lib.rs b/contracts/mystery-box/wasm/src/lib.rs index aeb81d7a..adea64ba 100644 --- a/contracts/mystery-box/wasm/src/lib.rs +++ b/contracts/mystery-box/wasm/src/lib.rs @@ -10,6 +10,9 @@ // Total number of exported functions: 14 #![no_std] + +// Configuration that works with rustc < 1.73.0. +// TODO: Recommended rustc version: 1.73.0 or newer. #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); @@ -18,19 +21,20 @@ multiversx_sc_wasm_adapter::panic_handler!(); multiversx_sc_wasm_adapter::endpoints! { mystery_box ( - setupMysteryBox - updateMysteryBoxUris - createMysteryBox - openMysteryBox - getMysteryBoxTokenIdentifier - getGlobalCooldownEpoch - getWinningRates - getMysteryBoxUris - isAdmin - addAdmin - removeAdmin - getAdmins + init => init + setupMysteryBox => setup_mystery_box + updateMysteryBoxUris => update_mystery_box_uris + createMysteryBox => create_mystery_box + openMysteryBox => open_mystery_box + getMysteryBoxTokenIdentifier => mystery_box_token_id + getGlobalCooldownEpoch => global_cooldown_epoch + getWinningRates => winning_rates + getMysteryBoxUris => mystery_box_uris + isAdmin => is_admin + addAdmin => add_admin + removeAdmin => remove_admin + getAdmins => admins ) } -multiversx_sc_wasm_adapter::empty_callback! {} +multiversx_sc_wasm_adapter::async_callback_empty! {} diff --git a/contracts/nft-minter/wasm/Cargo.lock b/contracts/nft-minter/wasm/Cargo.lock index 16f6ea5a..b5ab800f 100644 --- a/contracts/nft-minter/wasm/Cargo.lock +++ b/contracts/nft-minter/wasm/Cargo.lock @@ -67,6 +67,8 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" dependencies = [ "bitflags", "hashbrown", @@ -79,6 +81,8 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f1e15b46c17b87c0c7cdd79b041a4abd7f3a2b45f3c993f6ce38c0f233e82b6" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -87,6 +91,8 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7bc0762cd6d88f8bc54805bc652b042a61cd7fbc2d0a325010f088b78fb2ac" dependencies = [ "hex", "proc-macro2", @@ -97,6 +103,8 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" dependencies = [ "hex", "proc-macro2", @@ -108,6 +116,8 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" dependencies = [ "multiversx-sc", ] diff --git a/contracts/nft-minter/wasm/src/lib.rs b/contracts/nft-minter/wasm/src/lib.rs index d3630166..97063eb7 100644 --- a/contracts/nft-minter/wasm/src/lib.rs +++ b/contracts/nft-minter/wasm/src/lib.rs @@ -10,7 +10,9 @@ // Total number of exported functions: 8 #![no_std] -#![allow(internal_features)] + +// Configuration that works with rustc < 1.73.0. +// TODO: Recommended rustc version: 1.73.0 or newer. #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); diff --git a/contracts/nft-storage-prepay/wasm/Cargo.lock b/contracts/nft-storage-prepay/wasm/Cargo.lock index be379c90..edf68e71 100755 --- a/contracts/nft-storage-prepay/wasm/Cargo.lock +++ b/contracts/nft-storage-prepay/wasm/Cargo.lock @@ -67,6 +67,8 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" dependencies = [ "bitflags", "hashbrown", @@ -79,6 +81,8 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f1e15b46c17b87c0c7cdd79b041a4abd7f3a2b45f3c993f6ce38c0f233e82b6" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -87,6 +91,8 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7bc0762cd6d88f8bc54805bc652b042a61cd7fbc2d0a325010f088b78fb2ac" dependencies = [ "hex", "proc-macro2", @@ -97,6 +103,8 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" dependencies = [ "hex", "proc-macro2", @@ -108,6 +116,8 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" dependencies = [ "multiversx-sc", ] diff --git a/contracts/nft-storage-prepay/wasm/src/lib.rs b/contracts/nft-storage-prepay/wasm/src/lib.rs index c69fe1b0..6541f8b9 100644 --- a/contracts/nft-storage-prepay/wasm/src/lib.rs +++ b/contracts/nft-storage-prepay/wasm/src/lib.rs @@ -10,7 +10,9 @@ // Total number of exported functions: 10 #![no_std] -#![allow(internal_features)] + +// Configuration that works with rustc < 1.73.0. +// TODO: Recommended rustc version: 1.73.0 or newer. #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); diff --git a/contracts/order-book/factory/wasm/Cargo.lock b/contracts/order-book/factory/wasm/Cargo.lock index 83802a97..4c5f308f 100644 --- a/contracts/order-book/factory/wasm/Cargo.lock +++ b/contracts/order-book/factory/wasm/Cargo.lock @@ -67,6 +67,8 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" dependencies = [ "bitflags", "hashbrown", @@ -79,6 +81,8 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f1e15b46c17b87c0c7cdd79b041a4abd7f3a2b45f3c993f6ce38c0f233e82b6" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -87,6 +91,8 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7bc0762cd6d88f8bc54805bc652b042a61cd7fbc2d0a325010f088b78fb2ac" dependencies = [ "hex", "proc-macro2", @@ -97,6 +103,8 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" dependencies = [ "hex", "proc-macro2", @@ -108,6 +116,8 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" dependencies = [ "multiversx-sc", ] diff --git a/contracts/order-book/factory/wasm/src/lib.rs b/contracts/order-book/factory/wasm/src/lib.rs index b4a18ef5..58288a47 100644 --- a/contracts/order-book/factory/wasm/src/lib.rs +++ b/contracts/order-book/factory/wasm/src/lib.rs @@ -10,7 +10,9 @@ // Total number of exported functions: 4 #![no_std] -#![allow(internal_features)] + +// Configuration that works with rustc < 1.73.0. +// TODO: Recommended rustc version: 1.73.0 or newer. #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); diff --git a/contracts/order-book/pair/wasm/Cargo.lock b/contracts/order-book/pair/wasm/Cargo.lock index c8f9338f..74fe4a20 100644 --- a/contracts/order-book/pair/wasm/Cargo.lock +++ b/contracts/order-book/pair/wasm/Cargo.lock @@ -67,6 +67,8 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" dependencies = [ "bitflags", "hashbrown", @@ -79,6 +81,8 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f1e15b46c17b87c0c7cdd79b041a4abd7f3a2b45f3c993f6ce38c0f233e82b6" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -87,6 +91,8 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7bc0762cd6d88f8bc54805bc652b042a61cd7fbc2d0a325010f088b78fb2ac" dependencies = [ "hex", "proc-macro2", @@ -97,6 +103,8 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" dependencies = [ "hex", "proc-macro2", @@ -108,6 +116,8 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" dependencies = [ "multiversx-sc", ] diff --git a/contracts/order-book/pair/wasm/src/lib.rs b/contracts/order-book/pair/wasm/src/lib.rs index c9a40d7f..43422271 100644 --- a/contracts/order-book/pair/wasm/src/lib.rs +++ b/contracts/order-book/pair/wasm/src/lib.rs @@ -10,7 +10,9 @@ // Total number of exported functions: 15 #![no_std] -#![allow(internal_features)] + +// Configuration that works with rustc < 1.73.0. +// TODO: Recommended rustc version: 1.73.0 or newer. #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); diff --git a/contracts/ping-pong-egld/wasm/Cargo.lock b/contracts/ping-pong-egld/wasm/Cargo.lock index 6774507a..a17755bf 100755 --- a/contracts/ping-pong-egld/wasm/Cargo.lock +++ b/contracts/ping-pong-egld/wasm/Cargo.lock @@ -67,6 +67,8 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" dependencies = [ "bitflags", "hashbrown", @@ -79,6 +81,8 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f1e15b46c17b87c0c7cdd79b041a4abd7f3a2b45f3c993f6ce38c0f233e82b6" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -87,6 +91,8 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7bc0762cd6d88f8bc54805bc652b042a61cd7fbc2d0a325010f088b78fb2ac" dependencies = [ "hex", "proc-macro2", @@ -97,6 +103,8 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" dependencies = [ "hex", "proc-macro2", @@ -108,6 +116,8 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" dependencies = [ "multiversx-sc", ] diff --git a/contracts/ping-pong-egld/wasm/src/lib.rs b/contracts/ping-pong-egld/wasm/src/lib.rs index 14fbd348..fffb64cb 100644 --- a/contracts/ping-pong-egld/wasm/src/lib.rs +++ b/contracts/ping-pong-egld/wasm/src/lib.rs @@ -10,7 +10,9 @@ // Total number of exported functions: 12 #![no_std] -#![allow(internal_features)] + +// Configuration that works with rustc < 1.73.0. +// TODO: Recommended rustc version: 1.73.0 or newer. #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); diff --git a/contracts/price-aggregator/wasm/Cargo.lock b/contracts/price-aggregator/wasm/Cargo.lock index e4f9cbcf..6a87981d 100644 --- a/contracts/price-aggregator/wasm/Cargo.lock +++ b/contracts/price-aggregator/wasm/Cargo.lock @@ -84,6 +84,8 @@ dependencies = [ [[package]] name = "multiversx-sc" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" dependencies = [ "bitflags", "hashbrown", @@ -96,6 +98,8 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f1e15b46c17b87c0c7cdd79b041a4abd7f3a2b45f3c993f6ce38c0f233e82b6" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -104,6 +108,8 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7bc0762cd6d88f8bc54805bc652b042a61cd7fbc2d0a325010f088b78fb2ac" dependencies = [ "hex", "proc-macro2", @@ -114,6 +120,8 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" dependencies = [ "hex", "proc-macro2", @@ -125,6 +133,8 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5c160745bf0c997146fa816a19fba8a8d0517e99ed30cc514eca0967f2eed74" dependencies = [ "multiversx-sc", ] @@ -132,6 +142,8 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" dependencies = [ "multiversx-sc", ] diff --git a/contracts/price-aggregator/wasm/src/lib.rs b/contracts/price-aggregator/wasm/src/lib.rs index 3a6ca767..9dbe38b2 100644 --- a/contracts/price-aggregator/wasm/src/lib.rs +++ b/contracts/price-aggregator/wasm/src/lib.rs @@ -10,7 +10,9 @@ // Total number of exported functions: 21 #![no_std] -#![allow(internal_features)] + +// Configuration that works with rustc < 1.73.0. +// TODO: Recommended rustc version: 1.73.0 or newer. #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); diff --git a/contracts/proxy-pause/wasm/Cargo.lock b/contracts/proxy-pause/wasm/Cargo.lock index 029d855a..36751308 100644 --- a/contracts/proxy-pause/wasm/Cargo.lock +++ b/contracts/proxy-pause/wasm/Cargo.lock @@ -67,6 +67,8 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" dependencies = [ "bitflags", "hashbrown", @@ -79,6 +81,8 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f1e15b46c17b87c0c7cdd79b041a4abd7f3a2b45f3c993f6ce38c0f233e82b6" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -87,6 +91,8 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7bc0762cd6d88f8bc54805bc652b042a61cd7fbc2d0a325010f088b78fb2ac" dependencies = [ "hex", "proc-macro2", @@ -97,6 +103,8 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" dependencies = [ "hex", "proc-macro2", @@ -108,6 +116,8 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" dependencies = [ "multiversx-sc", ] diff --git a/contracts/proxy-pause/wasm/src/lib.rs b/contracts/proxy-pause/wasm/src/lib.rs index 063b3f18..74694867 100644 --- a/contracts/proxy-pause/wasm/src/lib.rs +++ b/contracts/proxy-pause/wasm/src/lib.rs @@ -10,7 +10,9 @@ // Total number of exported functions: 10 #![no_std] -#![allow(internal_features)] + +// Configuration that works with rustc < 1.73.0. +// TODO: Recommended rustc version: 1.73.0 or newer. #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); diff --git a/contracts/rewards-distribution/wasm/Cargo.lock b/contracts/rewards-distribution/wasm/Cargo.lock index 3c1b7cce..7587b37f 100644 --- a/contracts/rewards-distribution/wasm/Cargo.lock +++ b/contracts/rewards-distribution/wasm/Cargo.lock @@ -67,6 +67,8 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" dependencies = [ "bitflags", "hashbrown", @@ -79,6 +81,8 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f1e15b46c17b87c0c7cdd79b041a4abd7f3a2b45f3c993f6ce38c0f233e82b6" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -87,6 +91,8 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7bc0762cd6d88f8bc54805bc652b042a61cd7fbc2d0a325010f088b78fb2ac" dependencies = [ "hex", "proc-macro2", @@ -97,6 +103,8 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" dependencies = [ "hex", "proc-macro2", @@ -108,6 +116,8 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5c160745bf0c997146fa816a19fba8a8d0517e99ed30cc514eca0967f2eed74" dependencies = [ "multiversx-sc", ] @@ -115,6 +125,8 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" dependencies = [ "multiversx-sc", ] diff --git a/contracts/rewards-distribution/wasm/src/lib.rs b/contracts/rewards-distribution/wasm/src/lib.rs index 4b1220d0..c5ad2e09 100644 --- a/contracts/rewards-distribution/wasm/src/lib.rs +++ b/contracts/rewards-distribution/wasm/src/lib.rs @@ -10,7 +10,9 @@ // Total number of exported functions: 15 #![no_std] -#![allow(internal_features)] + +// Configuration that works with rustc < 1.73.0. +// TODO: Recommended rustc version: 1.73.0 or newer. #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); diff --git a/contracts/seed-nft-minter/wasm/Cargo.lock b/contracts/seed-nft-minter/wasm/Cargo.lock index c08ef1fe..bc42805e 100644 --- a/contracts/seed-nft-minter/wasm/Cargo.lock +++ b/contracts/seed-nft-minter/wasm/Cargo.lock @@ -67,6 +67,8 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" dependencies = [ "bitflags", "hashbrown", @@ -79,6 +81,8 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f1e15b46c17b87c0c7cdd79b041a4abd7f3a2b45f3c993f6ce38c0f233e82b6" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -87,6 +91,8 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7bc0762cd6d88f8bc54805bc652b042a61cd7fbc2d0a325010f088b78fb2ac" dependencies = [ "hex", "proc-macro2", @@ -97,6 +103,8 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" dependencies = [ "hex", "proc-macro2", @@ -108,6 +116,8 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5c160745bf0c997146fa816a19fba8a8d0517e99ed30cc514eca0967f2eed74" dependencies = [ "multiversx-sc", ] @@ -115,6 +125,8 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" dependencies = [ "multiversx-sc", ] diff --git a/contracts/seed-nft-minter/wasm/src/lib.rs b/contracts/seed-nft-minter/wasm/src/lib.rs index 9f208eaf..4388b47b 100644 --- a/contracts/seed-nft-minter/wasm/src/lib.rs +++ b/contracts/seed-nft-minter/wasm/src/lib.rs @@ -10,7 +10,9 @@ // Total number of exported functions: 11 #![no_std] -#![allow(internal_features)] + +// Configuration that works with rustc < 1.73.0. +// TODO: Recommended rustc version: 1.73.0 or newer. #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); diff --git a/contracts/token-release/wasm/Cargo.lock b/contracts/token-release/wasm/Cargo.lock index c259bb4c..4081d15d 100644 --- a/contracts/token-release/wasm/Cargo.lock +++ b/contracts/token-release/wasm/Cargo.lock @@ -67,6 +67,8 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" dependencies = [ "bitflags", "hashbrown", @@ -79,6 +81,8 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f1e15b46c17b87c0c7cdd79b041a4abd7f3a2b45f3c993f6ce38c0f233e82b6" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -87,6 +91,8 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7bc0762cd6d88f8bc54805bc652b042a61cd7fbc2d0a325010f088b78fb2ac" dependencies = [ "hex", "proc-macro2", @@ -97,6 +103,8 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" dependencies = [ "hex", "proc-macro2", @@ -108,6 +116,8 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" dependencies = [ "multiversx-sc", ] diff --git a/contracts/token-release/wasm/src/lib.rs b/contracts/token-release/wasm/src/lib.rs index 05732711..0e526c75 100644 --- a/contracts/token-release/wasm/src/lib.rs +++ b/contracts/token-release/wasm/src/lib.rs @@ -10,7 +10,9 @@ // Total number of exported functions: 15 #![no_std] -#![allow(internal_features)] + +// Configuration that works with rustc < 1.73.0. +// TODO: Recommended rustc version: 1.73.0 or newer. #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); diff --git a/contracts/wegld-swap/wasm/Cargo.lock b/contracts/wegld-swap/wasm/Cargo.lock index 69cf9c41..bcfea925 100644 --- a/contracts/wegld-swap/wasm/Cargo.lock +++ b/contracts/wegld-swap/wasm/Cargo.lock @@ -66,7 +66,9 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" -version = "0.42.0" +version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" dependencies = [ "bitflags", "hashbrown", @@ -78,7 +80,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.18.0" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f1e15b46c17b87c0c7cdd79b041a4abd7f3a2b45f3c993f6ce38c0f233e82b6" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -86,7 +90,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.18.0" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7bc0762cd6d88f8bc54805bc652b042a61cd7fbc2d0a325010f088b78fb2ac" dependencies = [ "hex", "proc-macro2", @@ -96,7 +102,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.42.0" +version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" dependencies = [ "hex", "proc-macro2", @@ -107,21 +115,25 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.42.0" +version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5c160745bf0c997146fa816a19fba8a8d0517e99ed30cc514eca0967f2eed74" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.42.0" +version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-wegld-swap-sc" -version = "0.42.0" +version = "0.43.3" dependencies = [ "multiversx-sc", "multiversx-sc-modules", @@ -170,9 +182,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.32" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" dependencies = [ "proc-macro2", ] diff --git a/contracts/wegld-swap/wasm/src/lib.rs b/contracts/wegld-swap/wasm/src/lib.rs index 0f7a9731..8da59461 100644 --- a/contracts/wegld-swap/wasm/src/lib.rs +++ b/contracts/wegld-swap/wasm/src/lib.rs @@ -10,7 +10,9 @@ // Total number of exported functions: 9 #![no_std] -#![allow(internal_features)] + +// Configuration that works with rustc < 1.73.0. +// TODO: Recommended rustc version: 1.73.0 or newer. #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); From 6b13b27d018b45e9cf57205c7004f9b8369d245b Mon Sep 17 00:00:00 2001 From: Alin Cruceat Date: Thu, 28 Sep 2023 13:13:14 +0300 Subject: [PATCH 07/14] update test workspace path --- contracts/adder/tests/adder_blackbox_test.rs | 2 +- contracts/adder/tests/adder_blackbox_upgrade_test.rs | 2 +- contracts/adder/tests/adder_blackbox_with_values_test.rs | 2 +- contracts/adder/tests/adder_scenario_rs_test.rs | 2 +- contracts/adder/tests/adder_whitebox_test.rs | 2 +- .../tests/crowdfunding_esdt_blackbox_test.rs | 2 +- .../tests/crowdfunding_esdt_scenario_rs_test.rs | 2 +- .../tests/crypto_bubbles_scenario_rs_test.rs | 2 +- .../digital-cash/tests/digital_cash_scenario_rs_test.rs | 2 +- contracts/empty/tests/empty_scenario_rs_test.rs | 2 +- .../tests/esdt_transfer_with_fee_scenario_rs_test.rs | 2 +- contracts/factorial/tests/factorial_scenario_rs_test.rs | 2 +- .../lottery-esdt/tests/lottery_esdt_scenario_rs_test.rs | 2 +- contracts/multisig/tests/multisig_blackbox_test.rs | 2 +- contracts/multisig/tests/multisig_scenario_rs_test.rs | 2 +- contracts/multisig/tests/multisig_whitebox_test.rs | 8 ++++---- contracts/order-book/pair/tests/pair_scenario_rs_test.rs | 2 +- .../tests/ping_pong_egld_scenario_rs_test.rs | 2 +- .../proxy-pause/tests/proxy_pause_scenario_rs_test.rs | 2 +- .../token-release/tests/token_release_scenario_rs_test.rs | 2 +- 20 files changed, 23 insertions(+), 23 deletions(-) diff --git a/contracts/adder/tests/adder_blackbox_test.rs b/contracts/adder/tests/adder_blackbox_test.rs index 3d2e1665..9414c95f 100644 --- a/contracts/adder/tests/adder_blackbox_test.rs +++ b/contracts/adder/tests/adder_blackbox_test.rs @@ -4,7 +4,7 @@ const ADDER_PATH_EXPR: &str = "file:output/adder.wasm"; fn world() -> ScenarioWorld { let mut blockchain = ScenarioWorld::new(); - blockchain.set_current_dir_from_workspace("contracts/examples/adder"); + blockchain.set_current_dir_from_workspace("contracts/adder"); blockchain.register_contract(ADDER_PATH_EXPR, adder::ContractBuilder); blockchain diff --git a/contracts/adder/tests/adder_blackbox_upgrade_test.rs b/contracts/adder/tests/adder_blackbox_upgrade_test.rs index 1e3301f3..cf381b97 100644 --- a/contracts/adder/tests/adder_blackbox_upgrade_test.rs +++ b/contracts/adder/tests/adder_blackbox_upgrade_test.rs @@ -4,7 +4,7 @@ const ADDER_PATH_EXPR: &str = "file:output/adder.wasm"; fn world() -> ScenarioWorld { let mut blockchain = ScenarioWorld::new(); - blockchain.set_current_dir_from_workspace("contracts/examples/adder"); + blockchain.set_current_dir_from_workspace("contracts/adder"); blockchain.register_contract("file:output/adder.wasm", adder::ContractBuilder); blockchain diff --git a/contracts/adder/tests/adder_blackbox_with_values_test.rs b/contracts/adder/tests/adder_blackbox_with_values_test.rs index 62173c5c..29d186b0 100644 --- a/contracts/adder/tests/adder_blackbox_with_values_test.rs +++ b/contracts/adder/tests/adder_blackbox_with_values_test.rs @@ -6,7 +6,7 @@ const ADDER_PATH_EXPR: &str = "file:output/adder.wasm"; fn world() -> ScenarioWorld { let mut blockchain = ScenarioWorld::new(); - blockchain.set_current_dir_from_workspace("contracts/examples/adder"); + blockchain.set_current_dir_from_workspace("contracts/adder"); blockchain.register_contract("file:output/adder.wasm", adder::ContractBuilder); blockchain diff --git a/contracts/adder/tests/adder_scenario_rs_test.rs b/contracts/adder/tests/adder_scenario_rs_test.rs index a92de289..893ff706 100644 --- a/contracts/adder/tests/adder_scenario_rs_test.rs +++ b/contracts/adder/tests/adder_scenario_rs_test.rs @@ -2,7 +2,7 @@ use multiversx_sc_scenario::*; fn world() -> ScenarioWorld { let mut blockchain = ScenarioWorld::new(); - blockchain.set_current_dir_from_workspace("contracts/examples/adder"); + blockchain.set_current_dir_from_workspace("contracts/adder"); blockchain.register_contract("file:output/adder.wasm", adder::ContractBuilder); blockchain diff --git a/contracts/adder/tests/adder_whitebox_test.rs b/contracts/adder/tests/adder_whitebox_test.rs index 97916d4e..76337e33 100644 --- a/contracts/adder/tests/adder_whitebox_test.rs +++ b/contracts/adder/tests/adder_whitebox_test.rs @@ -5,7 +5,7 @@ const ADDER_PATH_EXPR: &str = "file:output/adder.wasm"; fn world() -> ScenarioWorld { let mut blockchain = ScenarioWorld::new(); - blockchain.set_current_dir_from_workspace("contracts/examples/adder"); + blockchain.set_current_dir_from_workspace("contracts/adder"); blockchain.register_contract("file:output/adder.wasm", adder::ContractBuilder); blockchain diff --git a/contracts/crowdfunding-esdt/tests/crowdfunding_esdt_blackbox_test.rs b/contracts/crowdfunding-esdt/tests/crowdfunding_esdt_blackbox_test.rs index 66311ab7..0a14e145 100644 --- a/contracts/crowdfunding-esdt/tests/crowdfunding_esdt_blackbox_test.rs +++ b/contracts/crowdfunding-esdt/tests/crowdfunding_esdt_blackbox_test.rs @@ -6,7 +6,7 @@ const CF_PATH_EXPR: &str = "file:output/crowdfunding-esdt.wasm"; fn world() -> ScenarioWorld { let mut blockchain = ScenarioWorld::new(); - blockchain.set_current_dir_from_workspace("contracts/examples/crowdfunding-esdt"); + blockchain.set_current_dir_from_workspace("contracts/crowdfunding-esdt"); blockchain.register_contract(CF_PATH_EXPR, crowdfunding_esdt::ContractBuilder); blockchain diff --git a/contracts/crowdfunding-esdt/tests/crowdfunding_esdt_scenario_rs_test.rs b/contracts/crowdfunding-esdt/tests/crowdfunding_esdt_scenario_rs_test.rs index 2d1ff391..e169f709 100644 --- a/contracts/crowdfunding-esdt/tests/crowdfunding_esdt_scenario_rs_test.rs +++ b/contracts/crowdfunding-esdt/tests/crowdfunding_esdt_scenario_rs_test.rs @@ -2,7 +2,7 @@ use multiversx_sc_scenario::*; fn world() -> ScenarioWorld { let mut blockchain = ScenarioWorld::new(); - blockchain.set_current_dir_from_workspace("contracts/examples/crowdfunding-esdt"); + blockchain.set_current_dir_from_workspace("contracts/crowdfunding-esdt"); blockchain.register_contract( "file:output/crowdfunding-esdt.wasm", diff --git a/contracts/crypto-bubbles/tests/crypto_bubbles_scenario_rs_test.rs b/contracts/crypto-bubbles/tests/crypto_bubbles_scenario_rs_test.rs index 3f54c45a..3a8d1375 100644 --- a/contracts/crypto-bubbles/tests/crypto_bubbles_scenario_rs_test.rs +++ b/contracts/crypto-bubbles/tests/crypto_bubbles_scenario_rs_test.rs @@ -2,7 +2,7 @@ use multiversx_sc_scenario::*; fn world() -> ScenarioWorld { let mut blockchain = ScenarioWorld::new(); - blockchain.set_current_dir_from_workspace("contracts/examples/crypto-bubbles"); + blockchain.set_current_dir_from_workspace("contracts/crypto-bubbles"); blockchain.register_contract( "file:output/crypto-bubbles.wasm", diff --git a/contracts/digital-cash/tests/digital_cash_scenario_rs_test.rs b/contracts/digital-cash/tests/digital_cash_scenario_rs_test.rs index bc20caac..3a4c18a7 100644 --- a/contracts/digital-cash/tests/digital_cash_scenario_rs_test.rs +++ b/contracts/digital-cash/tests/digital_cash_scenario_rs_test.rs @@ -2,7 +2,7 @@ use multiversx_sc_scenario::*; fn world() -> ScenarioWorld { let mut blockchain = ScenarioWorld::new(); - blockchain.set_current_dir_from_workspace("contracts/examples/digital-cash"); + blockchain.set_current_dir_from_workspace("contracts/digital-cash"); blockchain.register_contract( "file:output/digital-cash.wasm", diff --git a/contracts/empty/tests/empty_scenario_rs_test.rs b/contracts/empty/tests/empty_scenario_rs_test.rs index a4e9d016..f86005fc 100644 --- a/contracts/empty/tests/empty_scenario_rs_test.rs +++ b/contracts/empty/tests/empty_scenario_rs_test.rs @@ -2,7 +2,7 @@ use multiversx_sc_scenario::*; fn world() -> ScenarioWorld { let mut blockchain = ScenarioWorld::new(); - blockchain.set_current_dir_from_workspace("contracts/examples/empty"); + blockchain.set_current_dir_from_workspace("contracts/empty"); blockchain.register_contract("file:output/empty.wasm", empty::ContractBuilder); blockchain diff --git a/contracts/esdt-transfer-with-fee/tests/esdt_transfer_with_fee_scenario_rs_test.rs b/contracts/esdt-transfer-with-fee/tests/esdt_transfer_with_fee_scenario_rs_test.rs index 4dd60121..a99ed825 100644 --- a/contracts/esdt-transfer-with-fee/tests/esdt_transfer_with_fee_scenario_rs_test.rs +++ b/contracts/esdt-transfer-with-fee/tests/esdt_transfer_with_fee_scenario_rs_test.rs @@ -2,7 +2,7 @@ use multiversx_sc_scenario::*; fn world() -> ScenarioWorld { let mut blockchain = ScenarioWorld::new(); - blockchain.set_current_dir_from_workspace("contracts/examples/esdt-transfer-with-fee"); + blockchain.set_current_dir_from_workspace("contracts/esdt-transfer-with-fee"); blockchain.register_contract( "file:output/esdt-transfer-with-fee.wasm", diff --git a/contracts/factorial/tests/factorial_scenario_rs_test.rs b/contracts/factorial/tests/factorial_scenario_rs_test.rs index 9e192fbb..2ce6e854 100644 --- a/contracts/factorial/tests/factorial_scenario_rs_test.rs +++ b/contracts/factorial/tests/factorial_scenario_rs_test.rs @@ -2,7 +2,7 @@ use multiversx_sc_scenario::*; fn world() -> ScenarioWorld { let mut blockchain = ScenarioWorld::new(); - blockchain.set_current_dir_from_workspace("contracts/examples/factorial"); + blockchain.set_current_dir_from_workspace("contracts/factorial"); blockchain.register_contract("file:output/factorial.wasm", factorial::ContractBuilder); blockchain diff --git a/contracts/lottery-esdt/tests/lottery_esdt_scenario_rs_test.rs b/contracts/lottery-esdt/tests/lottery_esdt_scenario_rs_test.rs index 31ebeb7a..e8a0218c 100644 --- a/contracts/lottery-esdt/tests/lottery_esdt_scenario_rs_test.rs +++ b/contracts/lottery-esdt/tests/lottery_esdt_scenario_rs_test.rs @@ -2,7 +2,7 @@ use multiversx_sc_scenario::*; fn world() -> ScenarioWorld { let mut blockchain = ScenarioWorld::new(); - blockchain.set_current_dir_from_workspace("contracts/examples/lottery-esdt"); + blockchain.set_current_dir_from_workspace("contracts/lottery-esdt"); blockchain.register_contract( "file:output/lottery-esdt.wasm", diff --git a/contracts/multisig/tests/multisig_blackbox_test.rs b/contracts/multisig/tests/multisig_blackbox_test.rs index b4e8765e..db90c828 100644 --- a/contracts/multisig/tests/multisig_blackbox_test.rs +++ b/contracts/multisig/tests/multisig_blackbox_test.rs @@ -37,7 +37,7 @@ type AdderContract = ContractInfo>; fn world() -> ScenarioWorld { let mut blockchain = ScenarioWorld::new(); - blockchain.set_current_dir_from_workspace("contracts/examples/multisig"); + blockchain.set_current_dir_from_workspace("contracts/multisig"); blockchain.register_contract(MULTISIG_PATH_EXPR, multisig::ContractBuilder); blockchain.register_contract(ADDER_PATH_EXPR, adder::ContractBuilder); diff --git a/contracts/multisig/tests/multisig_scenario_rs_test.rs b/contracts/multisig/tests/multisig_scenario_rs_test.rs index 27d286e1..7fe13219 100644 --- a/contracts/multisig/tests/multisig_scenario_rs_test.rs +++ b/contracts/multisig/tests/multisig_scenario_rs_test.rs @@ -4,7 +4,7 @@ const WEGLD_SWAP_EXPR: &str = "0x0061736d0100000001661160000060017f0060027f7f017 fn world() -> ScenarioWorld { let mut blockchain = ScenarioWorld::new(); - blockchain.set_current_dir_from_workspace("contracts/examples/multisig"); + blockchain.set_current_dir_from_workspace("contracts/multisig"); blockchain.register_partial_contract::( "file:output/multisig.wasm", diff --git a/contracts/multisig/tests/multisig_whitebox_test.rs b/contracts/multisig/tests/multisig_whitebox_test.rs index 6c949fa8..7fd37d1e 100644 --- a/contracts/multisig/tests/multisig_whitebox_test.rs +++ b/contracts/multisig/tests/multisig_whitebox_test.rs @@ -69,7 +69,7 @@ pub struct CallActionDataRaw { fn world() -> ScenarioWorld { let mut blockchain = ScenarioWorld::new(); - blockchain.set_current_dir_from_workspace("contracts/examples/multisig"); + blockchain.set_current_dir_from_workspace("contracts/multisig"); blockchain.register_contract(MULTISIG_PATH_EXPR, multisig::ContractBuilder); blockchain @@ -151,7 +151,7 @@ fn call_propose( ActionRaw::_Nothing => panic!("Invalid action"), ActionRaw::AddBoardMember(addr) => { sc.propose_add_board_member(managed_address!(&addr)) - }, + } ActionRaw::AddProposer(addr) => sc.propose_add_proposer(managed_address!(&addr)), ActionRaw::RemoveUser(addr) => sc.propose_remove_user(managed_address!(&addr)), ActionRaw::ChangeQuorum(new_size) => sc.propose_change_quorum(new_size), @@ -170,7 +170,7 @@ fn call_propose( opt_endpoint, boxed_bytes_vec_to_managed(call_data.arguments).into(), ) - }, + } ActionRaw::SendAsyncCall(call_data) => { let opt_endpoint = if call_data.endpoint_name.is_empty() { OptionalValue::None @@ -186,7 +186,7 @@ fn call_propose( opt_endpoint, boxed_bytes_vec_to_managed(call_data.arguments).into(), ) - }, + } ActionRaw::SCDeployFromSource { amount, source, diff --git a/contracts/order-book/pair/tests/pair_scenario_rs_test.rs b/contracts/order-book/pair/tests/pair_scenario_rs_test.rs index a9dc1229..5019bd1e 100644 --- a/contracts/order-book/pair/tests/pair_scenario_rs_test.rs +++ b/contracts/order-book/pair/tests/pair_scenario_rs_test.rs @@ -2,7 +2,7 @@ use multiversx_sc_scenario::*; fn world() -> ScenarioWorld { let mut blockchain = ScenarioWorld::new(); - blockchain.set_current_dir_from_workspace("contracts/examples/order-book/pair"); + blockchain.set_current_dir_from_workspace("contracts/order-book/pair"); blockchain.register_contract( "file:output/order-book-pair.wasm", diff --git a/contracts/ping-pong-egld/tests/ping_pong_egld_scenario_rs_test.rs b/contracts/ping-pong-egld/tests/ping_pong_egld_scenario_rs_test.rs index fb7c98be..7305a2c8 100644 --- a/contracts/ping-pong-egld/tests/ping_pong_egld_scenario_rs_test.rs +++ b/contracts/ping-pong-egld/tests/ping_pong_egld_scenario_rs_test.rs @@ -2,7 +2,7 @@ use multiversx_sc_scenario::*; fn world() -> ScenarioWorld { let mut blockchain = ScenarioWorld::new(); - blockchain.set_current_dir_from_workspace("contracts/examples/ping-pong-egld"); + blockchain.set_current_dir_from_workspace("contracts/ping-pong-egld"); blockchain.register_contract( "file:output/ping-pong-egld.wasm", diff --git a/contracts/proxy-pause/tests/proxy_pause_scenario_rs_test.rs b/contracts/proxy-pause/tests/proxy_pause_scenario_rs_test.rs index 63d81f0f..0b6a22c4 100644 --- a/contracts/proxy-pause/tests/proxy_pause_scenario_rs_test.rs +++ b/contracts/proxy-pause/tests/proxy_pause_scenario_rs_test.rs @@ -2,7 +2,7 @@ use multiversx_sc_scenario::*; fn world() -> ScenarioWorld { let mut blockchain = ScenarioWorld::new(); - blockchain.set_current_dir_from_workspace("contracts/examples/proxy-pause"); + blockchain.set_current_dir_from_workspace("contracts/proxy-pause"); blockchain.register_contract("file:output/proxy-pause.wasm", proxy_pause::ContractBuilder); diff --git a/contracts/token-release/tests/token_release_scenario_rs_test.rs b/contracts/token-release/tests/token_release_scenario_rs_test.rs index ca1a7cad..68a64307 100644 --- a/contracts/token-release/tests/token_release_scenario_rs_test.rs +++ b/contracts/token-release/tests/token_release_scenario_rs_test.rs @@ -2,7 +2,7 @@ use multiversx_sc_scenario::*; fn world() -> ScenarioWorld { let mut blockchain = ScenarioWorld::new(); - blockchain.set_current_dir_from_workspace("contracts/examples/token-release"); + blockchain.set_current_dir_from_workspace("contracts/token-release"); blockchain.register_contract( "file:output/token-release.wasm", From f1d7050b75e650f8ec9d16671596e6e7456b2d5c Mon Sep 17 00:00:00 2001 From: Alin Cruceat Date: Thu, 28 Sep 2023 13:18:28 +0300 Subject: [PATCH 08/14] upgrade to 0.43.4 --- contracts/adder/wasm/Cargo.lock | 24 ++++++++-------- .../bonding-curve-contract/wasm/Cargo.lock | 28 +++++++++---------- contracts/check-pause/wasm/Cargo.lock | 28 +++++++++---------- contracts/crowdfunding-esdt/wasm/Cargo.lock | 24 ++++++++-------- contracts/crypto-bubbles/wasm/Cargo.lock | 24 ++++++++-------- .../kitty-auction/wasm/Cargo.lock | 24 ++++++++-------- .../kitty-genetic-alg/wasm/Cargo.lock | 24 ++++++++-------- .../kitty-ownership/wasm/Cargo.lock | 24 ++++++++-------- contracts/crypto-zombies/wasm/Cargo.lock | 24 ++++++++-------- contracts/digital-cash/wasm/Cargo.lock | 24 ++++++++-------- contracts/empty/wasm/Cargo.lock | 24 ++++++++-------- .../esdt-transfer-with-fee/wasm/Cargo.lock | 24 ++++++++-------- contracts/factorial/wasm/Cargo.lock | 24 ++++++++-------- contracts/fractional-nfts/wasm/Cargo.lock | 28 +++++++++---------- contracts/liquid-locking/wasm/Cargo.lock | 16 +++++------ contracts/lottery-esdt/wasm/Cargo.lock | 24 ++++++++-------- .../multisig/wasm-multisig-full/Cargo.lock | 28 +++++++++---------- .../multisig/wasm-multisig-view/Cargo.lock | 28 +++++++++---------- contracts/multisig/wasm/Cargo.lock | 28 +++++++++---------- contracts/mystery-box/wasm/Cargo.lock | 20 ++++++------- contracts/nft-minter/wasm/Cargo.lock | 24 ++++++++-------- contracts/nft-storage-prepay/wasm/Cargo.lock | 24 ++++++++-------- contracts/order-book/factory/wasm/Cargo.lock | 24 ++++++++-------- contracts/order-book/pair/wasm/Cargo.lock | 24 ++++++++-------- contracts/ping-pong-egld/wasm/Cargo.lock | 24 ++++++++-------- contracts/price-aggregator/wasm/Cargo.lock | 28 +++++++++---------- contracts/proxy-pause/wasm/Cargo.lock | 24 ++++++++-------- .../rewards-distribution/wasm/Cargo.lock | 28 +++++++++---------- contracts/seed-nft-minter/wasm/Cargo.lock | 28 +++++++++---------- contracts/token-release/wasm/Cargo.lock | 24 ++++++++-------- contracts/wegld-swap/wasm/Cargo.lock | 28 +++++++++---------- 31 files changed, 386 insertions(+), 386 deletions(-) diff --git a/contracts/adder/wasm/Cargo.lock b/contracts/adder/wasm/Cargo.lock index 759a269e..4bc38e0d 100755 --- a/contracts/adder/wasm/Cargo.lock +++ b/contracts/adder/wasm/Cargo.lock @@ -81,9 +81,9 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" +checksum = "406939660d0c79dd191c6677f4b048df873a95f4531d8abafc9cdbe282bf1725" dependencies = [ "bitflags", "hashbrown", @@ -117,9 +117,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" +checksum = "9e006240993963b482fe0682ae49b2d07255495e3c86706925d119137376cdfc" dependencies = [ "hex", "proc-macro2", @@ -130,9 +130,9 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" +checksum = "40e721d1bc80de2ede4099a9040519486c3c1139cb0287d8fc4f9fc3e8a3f19e" dependencies = [ "multiversx-sc", ] @@ -163,9 +163,9 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.66" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] @@ -191,9 +191,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.11.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" +checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" [[package]] name = "syn" @@ -208,9 +208,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "version_check" diff --git a/contracts/bonding-curve-contract/wasm/Cargo.lock b/contracts/bonding-curve-contract/wasm/Cargo.lock index 46268e82..5e7a45b2 100644 --- a/contracts/bonding-curve-contract/wasm/Cargo.lock +++ b/contracts/bonding-curve-contract/wasm/Cargo.lock @@ -82,9 +82,9 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" +checksum = "406939660d0c79dd191c6677f4b048df873a95f4531d8abafc9cdbe282bf1725" dependencies = [ "bitflags", "hashbrown", @@ -118,9 +118,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" +checksum = "9e006240993963b482fe0682ae49b2d07255495e3c86706925d119137376cdfc" dependencies = [ "hex", "proc-macro2", @@ -131,18 +131,18 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5c160745bf0c997146fa816a19fba8a8d0517e99ed30cc514eca0967f2eed74" +checksum = "75dc2548fe5072cad37b5c816d2344d7cd12e8cafb1a0ff8bbf2bc1829054710" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" +checksum = "40e721d1bc80de2ede4099a9040519486c3c1139cb0287d8fc4f9fc3e8a3f19e" dependencies = [ "multiversx-sc", ] @@ -173,9 +173,9 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.66" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] @@ -201,9 +201,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.11.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" +checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" [[package]] name = "syn" @@ -218,9 +218,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "version_check" diff --git a/contracts/check-pause/wasm/Cargo.lock b/contracts/check-pause/wasm/Cargo.lock index 564b6b34..c7d67b1a 100644 --- a/contracts/check-pause/wasm/Cargo.lock +++ b/contracts/check-pause/wasm/Cargo.lock @@ -82,9 +82,9 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" +checksum = "406939660d0c79dd191c6677f4b048df873a95f4531d8abafc9cdbe282bf1725" dependencies = [ "bitflags", "hashbrown", @@ -118,9 +118,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" +checksum = "9e006240993963b482fe0682ae49b2d07255495e3c86706925d119137376cdfc" dependencies = [ "hex", "proc-macro2", @@ -131,18 +131,18 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5c160745bf0c997146fa816a19fba8a8d0517e99ed30cc514eca0967f2eed74" +checksum = "75dc2548fe5072cad37b5c816d2344d7cd12e8cafb1a0ff8bbf2bc1829054710" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" +checksum = "40e721d1bc80de2ede4099a9040519486c3c1139cb0287d8fc4f9fc3e8a3f19e" dependencies = [ "multiversx-sc", ] @@ -173,9 +173,9 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.66" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] @@ -201,9 +201,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.11.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" +checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" [[package]] name = "syn" @@ -218,9 +218,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "version_check" diff --git a/contracts/crowdfunding-esdt/wasm/Cargo.lock b/contracts/crowdfunding-esdt/wasm/Cargo.lock index 799ea679..bdf0cc44 100644 --- a/contracts/crowdfunding-esdt/wasm/Cargo.lock +++ b/contracts/crowdfunding-esdt/wasm/Cargo.lock @@ -81,9 +81,9 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" +checksum = "406939660d0c79dd191c6677f4b048df873a95f4531d8abafc9cdbe282bf1725" dependencies = [ "bitflags", "hashbrown", @@ -117,9 +117,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" +checksum = "9e006240993963b482fe0682ae49b2d07255495e3c86706925d119137376cdfc" dependencies = [ "hex", "proc-macro2", @@ -130,9 +130,9 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" +checksum = "40e721d1bc80de2ede4099a9040519486c3c1139cb0287d8fc4f9fc3e8a3f19e" dependencies = [ "multiversx-sc", ] @@ -163,9 +163,9 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.66" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] @@ -191,9 +191,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.11.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" +checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" [[package]] name = "syn" @@ -208,9 +208,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "version_check" diff --git a/contracts/crypto-bubbles/wasm/Cargo.lock b/contracts/crypto-bubbles/wasm/Cargo.lock index 77856e2a..f488d0a8 100755 --- a/contracts/crypto-bubbles/wasm/Cargo.lock +++ b/contracts/crypto-bubbles/wasm/Cargo.lock @@ -81,9 +81,9 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" +checksum = "406939660d0c79dd191c6677f4b048df873a95f4531d8abafc9cdbe282bf1725" dependencies = [ "bitflags", "hashbrown", @@ -117,9 +117,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" +checksum = "9e006240993963b482fe0682ae49b2d07255495e3c86706925d119137376cdfc" dependencies = [ "hex", "proc-macro2", @@ -130,9 +130,9 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" +checksum = "40e721d1bc80de2ede4099a9040519486c3c1139cb0287d8fc4f9fc3e8a3f19e" dependencies = [ "multiversx-sc", ] @@ -163,9 +163,9 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.66" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] @@ -191,9 +191,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.11.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" +checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" [[package]] name = "syn" @@ -208,9 +208,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "version_check" diff --git a/contracts/crypto-kitties/kitty-auction/wasm/Cargo.lock b/contracts/crypto-kitties/kitty-auction/wasm/Cargo.lock index baa170bd..ffce9f07 100755 --- a/contracts/crypto-kitties/kitty-auction/wasm/Cargo.lock +++ b/contracts/crypto-kitties/kitty-auction/wasm/Cargo.lock @@ -110,9 +110,9 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" +checksum = "406939660d0c79dd191c6677f4b048df873a95f4531d8abafc9cdbe282bf1725" dependencies = [ "bitflags", "hashbrown", @@ -146,9 +146,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" +checksum = "9e006240993963b482fe0682ae49b2d07255495e3c86706925d119137376cdfc" dependencies = [ "hex", "proc-macro2", @@ -159,9 +159,9 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" +checksum = "40e721d1bc80de2ede4099a9040519486c3c1139cb0287d8fc4f9fc3e8a3f19e" dependencies = [ "multiversx-sc", ] @@ -192,9 +192,9 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.66" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] @@ -227,9 +227,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.11.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" +checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" [[package]] name = "syn" @@ -244,9 +244,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "version_check" diff --git a/contracts/crypto-kitties/kitty-genetic-alg/wasm/Cargo.lock b/contracts/crypto-kitties/kitty-genetic-alg/wasm/Cargo.lock index da06b872..42c5e11f 100755 --- a/contracts/crypto-kitties/kitty-genetic-alg/wasm/Cargo.lock +++ b/contracts/crypto-kitties/kitty-genetic-alg/wasm/Cargo.lock @@ -91,9 +91,9 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" +checksum = "406939660d0c79dd191c6677f4b048df873a95f4531d8abafc9cdbe282bf1725" dependencies = [ "bitflags", "hashbrown", @@ -127,9 +127,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" +checksum = "9e006240993963b482fe0682ae49b2d07255495e3c86706925d119137376cdfc" dependencies = [ "hex", "proc-macro2", @@ -140,9 +140,9 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" +checksum = "40e721d1bc80de2ede4099a9040519486c3c1139cb0287d8fc4f9fc3e8a3f19e" dependencies = [ "multiversx-sc", ] @@ -173,9 +173,9 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.66" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] @@ -208,9 +208,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.11.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" +checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" [[package]] name = "syn" @@ -225,9 +225,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "version_check" diff --git a/contracts/crypto-kitties/kitty-ownership/wasm/Cargo.lock b/contracts/crypto-kitties/kitty-ownership/wasm/Cargo.lock index 36708f40..e3cd38d6 100755 --- a/contracts/crypto-kitties/kitty-ownership/wasm/Cargo.lock +++ b/contracts/crypto-kitties/kitty-ownership/wasm/Cargo.lock @@ -101,9 +101,9 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" +checksum = "406939660d0c79dd191c6677f4b048df873a95f4531d8abafc9cdbe282bf1725" dependencies = [ "bitflags", "hashbrown", @@ -137,9 +137,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" +checksum = "9e006240993963b482fe0682ae49b2d07255495e3c86706925d119137376cdfc" dependencies = [ "hex", "proc-macro2", @@ -150,9 +150,9 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" +checksum = "40e721d1bc80de2ede4099a9040519486c3c1139cb0287d8fc4f9fc3e8a3f19e" dependencies = [ "multiversx-sc", ] @@ -183,9 +183,9 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.66" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] @@ -218,9 +218,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.11.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" +checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" [[package]] name = "syn" @@ -235,9 +235,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "version_check" diff --git a/contracts/crypto-zombies/wasm/Cargo.lock b/contracts/crypto-zombies/wasm/Cargo.lock index 1ccc8d10..146dbd74 100755 --- a/contracts/crypto-zombies/wasm/Cargo.lock +++ b/contracts/crypto-zombies/wasm/Cargo.lock @@ -81,9 +81,9 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" +checksum = "406939660d0c79dd191c6677f4b048df873a95f4531d8abafc9cdbe282bf1725" dependencies = [ "bitflags", "hashbrown", @@ -117,9 +117,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" +checksum = "9e006240993963b482fe0682ae49b2d07255495e3c86706925d119137376cdfc" dependencies = [ "hex", "proc-macro2", @@ -130,9 +130,9 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" +checksum = "40e721d1bc80de2ede4099a9040519486c3c1139cb0287d8fc4f9fc3e8a3f19e" dependencies = [ "multiversx-sc", ] @@ -163,9 +163,9 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.66" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] @@ -191,9 +191,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.11.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" +checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" [[package]] name = "syn" @@ -208,9 +208,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "version_check" diff --git a/contracts/digital-cash/wasm/Cargo.lock b/contracts/digital-cash/wasm/Cargo.lock index 7143f36c..a0d454eb 100644 --- a/contracts/digital-cash/wasm/Cargo.lock +++ b/contracts/digital-cash/wasm/Cargo.lock @@ -81,9 +81,9 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" +checksum = "406939660d0c79dd191c6677f4b048df873a95f4531d8abafc9cdbe282bf1725" dependencies = [ "bitflags", "hashbrown", @@ -117,9 +117,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" +checksum = "9e006240993963b482fe0682ae49b2d07255495e3c86706925d119137376cdfc" dependencies = [ "hex", "proc-macro2", @@ -130,9 +130,9 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" +checksum = "40e721d1bc80de2ede4099a9040519486c3c1139cb0287d8fc4f9fc3e8a3f19e" dependencies = [ "multiversx-sc", ] @@ -163,9 +163,9 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.66" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] @@ -191,9 +191,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.11.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" +checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" [[package]] name = "syn" @@ -208,9 +208,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "version_check" diff --git a/contracts/empty/wasm/Cargo.lock b/contracts/empty/wasm/Cargo.lock index eb1217c8..0356a9c6 100755 --- a/contracts/empty/wasm/Cargo.lock +++ b/contracts/empty/wasm/Cargo.lock @@ -81,9 +81,9 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" +checksum = "406939660d0c79dd191c6677f4b048df873a95f4531d8abafc9cdbe282bf1725" dependencies = [ "bitflags", "hashbrown", @@ -117,9 +117,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" +checksum = "9e006240993963b482fe0682ae49b2d07255495e3c86706925d119137376cdfc" dependencies = [ "hex", "proc-macro2", @@ -130,9 +130,9 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" +checksum = "40e721d1bc80de2ede4099a9040519486c3c1139cb0287d8fc4f9fc3e8a3f19e" dependencies = [ "multiversx-sc", ] @@ -163,9 +163,9 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.66" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] @@ -191,9 +191,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.11.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" +checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" [[package]] name = "syn" @@ -208,9 +208,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "version_check" diff --git a/contracts/esdt-transfer-with-fee/wasm/Cargo.lock b/contracts/esdt-transfer-with-fee/wasm/Cargo.lock index eb7b9c56..168665a3 100644 --- a/contracts/esdt-transfer-with-fee/wasm/Cargo.lock +++ b/contracts/esdt-transfer-with-fee/wasm/Cargo.lock @@ -81,9 +81,9 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" +checksum = "406939660d0c79dd191c6677f4b048df873a95f4531d8abafc9cdbe282bf1725" dependencies = [ "bitflags", "hashbrown", @@ -117,9 +117,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" +checksum = "9e006240993963b482fe0682ae49b2d07255495e3c86706925d119137376cdfc" dependencies = [ "hex", "proc-macro2", @@ -130,9 +130,9 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" +checksum = "40e721d1bc80de2ede4099a9040519486c3c1139cb0287d8fc4f9fc3e8a3f19e" dependencies = [ "multiversx-sc", ] @@ -163,9 +163,9 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.66" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] @@ -191,9 +191,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.11.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" +checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" [[package]] name = "syn" @@ -208,9 +208,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "version_check" diff --git a/contracts/factorial/wasm/Cargo.lock b/contracts/factorial/wasm/Cargo.lock index 303efb85..3393a3e3 100755 --- a/contracts/factorial/wasm/Cargo.lock +++ b/contracts/factorial/wasm/Cargo.lock @@ -81,9 +81,9 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" +checksum = "406939660d0c79dd191c6677f4b048df873a95f4531d8abafc9cdbe282bf1725" dependencies = [ "bitflags", "hashbrown", @@ -117,9 +117,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" +checksum = "9e006240993963b482fe0682ae49b2d07255495e3c86706925d119137376cdfc" dependencies = [ "hex", "proc-macro2", @@ -130,9 +130,9 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" +checksum = "40e721d1bc80de2ede4099a9040519486c3c1139cb0287d8fc4f9fc3e8a3f19e" dependencies = [ "multiversx-sc", ] @@ -163,9 +163,9 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.66" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] @@ -191,9 +191,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.11.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" +checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" [[package]] name = "syn" @@ -208,9 +208,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "version_check" diff --git a/contracts/fractional-nfts/wasm/Cargo.lock b/contracts/fractional-nfts/wasm/Cargo.lock index a1d06149..808c2700 100644 --- a/contracts/fractional-nfts/wasm/Cargo.lock +++ b/contracts/fractional-nfts/wasm/Cargo.lock @@ -82,9 +82,9 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" +checksum = "406939660d0c79dd191c6677f4b048df873a95f4531d8abafc9cdbe282bf1725" dependencies = [ "bitflags", "hashbrown", @@ -118,9 +118,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" +checksum = "9e006240993963b482fe0682ae49b2d07255495e3c86706925d119137376cdfc" dependencies = [ "hex", "proc-macro2", @@ -131,18 +131,18 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5c160745bf0c997146fa816a19fba8a8d0517e99ed30cc514eca0967f2eed74" +checksum = "75dc2548fe5072cad37b5c816d2344d7cd12e8cafb1a0ff8bbf2bc1829054710" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" +checksum = "40e721d1bc80de2ede4099a9040519486c3c1139cb0287d8fc4f9fc3e8a3f19e" dependencies = [ "multiversx-sc", ] @@ -173,9 +173,9 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.66" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] @@ -201,9 +201,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.11.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" +checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" [[package]] name = "syn" @@ -218,9 +218,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "version_check" diff --git a/contracts/liquid-locking/wasm/Cargo.lock b/contracts/liquid-locking/wasm/Cargo.lock index 11ce02b9..eb123116 100644 --- a/contracts/liquid-locking/wasm/Cargo.lock +++ b/contracts/liquid-locking/wasm/Cargo.lock @@ -81,9 +81,9 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" +checksum = "406939660d0c79dd191c6677f4b048df873a95f4531d8abafc9cdbe282bf1725" dependencies = [ "bitflags", "hashbrown", @@ -117,9 +117,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" +checksum = "9e006240993963b482fe0682ae49b2d07255495e3c86706925d119137376cdfc" dependencies = [ "hex", "proc-macro2", @@ -130,9 +130,9 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" +checksum = "40e721d1bc80de2ede4099a9040519486c3c1139cb0287d8fc4f9fc3e8a3f19e" dependencies = [ "multiversx-sc", ] @@ -191,9 +191,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.11.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" +checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" [[package]] name = "syn" diff --git a/contracts/lottery-esdt/wasm/Cargo.lock b/contracts/lottery-esdt/wasm/Cargo.lock index 4a446e89..2dfb8f7b 100755 --- a/contracts/lottery-esdt/wasm/Cargo.lock +++ b/contracts/lottery-esdt/wasm/Cargo.lock @@ -81,9 +81,9 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" +checksum = "406939660d0c79dd191c6677f4b048df873a95f4531d8abafc9cdbe282bf1725" dependencies = [ "bitflags", "hashbrown", @@ -117,9 +117,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" +checksum = "9e006240993963b482fe0682ae49b2d07255495e3c86706925d119137376cdfc" dependencies = [ "hex", "proc-macro2", @@ -130,9 +130,9 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" +checksum = "40e721d1bc80de2ede4099a9040519486c3c1139cb0287d8fc4f9fc3e8a3f19e" dependencies = [ "multiversx-sc", ] @@ -163,9 +163,9 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.66" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] @@ -191,9 +191,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.11.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" +checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" [[package]] name = "syn" @@ -208,9 +208,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "version_check" diff --git a/contracts/multisig/wasm-multisig-full/Cargo.lock b/contracts/multisig/wasm-multisig-full/Cargo.lock index 3651d93f..9e165fe1 100644 --- a/contracts/multisig/wasm-multisig-full/Cargo.lock +++ b/contracts/multisig/wasm-multisig-full/Cargo.lock @@ -82,9 +82,9 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" +checksum = "406939660d0c79dd191c6677f4b048df873a95f4531d8abafc9cdbe282bf1725" dependencies = [ "bitflags", "hashbrown", @@ -118,9 +118,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" +checksum = "9e006240993963b482fe0682ae49b2d07255495e3c86706925d119137376cdfc" dependencies = [ "hex", "proc-macro2", @@ -131,18 +131,18 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5c160745bf0c997146fa816a19fba8a8d0517e99ed30cc514eca0967f2eed74" +checksum = "75dc2548fe5072cad37b5c816d2344d7cd12e8cafb1a0ff8bbf2bc1829054710" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" +checksum = "40e721d1bc80de2ede4099a9040519486c3c1139cb0287d8fc4f9fc3e8a3f19e" dependencies = [ "multiversx-sc", ] @@ -173,9 +173,9 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.66" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] @@ -201,9 +201,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.11.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" +checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" [[package]] name = "syn" @@ -218,9 +218,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "version_check" diff --git a/contracts/multisig/wasm-multisig-view/Cargo.lock b/contracts/multisig/wasm-multisig-view/Cargo.lock index 94b43743..3c43e69c 100644 --- a/contracts/multisig/wasm-multisig-view/Cargo.lock +++ b/contracts/multisig/wasm-multisig-view/Cargo.lock @@ -82,9 +82,9 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" +checksum = "406939660d0c79dd191c6677f4b048df873a95f4531d8abafc9cdbe282bf1725" dependencies = [ "bitflags", "hashbrown", @@ -118,9 +118,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" +checksum = "9e006240993963b482fe0682ae49b2d07255495e3c86706925d119137376cdfc" dependencies = [ "hex", "proc-macro2", @@ -131,18 +131,18 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5c160745bf0c997146fa816a19fba8a8d0517e99ed30cc514eca0967f2eed74" +checksum = "75dc2548fe5072cad37b5c816d2344d7cd12e8cafb1a0ff8bbf2bc1829054710" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" +checksum = "40e721d1bc80de2ede4099a9040519486c3c1139cb0287d8fc4f9fc3e8a3f19e" dependencies = [ "multiversx-sc", ] @@ -173,9 +173,9 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.66" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] @@ -201,9 +201,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.11.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" +checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" [[package]] name = "syn" @@ -218,9 +218,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "version_check" diff --git a/contracts/multisig/wasm/Cargo.lock b/contracts/multisig/wasm/Cargo.lock index d4068080..5080cc30 100755 --- a/contracts/multisig/wasm/Cargo.lock +++ b/contracts/multisig/wasm/Cargo.lock @@ -82,9 +82,9 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" +checksum = "406939660d0c79dd191c6677f4b048df873a95f4531d8abafc9cdbe282bf1725" dependencies = [ "bitflags", "hashbrown", @@ -118,9 +118,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" +checksum = "9e006240993963b482fe0682ae49b2d07255495e3c86706925d119137376cdfc" dependencies = [ "hex", "proc-macro2", @@ -131,18 +131,18 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5c160745bf0c997146fa816a19fba8a8d0517e99ed30cc514eca0967f2eed74" +checksum = "75dc2548fe5072cad37b5c816d2344d7cd12e8cafb1a0ff8bbf2bc1829054710" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" +checksum = "40e721d1bc80de2ede4099a9040519486c3c1139cb0287d8fc4f9fc3e8a3f19e" dependencies = [ "multiversx-sc", ] @@ -173,9 +173,9 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.66" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] @@ -201,9 +201,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.11.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" +checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" [[package]] name = "syn" @@ -218,9 +218,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "version_check" diff --git a/contracts/mystery-box/wasm/Cargo.lock b/contracts/mystery-box/wasm/Cargo.lock index 6e86f9e0..f3f04c40 100644 --- a/contracts/mystery-box/wasm/Cargo.lock +++ b/contracts/mystery-box/wasm/Cargo.lock @@ -66,9 +66,9 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" +checksum = "406939660d0c79dd191c6677f4b048df873a95f4531d8abafc9cdbe282bf1725" dependencies = [ "bitflags", "hashbrown", @@ -102,9 +102,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" +checksum = "9e006240993963b482fe0682ae49b2d07255495e3c86706925d119137376cdfc" dependencies = [ "hex", "proc-macro2", @@ -115,18 +115,18 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5c160745bf0c997146fa816a19fba8a8d0517e99ed30cc514eca0967f2eed74" +checksum = "75dc2548fe5072cad37b5c816d2344d7cd12e8cafb1a0ff8bbf2bc1829054710" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" +checksum = "40e721d1bc80de2ede4099a9040519486c3c1139cb0287d8fc4f9fc3e8a3f19e" dependencies = [ "multiversx-sc", ] @@ -201,9 +201,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.11.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" +checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" [[package]] name = "syn" diff --git a/contracts/nft-minter/wasm/Cargo.lock b/contracts/nft-minter/wasm/Cargo.lock index b5ab800f..61b964d8 100644 --- a/contracts/nft-minter/wasm/Cargo.lock +++ b/contracts/nft-minter/wasm/Cargo.lock @@ -66,9 +66,9 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" +checksum = "406939660d0c79dd191c6677f4b048df873a95f4531d8abafc9cdbe282bf1725" dependencies = [ "bitflags", "hashbrown", @@ -102,9 +102,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" +checksum = "9e006240993963b482fe0682ae49b2d07255495e3c86706925d119137376cdfc" dependencies = [ "hex", "proc-macro2", @@ -115,9 +115,9 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" +checksum = "40e721d1bc80de2ede4099a9040519486c3c1139cb0287d8fc4f9fc3e8a3f19e" dependencies = [ "multiversx-sc", ] @@ -163,9 +163,9 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.66" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] @@ -191,9 +191,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.11.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" +checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" [[package]] name = "syn" @@ -208,9 +208,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "version_check" diff --git a/contracts/nft-storage-prepay/wasm/Cargo.lock b/contracts/nft-storage-prepay/wasm/Cargo.lock index edf68e71..1a319677 100755 --- a/contracts/nft-storage-prepay/wasm/Cargo.lock +++ b/contracts/nft-storage-prepay/wasm/Cargo.lock @@ -66,9 +66,9 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" +checksum = "406939660d0c79dd191c6677f4b048df873a95f4531d8abafc9cdbe282bf1725" dependencies = [ "bitflags", "hashbrown", @@ -102,9 +102,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" +checksum = "9e006240993963b482fe0682ae49b2d07255495e3c86706925d119137376cdfc" dependencies = [ "hex", "proc-macro2", @@ -115,9 +115,9 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" +checksum = "40e721d1bc80de2ede4099a9040519486c3c1139cb0287d8fc4f9fc3e8a3f19e" dependencies = [ "multiversx-sc", ] @@ -163,9 +163,9 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.66" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] @@ -191,9 +191,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.11.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" +checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" [[package]] name = "syn" @@ -208,9 +208,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "version_check" diff --git a/contracts/order-book/factory/wasm/Cargo.lock b/contracts/order-book/factory/wasm/Cargo.lock index 4c5f308f..65dc65e3 100644 --- a/contracts/order-book/factory/wasm/Cargo.lock +++ b/contracts/order-book/factory/wasm/Cargo.lock @@ -66,9 +66,9 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" +checksum = "406939660d0c79dd191c6677f4b048df873a95f4531d8abafc9cdbe282bf1725" dependencies = [ "bitflags", "hashbrown", @@ -102,9 +102,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" +checksum = "9e006240993963b482fe0682ae49b2d07255495e3c86706925d119137376cdfc" dependencies = [ "hex", "proc-macro2", @@ -115,9 +115,9 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" +checksum = "40e721d1bc80de2ede4099a9040519486c3c1139cb0287d8fc4f9fc3e8a3f19e" dependencies = [ "multiversx-sc", ] @@ -163,9 +163,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.66" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] @@ -191,9 +191,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.11.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" +checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" [[package]] name = "syn" @@ -208,9 +208,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "version_check" diff --git a/contracts/order-book/pair/wasm/Cargo.lock b/contracts/order-book/pair/wasm/Cargo.lock index 74fe4a20..538de250 100644 --- a/contracts/order-book/pair/wasm/Cargo.lock +++ b/contracts/order-book/pair/wasm/Cargo.lock @@ -66,9 +66,9 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" +checksum = "406939660d0c79dd191c6677f4b048df873a95f4531d8abafc9cdbe282bf1725" dependencies = [ "bitflags", "hashbrown", @@ -102,9 +102,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" +checksum = "9e006240993963b482fe0682ae49b2d07255495e3c86706925d119137376cdfc" dependencies = [ "hex", "proc-macro2", @@ -115,9 +115,9 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" +checksum = "40e721d1bc80de2ede4099a9040519486c3c1139cb0287d8fc4f9fc3e8a3f19e" dependencies = [ "multiversx-sc", ] @@ -163,9 +163,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.66" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] @@ -191,9 +191,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.11.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" +checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" [[package]] name = "syn" @@ -208,9 +208,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "version_check" diff --git a/contracts/ping-pong-egld/wasm/Cargo.lock b/contracts/ping-pong-egld/wasm/Cargo.lock index a17755bf..9a95a8d7 100755 --- a/contracts/ping-pong-egld/wasm/Cargo.lock +++ b/contracts/ping-pong-egld/wasm/Cargo.lock @@ -66,9 +66,9 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" +checksum = "406939660d0c79dd191c6677f4b048df873a95f4531d8abafc9cdbe282bf1725" dependencies = [ "bitflags", "hashbrown", @@ -102,9 +102,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" +checksum = "9e006240993963b482fe0682ae49b2d07255495e3c86706925d119137376cdfc" dependencies = [ "hex", "proc-macro2", @@ -115,9 +115,9 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" +checksum = "40e721d1bc80de2ede4099a9040519486c3c1139cb0287d8fc4f9fc3e8a3f19e" dependencies = [ "multiversx-sc", ] @@ -163,9 +163,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.66" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] @@ -191,9 +191,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.11.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" +checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" [[package]] name = "syn" @@ -208,9 +208,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "version_check" diff --git a/contracts/price-aggregator/wasm/Cargo.lock b/contracts/price-aggregator/wasm/Cargo.lock index 6a87981d..e6cd8f99 100644 --- a/contracts/price-aggregator/wasm/Cargo.lock +++ b/contracts/price-aggregator/wasm/Cargo.lock @@ -83,9 +83,9 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" +checksum = "406939660d0c79dd191c6677f4b048df873a95f4531d8abafc9cdbe282bf1725" dependencies = [ "bitflags", "hashbrown", @@ -119,9 +119,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" +checksum = "9e006240993963b482fe0682ae49b2d07255495e3c86706925d119137376cdfc" dependencies = [ "hex", "proc-macro2", @@ -132,18 +132,18 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5c160745bf0c997146fa816a19fba8a8d0517e99ed30cc514eca0967f2eed74" +checksum = "75dc2548fe5072cad37b5c816d2344d7cd12e8cafb1a0ff8bbf2bc1829054710" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" +checksum = "40e721d1bc80de2ede4099a9040519486c3c1139cb0287d8fc4f9fc3e8a3f19e" dependencies = [ "multiversx-sc", ] @@ -174,9 +174,9 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.66" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] @@ -202,9 +202,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.11.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" +checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" [[package]] name = "syn" @@ -219,9 +219,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "version_check" diff --git a/contracts/proxy-pause/wasm/Cargo.lock b/contracts/proxy-pause/wasm/Cargo.lock index 36751308..b4e55623 100644 --- a/contracts/proxy-pause/wasm/Cargo.lock +++ b/contracts/proxy-pause/wasm/Cargo.lock @@ -66,9 +66,9 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" +checksum = "406939660d0c79dd191c6677f4b048df873a95f4531d8abafc9cdbe282bf1725" dependencies = [ "bitflags", "hashbrown", @@ -102,9 +102,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" +checksum = "9e006240993963b482fe0682ae49b2d07255495e3c86706925d119137376cdfc" dependencies = [ "hex", "proc-macro2", @@ -115,9 +115,9 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" +checksum = "40e721d1bc80de2ede4099a9040519486c3c1139cb0287d8fc4f9fc3e8a3f19e" dependencies = [ "multiversx-sc", ] @@ -148,9 +148,9 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.66" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] @@ -191,9 +191,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.11.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" +checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" [[package]] name = "syn" @@ -208,9 +208,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "version_check" diff --git a/contracts/rewards-distribution/wasm/Cargo.lock b/contracts/rewards-distribution/wasm/Cargo.lock index 7587b37f..c54b2451 100644 --- a/contracts/rewards-distribution/wasm/Cargo.lock +++ b/contracts/rewards-distribution/wasm/Cargo.lock @@ -66,9 +66,9 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" +checksum = "406939660d0c79dd191c6677f4b048df873a95f4531d8abafc9cdbe282bf1725" dependencies = [ "bitflags", "hashbrown", @@ -102,9 +102,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" +checksum = "9e006240993963b482fe0682ae49b2d07255495e3c86706925d119137376cdfc" dependencies = [ "hex", "proc-macro2", @@ -115,18 +115,18 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5c160745bf0c997146fa816a19fba8a8d0517e99ed30cc514eca0967f2eed74" +checksum = "75dc2548fe5072cad37b5c816d2344d7cd12e8cafb1a0ff8bbf2bc1829054710" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" +checksum = "40e721d1bc80de2ede4099a9040519486c3c1139cb0287d8fc4f9fc3e8a3f19e" dependencies = [ "multiversx-sc", ] @@ -157,9 +157,9 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.66" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] @@ -201,9 +201,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.11.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" +checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" [[package]] name = "syn" @@ -218,9 +218,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "version_check" diff --git a/contracts/seed-nft-minter/wasm/Cargo.lock b/contracts/seed-nft-minter/wasm/Cargo.lock index bc42805e..92e3c5bd 100644 --- a/contracts/seed-nft-minter/wasm/Cargo.lock +++ b/contracts/seed-nft-minter/wasm/Cargo.lock @@ -66,9 +66,9 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" +checksum = "406939660d0c79dd191c6677f4b048df873a95f4531d8abafc9cdbe282bf1725" dependencies = [ "bitflags", "hashbrown", @@ -102,9 +102,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" +checksum = "9e006240993963b482fe0682ae49b2d07255495e3c86706925d119137376cdfc" dependencies = [ "hex", "proc-macro2", @@ -115,18 +115,18 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5c160745bf0c997146fa816a19fba8a8d0517e99ed30cc514eca0967f2eed74" +checksum = "75dc2548fe5072cad37b5c816d2344d7cd12e8cafb1a0ff8bbf2bc1829054710" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" +checksum = "40e721d1bc80de2ede4099a9040519486c3c1139cb0287d8fc4f9fc3e8a3f19e" dependencies = [ "multiversx-sc", ] @@ -157,9 +157,9 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.66" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] @@ -201,9 +201,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.11.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" +checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" [[package]] name = "syn" @@ -218,9 +218,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "version_check" diff --git a/contracts/token-release/wasm/Cargo.lock b/contracts/token-release/wasm/Cargo.lock index 4081d15d..a516db1a 100644 --- a/contracts/token-release/wasm/Cargo.lock +++ b/contracts/token-release/wasm/Cargo.lock @@ -66,9 +66,9 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" +checksum = "406939660d0c79dd191c6677f4b048df873a95f4531d8abafc9cdbe282bf1725" dependencies = [ "bitflags", "hashbrown", @@ -102,9 +102,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" +checksum = "9e006240993963b482fe0682ae49b2d07255495e3c86706925d119137376cdfc" dependencies = [ "hex", "proc-macro2", @@ -115,9 +115,9 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" +checksum = "40e721d1bc80de2ede4099a9040519486c3c1139cb0287d8fc4f9fc3e8a3f19e" dependencies = [ "multiversx-sc", ] @@ -148,9 +148,9 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.66" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] @@ -176,9 +176,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.11.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" +checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" [[package]] name = "syn" @@ -208,9 +208,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "version_check" diff --git a/contracts/wegld-swap/wasm/Cargo.lock b/contracts/wegld-swap/wasm/Cargo.lock index bcfea925..97deaf06 100644 --- a/contracts/wegld-swap/wasm/Cargo.lock +++ b/contracts/wegld-swap/wasm/Cargo.lock @@ -66,9 +66,9 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5889db6e6f6814b221cf4c1cd2937aa047b419e2a80b08695d85b4a9f537bdfd" +checksum = "406939660d0c79dd191c6677f4b048df873a95f4531d8abafc9cdbe282bf1725" dependencies = [ "bitflags", "hashbrown", @@ -102,9 +102,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23fead13b29d79f702e021926402588e9a7822ed9dfadfdfe71c436dce100e4f" +checksum = "9e006240993963b482fe0682ae49b2d07255495e3c86706925d119137376cdfc" dependencies = [ "hex", "proc-macro2", @@ -115,18 +115,18 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5c160745bf0c997146fa816a19fba8a8d0517e99ed30cc514eca0967f2eed74" +checksum = "75dc2548fe5072cad37b5c816d2344d7cd12e8cafb1a0ff8bbf2bc1829054710" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.43.3" +version = "0.43.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f6fce7b968fec7ea27f6fef909d4149e515e31aa2486a93dcd7c72a8a01e571" +checksum = "40e721d1bc80de2ede4099a9040519486c3c1139cb0287d8fc4f9fc3e8a3f19e" dependencies = [ "multiversx-sc", ] @@ -173,9 +173,9 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.66" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] @@ -201,9 +201,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.11.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" +checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" [[package]] name = "syn" @@ -218,9 +218,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "version_check" From 1c9fea08c7da050e71e105ad627fc4df765f023e Mon Sep 17 00:00:00 2001 From: Alin Cruceat Date: Thu, 28 Sep 2023 13:23:46 +0300 Subject: [PATCH 09/14] update multisig toml --- contracts/multisig/Cargo.toml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/contracts/multisig/Cargo.toml b/contracts/multisig/Cargo.toml index 6ef91dc9..dd98e27c 100644 --- a/contracts/multisig/Cargo.toml +++ b/contracts/multisig/Cargo.toml @@ -18,8 +18,10 @@ version = "0.43.3" version = "0.43.3" [dev-dependencies.adder] +path = "../adder" [dev-dependencies.factorial] +path = "../factorial" [dev-dependencies.multiversx-wegld-swap-sc] version = "0.43.3" From 126234fa712eacd65e2139297fcc67ab4858f265 Mon Sep 17 00:00:00 2001 From: Alin Cruceat Date: Mon, 2 Oct 2023 13:42:12 +0300 Subject: [PATCH 10/14] undo upgrade mystery box --- contracts/mystery-box/Cargo.toml | 6 ++-- contracts/mystery-box/meta/Cargo.toml | 2 +- contracts/mystery-box/wasm/Cargo.lock | 44 +++++++++++++-------------- contracts/mystery-box/wasm/Cargo.toml | 2 +- contracts/mystery-box/wasm/src/lib.rs | 30 ++++++++---------- 5 files changed, 40 insertions(+), 44 deletions(-) diff --git a/contracts/mystery-box/Cargo.toml b/contracts/mystery-box/Cargo.toml index 7a86cb27..af6c37ee 100644 --- a/contracts/mystery-box/Cargo.toml +++ b/contracts/mystery-box/Cargo.toml @@ -8,9 +8,9 @@ publish = false [lib] path = "src/lib.rs" [dependencies.multiversx-sc] -version = "0.43.3" +version = "0.41.3" [dependencies.multiversx-sc-modules] -version = "0.43.3" +version = "0.41.3" [dev-dependencies.multiversx-sc-scenario] -version = "0.43.3" +version = "0.41.3" diff --git a/contracts/mystery-box/meta/Cargo.toml b/contracts/mystery-box/meta/Cargo.toml index d8e1e101..7caacafc 100644 --- a/contracts/mystery-box/meta/Cargo.toml +++ b/contracts/mystery-box/meta/Cargo.toml @@ -7,4 +7,4 @@ publish = false path = ".." [dependencies.multiversx-sc-meta] -version = "0.43.3" +version = "0.41.3" diff --git a/contracts/mystery-box/wasm/Cargo.lock b/contracts/mystery-box/wasm/Cargo.lock index f3f04c40..76050fd7 100644 --- a/contracts/mystery-box/wasm/Cargo.lock +++ b/contracts/mystery-box/wasm/Cargo.lock @@ -66,9 +66,9 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "multiversx-sc" -version = "0.43.4" +version = "0.41.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "406939660d0c79dd191c6677f4b048df873a95f4531d8abafc9cdbe282bf1725" +checksum = "bfbe80ec68fedf299dd65469f8999cf3c0f884ffa497122428f08303bcb8b884" dependencies = [ "bitflags", "hashbrown", @@ -80,9 +80,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.18.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f1e15b46c17b87c0c7cdd79b041a4abd7f3a2b45f3c993f6ce38c0f233e82b6" +checksum = "71d70ea458247d263b7e9fdfb207530b6a530546247139c162450e515c013a18" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -90,9 +90,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.18.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a7bc0762cd6d88f8bc54805bc652b042a61cd7fbc2d0a325010f088b78fb2ac" +checksum = "3ad6920f80fda67fc60fd51aaa9f83ec7e069470f60a068c81205f9da5d05a30" dependencies = [ "hex", "proc-macro2", @@ -102,9 +102,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.43.4" +version = "0.41.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e006240993963b482fe0682ae49b2d07255495e3c86706925d119137376cdfc" +checksum = "1c2b87d817f2176bf1830bef938884f24267516c334a377e71a96bc18ebb09c1" dependencies = [ "hex", "proc-macro2", @@ -115,18 +115,18 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.43.4" +version = "0.41.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75dc2548fe5072cad37b5c816d2344d7cd12e8cafb1a0ff8bbf2bc1829054710" +checksum = "704825223788bfdfd622980cae8feedae82609fded5ef5f53af31661d5e02312" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.43.4" +version = "0.41.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40e721d1bc80de2ede4099a9040519486c3c1139cb0287d8fc4f9fc3e8a3f19e" +checksum = "932327626de71eeb1dbe86b863cc70cc532f8ceba8e73a059410f6aa56b22a77" dependencies = [ "multiversx-sc", ] @@ -158,9 +158,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.16" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" +checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" dependencies = [ "autocfg", ] @@ -173,18 +173,18 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.67" +version = "1.0.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" +checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.33" +version = "1.0.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" +checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488" dependencies = [ "proc-macro2", ] @@ -201,9 +201,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.11.1" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" +checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" [[package]] name = "syn" @@ -218,9 +218,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.12" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0" [[package]] name = "version_check" diff --git a/contracts/mystery-box/wasm/Cargo.toml b/contracts/mystery-box/wasm/Cargo.toml index c5c7cb65..85b2a21c 100644 --- a/contracts/mystery-box/wasm/Cargo.toml +++ b/contracts/mystery-box/wasm/Cargo.toml @@ -19,4 +19,4 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.43.3" +version = "0.41.3" diff --git a/contracts/mystery-box/wasm/src/lib.rs b/contracts/mystery-box/wasm/src/lib.rs index adea64ba..aeb81d7a 100644 --- a/contracts/mystery-box/wasm/src/lib.rs +++ b/contracts/mystery-box/wasm/src/lib.rs @@ -10,9 +10,6 @@ // Total number of exported functions: 14 #![no_std] - -// Configuration that works with rustc < 1.73.0. -// TODO: Recommended rustc version: 1.73.0 or newer. #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); @@ -21,20 +18,19 @@ multiversx_sc_wasm_adapter::panic_handler!(); multiversx_sc_wasm_adapter::endpoints! { mystery_box ( - init => init - setupMysteryBox => setup_mystery_box - updateMysteryBoxUris => update_mystery_box_uris - createMysteryBox => create_mystery_box - openMysteryBox => open_mystery_box - getMysteryBoxTokenIdentifier => mystery_box_token_id - getGlobalCooldownEpoch => global_cooldown_epoch - getWinningRates => winning_rates - getMysteryBoxUris => mystery_box_uris - isAdmin => is_admin - addAdmin => add_admin - removeAdmin => remove_admin - getAdmins => admins + setupMysteryBox + updateMysteryBoxUris + createMysteryBox + openMysteryBox + getMysteryBoxTokenIdentifier + getGlobalCooldownEpoch + getWinningRates + getMysteryBoxUris + isAdmin + addAdmin + removeAdmin + getAdmins ) } -multiversx_sc_wasm_adapter::async_callback_empty! {} +multiversx_sc_wasm_adapter::empty_callback! {} From 383a5425a666329c59e537cb66d95ee9849a22aa Mon Sep 17 00:00:00 2001 From: Alin Cruceat Date: Mon, 2 Oct 2023 13:47:58 +0300 Subject: [PATCH 11/14] downgrade liquid locking --- contracts/liquid-locking/Cargo.toml | 4 ++-- contracts/liquid-locking/meta/Cargo.toml | 2 +- contracts/liquid-locking/wasm/Cargo.lock | 20 ++++++++-------- contracts/liquid-locking/wasm/Cargo.toml | 2 +- contracts/liquid-locking/wasm/src/lib.rs | 30 ++++++++++-------------- contracts/mystery-box/wasm/Cargo.lock | 20 ++++++++-------- 6 files changed, 37 insertions(+), 41 deletions(-) diff --git a/contracts/liquid-locking/Cargo.toml b/contracts/liquid-locking/Cargo.toml index cce776b0..dd6ed007 100644 --- a/contracts/liquid-locking/Cargo.toml +++ b/contracts/liquid-locking/Cargo.toml @@ -12,6 +12,6 @@ path = "src/lib.rs" num-bigint = "0.4.2" [dev-dependencies.multiversx-sc-scenario] -version = "0.43.3" +version = "0.41.3" [dependencies.multiversx-sc] -version = "0.43.3" +version = "0.41.3" diff --git a/contracts/liquid-locking/meta/Cargo.toml b/contracts/liquid-locking/meta/Cargo.toml index 41fe4b6c..a8b95e5e 100644 --- a/contracts/liquid-locking/meta/Cargo.toml +++ b/contracts/liquid-locking/meta/Cargo.toml @@ -10,4 +10,4 @@ authors = ["you"] path = ".." [dependencies.multiversx-sc-meta] -version = "0.43.3" +version = "0.41.3" diff --git a/contracts/liquid-locking/wasm/Cargo.lock b/contracts/liquid-locking/wasm/Cargo.lock index eb123116..aa388016 100644 --- a/contracts/liquid-locking/wasm/Cargo.lock +++ b/contracts/liquid-locking/wasm/Cargo.lock @@ -81,9 +81,9 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.43.4" +version = "0.41.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "406939660d0c79dd191c6677f4b048df873a95f4531d8abafc9cdbe282bf1725" +checksum = "bfbe80ec68fedf299dd65469f8999cf3c0f884ffa497122428f08303bcb8b884" dependencies = [ "bitflags", "hashbrown", @@ -95,9 +95,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.18.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f1e15b46c17b87c0c7cdd79b041a4abd7f3a2b45f3c993f6ce38c0f233e82b6" +checksum = "71d70ea458247d263b7e9fdfb207530b6a530546247139c162450e515c013a18" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -105,9 +105,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.18.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a7bc0762cd6d88f8bc54805bc652b042a61cd7fbc2d0a325010f088b78fb2ac" +checksum = "3ad6920f80fda67fc60fd51aaa9f83ec7e069470f60a068c81205f9da5d05a30" dependencies = [ "hex", "proc-macro2", @@ -117,9 +117,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.43.4" +version = "0.41.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e006240993963b482fe0682ae49b2d07255495e3c86706925d119137376cdfc" +checksum = "1c2b87d817f2176bf1830bef938884f24267516c334a377e71a96bc18ebb09c1" dependencies = [ "hex", "proc-macro2", @@ -130,9 +130,9 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.43.4" +version = "0.41.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40e721d1bc80de2ede4099a9040519486c3c1139cb0287d8fc4f9fc3e8a3f19e" +checksum = "932327626de71eeb1dbe86b863cc70cc532f8ceba8e73a059410f6aa56b22a77" dependencies = [ "multiversx-sc", ] diff --git a/contracts/liquid-locking/wasm/Cargo.toml b/contracts/liquid-locking/wasm/Cargo.toml index f945eb93..4937bf6b 100644 --- a/contracts/liquid-locking/wasm/Cargo.toml +++ b/contracts/liquid-locking/wasm/Cargo.toml @@ -22,4 +22,4 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.43.3" +version = "0.41.3" diff --git a/contracts/liquid-locking/wasm/src/lib.rs b/contracts/liquid-locking/wasm/src/lib.rs index 17c7c47d..c2fbe446 100644 --- a/contracts/liquid-locking/wasm/src/lib.rs +++ b/contracts/liquid-locking/wasm/src/lib.rs @@ -10,9 +10,6 @@ // Total number of exported functions: 14 #![no_std] - -// Configuration that works with rustc < 1.73.0. -// TODO: Recommended rustc version: 1.73.0 or newer. #![feature(lang_items)] multiversx_sc_wasm_adapter::allocator!(); @@ -21,20 +18,19 @@ multiversx_sc_wasm_adapter::panic_handler!(); multiversx_sc_wasm_adapter::endpoints! { liquid_locking ( - init => init - set_unbond_period => set_unbond_period - whitelist_token => whitelist_token - blacklist_token => blacklist_token - lock => lock - unlock => unlock - unbond => unbond - lockedTokenAmounts => locked_token_amounts_by_address - unlockedTokenAmounts => unlocked_token_by_address - lockedTokens => locked_tokens - unlockedTokens => unlocked_tokens - whitelistedTokens => token_whitelist - unbondPeriod => unbond_period + set_unbond_period + whitelist_token + blacklist_token + lock + unlock + unbond + lockedTokenAmounts + unlockedTokenAmounts + lockedTokens + unlockedTokens + whitelistedTokens + unbondPeriod ) } -multiversx_sc_wasm_adapter::async_callback_empty! {} +multiversx_sc_wasm_adapter::empty_callback! {} diff --git a/contracts/mystery-box/wasm/Cargo.lock b/contracts/mystery-box/wasm/Cargo.lock index 76050fd7..30caf5ba 100644 --- a/contracts/mystery-box/wasm/Cargo.lock +++ b/contracts/mystery-box/wasm/Cargo.lock @@ -158,9 +158,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" dependencies = [ "autocfg", ] @@ -173,18 +173,18 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.63" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.28" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" dependencies = [ "proc-macro2", ] @@ -201,9 +201,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.10.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" [[package]] name = "syn" @@ -218,9 +218,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.9" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "version_check" From 2e4b40356dcc1802706d4ab40ae9124f87af580b Mon Sep 17 00:00:00 2001 From: Alin Cruceat Date: Mon, 2 Oct 2023 13:54:44 +0300 Subject: [PATCH 12/14] clippy --- contracts/multisig/tests/multisig_blackbox_test.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/contracts/multisig/tests/multisig_blackbox_test.rs b/contracts/multisig/tests/multisig_blackbox_test.rs index db90c828..f9bb5043 100644 --- a/contracts/multisig/tests/multisig_blackbox_test.rs +++ b/contracts/multisig/tests/multisig_blackbox_test.rs @@ -400,7 +400,7 @@ fn test_change_quorum() { SetStateStep::new().put_account(NEW_BOARD_MEMBER_ADDRESS_EXPR, Account::new().nonce(1)), ); - let action_id = state.propose_add_board_member(new_board_member_address.clone()); + let action_id = state.propose_add_board_member(new_board_member_address); state.sign(action_id); state.perform(action_id); @@ -455,7 +455,7 @@ fn test_transfer_execute_to_user() { .world .sc_call_get_result(ScCallStep::new().from(PROPOSER_ADDRESS_EXPR).call( state.multisig_contract.propose_transfer_execute( - new_user_address.clone(), + new_user_address, AMOUNT.parse::().unwrap(), OptionalValue::::None, MultiValueVec::>::new(), @@ -536,7 +536,7 @@ fn test_deploy_and_upgrade_from_source() { let adder_call = state.adder_contract.add(5u64); - let action_id = state.propose_transfer_execute(new_adder_address.clone(), 0u64, adder_call); + let action_id = state.propose_transfer_execute(new_adder_address, 0u64, adder_call); state.sign(action_id); state.perform(action_id); @@ -565,7 +565,7 @@ fn test_deploy_and_upgrade_from_source() { let action_id = state.propose_sc_upgrade_from_source( state.adder_address.clone(), 0u64, - factorial_address.clone(), + factorial_address, CodeMetadata::all(), MultiValueVec::new(), ); From 765e1bc9ffb6fa5c177f1d5c13372841a542923f Mon Sep 17 00:00:00 2001 From: Alin Cruceat Date: Mon, 2 Oct 2023 13:58:08 +0300 Subject: [PATCH 13/14] fix test path --- contracts/wegld-swap/tests/wegld_swap_scenario_rs_test.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contracts/wegld-swap/tests/wegld_swap_scenario_rs_test.rs b/contracts/wegld-swap/tests/wegld_swap_scenario_rs_test.rs index 29b8456d..0df35b68 100644 --- a/contracts/wegld-swap/tests/wegld_swap_scenario_rs_test.rs +++ b/contracts/wegld-swap/tests/wegld_swap_scenario_rs_test.rs @@ -2,7 +2,7 @@ use multiversx_sc_scenario::*; fn world() -> ScenarioWorld { let mut blockchain = ScenarioWorld::new(); - blockchain.set_current_dir_from_workspace("contracts/core/wegld-swap"); + blockchain.set_current_dir_from_workspace("contracts/wegld-swap"); blockchain.register_contract( "file:output/multiversx-wegld-swap-sc.wasm", From 0c7fab94101684154147f1a4d3248f25de861c14 Mon Sep 17 00:00:00 2001 From: Alin Cruceat Date: Mon, 2 Oct 2023 14:40:47 +0300 Subject: [PATCH 14/14] upgrade to 0.43.4 --- contracts/adder/Cargo.toml | 6 ++--- contracts/adder/interact/Cargo.toml | 18 ++++++++++----- contracts/adder/meta/Cargo.toml | 3 +-- contracts/adder/wasm/Cargo.toml | 4 +--- contracts/bonding-curve-contract/Cargo.toml | 8 +++---- .../bonding-curve-contract/meta/Cargo.toml | 3 +-- .../bonding-curve-contract/wasm/Cargo.toml | 4 +--- contracts/check-pause/Cargo.toml | 9 ++++---- contracts/check-pause/meta/Cargo.toml | 3 +-- contracts/check-pause/wasm/Cargo.toml | 4 +--- contracts/crowdfunding-esdt/Cargo.toml | 9 ++++---- contracts/crowdfunding-esdt/meta/Cargo.toml | 3 +-- contracts/crowdfunding-esdt/wasm/Cargo.toml | 4 +--- contracts/crypto-bubbles/Cargo.toml | 6 ++--- contracts/crypto-bubbles/meta/Cargo.toml | 3 +-- contracts/crypto-bubbles/wasm/Cargo.toml | 4 +--- .../crypto-kitties/common/kitty/Cargo.toml | 3 +-- .../crypto-kitties/common/random/Cargo.toml | 3 +-- .../crypto-kitties/kitty-auction/Cargo.toml | 6 ++--- .../kitty-auction/meta/Cargo.toml | 3 +-- .../kitty-auction/wasm/Cargo.toml | 4 +--- .../kitty-genetic-alg/Cargo.toml | 7 ++---- .../kitty-genetic-alg/meta/Cargo.toml | 3 +-- .../kitty-genetic-alg/wasm/Cargo.toml | 4 +--- .../crypto-kitties/kitty-ownership/Cargo.toml | 6 ++--- .../kitty-ownership/meta/Cargo.toml | 3 +-- .../kitty-ownership/wasm/Cargo.toml | 4 +--- contracts/crypto-zombies/Cargo.toml | 6 ++--- contracts/crypto-zombies/meta/Cargo.toml | 3 +-- contracts/crypto-zombies/wasm/Cargo.toml | 3 +-- contracts/digital-cash/Cargo.toml | 6 ++--- contracts/digital-cash/meta/Cargo.toml | 3 +-- contracts/digital-cash/wasm/Cargo.toml | 4 +--- contracts/empty/Cargo.toml | 9 ++++---- contracts/empty/meta/Cargo.toml | 3 +-- contracts/empty/wasm/Cargo.toml | 4 +--- contracts/esdt-transfer-with-fee/Cargo.toml | 6 ++--- .../esdt-transfer-with-fee/meta/Cargo.toml | 3 +-- .../esdt-transfer-with-fee/wasm/Cargo.toml | 4 +--- contracts/factorial/Cargo.toml | 6 ++--- contracts/factorial/meta/Cargo.toml | 3 +-- contracts/factorial/wasm/Cargo.toml | 4 +--- contracts/fractional-nfts/Cargo.toml | 8 +++---- contracts/fractional-nfts/meta/Cargo.toml | 3 +-- contracts/fractional-nfts/wasm/Cargo.toml | 4 +--- contracts/lottery-esdt/Cargo.toml | 6 ++--- contracts/lottery-esdt/meta/Cargo.toml | 3 +-- contracts/lottery-esdt/wasm/Cargo.toml | 4 +--- contracts/multisig/Cargo.toml | 17 +++++++------- contracts/multisig/interact/Cargo.toml | 22 ++++++++++++------- contracts/multisig/meta/Cargo.toml | 3 +-- .../multisig/wasm-multisig-full/Cargo.toml | 2 +- .../multisig/wasm-multisig-view/Cargo.toml | 2 +- contracts/multisig/wasm/Cargo.toml | 4 +--- contracts/nft-minter/Cargo.toml | 6 ++--- contracts/nft-minter/meta/Cargo.toml | 3 +-- contracts/nft-minter/wasm/Cargo.toml | 4 +--- contracts/nft-storage-prepay/Cargo.toml | 7 ++---- contracts/nft-storage-prepay/meta/Cargo.toml | 3 +-- contracts/nft-storage-prepay/wasm/Cargo.toml | 4 +--- contracts/order-book/factory/Cargo.toml | 6 ++--- contracts/order-book/factory/meta/Cargo.toml | 3 +-- contracts/order-book/factory/wasm/Cargo.toml | 4 +--- contracts/order-book/pair/Cargo.toml | 6 ++--- contracts/order-book/pair/meta/Cargo.toml | 3 +-- contracts/order-book/pair/wasm/Cargo.toml | 4 +--- contracts/ping-pong-egld/Cargo.toml | 6 ++--- contracts/ping-pong-egld/meta/Cargo.toml | 3 +-- contracts/ping-pong-egld/wasm/Cargo.toml | 4 +--- contracts/price-aggregator/Cargo.toml | 18 ++++++--------- contracts/price-aggregator/meta/Cargo.toml | 5 ++--- contracts/price-aggregator/wasm/Cargo.toml | 4 +--- contracts/proxy-pause/Cargo.toml | 6 ++--- contracts/proxy-pause/meta/Cargo.toml | 3 +-- contracts/proxy-pause/wasm/Cargo.toml | 4 +--- contracts/rewards-distribution/Cargo.toml | 8 +++---- .../rewards-distribution/meta/Cargo.toml | 3 +-- .../rewards-distribution/wasm/Cargo.toml | 4 +--- contracts/seed-nft-minter/Cargo.toml | 8 +++---- contracts/seed-nft-minter/meta/Cargo.toml | 3 +-- contracts/seed-nft-minter/wasm/Cargo.toml | 4 +--- contracts/token-release/Cargo.toml | 6 ++--- contracts/token-release/meta/Cargo.toml | 3 +-- contracts/token-release/wasm/Cargo.toml | 4 +--- contracts/wegld-swap/Cargo.toml | 14 ++++-------- contracts/wegld-swap/meta/Cargo.toml | 5 ++--- contracts/wegld-swap/wasm/Cargo.toml | 4 +--- 87 files changed, 163 insertions(+), 291 deletions(-) diff --git a/contracts/adder/Cargo.toml b/contracts/adder/Cargo.toml index a385ff0d..eaae18d9 100644 --- a/contracts/adder/Cargo.toml +++ b/contracts/adder/Cargo.toml @@ -7,9 +7,7 @@ publish = false [lib] path = "src/adder.rs" - [dependencies.multiversx-sc] -version = "0.43.3" - +version = "0.43.4" [dev-dependencies.multiversx-sc-scenario] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/adder/interact/Cargo.toml b/contracts/adder/interact/Cargo.toml index 36b36c2d..923d462d 100644 --- a/contracts/adder/interact/Cargo.toml +++ b/contracts/adder/interact/Cargo.toml @@ -1,3 +1,7 @@ +[[bin]] +name = "adder-interact" +path = "src/adder_interact.rs" + [package] name = "adder-interact" version = "0.0.0" @@ -5,15 +9,17 @@ authors = ["Ovidiu Stinga "] edition = "2021" publish = false -[[bin]] -name = "adder-interact" -path = "src/adder_interact.rs" - [dependencies] -clap = { version = "4.1.0", features = ["derive", "cargo"] } -serde = { version = "1.0", features = ["derive"] } toml = "0.7.2" +[dependencies.clap] +version = "4.1.0" +features = ["derive", "cargo"] + +[dependencies.serde] +version = "1.0" +features = ["derive"] + [dependencies.adder] path = ".." diff --git a/contracts/adder/meta/Cargo.toml b/contracts/adder/meta/Cargo.toml index d92e8a76..657af6ce 100644 --- a/contracts/adder/meta/Cargo.toml +++ b/contracts/adder/meta/Cargo.toml @@ -3,9 +3,8 @@ name = "adder-meta" version = "0.0.0" edition = "2021" publish = false - [dependencies.adder] path = ".." [dependencies.multiversx-sc-meta] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/adder/wasm/Cargo.toml b/contracts/adder/wasm/Cargo.toml index cabf8e4a..b760d3d1 100644 --- a/contracts/adder/wasm/Cargo.toml +++ b/contracts/adder/wasm/Cargo.toml @@ -7,19 +7,17 @@ publish = false [lib] crate-type = ["cdylib"] - [profile.release] codegen-units = 1 opt-level = "z" lto = true debug = false panic = "abort" - [dependencies.adder] path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.43.3" +version = "0.43.4" [workspace] members = ["."] diff --git a/contracts/bonding-curve-contract/Cargo.toml b/contracts/bonding-curve-contract/Cargo.toml index 655a3e92..ca1386cd 100644 --- a/contracts/bonding-curve-contract/Cargo.toml +++ b/contracts/bonding-curve-contract/Cargo.toml @@ -7,12 +7,10 @@ publish = false [lib] path = "src/bonding_curve_contract.rs" - [dependencies.multiversx-sc] -version = "0.43.3" +version = "0.43.4" [dependencies.multiversx-sc-modules] -version = "0.43.3" - +version = "0.43.4" [dev-dependencies.multiversx-sc-scenario] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/bonding-curve-contract/meta/Cargo.toml b/contracts/bonding-curve-contract/meta/Cargo.toml index b531d223..fbddd3fd 100644 --- a/contracts/bonding-curve-contract/meta/Cargo.toml +++ b/contracts/bonding-curve-contract/meta/Cargo.toml @@ -4,9 +4,8 @@ version = "0.0.0" authors = ["Alin Cruceat "] edition = "2021" publish = false - [dependencies.bonding-curve-contract] path = ".." [dependencies.multiversx-sc-meta] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/bonding-curve-contract/wasm/Cargo.toml b/contracts/bonding-curve-contract/wasm/Cargo.toml index e6d75835..3e60652c 100644 --- a/contracts/bonding-curve-contract/wasm/Cargo.toml +++ b/contracts/bonding-curve-contract/wasm/Cargo.toml @@ -7,19 +7,17 @@ publish = false [lib] crate-type = ["cdylib"] - [profile.release] codegen-units = 1 opt-level = "z" lto = true debug = false panic = "abort" - [dependencies.bonding-curve-contract] path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.43.3" +version = "0.43.4" [workspace] members = ["."] diff --git a/contracts/check-pause/Cargo.toml b/contracts/check-pause/Cargo.toml index e3f47c13..3c468a52 100644 --- a/contracts/check-pause/Cargo.toml +++ b/contracts/check-pause/Cargo.toml @@ -11,11 +11,10 @@ path = "src/check_pause.rs" [dev-dependencies] num-bigint = "0.4.2" +[dev-dependencies.multiversx-sc-scenario] +version = "0.43.4" [dependencies.multiversx-sc] -version = "0.43.3" +version = "0.43.4" [dependencies.multiversx-sc-modules] -version = "0.43.3" - -[dev-dependencies.multiversx-sc-scenario] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/check-pause/meta/Cargo.toml b/contracts/check-pause/meta/Cargo.toml index d3946f2d..2c331cde 100644 --- a/contracts/check-pause/meta/Cargo.toml +++ b/contracts/check-pause/meta/Cargo.toml @@ -4,9 +4,8 @@ version = "0.0.0" edition = "2021" publish = false authors = ["Alin Cruceat "] - [dependencies.check-pause] path = ".." [dependencies.multiversx-sc-meta] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/check-pause/wasm/Cargo.toml b/contracts/check-pause/wasm/Cargo.toml index 861f72b6..7d71ee20 100644 --- a/contracts/check-pause/wasm/Cargo.toml +++ b/contracts/check-pause/wasm/Cargo.toml @@ -12,16 +12,14 @@ crate-type = ["cdylib"] members = ["."] [dev-dependencies] - [profile.release] codegen-units = 1 opt-level = "z" lto = true debug = false panic = "abort" - [dependencies.check-pause] path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/crowdfunding-esdt/Cargo.toml b/contracts/crowdfunding-esdt/Cargo.toml index 6cec9623..74649c01 100644 --- a/contracts/crowdfunding-esdt/Cargo.toml +++ b/contracts/crowdfunding-esdt/Cargo.toml @@ -7,14 +7,13 @@ publish = false [lib] path = "src/crowdfunding_esdt.rs" - [dependencies.multiversx-sc] -version = "0.43.3" - -[dev-dependencies.multiversx-sc-scenario] -version = "0.43.3" +version = "0.43.4" [dev-dependencies] num-bigint = "0.4.2" num-traits = "0.2" hex = "0.4" + +[dev-dependencies.multiversx-sc-scenario] +version = "0.43.4" diff --git a/contracts/crowdfunding-esdt/meta/Cargo.toml b/contracts/crowdfunding-esdt/meta/Cargo.toml index e779f973..f792bdf1 100644 --- a/contracts/crowdfunding-esdt/meta/Cargo.toml +++ b/contracts/crowdfunding-esdt/meta/Cargo.toml @@ -4,9 +4,8 @@ version = "0.0.0" authors = ["Andrei Marinica "] edition = "2021" publish = false - [dependencies.crowdfunding-esdt] path = ".." [dependencies.multiversx-sc-meta] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/crowdfunding-esdt/wasm/Cargo.toml b/contracts/crowdfunding-esdt/wasm/Cargo.toml index 39b5afdf..31580480 100644 --- a/contracts/crowdfunding-esdt/wasm/Cargo.toml +++ b/contracts/crowdfunding-esdt/wasm/Cargo.toml @@ -7,19 +7,17 @@ publish = false [lib] crate-type = ["cdylib"] - [profile.release] codegen-units = 1 opt-level = "z" lto = true debug = false panic = "abort" - [dependencies.crowdfunding-esdt] path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.43.3" +version = "0.43.4" [workspace] members = ["."] diff --git a/contracts/crypto-bubbles/Cargo.toml b/contracts/crypto-bubbles/Cargo.toml index 9c805f4a..17599048 100644 --- a/contracts/crypto-bubbles/Cargo.toml +++ b/contracts/crypto-bubbles/Cargo.toml @@ -7,9 +7,7 @@ publish = false [lib] path = "src/crypto_bubbles.rs" - [dependencies.multiversx-sc] -version = "0.43.3" - +version = "0.43.4" [dev-dependencies.multiversx-sc-scenario] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/crypto-bubbles/meta/Cargo.toml b/contracts/crypto-bubbles/meta/Cargo.toml index c52bf9e5..4cea100e 100644 --- a/contracts/crypto-bubbles/meta/Cargo.toml +++ b/contracts/crypto-bubbles/meta/Cargo.toml @@ -4,9 +4,8 @@ version = "0.0.0" authors = ["Andrei Marinica "] edition = "2021" publish = false - [dependencies.crypto-bubbles] path = ".." [dependencies.multiversx-sc-meta] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/crypto-bubbles/wasm/Cargo.toml b/contracts/crypto-bubbles/wasm/Cargo.toml index c61b5d0b..a4455f7b 100644 --- a/contracts/crypto-bubbles/wasm/Cargo.toml +++ b/contracts/crypto-bubbles/wasm/Cargo.toml @@ -7,19 +7,17 @@ publish = false [lib] crate-type = ["cdylib"] - [profile.release] codegen-units = 1 opt-level = "z" lto = true debug = false panic = "abort" - [dependencies.crypto-bubbles] path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.43.3" +version = "0.43.4" [workspace] members = ["."] diff --git a/contracts/crypto-kitties/common/kitty/Cargo.toml b/contracts/crypto-kitties/common/kitty/Cargo.toml index 2a1eebc1..f007d16d 100644 --- a/contracts/crypto-kitties/common/kitty/Cargo.toml +++ b/contracts/crypto-kitties/common/kitty/Cargo.toml @@ -7,9 +7,8 @@ publish = false [lib] path = "src/lib.rs" - [dependencies.multiversx-sc] -version = "0.43.3" +version = "0.43.4" [dependencies.random] version = "0.0.0" diff --git a/contracts/crypto-kitties/common/random/Cargo.toml b/contracts/crypto-kitties/common/random/Cargo.toml index 060c17ca..df44f602 100644 --- a/contracts/crypto-kitties/common/random/Cargo.toml +++ b/contracts/crypto-kitties/common/random/Cargo.toml @@ -6,6 +6,5 @@ edition = "2021" [lib] path = "src/lib.rs" - [dependencies.multiversx-sc] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/crypto-kitties/kitty-auction/Cargo.toml b/contracts/crypto-kitties/kitty-auction/Cargo.toml index e7289881..13effdeb 100644 --- a/contracts/crypto-kitties/kitty-auction/Cargo.toml +++ b/contracts/crypto-kitties/kitty-auction/Cargo.toml @@ -7,7 +7,6 @@ publish = false [lib] path = "src/lib.rs" - [dependencies.kitty] version = "0.0.0" path = "../common/kitty" @@ -17,7 +16,6 @@ version = "0.0.0" path = "../kitty-ownership" [dependencies.multiversx-sc] -version = "0.43.3" - +version = "0.43.4" [dev-dependencies.multiversx-sc-scenario] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/crypto-kitties/kitty-auction/meta/Cargo.toml b/contracts/crypto-kitties/kitty-auction/meta/Cargo.toml index f70aad05..fcfa070a 100644 --- a/contracts/crypto-kitties/kitty-auction/meta/Cargo.toml +++ b/contracts/crypto-kitties/kitty-auction/meta/Cargo.toml @@ -3,9 +3,8 @@ name = "kitty-auction-meta" version = "0.0.0" edition = "2021" publish = false - [dependencies.kitty-auction] path = ".." [dependencies.multiversx-sc-meta] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/crypto-kitties/kitty-auction/wasm/Cargo.toml b/contracts/crypto-kitties/kitty-auction/wasm/Cargo.toml index 4328f407..5dcf4e60 100644 --- a/contracts/crypto-kitties/kitty-auction/wasm/Cargo.toml +++ b/contracts/crypto-kitties/kitty-auction/wasm/Cargo.toml @@ -9,16 +9,14 @@ crate-type = ["cdylib"] [workspace] members = ["."] - [profile.release] codegen-units = 1 opt-level = "z" lto = true debug = false panic = "abort" - [dependencies.kitty-auction] path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/crypto-kitties/kitty-genetic-alg/Cargo.toml b/contracts/crypto-kitties/kitty-genetic-alg/Cargo.toml index bb189f51..658265b5 100644 --- a/contracts/crypto-kitties/kitty-genetic-alg/Cargo.toml +++ b/contracts/crypto-kitties/kitty-genetic-alg/Cargo.toml @@ -7,8 +7,6 @@ publish = false [lib] path = "src/lib.rs" - - [dependencies.kitty] version = "0.0.0" path = "../common/kitty" @@ -18,7 +16,6 @@ version = "0.0.0" path = "../common/random" [dependencies.multiversx-sc] -version = "0.43.3" - +version = "0.43.4" [dev-dependencies.multiversx-sc-scenario] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/crypto-kitties/kitty-genetic-alg/meta/Cargo.toml b/contracts/crypto-kitties/kitty-genetic-alg/meta/Cargo.toml index 7ff43eef..7d63efa8 100644 --- a/contracts/crypto-kitties/kitty-genetic-alg/meta/Cargo.toml +++ b/contracts/crypto-kitties/kitty-genetic-alg/meta/Cargo.toml @@ -3,9 +3,8 @@ name = "kitty-genetic-alg-meta" version = "0.0.0" edition = "2021" publish = false - [dependencies.kitty-genetic-alg] path = ".." [dependencies.multiversx-sc-meta] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/crypto-kitties/kitty-genetic-alg/wasm/Cargo.toml b/contracts/crypto-kitties/kitty-genetic-alg/wasm/Cargo.toml index 92623a1c..aed4f519 100644 --- a/contracts/crypto-kitties/kitty-genetic-alg/wasm/Cargo.toml +++ b/contracts/crypto-kitties/kitty-genetic-alg/wasm/Cargo.toml @@ -9,16 +9,14 @@ crate-type = ["cdylib"] [workspace] members = ["."] - [profile.release] codegen-units = 1 opt-level = "z" lto = true debug = false panic = "abort" - [dependencies.kitty-genetic-alg] path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/crypto-kitties/kitty-ownership/Cargo.toml b/contracts/crypto-kitties/kitty-ownership/Cargo.toml index 8ae5e67b..7b74aa40 100644 --- a/contracts/crypto-kitties/kitty-ownership/Cargo.toml +++ b/contracts/crypto-kitties/kitty-ownership/Cargo.toml @@ -7,7 +7,6 @@ publish = false [lib] path = "src/lib.rs" - [dependencies.kitty] version = "0.0.0" path = "../common/kitty" @@ -21,7 +20,6 @@ version = "0.0.0" path = "../kitty-genetic-alg" [dependencies.multiversx-sc] -version = "0.43.3" - +version = "0.43.4" [dev-dependencies.multiversx-sc-scenario] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/crypto-kitties/kitty-ownership/meta/Cargo.toml b/contracts/crypto-kitties/kitty-ownership/meta/Cargo.toml index fc8f95c2..4a135431 100644 --- a/contracts/crypto-kitties/kitty-ownership/meta/Cargo.toml +++ b/contracts/crypto-kitties/kitty-ownership/meta/Cargo.toml @@ -3,9 +3,8 @@ name = "kitty-ownership-meta" version = "0.0.0" edition = "2021" publish = false - [dependencies.kitty-ownership] path = ".." [dependencies.multiversx-sc-meta] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/crypto-kitties/kitty-ownership/wasm/Cargo.toml b/contracts/crypto-kitties/kitty-ownership/wasm/Cargo.toml index d9102f46..e5c92d8f 100644 --- a/contracts/crypto-kitties/kitty-ownership/wasm/Cargo.toml +++ b/contracts/crypto-kitties/kitty-ownership/wasm/Cargo.toml @@ -9,16 +9,14 @@ crate-type = ["cdylib"] [workspace] members = ["."] - [profile.release] codegen-units = 1 opt-level = "z" lto = true debug = false panic = "abort" - [dependencies.kitty-ownership] path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/crypto-zombies/Cargo.toml b/contracts/crypto-zombies/Cargo.toml index 4a4aec3e..195d0466 100644 --- a/contracts/crypto-zombies/Cargo.toml +++ b/contracts/crypto-zombies/Cargo.toml @@ -7,9 +7,7 @@ publish = false [lib] path = "src/lib.rs" - [dependencies.multiversx-sc] -version = "0.43.3" - +version = "0.43.4" [dev-dependencies.multiversx-sc-scenario] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/crypto-zombies/meta/Cargo.toml b/contracts/crypto-zombies/meta/Cargo.toml index c28c63f0..d1cb8274 100644 --- a/contracts/crypto-zombies/meta/Cargo.toml +++ b/contracts/crypto-zombies/meta/Cargo.toml @@ -3,9 +3,8 @@ name = "crypto-zombies-meta" version = "0.0.0" edition = "2021" publish = false - [dependencies.crypto-zombies] path = ".." [dependencies.multiversx-sc-meta] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/crypto-zombies/wasm/Cargo.toml b/contracts/crypto-zombies/wasm/Cargo.toml index 98e462c3..7cc2cf19 100644 --- a/contracts/crypto-zombies/wasm/Cargo.toml +++ b/contracts/crypto-zombies/wasm/Cargo.toml @@ -13,12 +13,11 @@ opt-level = "z" lto = true debug = false panic = "abort" - [dependencies.crypto-zombies] path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.43.3" +version = "0.43.4" [workspace] members = ["."] diff --git a/contracts/digital-cash/Cargo.toml b/contracts/digital-cash/Cargo.toml index b190f7bd..9fa6df77 100644 --- a/contracts/digital-cash/Cargo.toml +++ b/contracts/digital-cash/Cargo.toml @@ -7,9 +7,7 @@ publish = false [lib] path = "src/digital_cash.rs" - [dependencies.multiversx-sc] -version = "0.43.3" - +version = "0.43.4" [dev-dependencies.multiversx-sc-scenario] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/digital-cash/meta/Cargo.toml b/contracts/digital-cash/meta/Cargo.toml index 4a557f21..cc347cb4 100644 --- a/contracts/digital-cash/meta/Cargo.toml +++ b/contracts/digital-cash/meta/Cargo.toml @@ -3,9 +3,8 @@ name = "digital-cash-meta" version = "0.0.0" edition = "2021" publish = false - [dependencies.digital-cash] path = ".." [dependencies.multiversx-sc-meta] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/digital-cash/wasm/Cargo.toml b/contracts/digital-cash/wasm/Cargo.toml index 70623e78..bbdbeb04 100644 --- a/contracts/digital-cash/wasm/Cargo.toml +++ b/contracts/digital-cash/wasm/Cargo.toml @@ -12,16 +12,14 @@ crate-type = ["cdylib"] members = ["."] [dev-dependencies] - [profile.release] codegen-units = 1 opt-level = "z" lto = true debug = false panic = "abort" - [dependencies.digital-cash] path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/empty/Cargo.toml b/contracts/empty/Cargo.toml index 77305842..910fd534 100644 --- a/contracts/empty/Cargo.toml +++ b/contracts/empty/Cargo.toml @@ -7,12 +7,11 @@ publish = false [lib] path = "src/empty.rs" - [dependencies.multiversx-sc] -version = "0.43.3" - -[dev-dependencies.multiversx-sc-scenario] -version = "0.43.3" +version = "0.43.4" [dev-dependencies] num-bigint = "0.4.2" + +[dev-dependencies.multiversx-sc-scenario] +version = "0.43.4" diff --git a/contracts/empty/meta/Cargo.toml b/contracts/empty/meta/Cargo.toml index 0ee5a4b6..ebcb9e9a 100644 --- a/contracts/empty/meta/Cargo.toml +++ b/contracts/empty/meta/Cargo.toml @@ -3,9 +3,8 @@ name = "empty-meta" version = "0.0.0" edition = "2021" publish = false - [dependencies.empty] path = ".." [dependencies.multiversx-sc-meta] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/empty/wasm/Cargo.toml b/contracts/empty/wasm/Cargo.toml index 114c7910..de4d55bf 100644 --- a/contracts/empty/wasm/Cargo.toml +++ b/contracts/empty/wasm/Cargo.toml @@ -6,19 +6,17 @@ publish = false [lib] crate-type = ["cdylib"] - [profile.release] codegen-units = 1 opt-level = "z" lto = true debug = false panic = "abort" - [dependencies.empty] path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.43.3" +version = "0.43.4" [workspace] members = ["."] diff --git a/contracts/esdt-transfer-with-fee/Cargo.toml b/contracts/esdt-transfer-with-fee/Cargo.toml index f4d152ca..024a4ca1 100644 --- a/contracts/esdt-transfer-with-fee/Cargo.toml +++ b/contracts/esdt-transfer-with-fee/Cargo.toml @@ -7,9 +7,7 @@ publish = false [lib] path = "src/esdt_transfer_with_fee.rs" - [dependencies.multiversx-sc] -version = "0.43.3" - +version = "0.43.4" [dev-dependencies.multiversx-sc-scenario] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/esdt-transfer-with-fee/meta/Cargo.toml b/contracts/esdt-transfer-with-fee/meta/Cargo.toml index 2b0e9857..4adf5c83 100644 --- a/contracts/esdt-transfer-with-fee/meta/Cargo.toml +++ b/contracts/esdt-transfer-with-fee/meta/Cargo.toml @@ -3,9 +3,8 @@ name = "esdt-transfer-with-fee-meta" version = "0.0.0" edition = "2021" publish = false - [dependencies.esdt-transfer-with-fee] path = ".." [dependencies.multiversx-sc-meta] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/esdt-transfer-with-fee/wasm/Cargo.toml b/contracts/esdt-transfer-with-fee/wasm/Cargo.toml index 876fda48..dabd6399 100644 --- a/contracts/esdt-transfer-with-fee/wasm/Cargo.toml +++ b/contracts/esdt-transfer-with-fee/wasm/Cargo.toml @@ -7,19 +7,17 @@ publish = false [lib] crate-type = ["cdylib"] - [profile.release] codegen-units = 1 opt-level = "z" lto = true debug = false panic = "abort" - [dependencies.esdt-transfer-with-fee] path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.43.3" +version = "0.43.4" [workspace] members = ["."] diff --git a/contracts/factorial/Cargo.toml b/contracts/factorial/Cargo.toml index f40e608c..f167e3d6 100644 --- a/contracts/factorial/Cargo.toml +++ b/contracts/factorial/Cargo.toml @@ -7,9 +7,7 @@ publish = false [lib] path = "src/factorial.rs" - [dependencies.multiversx-sc] -version = "0.43.3" - +version = "0.43.4" [dev-dependencies.multiversx-sc-scenario] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/factorial/meta/Cargo.toml b/contracts/factorial/meta/Cargo.toml index a33730ec..255f88e7 100644 --- a/contracts/factorial/meta/Cargo.toml +++ b/contracts/factorial/meta/Cargo.toml @@ -4,9 +4,8 @@ version = "0.0.0" authors = ["Andrei Marinica "] edition = "2021" publish = false - [dependencies.factorial] path = ".." [dependencies.multiversx-sc-meta] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/factorial/wasm/Cargo.toml b/contracts/factorial/wasm/Cargo.toml index 92f92feb..c945baea 100644 --- a/contracts/factorial/wasm/Cargo.toml +++ b/contracts/factorial/wasm/Cargo.toml @@ -7,19 +7,17 @@ publish = false [lib] crate-type = ["cdylib"] - [profile.release] codegen-units = 1 opt-level = "z" lto = true debug = false panic = "abort" - [dependencies.factorial] path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.43.3" +version = "0.43.4" [workspace] members = ["."] diff --git a/contracts/fractional-nfts/Cargo.toml b/contracts/fractional-nfts/Cargo.toml index 4d6d4351..1819320a 100644 --- a/contracts/fractional-nfts/Cargo.toml +++ b/contracts/fractional-nfts/Cargo.toml @@ -7,12 +7,10 @@ publish = false [lib] path = "src/fractional_nfts.rs" - [dependencies.multiversx-sc] -version = "0.43.3" +version = "0.43.4" [dependencies.multiversx-sc-modules] -version = "0.43.3" - +version = "0.43.4" [dev-dependencies.multiversx-sc-scenario] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/fractional-nfts/meta/Cargo.toml b/contracts/fractional-nfts/meta/Cargo.toml index 44e0e935..4fcb9e98 100644 --- a/contracts/fractional-nfts/meta/Cargo.toml +++ b/contracts/fractional-nfts/meta/Cargo.toml @@ -4,9 +4,8 @@ version = "0.0.0" authors = ["Claudiu-Marcel Bruda "] edition = "2021" publish = false - [dependencies.fractional-nfts] path = ".." [dependencies.multiversx-sc-meta] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/fractional-nfts/wasm/Cargo.toml b/contracts/fractional-nfts/wasm/Cargo.toml index 1a7fd614..58ee3b7a 100644 --- a/contracts/fractional-nfts/wasm/Cargo.toml +++ b/contracts/fractional-nfts/wasm/Cargo.toml @@ -7,19 +7,17 @@ publish = false [lib] crate-type = ["cdylib"] - [profile.release] codegen-units = 1 opt-level = "z" lto = true debug = false panic = "abort" - [dependencies.fractional-nfts] path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.43.3" +version = "0.43.4" [workspace] members = ["."] diff --git a/contracts/lottery-esdt/Cargo.toml b/contracts/lottery-esdt/Cargo.toml index f39e382d..407bba61 100644 --- a/contracts/lottery-esdt/Cargo.toml +++ b/contracts/lottery-esdt/Cargo.toml @@ -7,9 +7,7 @@ publish = false [lib] path = "src/lottery.rs" - [dependencies.multiversx-sc] -version = "0.43.3" - +version = "0.43.4" [dev-dependencies.multiversx-sc-scenario] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/lottery-esdt/meta/Cargo.toml b/contracts/lottery-esdt/meta/Cargo.toml index 9d9eae48..f50dcca7 100644 --- a/contracts/lottery-esdt/meta/Cargo.toml +++ b/contracts/lottery-esdt/meta/Cargo.toml @@ -4,9 +4,8 @@ version = "0.0.0" authors = ["Andrei Marinica "] edition = "2021" publish = false - [dependencies.lottery-esdt] path = ".." [dependencies.multiversx-sc-meta] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/lottery-esdt/wasm/Cargo.toml b/contracts/lottery-esdt/wasm/Cargo.toml index bfb8ac7a..e3ec3616 100644 --- a/contracts/lottery-esdt/wasm/Cargo.toml +++ b/contracts/lottery-esdt/wasm/Cargo.toml @@ -7,19 +7,17 @@ publish = false [lib] crate-type = ["cdylib"] - [profile.release] codegen-units = 1 opt-level = "z" lto = true debug = false panic = "abort" - [dependencies.lottery-esdt] path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.43.3" +version = "0.43.4" [workspace] members = ["."] diff --git a/contracts/multisig/Cargo.toml b/contracts/multisig/Cargo.toml index dd98e27c..fee0243d 100644 --- a/contracts/multisig/Cargo.toml +++ b/contracts/multisig/Cargo.toml @@ -7,15 +7,19 @@ publish = false [lib] path = "src/multisig.rs" - [dependencies.multiversx-sc] -version = "0.43.3" +version = "0.43.4" [dependencies.multiversx-sc-modules] -version = "0.43.3" +version = "0.43.4" + +[dev-dependencies] +num-bigint = "0.4.2" +num-traits = "0.2" +hex = "0.4" [dev-dependencies.multiversx-sc-scenario] -version = "0.43.3" +version = "0.43.4" [dev-dependencies.adder] path = "../adder" @@ -25,8 +29,3 @@ path = "../factorial" [dev-dependencies.multiversx-wegld-swap-sc] version = "0.43.3" - -[dev-dependencies] -num-bigint = "0.4.2" -num-traits = "0.2" -hex = "0.4" diff --git a/contracts/multisig/interact/Cargo.toml b/contracts/multisig/interact/Cargo.toml index 57dcbd83..51e684ee 100644 --- a/contracts/multisig/interact/Cargo.toml +++ b/contracts/multisig/interact/Cargo.toml @@ -1,3 +1,7 @@ +[[bin]] +name = "multisig-interact" +path = "src/multisig_interact.rs" + [package] name = "multisig-interact" version = "0.0.0" @@ -5,23 +9,25 @@ authors = ["Andrei Marinica "] edition = "2021" publish = false -[[bin]] -name = "multisig-interact" -path = "src/multisig_interact.rs" - [dependencies] -clap = { version = "4.1.0", features = ["derive", "cargo"] } -serde = { version = "1.0", features = ["derive"] } toml = "0.7.2" +[dependencies.clap] +version = "4.1.0" +features = ["derive", "cargo"] + +[dependencies.serde] +version = "1.0" +features = ["derive"] + [dependencies.multisig] path = ".." [dependencies.multiversx-sc-modules] -version = "0.43.3" +version = "0.43.4" [dependencies.multiversx-sc-snippets] version = "0.43.3" [dependencies.multiversx-sc-scenario] -version = "=0.43.3" +version = "=0.43.4" diff --git a/contracts/multisig/meta/Cargo.toml b/contracts/multisig/meta/Cargo.toml index b5c1ad29..491a5964 100644 --- a/contracts/multisig/meta/Cargo.toml +++ b/contracts/multisig/meta/Cargo.toml @@ -4,9 +4,8 @@ version = "0.0.0" authors = ["Andrei Marinica "] edition = "2021" publish = false - [dependencies.multisig] path = ".." [dependencies.multiversx-sc-meta] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/multisig/wasm-multisig-full/Cargo.toml b/contracts/multisig/wasm-multisig-full/Cargo.toml index 47e39ec0..3da75b74 100644 --- a/contracts/multisig/wasm-multisig-full/Cargo.toml +++ b/contracts/multisig/wasm-multisig-full/Cargo.toml @@ -17,7 +17,7 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.43.3" +version = "0.43.4" [workspace] members = ["."] diff --git a/contracts/multisig/wasm-multisig-view/Cargo.toml b/contracts/multisig/wasm-multisig-view/Cargo.toml index 99b0f307..038b41a0 100644 --- a/contracts/multisig/wasm-multisig-view/Cargo.toml +++ b/contracts/multisig/wasm-multisig-view/Cargo.toml @@ -17,7 +17,7 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.43.3" +version = "0.43.4" [workspace] members = ["."] diff --git a/contracts/multisig/wasm/Cargo.toml b/contracts/multisig/wasm/Cargo.toml index 328a5720..030c7883 100644 --- a/contracts/multisig/wasm/Cargo.toml +++ b/contracts/multisig/wasm/Cargo.toml @@ -7,19 +7,17 @@ publish = false [lib] crate-type = ["cdylib"] - [profile.release] codegen-units = 1 opt-level = "z" lto = true debug = false panic = "abort" - [dependencies.multisig] path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.43.3" +version = "0.43.4" [workspace] members = ["."] diff --git a/contracts/nft-minter/Cargo.toml b/contracts/nft-minter/Cargo.toml index 531567bc..d3dc6279 100644 --- a/contracts/nft-minter/Cargo.toml +++ b/contracts/nft-minter/Cargo.toml @@ -7,9 +7,7 @@ publish = false [lib] path = "src/lib.rs" - [dependencies.multiversx-sc] -version = "0.43.3" - +version = "0.43.4" [dev-dependencies.multiversx-sc-scenario] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/nft-minter/meta/Cargo.toml b/contracts/nft-minter/meta/Cargo.toml index 0205c545..e1043a4c 100644 --- a/contracts/nft-minter/meta/Cargo.toml +++ b/contracts/nft-minter/meta/Cargo.toml @@ -4,9 +4,8 @@ version = "0.0.0" authors = ["Dorin Iancu "] edition = "2021" publish = false - [dependencies.nft-minter] path = ".." [dependencies.multiversx-sc-meta] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/nft-minter/wasm/Cargo.toml b/contracts/nft-minter/wasm/Cargo.toml index 1f16faac..b309e086 100644 --- a/contracts/nft-minter/wasm/Cargo.toml +++ b/contracts/nft-minter/wasm/Cargo.toml @@ -7,19 +7,17 @@ publish = false [lib] crate-type = ["cdylib"] - [profile.release] codegen-units = 1 opt-level = "z" lto = true debug = false panic = "abort" - [dependencies.nft-minter] path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.43.3" +version = "0.43.4" [workspace] members = ["."] diff --git a/contracts/nft-storage-prepay/Cargo.toml b/contracts/nft-storage-prepay/Cargo.toml index b1838491..c5265153 100644 --- a/contracts/nft-storage-prepay/Cargo.toml +++ b/contracts/nft-storage-prepay/Cargo.toml @@ -7,10 +7,7 @@ publish = false [lib] path = "src/nft_storage_prepay.rs" - - [dependencies.multiversx-sc] -version = "0.43.3" - +version = "0.43.4" [dev-dependencies.multiversx-sc-scenario] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/nft-storage-prepay/meta/Cargo.toml b/contracts/nft-storage-prepay/meta/Cargo.toml index 80ece45d..2a016995 100644 --- a/contracts/nft-storage-prepay/meta/Cargo.toml +++ b/contracts/nft-storage-prepay/meta/Cargo.toml @@ -6,9 +6,8 @@ edition = "2021" publish = false [dev-dependencies] - [dependencies.nft-storage-prepay] path = ".." [dependencies.multiversx-sc-meta] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/nft-storage-prepay/wasm/Cargo.toml b/contracts/nft-storage-prepay/wasm/Cargo.toml index d7b906ef..3677d62c 100644 --- a/contracts/nft-storage-prepay/wasm/Cargo.toml +++ b/contracts/nft-storage-prepay/wasm/Cargo.toml @@ -12,16 +12,14 @@ crate-type = ["cdylib"] members = ["."] [dev-dependencies] - [profile.release] codegen-units = 1 opt-level = "z" lto = true debug = false panic = "abort" - [dependencies.nft-storage-prepay] path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/order-book/factory/Cargo.toml b/contracts/order-book/factory/Cargo.toml index e3244016..4c0337eb 100644 --- a/contracts/order-book/factory/Cargo.toml +++ b/contracts/order-book/factory/Cargo.toml @@ -6,9 +6,7 @@ publish = false [lib] path = "src/lib.rs" - [dependencies.multiversx-sc] -version = "0.43.3" - +version = "0.43.4" [dev-dependencies.multiversx-sc-scenario] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/order-book/factory/meta/Cargo.toml b/contracts/order-book/factory/meta/Cargo.toml index 8082b850..469fa1b2 100644 --- a/contracts/order-book/factory/meta/Cargo.toml +++ b/contracts/order-book/factory/meta/Cargo.toml @@ -4,9 +4,8 @@ version = "0.0.0" authors = ["you"] edition = "2021" publish = false - [dependencies.order-book-factory] path = ".." [dependencies.multiversx-sc-meta] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/order-book/factory/wasm/Cargo.toml b/contracts/order-book/factory/wasm/Cargo.toml index a1aeef25..0524f771 100644 --- a/contracts/order-book/factory/wasm/Cargo.toml +++ b/contracts/order-book/factory/wasm/Cargo.toml @@ -11,16 +11,14 @@ crate-type = ["cdylib"] members = ["."] [dev-dependencies] - [profile.release] codegen-units = 1 opt-level = "z" lto = true debug = false panic = "abort" - [dependencies.order-book-factory] path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/order-book/pair/Cargo.toml b/contracts/order-book/pair/Cargo.toml index 72ea431d..1be99aa0 100644 --- a/contracts/order-book/pair/Cargo.toml +++ b/contracts/order-book/pair/Cargo.toml @@ -6,9 +6,7 @@ publish = false [lib] path = "src/lib.rs" - [dependencies.multiversx-sc] -version = "0.43.3" - +version = "0.43.4" [dev-dependencies.multiversx-sc-scenario] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/order-book/pair/meta/Cargo.toml b/contracts/order-book/pair/meta/Cargo.toml index 1f2e6031..b0fe762b 100644 --- a/contracts/order-book/pair/meta/Cargo.toml +++ b/contracts/order-book/pair/meta/Cargo.toml @@ -4,9 +4,8 @@ version = "0.0.0" authors = ["you"] edition = "2021" publish = false - [dependencies.order-book-pair] path = ".." [dependencies.multiversx-sc-meta] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/order-book/pair/wasm/Cargo.toml b/contracts/order-book/pair/wasm/Cargo.toml index 42b04a9f..41148076 100644 --- a/contracts/order-book/pair/wasm/Cargo.toml +++ b/contracts/order-book/pair/wasm/Cargo.toml @@ -11,16 +11,14 @@ crate-type = ["cdylib"] members = ["."] [dev-dependencies] - [profile.release] codegen-units = 1 opt-level = "z" lto = true debug = false panic = "abort" - [dependencies.order-book-pair] path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/ping-pong-egld/Cargo.toml b/contracts/ping-pong-egld/Cargo.toml index a5c624cf..5bd7d3d9 100644 --- a/contracts/ping-pong-egld/Cargo.toml +++ b/contracts/ping-pong-egld/Cargo.toml @@ -7,9 +7,7 @@ publish = false [lib] path = "src/ping_pong.rs" - [dependencies.multiversx-sc] -version = "0.43.3" - +version = "0.43.4" [dev-dependencies.multiversx-sc-scenario] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/ping-pong-egld/meta/Cargo.toml b/contracts/ping-pong-egld/meta/Cargo.toml index 58346f6a..2188b3ca 100644 --- a/contracts/ping-pong-egld/meta/Cargo.toml +++ b/contracts/ping-pong-egld/meta/Cargo.toml @@ -4,9 +4,8 @@ version = "0.0.0" authors = ["Bruda Claudiu-Marcel "] edition = "2021" publish = false - [dependencies.ping-pong-egld] path = ".." [dependencies.multiversx-sc-meta] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/ping-pong-egld/wasm/Cargo.toml b/contracts/ping-pong-egld/wasm/Cargo.toml index 7b688fad..feab73ae 100644 --- a/contracts/ping-pong-egld/wasm/Cargo.toml +++ b/contracts/ping-pong-egld/wasm/Cargo.toml @@ -9,16 +9,14 @@ publish = false crate-type = ["cdylib"] [workspace] - [profile.release] codegen-units = 1 opt-level = "z" lto = true debug = false panic = "abort" - [dependencies.ping-pong-egld] path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/price-aggregator/Cargo.toml b/contracts/price-aggregator/Cargo.toml index 005f661e..37e4a230 100644 --- a/contracts/price-aggregator/Cargo.toml +++ b/contracts/price-aggregator/Cargo.toml @@ -1,10 +1,7 @@ [package] name = "multiversx-price-aggregator-sc" version = "0.43.3" -authors = [ - "Claudiu-Marcel Bruda ", - "MultiversX ", -] +authors = ["Claudiu-Marcel Bruda ", "MultiversX "] license = "GPL-3.0-only" readme = "README.md" repository = "https://github.com/multiversx/mx-sdk-rs" @@ -17,15 +14,14 @@ edition = "2021" [lib] path = "src/lib.rs" - [dependencies.multiversx-sc] -version = "0.43.3" +version = "0.43.4" [dependencies.multiversx-sc-modules] -version = "0.43.3" +version = "0.43.4" +[dependencies.arrayvec] +version = "0.7.1" +default-features = false [dev-dependencies.multiversx-sc-scenario] -version = "0.43.3" - -[dependencies] -arrayvec = { version = "0.7.1", default-features = false } +version = "0.43.4" diff --git a/contracts/price-aggregator/meta/Cargo.toml b/contracts/price-aggregator/meta/Cargo.toml index f4045665..bc60b32e 100644 --- a/contracts/price-aggregator/meta/Cargo.toml +++ b/contracts/price-aggregator/meta/Cargo.toml @@ -3,12 +3,11 @@ name = "multiversx-price-aggregator-sc-meta" version = "0.0.0" edition = "2021" publish = false - [dependencies.multiversx-price-aggregator-sc] path = ".." [dependencies.multiversx-sc] -version = "0.43.3" +version = "0.43.4" [dependencies.multiversx-sc-meta] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/price-aggregator/wasm/Cargo.toml b/contracts/price-aggregator/wasm/Cargo.toml index 8d00195e..2841d213 100644 --- a/contracts/price-aggregator/wasm/Cargo.toml +++ b/contracts/price-aggregator/wasm/Cargo.toml @@ -7,19 +7,17 @@ publish = false [lib] crate-type = ["cdylib"] - [profile.release] codegen-units = 1 opt-level = "z" lto = true debug = false panic = "abort" - [dependencies.multiversx-price-aggregator-sc] path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.43.3" +version = "0.43.4" [workspace] members = ["."] diff --git a/contracts/proxy-pause/Cargo.toml b/contracts/proxy-pause/Cargo.toml index 9902e358..b28c387c 100644 --- a/contracts/proxy-pause/Cargo.toml +++ b/contracts/proxy-pause/Cargo.toml @@ -7,12 +7,10 @@ publish = false [lib] path = "src/proxy_pause.rs" - [dependencies.multiversx-sc] -version = "0.43.3" - +version = "0.43.4" [dev-dependencies.multiversx-sc-scenario] -version = "0.43.3" +version = "0.43.4" [dev-dependencies.check-pause] path = "../check-pause" diff --git a/contracts/proxy-pause/meta/Cargo.toml b/contracts/proxy-pause/meta/Cargo.toml index df874963..c8da7107 100644 --- a/contracts/proxy-pause/meta/Cargo.toml +++ b/contracts/proxy-pause/meta/Cargo.toml @@ -6,9 +6,8 @@ publish = false authors = ["you"] [dev-dependencies] - [dependencies.proxy-pause] path = ".." [dependencies.multiversx-sc-meta] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/proxy-pause/wasm/Cargo.toml b/contracts/proxy-pause/wasm/Cargo.toml index 897b9966..a221bd22 100644 --- a/contracts/proxy-pause/wasm/Cargo.toml +++ b/contracts/proxy-pause/wasm/Cargo.toml @@ -12,16 +12,14 @@ crate-type = ["cdylib"] members = ["."] [dev-dependencies] - [profile.release] codegen-units = 1 opt-level = "z" lto = true debug = false panic = "abort" - [dependencies.proxy-pause] path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/rewards-distribution/Cargo.toml b/contracts/rewards-distribution/Cargo.toml index f28d135b..4cdae769 100644 --- a/contracts/rewards-distribution/Cargo.toml +++ b/contracts/rewards-distribution/Cargo.toml @@ -7,12 +7,10 @@ publish = false [lib] path = "src/rewards_distribution.rs" - [dependencies.multiversx-sc] -version = "0.43.3" +version = "0.43.4" [dependencies.multiversx-sc-modules] -version = "0.43.3" - +version = "0.43.4" [dev-dependencies.multiversx-sc-scenario] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/rewards-distribution/meta/Cargo.toml b/contracts/rewards-distribution/meta/Cargo.toml index c19be428..67c6ea74 100644 --- a/contracts/rewards-distribution/meta/Cargo.toml +++ b/contracts/rewards-distribution/meta/Cargo.toml @@ -6,9 +6,8 @@ publish = false authors = ["Claudiu-Marcel Bruda "] [dev-dependencies] - [dependencies.rewards-distribution] path = ".." [dependencies.multiversx-sc-meta] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/rewards-distribution/wasm/Cargo.toml b/contracts/rewards-distribution/wasm/Cargo.toml index 5c53c3c7..7030a73c 100644 --- a/contracts/rewards-distribution/wasm/Cargo.toml +++ b/contracts/rewards-distribution/wasm/Cargo.toml @@ -12,16 +12,14 @@ crate-type = ["cdylib"] members = ["."] [dev-dependencies] - [profile.release] codegen-units = 1 opt-level = "z" lto = true debug = false panic = "abort" - [dependencies.rewards-distribution] path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/seed-nft-minter/Cargo.toml b/contracts/seed-nft-minter/Cargo.toml index 7fd323e9..3c5ec28f 100644 --- a/contracts/seed-nft-minter/Cargo.toml +++ b/contracts/seed-nft-minter/Cargo.toml @@ -7,12 +7,10 @@ publish = false [lib] path = "src/seed_nft_minter.rs" - [dependencies.multiversx-sc] -version = "0.43.3" +version = "0.43.4" [dependencies.multiversx-sc-modules] -version = "0.43.3" - +version = "0.43.4" [dev-dependencies.multiversx-sc-scenario] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/seed-nft-minter/meta/Cargo.toml b/contracts/seed-nft-minter/meta/Cargo.toml index 2c4788c2..b6b3a5ec 100644 --- a/contracts/seed-nft-minter/meta/Cargo.toml +++ b/contracts/seed-nft-minter/meta/Cargo.toml @@ -6,9 +6,8 @@ publish = false authors = ["Claudiu-Marcel Bruda "] [dev-dependencies] - [dependencies.seed-nft-minter] path = ".." [dependencies.multiversx-sc-meta] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/seed-nft-minter/wasm/Cargo.toml b/contracts/seed-nft-minter/wasm/Cargo.toml index be0815a9..8e8e1eb6 100644 --- a/contracts/seed-nft-minter/wasm/Cargo.toml +++ b/contracts/seed-nft-minter/wasm/Cargo.toml @@ -12,16 +12,14 @@ crate-type = ["cdylib"] members = ["."] [dev-dependencies] - [profile.release] codegen-units = 1 opt-level = "z" lto = true debug = false panic = "abort" - [dependencies.seed-nft-minter] path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/token-release/Cargo.toml b/contracts/token-release/Cargo.toml index f8a4e5dc..446c8b82 100644 --- a/contracts/token-release/Cargo.toml +++ b/contracts/token-release/Cargo.toml @@ -7,9 +7,7 @@ publish = false [lib] path = "src/token_release.rs" - [dependencies.multiversx-sc] -version = "0.43.3" - +version = "0.43.4" [dev-dependencies.multiversx-sc-scenario] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/token-release/meta/Cargo.toml b/contracts/token-release/meta/Cargo.toml index 9fab4e4f..680e7fa9 100644 --- a/contracts/token-release/meta/Cargo.toml +++ b/contracts/token-release/meta/Cargo.toml @@ -5,9 +5,8 @@ edition = "2021" publish = false [dev-dependencies] - [dependencies.token-release] path = ".." [dependencies.multiversx-sc-meta] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/token-release/wasm/Cargo.toml b/contracts/token-release/wasm/Cargo.toml index 8700a719..4995f718 100644 --- a/contracts/token-release/wasm/Cargo.toml +++ b/contracts/token-release/wasm/Cargo.toml @@ -9,16 +9,14 @@ publish = false crate-type = ["cdylib"] [workspace] - [profile.release] codegen-units = 1 opt-level = "z" lto = true debug = false panic = "abort" - [dependencies.token-release] path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/wegld-swap/Cargo.toml b/contracts/wegld-swap/Cargo.toml index 2d35ec24..138945cd 100644 --- a/contracts/wegld-swap/Cargo.toml +++ b/contracts/wegld-swap/Cargo.toml @@ -1,11 +1,7 @@ [package] name = "multiversx-wegld-swap-sc" version = "0.43.3" - -authors = [ - "Dorin Iancu ", - "MultiversX ", -] +authors = ["Dorin Iancu ", "MultiversX "] license = "GPL-3.0-only" readme = "README.md" repository = "https://github.com/multiversx/mx-sdk-rs" @@ -18,12 +14,10 @@ edition = "2021" [lib] path = "src/wegld.rs" - [dependencies.multiversx-sc] -version = "0.43.3" +version = "0.43.4" [dependencies.multiversx-sc-modules] -version = "0.43.3" - +version = "0.43.4" [dev-dependencies.multiversx-sc-scenario] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/wegld-swap/meta/Cargo.toml b/contracts/wegld-swap/meta/Cargo.toml index 74063f6a..22457c25 100644 --- a/contracts/wegld-swap/meta/Cargo.toml +++ b/contracts/wegld-swap/meta/Cargo.toml @@ -6,12 +6,11 @@ edition = "2021" publish = false [dev-dependencies] - [dependencies.multiversx-wegld-swap-sc] path = ".." [dependencies.multiversx-sc] -version = "0.43.3" +version = "0.43.4" [dependencies.multiversx-sc-meta] -version = "0.43.3" +version = "0.43.4" diff --git a/contracts/wegld-swap/wasm/Cargo.toml b/contracts/wegld-swap/wasm/Cargo.toml index 1b8a4722..69b82bab 100644 --- a/contracts/wegld-swap/wasm/Cargo.toml +++ b/contracts/wegld-swap/wasm/Cargo.toml @@ -12,16 +12,14 @@ crate-type = ["cdylib"] members = ["."] [dev-dependencies] - [profile.release] codegen-units = 1 opt-level = "z" lto = true debug = false panic = "abort" - [dependencies.multiversx-wegld-swap-sc] path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.43.3" +version = "0.43.4"