diff --git a/.github/workflows/actions.yml b/.github/workflows/actions.yml index 6becbecc0..c166a6cfb 100644 --- a/.github/workflows/actions.yml +++ b/.github/workflows/actions.yml @@ -20,7 +20,7 @@ permissions: jobs: contracts: name: Contracts - uses: multiversx/mx-sc-actions/.github/workflows/contracts.yml@v3.2.0 + uses: multiversx/mx-sc-actions/.github/workflows/contracts.yml@v3.3.1 with: rust-toolchain: nightly-2024-05-22 coverage-args: --ignore-filename-regex='/.cargo/git' --output ./coverage.md diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 352ab4397..3bb9fa310 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -9,7 +9,7 @@ permissions: jobs: build: - uses: multiversx/mx-sc-actions/.github/workflows/reproducible-build.yml@v3.2.0 + uses: multiversx/mx-sc-actions/.github/workflows/reproducible-build.yml@v3.3.1 with: image_tag: v7.0.0 attach_to_existing_release: true diff --git a/Cargo.lock b/Cargo.lock index d5983c1c7..724f6ca9d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,58 +2,18 @@ # It is not intended for manual editing. version = 3 -[[package]] -name = "Inflector" -version = "0.11.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" -dependencies = [ - "lazy_static", - "regex", -] - -[[package]] -name = "addr2line" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" -dependencies = [ - "gimli", -] - -[[package]] -name = "adler" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" - -[[package]] -name = "adler2" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" - [[package]] name = "ahash" version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "once_cell", "version_check", "zerocopy", ] -[[package]] -name = "aho-corasick" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" -dependencies = [ - "memchr", -] - [[package]] name = "anstream" version = "0.6.15" @@ -109,26 +69,11 @@ version = "1.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" -[[package]] -name = "arbitrary" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110" -dependencies = [ - "derive_arbitrary", -] - [[package]] name = "arrayvec" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" - -[[package]] -name = "atomic-waker" -version = "1.1.2" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "autocfg" @@ -136,21 +81,6 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" -[[package]] -name = "backtrace" -version = "0.3.73" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a" -dependencies = [ - "addr2line", - "cc", - "cfg-if 1.0.0", - "libc", - "miniz_oxide 0.7.4", - "object", - "rustc-demangle", -] - [[package]] name = "base64" version = "0.22.1" @@ -158,29 +88,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] -name = "bech32" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d86b93f97252c47b41663388e6d155714a9d0c398b99f1005cbc5f978b29f445" - -[[package]] -name = "bip39" -version = "2.0.0" +name = "base64ct" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93f2635620bf0b9d4576eb7bb9a38a55df78bd1205d26fa994b25911a69f212f" -dependencies = [ - "bitcoin_hashes", - "rand 0.8.5", - "rand_core 0.6.4", - "serde", - "unicode-normalization", -] +checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" [[package]] -name = "bitcoin_hashes" +name = "bech32" version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90064b8dee6815a6470d60bad07bbbaee885c0e12d04177138fa3291a01b7bc4" +checksum = "d965446196e3b7decd44aa7ee49e31d630118f90ef12f97900f262eb915c951d" [[package]] name = "bitflags" @@ -188,15 +105,6 @@ version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" -[[package]] -name = "block-buffer" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" -dependencies = [ - "generic-array", -] - [[package]] name = "block-buffer" version = "0.10.4" @@ -206,49 +114,12 @@ dependencies = [ "generic-array", ] -[[package]] -name = "bstr" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40723b8fb387abc38f4f4a37c09073622e41dd12327033091ef8950659e6dc0c" -dependencies = [ - "memchr", - "serde", -] - -[[package]] -name = "bumpalo" -version = "3.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" - [[package]] name = "byteorder" version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" -[[package]] -name = "bytes" -version = "1.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8318a53db07bb3f8dca91a600466bdb3f2eaadeedfdbcf02e1accbad9271ba50" - -[[package]] -name = "cc" -version = "1.1.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57b6a275aa2903740dc87da01c62040406b8812552e97129a63ea8850a17c6e6" -dependencies = [ - "shlex", -] - -[[package]] -name = "cfg-if" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" - [[package]] name = "cfg-if" version = "1.0.0" @@ -311,12 +182,6 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "common-path" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2382f75942f4b3be3690fe4f86365e9c853c1587d6ee58212cebf6e2a9ccd101" - [[package]] name = "common-types" version = "0.0.0" @@ -354,6 +219,12 @@ dependencies = [ "token_send", ] +[[package]] +name = "const-oid" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" + [[package]] name = "contexts" version = "0.0.0" @@ -380,31 +251,6 @@ dependencies = [ "unicode-segmentation", ] -[[package]] -name = "copy_dir" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "543d1dd138ef086e2ff05e3a48cf9da045da2033d16f8538fd76b86cd49b2ca3" -dependencies = [ - "walkdir", -] - -[[package]] -name = "core-foundation" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "core-foundation-sys" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" - [[package]] name = "cpufeatures" version = "0.2.13" @@ -414,40 +260,6 @@ dependencies = [ "libc", ] -[[package]] -name = "crc32fast" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" -dependencies = [ - "cfg-if 1.0.0", -] - -[[package]] -name = "crossbeam-deque" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" -dependencies = [ - "crossbeam-epoch", - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-epoch" -version = "0.9.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-utils" -version = "0.8.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" - [[package]] name = "crypto-common" version = "0.1.6" @@ -460,35 +272,47 @@ dependencies = [ [[package]] name = "curve25519-dalek" -version = "3.2.0" +version = "4.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b9fdf9972b2bd6af2d913799d9ebc165ea4d2e65878e329d9c6b372c4491b61" +checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be" dependencies = [ - "byteorder", - "digest 0.9.0", - "rand_core 0.5.1", + "cfg-if", + "cpufeatures", + "curve25519-dalek-derive", + "digest", + "fiat-crypto", + "rustc_version", "subtle", "zeroize", ] [[package]] -name = "derive_arbitrary" -version = "1.3.2" +name = "curve25519-dalek-derive" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611" +checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", "syn", ] +[[package]] +name = "der" +version = "0.7.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" +dependencies = [ + "const-oid", + "zeroize", +] + [[package]] name = "dex-tests" version = "0.0.0" dependencies = [ "common_structs", "config", - "factory", "farm", "farm-boosted-yields", "farm-staking", @@ -508,53 +332,14 @@ dependencies = [ "simple-lock", ] -[[package]] -name = "digest" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" -dependencies = [ - "generic-array", -] - [[package]] name = "digest" version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ - "block-buffer 0.10.4", + "block-buffer", "crypto-common", - "subtle", -] - -[[package]] -name = "displaydoc" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "distribution" -version = "0.0.0" -dependencies = [ - "common_structs", - "factory", - "multiversx-sc", - "multiversx-sc-scenario", -] - -[[package]] -name = "distribution-abi" -version = "0.0.0" -dependencies = [ - "distribution", - "multiversx-sc-meta", ] [[package]] @@ -562,9 +347,7 @@ name = "distribution-tests" version = "0.0.0" dependencies = [ "common_structs", - "distribution", "energy-factory", - "factory", "farm", "fees-collector", "hex", @@ -583,24 +366,25 @@ dependencies = [ [[package]] name = "ed25519" -version = "1.5.3" +version = "2.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91cff35c70bba8a626e3185d8cd48cc11b5437e1a5bcd15b9b5fa3c64b6dfee7" +checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53" dependencies = [ + "pkcs8", "signature", ] [[package]] name = "ed25519-dalek" -version = "1.0.1" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" +checksum = "4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871" dependencies = [ "curve25519-dalek", "ed25519", - "rand 0.7.3", "serde", - "sha2 0.9.9", + "sha2", + "subtle", "zeroize", ] @@ -610,15 +394,6 @@ version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" -[[package]] -name = "encoding_rs" -version = "0.8.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" -dependencies = [ - "cfg-if 1.0.0", -] - [[package]] name = "endian-type" version = "0.1.2" @@ -650,7 +425,7 @@ name = "energy-factory-meta" version = "0.0.0" dependencies = [ "energy-factory", - "multiversx-sc-meta", + "multiversx-sc-meta-lib", ] [[package]] @@ -667,7 +442,7 @@ name = "energy-factory-mock-meta" version = "0.0.0" dependencies = [ "energy-factory-mock", - "multiversx-sc-meta", + "multiversx-sc-meta-lib", ] [[package]] @@ -695,30 +470,7 @@ name = "energy-update-meta" version = "0.0.0" dependencies = [ "energy-update", - "multiversx-sc-meta", -] - -[[package]] -name = "env_filter" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f2c92ceda6ceec50f43169f9ee8424fe2db276791afde7b2cd8bc084cb376ab" -dependencies = [ - "log", - "regex", -] - -[[package]] -name = "env_logger" -version = "0.11.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13fa619b91fb2381732789fc5de83b45675e882f66623b7d8cb4f643017018d" -dependencies = [ - "anstream", - "anstyle", - "env_filter", - "humantime", - "log", + "multiversx-sc-meta-lib", ] [[package]] @@ -727,16 +479,6 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" -[[package]] -name = "errno" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" -dependencies = [ - "libc", - "windows-sys 0.52.0", -] - [[package]] name = "events" version = "0.0.0" @@ -746,35 +488,6 @@ dependencies = [ "multiversx-sc", ] -[[package]] -name = "factory" -version = "0.0.0" -dependencies = [ - "arrayvec", - "common_errors", - "common_structs", - "energy-factory", - "hex", - "itertools 0.10.5", - "multiversx-sc", - "multiversx-sc-modules", - "multiversx-sc-scenario", - "num-bigint", - "num-traits", - "simple-lock", - "token_merge_helper", - "token_send", - "wee_alloc", -] - -[[package]] -name = "factory-abi" -version = "0.0.0" -dependencies = [ - "factory", - "multiversx-sc-meta", -] - [[package]] name = "factory-legacy" version = "0.0.0" @@ -793,7 +506,7 @@ name = "factory-legacy-meta" version = "0.0.0" dependencies = [ "factory-legacy", - "multiversx-sc-meta", + "multiversx-sc-meta-lib", ] [[package]] @@ -834,7 +547,7 @@ name = "farm-abi" version = "0.0.0" dependencies = [ "farm", - "multiversx-sc-meta", + "multiversx-sc-meta-lib", ] [[package]] @@ -889,7 +602,7 @@ name = "farm-staking-abi" version = "0.0.0" dependencies = [ "farm-staking", - "multiversx-sc-meta", + "multiversx-sc-meta-lib", ] [[package]] @@ -928,7 +641,7 @@ name = "farm-staking-proxy-meta" version = "0.0.0" dependencies = [ "farm-staking-proxy", - "multiversx-sc-meta", + "multiversx-sc-meta-lib", ] [[package]] @@ -960,7 +673,7 @@ name = "farm-staking-proxy-v13-meta" version = "0.0.0" dependencies = [ "farm-staking-proxy-v13", - "multiversx-sc-meta", + "multiversx-sc-meta-lib", ] [[package]] @@ -977,7 +690,7 @@ name = "farm-v12-meta" version = "0.0.0" dependencies = [ "farm-v12", - "multiversx-sc-meta", + "multiversx-sc-meta-lib", ] [[package]] @@ -1003,7 +716,7 @@ name = "farm-v13-custom-rewards-meta" version = "0.0.0" dependencies = [ "farm-v13-custom-rewards", - "multiversx-sc-meta", + "multiversx-sc-meta-lib", ] [[package]] @@ -1020,7 +733,7 @@ name = "farm-v13-locked-rewards-meta" version = "0.0.0" dependencies = [ "farm-v13-locked-rewards", - "multiversx-sc-meta", + "multiversx-sc-meta-lib", ] [[package]] @@ -1028,7 +741,7 @@ name = "farm-v13-meta" version = "0.0.0" dependencies = [ "farm-v13", - "multiversx-sc-meta", + "multiversx-sc-meta-lib", ] [[package]] @@ -1069,7 +782,7 @@ name = "farm-with-locked-rewards-meta" version = "0.0.0" dependencies = [ "farm-with-locked-rewards", - "multiversx-sc-meta", + "multiversx-sc-meta-lib", ] [[package]] @@ -1109,12 +822,6 @@ dependencies = [ "token_send", ] -[[package]] -name = "fastrand" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6" - [[package]] name = "fees-collector" version = "0.0.0" @@ -1140,9 +847,15 @@ name = "fees-collector-meta" version = "0.0.0" dependencies = [ "fees-collector", - "multiversx-sc-meta", + "multiversx-sc-meta-lib", ] +[[package]] +name = "fiat-crypto" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" + [[package]] name = "fixed-supply-token" version = "0.0.0" @@ -1151,176 +864,35 @@ dependencies = [ ] [[package]] -name = "flate2" -version = "1.0.33" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "324a1be68054ef05ad64b861cc9eaf1d623d2d8cb25b4bf2cb9cdd902b4bf253" +name = "fuzz" +version = "0.0.0" dependencies = [ - "crc32fast", - "miniz_oxide 0.8.0", + "common_structs", + "config", + "farm", + "farm-staking", + "farm_token", + "multiversx-sc", + "multiversx-sc-scenario", + "num-bigint", + "pair", + "pair-mock", + "pausable", + "price-discovery", + "rand", + "rewards", + "router", + "simple-lock", ] [[package]] -name = "fnv" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" - -[[package]] -name = "foreign-types" -version = "0.3.2" +name = "generic-array" +version = "0.14.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" dependencies = [ - "foreign-types-shared", -] - -[[package]] -name = "foreign-types-shared" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" - -[[package]] -name = "form_urlencoded" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" -dependencies = [ - "percent-encoding", -] - -[[package]] -name = "futures" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" -dependencies = [ - "futures-channel", - "futures-core", - "futures-executor", - "futures-io", - "futures-sink", - "futures-task", - "futures-util", -] - -[[package]] -name = "futures-channel" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" -dependencies = [ - "futures-core", - "futures-sink", -] - -[[package]] -name = "futures-core" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" - -[[package]] -name = "futures-executor" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" -dependencies = [ - "futures-core", - "futures-task", - "futures-util", -] - -[[package]] -name = "futures-io" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" - -[[package]] -name = "futures-macro" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "futures-sink" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" - -[[package]] -name = "futures-task" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" - -[[package]] -name = "futures-util" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" -dependencies = [ - "futures-channel", - "futures-core", - "futures-io", - "futures-macro", - "futures-sink", - "futures-task", - "memchr", - "pin-project-lite", - "pin-utils", - "slab", -] - -[[package]] -name = "fuzz" -version = "0.0.0" -dependencies = [ - "common_structs", - "config", - "factory", - "farm", - "farm-staking", - "farm_token", - "multiversx-sc", - "multiversx-sc-scenario", - "num-bigint", - "pair", - "pair-mock", - "pausable", - "price-discovery", - "rand 0.8.5", - "rewards", - "router", - "simple-lock", -] - -[[package]] -name = "generic-array" -version = "0.14.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" -dependencies = [ - "typenum", - "version_check", -] - -[[package]] -name = "getrandom" -version = "0.1.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" -dependencies = [ - "cfg-if 1.0.0", - "libc", - "wasi 0.9.0+wasi-snapshot-preview1", + "typenum", + "version_check", ] [[package]] @@ -1329,28 +901,9 @@ version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "libc", - "wasi 0.11.0+wasi-snapshot-preview1", -] - -[[package]] -name = "gimli" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" - -[[package]] -name = "globset" -version = "0.4.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57da3b9b5b85bd66f31093f8c408b90a74431672542466497dcbdfdc02034be1" -dependencies = [ - "aho-corasick", - "bstr", - "log", - "regex-automata", - "regex-syntax", + "wasi", ] [[package]] @@ -1368,7 +921,7 @@ name = "governance-meta" version = "0.0.0" dependencies = [ "governance", - "multiversx-sc-meta", + "multiversx-sc-meta-lib", ] [[package]] @@ -1390,26 +943,7 @@ name = "governance-v2-meta" version = "0.0.0" dependencies = [ "governance-v2", - "multiversx-sc-meta", -] - -[[package]] -name = "h2" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "524e8ac6999421f49a846c2d4411f337e53497d8ec55d67753beffa43c5d9205" -dependencies = [ - "atomic-waker", - "bytes", - "fnv", - "futures-core", - "futures-sink", - "http", - "indexmap", - "slab", - "tokio", - "tokio-util", - "tracing", + "multiversx-sc-meta-lib", ] [[package]] @@ -1428,12 +962,6 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" -[[package]] -name = "hermit-abi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" - [[package]] name = "hex" version = "0.4.3" @@ -1452,160 +980,6 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" -[[package]] -name = "hmac" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" -dependencies = [ - "digest 0.10.7", -] - -[[package]] -name = "http" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" -dependencies = [ - "bytes", - "fnv", - "itoa", -] - -[[package]] -name = "http-body" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" -dependencies = [ - "bytes", - "http", -] - -[[package]] -name = "http-body-util" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" -dependencies = [ - "bytes", - "futures-util", - "http", - "http-body", - "pin-project-lite", -] - -[[package]] -name = "httparse" -version = "1.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fcc0b4a115bf80b728eb8ea024ad5bd707b615bfed49e0665b6e0f86fd082d9" - -[[package]] -name = "humantime" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" - -[[package]] -name = "hyper" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50dfd22e0e76d0f662d429a5f80fcaf3855009297eab6a0a9f8543834744ba05" -dependencies = [ - "bytes", - "futures-channel", - "futures-util", - "h2", - "http", - "http-body", - "httparse", - "itoa", - "pin-project-lite", - "smallvec", - "tokio", - "want", -] - -[[package]] -name = "hyper-rustls" -version = "0.27.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ee4be2c948921a1a5320b629c4193916ed787a7f7f293fd3f7f5a6c9de74155" -dependencies = [ - "futures-util", - "http", - "hyper", - "hyper-util", - "rustls", - "rustls-pki-types", - "tokio", - "tokio-rustls", - "tower-service", -] - -[[package]] -name = "hyper-tls" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" -dependencies = [ - "bytes", - "http-body-util", - "hyper", - "hyper-util", - "native-tls", - "tokio", - "tokio-native-tls", - "tower-service", -] - -[[package]] -name = "hyper-util" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cde7055719c54e36e95e8719f95883f22072a48ede39db7fc17a4e1d5281e9b9" -dependencies = [ - "bytes", - "futures-channel", - "futures-util", - "http", - "http-body", - "hyper", - "pin-project-lite", - "socket2", - "tokio", - "tower", - "tower-service", - "tracing", -] - -[[package]] -name = "idna" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" -dependencies = [ - "unicode-bidi", - "unicode-normalization", -] - -[[package]] -name = "ignore" -version = "0.4.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b46810df39e66e925525d6e38ce1e7f6e1d208f72dc39757880fcb66e2c58af1" -dependencies = [ - "crossbeam-deque", - "globset", - "log", - "memchr", - "regex-automata", - "same-file", - "walkdir", - "winapi-util", -] - [[package]] name = "indexmap" version = "2.5.0" @@ -1617,12 +991,6 @@ dependencies = [ "serde", ] -[[package]] -name = "ipnet" -version = "2.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" - [[package]] name = "is_terminal_polyfill" version = "1.70.1" @@ -1653,15 +1021,6 @@ version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" -[[package]] -name = "js-sys" -version = "0.3.70" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1868808506b929d7b0cfa8f75951347aa71bb21144b7791bae35d9bccfcfe37a" -dependencies = [ - "wasm-bindgen", -] - [[package]] name = "keccak" version = "0.1.5" @@ -1692,12 +1051,6 @@ version = "0.2.158" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439" -[[package]] -name = "linux-raw-sys" -version = "0.4.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" - [[package]] name = "lkmex-transfer" version = "0.0.0" @@ -1720,17 +1073,24 @@ name = "lkmex-transfer-abi" version = "0.0.0" dependencies = [ "lkmex-transfer", - "multiversx-sc-meta", + "multiversx-sc-meta-lib", ] [[package]] -name = "lock_api" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +name = "locked-asset-distribution" +version = "0.0.0" dependencies = [ - "autocfg", - "scopeguard", + "common_structs", + "multiversx-sc", + "multiversx-sc-scenario", +] + +[[package]] +name = "locked-asset-distribution-abi" +version = "0.0.0" +dependencies = [ + "locked-asset-distribution", + "multiversx-sc-meta-lib", ] [[package]] @@ -1758,15 +1118,9 @@ name = "locked-token-wrapper-meta" version = "0.0.0" dependencies = [ "locked-token-wrapper", - "multiversx-sc-meta", + "multiversx-sc-meta-lib", ] -[[package]] -name = "lockfree-object-pool" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9374ef4228402d4b7e403e5838cb880d9ee663314b0a900d5a6aabf0c213552e" - [[package]] name = "locking_module" version = "0.0.0" @@ -1795,12 +1149,6 @@ version = "2.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" -[[package]] -name = "memory_units" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8452105ba047068f40ff7093dd1d9da90898e63dd61736462e9cdda6a90ad3c3" - [[package]] name = "mergeable" version = "0.0.0" @@ -1809,66 +1157,27 @@ dependencies = [ ] [[package]] -name = "metabonding-staking" +name = "metabonding-staking-legacy" version = "0.0.0" dependencies = [ - "common_structs", - "factory", "multiversx-sc", - "multiversx-sc-modules", "multiversx-sc-scenario", "num-bigint", ] [[package]] -name = "metabonding-staking-meta" +name = "metabonding-staking-legacy-meta" version = "0.0.0" dependencies = [ - "metabonding-staking", - "multiversx-sc-meta", -] - -[[package]] -name = "mime" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" - -[[package]] -name = "miniz_oxide" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08" -dependencies = [ - "adler", -] - -[[package]] -name = "miniz_oxide" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" -dependencies = [ - "adler2", -] - -[[package]] -name = "mio" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec" -dependencies = [ - "hermit-abi", - "libc", - "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.52.0", + "metabonding-staking-legacy", + "multiversx-sc-meta-lib", ] [[package]] name = "multiversx-chain-scenario-format" -version = "0.22.3" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "921a66f6db5ffff311e355d42a49fd49baf72d7a6a6215b0484dcd9d8dd512a3" +checksum = "dcca77966bf5eb9c9f96d0597f17a4fa7b64681cc7b83e39bdf31f8c6ca04d44" dependencies = [ "bech32", "hex", @@ -1881,9 +1190,9 @@ dependencies = [ [[package]] name = "multiversx-chain-vm" -version = "0.9.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8d91b6ce610a3ac1272f0813284a3f03a34d55db2f86cddaff357bf651074ee" +checksum = "13c537d27dfc7a8e295d4f7c5f67a967ce66b6c3fc8e31a160e8cf28e14ecb2d" dependencies = [ "bitflags", "colored", @@ -1894,9 +1203,9 @@ dependencies = [ "multiversx-chain-vm-executor", "num-bigint", "num-traits", - "rand 0.8.5", + "rand", "rand_seeder", - "sha2 0.10.8", + "sha2", "sha3", ] @@ -1908,9 +1217,9 @@ checksum = "b59072fa0624b55ae5ae3fa6bfa91515bbeb4ac440214bc4a509e2c8806d6e9f" [[package]] name = "multiversx-sc" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "526760b1d6236c011285b264a70a0a9dd3b3dbc53c3b5f76932f4bcfd3a8910c" +checksum = "75ea89a26f0aacda21437a8ae5ccfbefab99d8191942b3d2eddbcbf84f9866d7" dependencies = [ "bitflags", "hex-literal 0.4.1", @@ -1922,9 +1231,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad4f318427761faecf26c1f3115a3beeb5f61858845a60547d9763aa981ddd2d" +checksum = "007d7a5a8534e5dc9128cb8f15a65a21dd378e135c6016c7cd1491cd012bc8cb" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -1934,9 +1243,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "476501462b0c2654b64f9dec6f2c480e24b4e9b7133ec10b7167e64acda35d04" +checksum = "dffba1dce273ed5b61ee1b90aeea5c8c744617d0f12624f620768c144d83e753" dependencies = [ "hex", "proc-macro2", @@ -1946,9 +1255,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3557f2f12640a8a07fa6af66cc2a13b188c5b61bed72db22fe631fb3a60c3e96" +checksum = "4c17fdf90fafca2f19085ae67b0502d9f71bf8ab1be3c83808eb88e02a8c18b9" dependencies = [ "hex", "proc-macro2", @@ -1957,36 +1266,11 @@ dependencies = [ "syn", ] -[[package]] -name = "multiversx-sc-meta" -version = "0.52.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df1e5defa15d0195cb93f12b0a09220d9e94fe4fd86f2657c19272402c4083ac" -dependencies = [ - "clap", - "colored", - "common-path", - "convert_case", - "copy_dir", - "multiversx-sc", - "multiversx-sc-meta-lib", - "multiversx-sc-snippets", - "pathdiff", - "reqwest", - "ruplacer", - "semver", - "serde", - "serde_json", - "tokio", - "toml", - "zip", -] - [[package]] name = "multiversx-sc-meta-lib" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8deccfcc760b8fd281e2603268fa1a453ed65e4caac7a51a2d71c40cec37ae3" +checksum = "ef023806e14a8a6245408c4a7dfdf17d4a1eb39425cedfe50cd2c48f96708ab6" dependencies = [ "clap", "colored", @@ -2005,18 +1289,18 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61f5c29c6044f3dc9e866858feee625d7fae5604a68ac7bd66dec683eee97563" +checksum = "daeb48acbd39255868a3241798df2f85050f0ae8d82d6417bd2cd0e30a241855" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-scenario" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d3024d52e2cb7d455f5a560218be8968e446eabc7c31dc9fc479c329f45e05e" +checksum = "cd16e3bf1f6696d0add36b7b905b1ffdd13b836e584da000f5e265c11e2bfc8d" dependencies = [ "base64", "bech32", @@ -2034,71 +1318,10 @@ dependencies = [ "pathdiff", "serde", "serde_json", - "sha2 0.10.8", + "sha2", "unwrap-infallible", ] -[[package]] -name = "multiversx-sc-snippets" -version = "0.52.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94bbd06d14e07875e92453bfe19557e1b3f2239af18b9cd3a8f05a19f4111df3" -dependencies = [ - "base64", - "env_logger", - "futures", - "hex", - "log", - "multiversx-chain-scenario-format", - "multiversx-sc-scenario", - "multiversx-sdk", - "tokio", -] - -[[package]] -name = "multiversx-sdk" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "139f1ac6d82e743dd3ae303e47134ab17b7c3e3c4306f09bed11a6054822596c" -dependencies = [ - "anyhow", - "base64", - "bech32", - "bip39", - "hex", - "hmac", - "itertools 0.13.0", - "log", - "pbkdf2", - "pem", - "rand 0.8.5", - "reqwest", - "serde", - "serde_json", - "serde_repr", - "sha2 0.10.8", - "sha3", - "tokio", - "zeroize", -] - -[[package]] -name = "native-tls" -version = "0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" -dependencies = [ - "libc", - "log", - "openssl", - "openssl-probe", - "openssl-sys", - "schannel", - "security-framework", - "security-framework-sys", - "tempfile", -] - [[package]] name = "nibble_vec" version = "0.1.0" @@ -2124,82 +1347,23 @@ version = "0.1.46" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" dependencies = [ - "num-traits", -] - -[[package]] -name = "num-traits" -version = "0.2.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" -dependencies = [ - "autocfg", -] - -[[package]] -name = "object" -version = "0.36.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "084f1a5821ac4c651660a94a7153d27ac9d8a53736203f58b31945ded098070a" -dependencies = [ - "memchr", -] - -[[package]] -name = "once_cell" -version = "1.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" - -[[package]] -name = "opaque-debug" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" - -[[package]] -name = "openssl" -version = "0.10.66" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9529f4786b70a3e8c61e11179af17ab6188ad8d0ded78c5529441ed39d4bd9c1" -dependencies = [ - "bitflags", - "cfg-if 1.0.0", - "foreign-types", - "libc", - "once_cell", - "openssl-macros", - "openssl-sys", -] - -[[package]] -name = "openssl-macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" -dependencies = [ - "proc-macro2", - "quote", - "syn", + "num-traits", ] [[package]] -name = "openssl-probe" -version = "0.1.5" +name = "num-traits" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] [[package]] -name = "openssl-sys" -version = "0.9.103" +name = "once_cell" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f9e8deee91df40a943c71b917e5874b951d32a802526c85721ce3b776c929d6" -dependencies = [ - "cc", - "libc", - "pkg-config", - "vcpkg", -] +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" [[package]] name = "pair" @@ -2223,7 +1387,7 @@ dependencies = [ name = "pair-abi" version = "0.0.0" dependencies = [ - "multiversx-sc-meta", + "multiversx-sc-meta-lib", "pair", ] @@ -2241,33 +1405,10 @@ dependencies = [ name = "pair-mock-meta" version = "0.0.0" dependencies = [ - "multiversx-sc-meta", + "multiversx-sc-meta-lib", "pair-mock", ] -[[package]] -name = "parking_lot" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" -dependencies = [ - "lock_api", - "parking_lot_core", -] - -[[package]] -name = "parking_lot_core" -version = "0.9.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" -dependencies = [ - "cfg-if 1.0.0", - "libc", - "redox_syscall", - "smallvec", - "windows-targets 0.52.6", -] - [[package]] name = "pathdiff" version = "0.2.1" @@ -2298,35 +1439,10 @@ dependencies = [ name = "pause-all-meta" version = "0.0.0" dependencies = [ - "multiversx-sc-meta", + "multiversx-sc-meta-lib", "pause-all", ] -[[package]] -name = "pbkdf2" -version = "0.12.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" -dependencies = [ - "digest 0.10.7", -] - -[[package]] -name = "pem" -version = "3.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e459365e590736a54c3fa561947c84837534b8e9af6fc5bf781307e82658fae" -dependencies = [ - "base64", - "serde", -] - -[[package]] -name = "percent-encoding" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" - [[package]] name = "permissions_module" version = "0.0.0" @@ -2337,43 +1453,15 @@ dependencies = [ ] [[package]] -name = "pin-project" -version = "1.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" -dependencies = [ - "pin-project-internal", -] - -[[package]] -name = "pin-project-internal" -version = "1.1.5" +name = "pkcs8" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" +checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" dependencies = [ - "proc-macro2", - "quote", - "syn", + "der", + "spki", ] -[[package]] -name = "pin-project-lite" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" - -[[package]] -name = "pin-utils" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" - -[[package]] -name = "pkg-config" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" - [[package]] name = "ppv-lite86" version = "0.2.20" @@ -2402,7 +1490,7 @@ dependencies = [ name = "price-discovery-meta" version = "0.0.0" dependencies = [ - "multiversx-sc-meta", + "multiversx-sc-meta-lib", "price-discovery", ] @@ -2419,7 +1507,7 @@ dependencies = [ name = "price-discovery-v1-meta" version = "0.0.0" dependencies = [ - "multiversx-sc-meta", + "multiversx-sc-meta-lib", "price-discovery-v1", ] @@ -2436,7 +1524,7 @@ dependencies = [ name = "price-discovery-v2-meta" version = "0.0.0" dependencies = [ - "multiversx-sc-meta", + "multiversx-sc-meta-lib", "price-discovery-v2", ] @@ -2466,7 +1554,7 @@ dependencies = [ name = "proxy-deployer-meta" version = "0.0.0" dependencies = [ - "multiversx-sc-meta", + "multiversx-sc-meta-lib", "proxy-deployer", ] @@ -2489,7 +1577,7 @@ dependencies = [ name = "proxy-dex-legacy-meta" version = "0.0.0" dependencies = [ - "multiversx-sc-meta", + "multiversx-sc-meta-lib", "proxy-dex-legacy", ] @@ -2531,15 +1619,15 @@ dependencies = [ name = "proxy_dex-meta" version = "0.0.0" dependencies = [ - "multiversx-sc-meta", + "multiversx-sc-meta-lib", "proxy_dex", ] [[package]] name = "quote" -version = "1.0.36" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ "proc-macro2", ] @@ -2554,19 +1642,6 @@ dependencies = [ "nibble_vec", ] -[[package]] -name = "rand" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" -dependencies = [ - "getrandom 0.1.16", - "libc", - "rand_chacha 0.2.2", - "rand_core 0.5.1", - "rand_hc", -] - [[package]] name = "rand" version = "0.8.5" @@ -2574,18 +1649,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", - "rand_chacha 0.3.1", - "rand_core 0.6.4", -] - -[[package]] -name = "rand_chacha" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" -dependencies = [ - "ppv-lite86", - "rand_core 0.5.1", + "rand_chacha", + "rand_core", ] [[package]] @@ -2595,16 +1660,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ "ppv-lite86", - "rand_core 0.6.4", -] - -[[package]] -name = "rand_core" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" -dependencies = [ - "getrandom 0.1.16", + "rand_core", ] [[package]] @@ -2613,107 +1669,16 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.15", -] - -[[package]] -name = "rand_hc" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" -dependencies = [ - "rand_core 0.5.1", + "getrandom", ] [[package]] name = "rand_seeder" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf2890aaef0aa82719a50e808de264f9484b74b442e1a3a0e5ee38243ac40bdb" -dependencies = [ - "rand_core 0.6.4", -] - -[[package]] -name = "redox_syscall" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a908a6e00f1fdd0dfd9c0eb08ce85126f6d8bbda50017e74bc4a4b7d4a926a4" -dependencies = [ - "bitflags", -] - -[[package]] -name = "regex" -version = "1.10.6" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619" +checksum = "4a9febe641d2842ffc76ee962668a17578767c4e01735e4802b21ed9a24b2e4e" dependencies = [ - "aho-corasick", - "memchr", - "regex-automata", - "regex-syntax", -] - -[[package]] -name = "regex-automata" -version = "0.4.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" -dependencies = [ - "aho-corasick", - "memchr", - "regex-syntax", -] - -[[package]] -name = "regex-syntax" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" - -[[package]] -name = "reqwest" -version = "0.12.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8f4955649ef5c38cc7f9e8aa41761d48fb9677197daea9984dc54f56aad5e63" -dependencies = [ - "base64", - "bytes", - "encoding_rs", - "futures-channel", - "futures-core", - "futures-util", - "h2", - "http", - "http-body", - "http-body-util", - "hyper", - "hyper-rustls", - "hyper-tls", - "hyper-util", - "ipnet", - "js-sys", - "log", - "mime", - "native-tls", - "once_cell", - "percent-encoding", - "pin-project-lite", - "rustls-pemfile", - "serde", - "serde_json", - "serde_urlencoded", - "sync_wrapper", - "system-configuration", - "tokio", - "tokio-native-tls", - "tower-service", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", - "windows-registry", + "rand_core", ] [[package]] @@ -2731,21 +1696,6 @@ dependencies = [ "token_send", ] -[[package]] -name = "ring" -version = "0.17.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" -dependencies = [ - "cc", - "cfg-if 1.0.0", - "getrandom 0.2.15", - "libc", - "spin", - "untrusted", - "windows-sys 0.52.0", -] - [[package]] name = "router" version = "0.0.0" @@ -2763,30 +1713,10 @@ dependencies = [ name = "router-abi" version = "0.0.0" dependencies = [ - "multiversx-sc-meta", + "multiversx-sc-meta-lib", "router", ] -[[package]] -name = "ruplacer" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58a26a1b15ff113d31d139357f7422708312978ed69cd5dd47e36d1b80b7eaf3" -dependencies = [ - "Inflector", - "anyhow", - "clap", - "colored", - "ignore", - "regex", -] - -[[package]] -name = "rustc-demangle" -version = "0.1.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" - [[package]] name = "rustc_version" version = "0.4.1" @@ -2796,74 +1726,12 @@ dependencies = [ "semver", ] -[[package]] -name = "rustix" -version = "0.38.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a85d50532239da68e9addb745ba38ff4612a242c1c7ceea689c4bc7c2f43c36f" -dependencies = [ - "bitflags", - "errno", - "libc", - "linux-raw-sys", - "windows-sys 0.52.0", -] - -[[package]] -name = "rustls" -version = "0.23.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c58f8c84392efc0a126acce10fa59ff7b3d2ac06ab451a33f2741989b806b044" -dependencies = [ - "once_cell", - "rustls-pki-types", - "rustls-webpki", - "subtle", - "zeroize", -] - -[[package]] -name = "rustls-pemfile" -version = "2.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "196fe16b00e106300d3e45ecfcb764fa292a535d7326a29a5875c579c7417425" -dependencies = [ - "base64", - "rustls-pki-types", -] - -[[package]] -name = "rustls-pki-types" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc0a2ce646f8655401bb81e7927b812614bd5d91dbc968696be50603510fcaf0" - -[[package]] -name = "rustls-webpki" -version = "0.102.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84678086bd54edf2b415183ed7a94d0efb049f1b646a33e22a36f3794be6ae56" -dependencies = [ - "ring", - "rustls-pki-types", - "untrusted", -] - [[package]] name = "ryu" version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" -[[package]] -name = "same-file" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" -dependencies = [ - "winapi-util", -] - [[package]] name = "sc_whitelist_module" version = "0.0.0" @@ -2872,44 +1740,6 @@ dependencies = [ "multiversx-sc", ] -[[package]] -name = "schannel" -version = "0.1.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" -dependencies = [ - "windows-sys 0.52.0", -] - -[[package]] -name = "scopeguard" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" - -[[package]] -name = "security-framework" -version = "2.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" -dependencies = [ - "bitflags", - "core-foundation", - "core-foundation-sys", - "libc", - "security-framework-sys", -] - -[[package]] -name = "security-framework-sys" -version = "2.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75da29fe9b9b08fe9d6b22b5b4bcbc75d8db3aa31e639aa56bb62e9d46bfceaf" -dependencies = [ - "core-foundation-sys", - "libc", -] - [[package]] name = "semver" version = "1.0.23" @@ -2942,24 +1772,12 @@ version = "1.0.127" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8043c06d9f82bd7271361ed64f415fe5e12a77fdb52e573e7f06a516dea329ad" dependencies = [ - "indexmap", "itoa", "memchr", "ryu", "serde", ] -[[package]] -name = "serde_repr" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "serde_spanned" version = "0.6.7" @@ -2969,40 +1787,15 @@ dependencies = [ "serde", ] -[[package]] -name = "serde_urlencoded" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" -dependencies = [ - "form_urlencoded", - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "sha2" -version = "0.9.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800" -dependencies = [ - "block-buffer 0.9.0", - "cfg-if 1.0.0", - "cpufeatures", - "digest 0.9.0", - "opaque-debug", -] - [[package]] name = "sha2" version = "0.10.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "cpufeatures", - "digest 0.10.7", + "digest", ] [[package]] @@ -3011,37 +1804,19 @@ version = "0.10.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" dependencies = [ - "digest 0.10.7", + "digest", "keccak", ] [[package]] -name = "shlex" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" - -[[package]] -name = "signal-hook-registry" -version = "1.4.2" +name = "signature" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" dependencies = [ - "libc", + "rand_core", ] -[[package]] -name = "signature" -version = "1.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" - -[[package]] -name = "simd-adler32" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" - [[package]] name = "simple-lock" version = "0.0.0" @@ -3072,7 +1847,7 @@ dependencies = [ name = "simple-lock-legacy-meta" version = "0.0.0" dependencies = [ - "multiversx-sc-meta", + "multiversx-sc-meta-lib", "simple-lock-legacy", ] @@ -3080,17 +1855,8 @@ dependencies = [ name = "simple-lock-meta" version = "0.0.0" dependencies = [ - "multiversx-sc-meta", - "simple-lock", -] - -[[package]] -name = "slab" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" -dependencies = [ - "autocfg", + "multiversx-sc-meta-lib", + "simple-lock", ] [[package]] @@ -3100,21 +1866,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] -name = "socket2" -version = "0.5.7" +name = "spki" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" dependencies = [ - "libc", - "windows-sys 0.52.0", + "base64ct", + "der", ] -[[package]] -name = "spin" -version = "0.9.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" - [[package]] name = "strsim" version = "0.11.1" @@ -3129,58 +1889,15 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "syn" -version = "2.0.72" +version = "2.0.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" +checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" dependencies = [ "proc-macro2", "quote", "unicode-ident", ] -[[package]] -name = "sync_wrapper" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" -dependencies = [ - "futures-core", -] - -[[package]] -name = "system-configuration" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" -dependencies = [ - "bitflags", - "core-foundation", - "system-configuration-sys", -] - -[[package]] -name = "system-configuration-sys" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "tempfile" -version = "3.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04cbcdd0c794ebb0d4cf35e88edd2f7d2c4c3e9a5a6dab322839b321c6a87a64" -dependencies = [ - "cfg-if 1.0.0", - "fastrand", - "once_cell", - "rustix", - "windows-sys 0.59.0", -] - [[package]] name = "termcolor" version = "1.4.1" @@ -3190,41 +1907,6 @@ dependencies = [ "winapi-util", ] -[[package]] -name = "thiserror" -version = "1.0.63" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724" -dependencies = [ - "thiserror-impl", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.63" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "tinyvec" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" -dependencies = [ - "tinyvec_macros", -] - -[[package]] -name = "tinyvec_macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" - [[package]] name = "token-unstake" version = "0.0.0" @@ -3248,7 +1930,7 @@ dependencies = [ name = "token-unstake-abi" version = "0.0.0" dependencies = [ - "multiversx-sc-meta", + "multiversx-sc-meta-lib", "token-unstake", ] @@ -3269,69 +1951,6 @@ dependencies = [ "multiversx-sc", ] -[[package]] -name = "tokio" -version = "1.40.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2b070231665d27ad9ec9b8df639893f46727666c6767db40317fbe920a5d998" -dependencies = [ - "backtrace", - "bytes", - "libc", - "mio", - "parking_lot", - "pin-project-lite", - "signal-hook-registry", - "socket2", - "tokio-macros", - "windows-sys 0.52.0", -] - -[[package]] -name = "tokio-macros" -version = "2.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "tokio-native-tls" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" -dependencies = [ - "native-tls", - "tokio", -] - -[[package]] -name = "tokio-rustls" -version = "0.26.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" -dependencies = [ - "rustls", - "rustls-pki-types", - "tokio", -] - -[[package]] -name = "tokio-util" -version = "0.7.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" -dependencies = [ - "bytes", - "futures-core", - "futures-sink", - "pin-project-lite", - "tokio", -] - [[package]] name = "toml" version = "0.8.19" @@ -3367,97 +1986,24 @@ dependencies = [ "winnow", ] -[[package]] -name = "tower" -version = "0.4.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" -dependencies = [ - "futures-core", - "futures-util", - "pin-project", - "pin-project-lite", - "tokio", - "tower-layer", - "tower-service", -] - -[[package]] -name = "tower-layer" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" - -[[package]] -name = "tower-service" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" - -[[package]] -name = "tracing" -version = "0.1.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" -dependencies = [ - "pin-project-lite", - "tracing-core", -] - -[[package]] -name = "tracing-core" -version = "0.1.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" -dependencies = [ - "once_cell", -] - -[[package]] -name = "try-lock" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" - [[package]] name = "typenum" version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" -[[package]] -name = "unicode-bidi" -version = "0.3.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" - [[package]] name = "unicode-ident" version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" -[[package]] -name = "unicode-normalization" -version = "0.1.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" -dependencies = [ - "tinyvec", -] - [[package]] name = "unicode-segmentation" version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" -[[package]] -name = "untrusted" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" - [[package]] name = "unwrap-infallible" version = "0.1.5" @@ -3471,17 +2017,6 @@ dependencies = [ "multiversx-sc", ] -[[package]] -name = "url" -version = "2.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" -dependencies = [ - "form_urlencoded", - "idna", - "percent-encoding", -] - [[package]] name = "utf8parse" version = "0.2.2" @@ -3498,121 +2033,23 @@ dependencies = [ "multiversx-sc", ] -[[package]] -name = "vcpkg" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" - [[package]] name = "version_check" version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" -[[package]] -name = "walkdir" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" -dependencies = [ - "same-file", - "winapi-util", -] - -[[package]] -name = "want" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" -dependencies = [ - "try-lock", -] - -[[package]] -name = "wasi" -version = "0.9.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" - [[package]] name = "wasi" version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" -[[package]] -name = "wasm-bindgen" -version = "0.2.93" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a82edfc16a6c469f5f44dc7b571814045d60404b55a0ee849f9bcfa2e63dd9b5" -dependencies = [ - "cfg-if 1.0.0", - "once_cell", - "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.93" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9de396da306523044d3302746f1208fa71d7532227f15e347e2d93e4145dd77b" -dependencies = [ - "bumpalo", - "log", - "once_cell", - "proc-macro2", - "quote", - "syn", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-futures" -version = "0.4.43" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61e9300f63a621e96ed275155c108eb6f843b6a26d053f122ab69724559dc8ed" -dependencies = [ - "cfg-if 1.0.0", - "js-sys", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.93" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "585c4c91a46b072c92e908d99cb1dcdf95c5218eeb6f3bf1efa991ee7a68cccf" -dependencies = [ - "quote", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.93" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "wasm-bindgen-backend", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.93" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c62a0a307cb4a311d3a07867860911ca130c3494e8c2719593806c08bc5d0484" - [[package]] name = "wasmparser" -version = "0.214.0" +version = "0.216.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5309c1090e3e84dad0d382f42064e9933fdaedb87e468cc239f0eabea73ddcb6" +checksum = "bcdee6bea3619d311fb4b299721e89a986c3470f804b6d534340e412589028e3" dependencies = [ "ahash", "bitflags", @@ -3624,37 +2061,15 @@ dependencies = [ [[package]] name = "wasmprinter" -version = "0.214.0" +version = "0.216.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58d4f2b3f7bd2ba10f99e03f885ff90d5db3455e163bccecebbbf60406bd8980" +checksum = "8f82916f3892e53620639217d6ec78fe15c678352a3fbf3f3745b6417d0bd70f" dependencies = [ "anyhow", "termcolor", "wasmparser", ] -[[package]] -name = "web-sys" -version = "0.3.70" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26fdeaafd9bd129f65e7c031593c24d62186301e0c72c8978fa1678be7d532c0" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "wee_alloc" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbb3b5a6b2bb17cb6ad44a2e68a43e8d2722c997da10e928665c72ec6c0a0b8e" -dependencies = [ - "cfg-if 0.1.10", - "libc", - "memory_units", - "winapi", -] - [[package]] name = "week-timekeeping" version = "0.0.0" @@ -3675,22 +2090,6 @@ dependencies = [ "week-timekeeping", ] -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - [[package]] name = "winapi-util" version = "0.1.9" @@ -3700,42 +2099,6 @@ dependencies = [ "windows-sys 0.59.0", ] -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" - -[[package]] -name = "windows-registry" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" -dependencies = [ - "windows-result", - "windows-strings", - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-result" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" -dependencies = [ - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-strings" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" -dependencies = [ - "windows-result", - "windows-targets 0.52.6", -] - [[package]] name = "windows-sys" version = "0.48.0" @@ -3919,48 +2282,3 @@ name = "zeroize" version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" -dependencies = [ - "zeroize_derive", -] - -[[package]] -name = "zeroize_derive" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "zip" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc5e4288ea4057ae23afc69a4472434a87a2495cafce6632fd1c4ec9f5cf3494" -dependencies = [ - "arbitrary", - "crc32fast", - "crossbeam-utils", - "displaydoc", - "flate2", - "indexmap", - "memchr", - "thiserror", - "zopfli", -] - -[[package]] -name = "zopfli" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5019f391bac5cf252e93bbcc53d039ffd62c7bfb7c150414d61369afe57e946" -dependencies = [ - "bumpalo", - "crc32fast", - "lockfree-object-pool", - "log", - "once_cell", - "simd-adler32", -] diff --git a/Cargo.toml b/Cargo.toml index 6c3af3ab3..81e48c99e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -34,13 +34,13 @@ members = [ "farm-staking/farm-staking/meta", "farm-staking/farm-staking-proxy", "farm-staking/farm-staking-proxy/meta", - "farm-staking/metabonding-staking", - "farm-staking/metabonding-staking/meta", "legacy-contracts/simple-lock-legacy", "legacy-contracts/simple-lock-legacy/meta", "legacy-contracts/farm-staking-proxy-v13", "legacy-contracts/farm-staking-proxy-v13/meta", + "legacy-contracts/metabonding-staking-legacy", + "legacy-contracts/metabonding-staking-legacy/meta", "legacy-contracts/farm-v12", "legacy-contracts/farm-v12/meta", "legacy-contracts/farm-v13", @@ -57,18 +57,16 @@ members = [ "legacy-contracts/price-discovery-v1/meta", "legacy-contracts/price-discovery-v2", "legacy-contracts/price-discovery-v2/meta", + "legacy-contracts/locked-asset-distribution", + "legacy-contracts/locked-asset-distribution/meta", "locked-asset/", - "locked-asset/distribution", - "locked-asset/distribution/meta", "locked-asset/proxy_dex", "locked-asset/proxy_dex/meta", "locked-asset/lkmex-transfer", "locked-asset/lkmex-transfer/meta", "locked-asset/locked-token-wrapper", "locked-asset/locked-token-wrapper/meta", - "locked-asset/factory", - "locked-asset/factory/meta", "locked-asset/simple-lock", "locked-asset/simple-lock/meta", "locked-asset/energy-factory", diff --git a/common/common_errors/Cargo.toml b/common/common_errors/Cargo.toml index 6fee8d60d..343089fb5 100644 --- a/common/common_errors/Cargo.toml +++ b/common/common_errors/Cargo.toml @@ -8,5 +8,5 @@ edition = "2021" path = "src/lib.rs" [dependencies.multiversx-sc] -version = "=0.52.3" +version = "=0.53.2" features = ["esdt-token-payment-legacy-decode"] diff --git a/common/common_structs/Cargo.toml b/common/common_structs/Cargo.toml index e16ae99a1..74e79fc08 100644 --- a/common/common_structs/Cargo.toml +++ b/common/common_structs/Cargo.toml @@ -8,7 +8,7 @@ edition = "2021" path = "src/lib.rs" [dependencies.multiversx-sc] -version = "=0.52.3" +version = "=0.53.2" features = ["esdt-token-payment-legacy-decode"] [dependencies.mergeable] diff --git a/common/modules/farm/config/Cargo.toml b/common/modules/farm/config/Cargo.toml index a23429f55..42868939f 100644 --- a/common/modules/farm/config/Cargo.toml +++ b/common/modules/farm/config/Cargo.toml @@ -23,5 +23,5 @@ path = "../../pausable" path = "../../permissions_module" [dependencies.multiversx-sc] -version = "=0.52.3" +version = "=0.53.2" features = ["esdt-token-payment-legacy-decode"] diff --git a/common/modules/farm/contexts/Cargo.toml b/common/modules/farm/contexts/Cargo.toml index 759895606..1e09c2bed 100644 --- a/common/modules/farm/contexts/Cargo.toml +++ b/common/modules/farm/contexts/Cargo.toml @@ -35,8 +35,8 @@ path = "../../pausable" path = "../../permissions_module" [dependencies.multiversx-sc] -version = "=0.52.3" +version = "=0.53.2" features = ["esdt-token-payment-legacy-decode"] [dependencies.multiversx-sc-modules] -version = "=0.52.3" +version = "=0.53.2" diff --git a/common/modules/farm/events/Cargo.toml b/common/modules/farm/events/Cargo.toml index 4da2574ee..06b1c21c7 100644 --- a/common/modules/farm/events/Cargo.toml +++ b/common/modules/farm/events/Cargo.toml @@ -14,5 +14,5 @@ path = "../../../common_structs" path = "../contexts" [dependencies.multiversx-sc] -version = "=0.52.3" +version = "=0.53.2" features = ["esdt-token-payment-legacy-decode"] diff --git a/common/modules/farm/farm_base_impl/Cargo.toml b/common/modules/farm/farm_base_impl/Cargo.toml index 67bae38bd..e8c7462d3 100644 --- a/common/modules/farm/farm_base_impl/Cargo.toml +++ b/common/modules/farm/farm_base_impl/Cargo.toml @@ -50,11 +50,11 @@ path = "../../../traits/mergeable" path = "../../../traits/fixed-supply-token" [dependencies.multiversx-sc] -version = "=0.52.3" +version = "=0.53.2" features = ["esdt-token-payment-legacy-decode"] [dependencies.multiversx-sc-modules] -version = "=0.52.3" +version = "=0.53.2" [dev-dependencies.multiversx-sc-scenario] -version = "=0.52.3" +version = "=0.53.2" diff --git a/common/modules/farm/farm_token/Cargo.toml b/common/modules/farm/farm_token/Cargo.toml index 7b8c589a6..aef369e13 100644 --- a/common/modules/farm/farm_token/Cargo.toml +++ b/common/modules/farm/farm_token/Cargo.toml @@ -26,8 +26,8 @@ path = "../../pausable" path = "../../permissions_module" [dependencies.multiversx-sc] -version = "=0.52.3" +version = "=0.53.2" features = ["esdt-token-payment-legacy-decode"] [dependencies.multiversx-sc-modules] -version = "=0.52.3" +version = "=0.53.2" diff --git a/common/modules/farm/farm_token_merge/Cargo.toml b/common/modules/farm/farm_token_merge/Cargo.toml index 5c3396d85..038e7b313 100644 --- a/common/modules/farm/farm_token_merge/Cargo.toml +++ b/common/modules/farm/farm_token_merge/Cargo.toml @@ -23,11 +23,11 @@ path = "../../token_merge_helper" path = "../farm_token" [dependencies.multiversx-sc] -version = "=0.52.3" +version = "=0.53.2" features = ["esdt-token-payment-legacy-decode"] [dependencies.multiversx-sc-modules] -version = "=0.52.3" +version = "=0.53.2" [workspace] members = ["."] diff --git a/common/modules/farm/rewards/Cargo.toml b/common/modules/farm/rewards/Cargo.toml index 224f8f83d..06bed7548 100644 --- a/common/modules/farm/rewards/Cargo.toml +++ b/common/modules/farm/rewards/Cargo.toml @@ -29,8 +29,8 @@ path = "../../pausable" path = "../../permissions_module" [dependencies.multiversx-sc] -version = "=0.52.3" +version = "=0.53.2" features = ["esdt-token-payment-legacy-decode"] [dependencies.multiversx-sc-modules] -version = "=0.52.3" +version = "=0.53.2" diff --git a/common/modules/legacy_token_decode_module/Cargo.toml b/common/modules/legacy_token_decode_module/Cargo.toml index 92ac7fccf..29bb78f56 100644 --- a/common/modules/legacy_token_decode_module/Cargo.toml +++ b/common/modules/legacy_token_decode_module/Cargo.toml @@ -8,7 +8,7 @@ edition = "2018" path = "src/lib.rs" [dependencies.multiversx-sc] -version = "=0.52.3" +version = "=0.53.2" features = ["esdt-token-payment-legacy-decode"] [dependencies.common_structs] diff --git a/common/modules/locking_module/Cargo.toml b/common/modules/locking_module/Cargo.toml index 78cc80724..3de83e7e6 100644 --- a/common/modules/locking_module/Cargo.toml +++ b/common/modules/locking_module/Cargo.toml @@ -8,7 +8,7 @@ edition = "2021" path = "src/lib.rs" [dependencies.multiversx-sc] -version = "=0.52.3" +version = "=0.53.2" features = ["esdt-token-payment-legacy-decode"] [dependencies.simple-lock] diff --git a/common/modules/math/Cargo.toml b/common/modules/math/Cargo.toml index df63fe034..b8aa25486 100644 --- a/common/modules/math/Cargo.toml +++ b/common/modules/math/Cargo.toml @@ -8,5 +8,5 @@ edition = "2021" path = "src/lib.rs" [dependencies.multiversx-sc] -version = "=0.52.3" +version = "=0.53.2" features = ["esdt-token-payment-legacy-decode"] diff --git a/common/modules/pausable/Cargo.toml b/common/modules/pausable/Cargo.toml index 840683ef3..9f19f8302 100644 --- a/common/modules/pausable/Cargo.toml +++ b/common/modules/pausable/Cargo.toml @@ -11,5 +11,5 @@ path = "src/pausable.rs" path = "../permissions_module" [dependencies.multiversx-sc] -version = "=0.52.3" +version = "=0.53.2" features = ["esdt-token-payment-legacy-decode"] diff --git a/common/modules/permissions_module/Cargo.toml b/common/modules/permissions_module/Cargo.toml index a64b00a6f..99b07bc79 100644 --- a/common/modules/permissions_module/Cargo.toml +++ b/common/modules/permissions_module/Cargo.toml @@ -17,5 +17,5 @@ bitflags = "2.4.1" path = "../../common_errors" [dependencies.multiversx-sc] -version = "=0.52.3" +version = "=0.53.2" features = ["esdt-token-payment-legacy-decode"] diff --git a/common/modules/sc_whitelist_module/Cargo.toml b/common/modules/sc_whitelist_module/Cargo.toml index 3aa5b143c..b67ca8ee6 100644 --- a/common/modules/sc_whitelist_module/Cargo.toml +++ b/common/modules/sc_whitelist_module/Cargo.toml @@ -11,5 +11,5 @@ path = "src/sc_whitelist_module.rs" path = "../../common_errors" [dependencies.multiversx-sc] -version = "=0.52.3" +version = "=0.53.2" features = ["esdt-token-payment-legacy-decode"] diff --git a/common/modules/token_merge_helper/Cargo.toml b/common/modules/token_merge_helper/Cargo.toml index 92a71b34d..b5b8c1997 100644 --- a/common/modules/token_merge_helper/Cargo.toml +++ b/common/modules/token_merge_helper/Cargo.toml @@ -11,5 +11,5 @@ path = "src/lib.rs" path = "../../common_errors" [dependencies.multiversx-sc] -version = "=0.52.3" +version = "=0.53.2" features = ["esdt-token-payment-legacy-decode"] diff --git a/common/modules/token_send/Cargo.toml b/common/modules/token_send/Cargo.toml index 30ccb3efa..2f2ddb019 100644 --- a/common/modules/token_send/Cargo.toml +++ b/common/modules/token_send/Cargo.toml @@ -14,5 +14,5 @@ path = "../../common_structs" path = "../../common_errors" [dependencies.multiversx-sc] -version = "=0.52.3" +version = "=0.53.2" features = ["esdt-token-payment-legacy-decode"] diff --git a/common/modules/utils/Cargo.toml b/common/modules/utils/Cargo.toml index e38f8fe90..6f68bd56b 100644 --- a/common/modules/utils/Cargo.toml +++ b/common/modules/utils/Cargo.toml @@ -8,7 +8,7 @@ edition = "2021" path = "src/lib.rs" [dependencies.multiversx-sc] -version = "=0.52.3" +version = "=0.53.2" features = ["esdt-token-payment-legacy-decode"] [dependencies.common_structs] diff --git a/common/traits/fixed-supply-token/Cargo.toml b/common/traits/fixed-supply-token/Cargo.toml index 6e733792a..ec88d5add 100644 --- a/common/traits/fixed-supply-token/Cargo.toml +++ b/common/traits/fixed-supply-token/Cargo.toml @@ -8,4 +8,4 @@ edition = "2021" path = "src/lib.rs" [dependencies.multiversx-sc] -version = "=0.52.3" +version = "=0.53.2" diff --git a/common/traits/mergeable/Cargo.toml b/common/traits/mergeable/Cargo.toml index f5ee4681a..1f7ce043d 100644 --- a/common/traits/mergeable/Cargo.toml +++ b/common/traits/mergeable/Cargo.toml @@ -8,5 +8,5 @@ edition = "2021" path = "src/lib.rs" [dependencies.multiversx-sc] -version = "=0.52.3" +version = "=0.53.2" features = ["esdt-token-payment-legacy-decode"] diff --git a/common/traits/unwrappable/Cargo.toml b/common/traits/unwrappable/Cargo.toml index f4697c4b7..a406958a0 100644 --- a/common/traits/unwrappable/Cargo.toml +++ b/common/traits/unwrappable/Cargo.toml @@ -8,5 +8,5 @@ edition = "2021" path = "src/lib.rs" [dependencies.multiversx-sc] -version = "=0.52.3" +version = "=0.53.2" features = ["esdt-token-payment-legacy-decode"] diff --git a/dex/Cargo.toml b/dex/Cargo.toml index df2fd1e57..56a8d4173 100644 --- a/dex/Cargo.toml +++ b/dex/Cargo.toml @@ -5,17 +5,17 @@ edition = "2021" publish = false [dependencies.multiversx-sc] -version = "=0.52.3" +version = "=0.53.2" features = ["esdt-token-payment-legacy-decode"] [dev-dependencies] num-bigint = "0.4.2" [dev-dependencies.multiversx-sc-modules] -version = "=0.52.3" +version = "=0.53.2" [dev-dependencies.multiversx-sc-scenario] -version = "=0.52.3" +version = "=0.53.2" [dev-dependencies.config] path = "../common/modules/farm/config" @@ -44,9 +44,6 @@ path = "../farm-staking/farm-staking" [dev-dependencies.farm-staking-proxy] path = "../farm-staking/farm-staking-proxy" -[dev-dependencies.factory] -path = "../locked-asset/factory" - [dev-dependencies.simple-lock] path = "../locked-asset/simple-lock" diff --git a/dex/farm-with-locked-rewards/Cargo.toml b/dex/farm-with-locked-rewards/Cargo.toml index 02e2190bb..eedd45925 100644 --- a/dex/farm-with-locked-rewards/Cargo.toml +++ b/dex/farm-with-locked-rewards/Cargo.toml @@ -75,17 +75,17 @@ path = "../../locked-asset/energy-factory" path = "../../energy-integration/common-modules/energy-query" [dependencies.multiversx-sc] -version = "=0.52.3" +version = "=0.53.2" features = ["esdt-token-payment-legacy-decode"] [dependencies.multiversx-sc-modules] -version = "=0.52.3" +version = "=0.53.2" [dev-dependencies] num-bigint = "0.4.2" [dev-dependencies.multiversx-sc-scenario] -version = "=0.52.3" +version = "=0.53.2" [dev-dependencies.simple-lock] path = "../../locked-asset/simple-lock" diff --git a/dex/farm-with-locked-rewards/meta/Cargo.toml b/dex/farm-with-locked-rewards/meta/Cargo.toml index a273b797a..ba8b0bc2b 100644 --- a/dex/farm-with-locked-rewards/meta/Cargo.toml +++ b/dex/farm-with-locked-rewards/meta/Cargo.toml @@ -8,6 +8,6 @@ publish = false [dependencies.farm-with-locked-rewards] path = ".." -[dependencies.multiversx-sc-meta] -version = "0.52.3" +[dependencies.multiversx-sc-meta-lib] +version = "0.53.2" default-features = false diff --git a/dex/farm-with-locked-rewards/meta/src/main.rs b/dex/farm-with-locked-rewards/meta/src/main.rs index fa5c57cdf..0f8ec78ae 100644 --- a/dex/farm-with-locked-rewards/meta/src/main.rs +++ b/dex/farm-with-locked-rewards/meta/src/main.rs @@ -1,3 +1,3 @@ fn main() { - multiversx_sc_meta::cli_main::(); + multiversx_sc_meta_lib::cli_main::(); } diff --git a/dex/farm-with-locked-rewards/src/lib.rs b/dex/farm-with-locked-rewards/src/lib.rs index 972ddbbd7..7434704d1 100644 --- a/dex/farm-with-locked-rewards/src/lib.rs +++ b/dex/farm-with-locked-rewards/src/lib.rs @@ -226,6 +226,11 @@ pub trait Farm: ); } + require!( + !self.user_total_farm_position(user).is_empty(), + "User total farm position is empty!" + ); + let mut storage_cache = StorageCache::new(self); self.validate_contract_state(storage_cache.contract_state, &storage_cache.farm_token_id); NoMintWrapper::::generate_aggregated_rewards(self, &mut storage_cache); @@ -266,7 +271,6 @@ pub trait Farm: require!(percentage <= MAX_PERCENT, "Invalid percentage"); let mut storage_cache = StorageCache::new(self); - self.validate_contract_state(storage_cache.contract_state, &storage_cache.farm_token_id); NoMintWrapper::::generate_aggregated_rewards(self, &mut storage_cache); self.boosted_yields_rewards_percentage().set(percentage); diff --git a/dex/farm-with-locked-rewards/tests/farm_with_locked_rewards_test.rs b/dex/farm-with-locked-rewards/tests/farm_with_locked_rewards_test.rs index 6fbeb9cc6..649461f18 100644 --- a/dex/farm-with-locked-rewards/tests/farm_with_locked_rewards_test.rs +++ b/dex/farm-with-locked-rewards/tests/farm_with_locked_rewards_test.rs @@ -1,7 +1,8 @@ #![allow(deprecated)] use common_structs::FarmTokenAttributes; -use multiversx_sc::codec::Empty; +use farm_with_locked_rewards::Farm; +use multiversx_sc::{codec::Empty, imports::OptionalValue}; use multiversx_sc_scenario::{managed_address, managed_biguint, rust_biguint, DebugApi}; use simple_lock::locked_token::LockedTokenAttributes; @@ -503,11 +504,19 @@ fn claim_boosted_rewards_with_zero_position_test() { farm_setup.b_mock.set_block_nonce(20); farm_setup.b_mock.set_block_epoch(13); - let second_week_received_reward_amt = - farm_setup.claim_boosted_rewards_for_user(&temp_user, &temp_user, 0); + farm_setup + .b_mock + .execute_tx( + &temp_user, + &farm_setup.farm_wrapper, + &rust_biguint!(0), + |sc| { + sc.claim_boosted_rewards(OptionalValue::Some(managed_address!(&temp_user))); + }, + ) + .assert_error(4, "User total farm position is empty!"); - assert_eq!(second_week_received_reward_amt, 0); - farm_setup.check_farm_rps(150_000_000u64); + farm_setup.check_farm_rps(75_000_000u64); // advance 1 week let boosted_rewards = 2_500; @@ -517,14 +526,52 @@ fn claim_boosted_rewards_with_zero_position_test() { let third_week_received_reward_amt = farm_setup.claim_boosted_rewards_for_user(&first_user, &first_user, 1); - assert_eq!(third_week_received_reward_amt, boosted_rewards * 2); // user receives rewards for weeks 1 and 2) + assert_eq!(third_week_received_reward_amt, boosted_rewards); farm_setup.check_farm_rps(225_000_000u64); farm_setup.b_mock.check_nft_balance::( &first_user, LOCKED_REWARD_TOKEN_ID, 1, - &rust_biguint!(boosted_rewards * 2), + &rust_biguint!(boosted_rewards), None, ); } + +#[test] +fn claim_boosted_rewards_user_energy_not_registered_test() { + DebugApi::dummy(); + let mut farm_setup = FarmSetup::new( + farm_with_locked_rewards::contract_obj, + energy_factory::contract_obj, + ); + + farm_setup.set_boosted_yields_rewards_percentage(BOOSTED_YIELDS_PERCENTAGE); + farm_setup.set_boosted_yields_factors(); + farm_setup.b_mock.set_block_epoch(2); + + let first_user = farm_setup.first_user.clone(); + let farm_in_amount = 100_000_000; + + farm_setup.set_user_energy(&first_user, 1_000, 2, 1); + + // Attempt to claim boosted rewards without entering the farm + farm_setup + .b_mock + .execute_tx( + &first_user, + &farm_setup.farm_wrapper, + &rust_biguint!(0), + |sc| { + sc.claim_boosted_rewards(OptionalValue::Some(managed_address!(&first_user))); + }, + ) + .assert_error(4, "User total farm position is empty!"); + + // User enters the farm + farm_setup.enter_farm(&first_user, farm_in_amount); + + // Now the user should be able to claim boosted rewards + // Rewards computation is out of scope + farm_setup.claim_boosted_rewards_for_user(&first_user, &first_user, 0); +} diff --git a/dex/farm-with-locked-rewards/wasm/Cargo.lock b/dex/farm-with-locked-rewards/wasm/Cargo.lock index 81b781351..897ce8c8e 100644 --- a/dex/farm-with-locked-rewards/wasm/Cargo.lock +++ b/dex/farm-with-locked-rewards/wasm/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "arrayvec" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "autocfg" @@ -315,9 +315,9 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "526760b1d6236c011285b264a70a0a9dd3b3dbc53c3b5f76932f4bcfd3a8910c" +checksum = "75ea89a26f0aacda21437a8ae5ccfbefab99d8191942b3d2eddbcbf84f9866d7" dependencies = [ "bitflags", "hex-literal", @@ -329,9 +329,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad4f318427761faecf26c1f3115a3beeb5f61858845a60547d9763aa981ddd2d" +checksum = "007d7a5a8534e5dc9128cb8f15a65a21dd378e135c6016c7cd1491cd012bc8cb" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -340,9 +340,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "476501462b0c2654b64f9dec6f2c480e24b4e9b7133ec10b7167e64acda35d04" +checksum = "dffba1dce273ed5b61ee1b90aeea5c8c744617d0f12624f620768c144d83e753" dependencies = [ "hex", "proc-macro2", @@ -352,9 +352,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3557f2f12640a8a07fa6af66cc2a13b188c5b61bed72db22fe631fb3a60c3e96" +checksum = "4c17fdf90fafca2f19085ae67b0502d9f71bf8ab1be3c83808eb88e02a8c18b9" dependencies = [ "hex", "proc-macro2", @@ -365,18 +365,18 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61f5c29c6044f3dc9e866858feee625d7fae5604a68ac7bd66dec683eee97563" +checksum = "daeb48acbd39255868a3241798df2f85050f0ae8d82d6417bd2cd0e30a241855" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed13aaca9cbdbc6911174cd3029e750a7563d85dd3daaa1107b1fd31c7f17245" +checksum = "20659915a4377d375c46d7f237e810053a03f7e084fad6362dd5748a7233defb" dependencies = [ "multiversx-sc", ] @@ -443,9 +443,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.36" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ "proc-macro2", ] @@ -500,9 +500,9 @@ checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "syn" -version = "2.0.72" +version = "2.0.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" +checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" dependencies = [ "proc-macro2", "quote", diff --git a/dex/farm-with-locked-rewards/wasm/Cargo.toml b/dex/farm-with-locked-rewards/wasm/Cargo.toml index 5e02cdde1..020472854 100644 --- a/dex/farm-with-locked-rewards/wasm/Cargo.toml +++ b/dex/farm-with-locked-rewards/wasm/Cargo.toml @@ -28,7 +28,7 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "=0.52.3" +version = "=0.53.2" [workspace] members = ["."] diff --git a/dex/farm/Cargo.toml b/dex/farm/Cargo.toml index 34af0d038..f883c4579 100644 --- a/dex/farm/Cargo.toml +++ b/dex/farm/Cargo.toml @@ -69,11 +69,11 @@ path = "../../energy-integration/common-modules/weekly-rewards-splitting" path = "../../energy-integration/common-modules/energy-query" [dependencies.multiversx-sc] -version = "=0.52.3" +version = "=0.53.2" features = ["esdt-token-payment-legacy-decode"] [dependencies.multiversx-sc-modules] -version = "=0.52.3" +version = "=0.53.2" [dev-dependencies] num-bigint = "0.4.2" @@ -82,7 +82,7 @@ num-bigint = "0.4.2" path = "../../energy-integration/energy-update" [dev-dependencies.multiversx-sc-scenario] -version = "=0.52.3" +version = "=0.53.2" [dev-dependencies.energy-factory-mock] path = "../../energy-integration/energy-factory-mock" diff --git a/dex/farm/meta/Cargo.toml b/dex/farm/meta/Cargo.toml index 932e0ad31..14fe0a21e 100644 --- a/dex/farm/meta/Cargo.toml +++ b/dex/farm/meta/Cargo.toml @@ -8,6 +8,6 @@ publish = false [dependencies.farm] path = ".." -[dependencies.multiversx-sc-meta] -version = "0.52.3" +[dependencies.multiversx-sc-meta-lib] +version = "0.53.2" default-features = false diff --git a/dex/farm/meta/src/main.rs b/dex/farm/meta/src/main.rs index 0616303c9..ea21b8cf9 100644 --- a/dex/farm/meta/src/main.rs +++ b/dex/farm/meta/src/main.rs @@ -1,3 +1,3 @@ fn main() { - multiversx_sc_meta::cli_main::(); + multiversx_sc_meta_lib::cli_main::(); } diff --git a/dex/farm/src/lib.rs b/dex/farm/src/lib.rs index aeabcaaa0..2ca53489d 100644 --- a/dex/farm/src/lib.rs +++ b/dex/farm/src/lib.rs @@ -228,6 +228,11 @@ pub trait Farm: ); } + require!( + !self.user_total_farm_position(user).is_empty(), + "User total farm position is empty!" + ); + let mut storage_cache = StorageCache::new(self); self.validate_contract_state(storage_cache.contract_state, &storage_cache.farm_token_id); Wrapper::::generate_aggregated_rewards(self, &mut storage_cache); @@ -267,7 +272,6 @@ pub trait Farm: require!(percentage <= MAX_PERCENT, "Invalid percentage"); let mut storage_cache = StorageCache::new(self); - self.validate_contract_state(storage_cache.contract_state, &storage_cache.farm_token_id); Wrapper::::generate_aggregated_rewards(self, &mut storage_cache); self.boosted_yields_rewards_percentage().set(percentage); diff --git a/dex/farm/wasm/Cargo.lock b/dex/farm/wasm/Cargo.lock index 9cb7e7e72..c3dea8cdc 100644 --- a/dex/farm/wasm/Cargo.lock +++ b/dex/farm/wasm/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "arrayvec" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "autocfg" @@ -285,9 +285,9 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "526760b1d6236c011285b264a70a0a9dd3b3dbc53c3b5f76932f4bcfd3a8910c" +checksum = "75ea89a26f0aacda21437a8ae5ccfbefab99d8191942b3d2eddbcbf84f9866d7" dependencies = [ "bitflags", "hex-literal", @@ -299,9 +299,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad4f318427761faecf26c1f3115a3beeb5f61858845a60547d9763aa981ddd2d" +checksum = "007d7a5a8534e5dc9128cb8f15a65a21dd378e135c6016c7cd1491cd012bc8cb" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -310,9 +310,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "476501462b0c2654b64f9dec6f2c480e24b4e9b7133ec10b7167e64acda35d04" +checksum = "dffba1dce273ed5b61ee1b90aeea5c8c744617d0f12624f620768c144d83e753" dependencies = [ "hex", "proc-macro2", @@ -322,9 +322,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3557f2f12640a8a07fa6af66cc2a13b188c5b61bed72db22fe631fb3a60c3e96" +checksum = "4c17fdf90fafca2f19085ae67b0502d9f71bf8ab1be3c83808eb88e02a8c18b9" dependencies = [ "hex", "proc-macro2", @@ -335,18 +335,18 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61f5c29c6044f3dc9e866858feee625d7fae5604a68ac7bd66dec683eee97563" +checksum = "daeb48acbd39255868a3241798df2f85050f0ae8d82d6417bd2cd0e30a241855" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed13aaca9cbdbc6911174cd3029e750a7563d85dd3daaa1107b1fd31c7f17245" +checksum = "20659915a4377d375c46d7f237e810053a03f7e084fad6362dd5748a7233defb" dependencies = [ "multiversx-sc", ] @@ -413,9 +413,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.36" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ "proc-macro2", ] @@ -470,9 +470,9 @@ checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "syn" -version = "2.0.72" +version = "2.0.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" +checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" dependencies = [ "proc-macro2", "quote", diff --git a/dex/farm/wasm/Cargo.toml b/dex/farm/wasm/Cargo.toml index 5283ecab3..4c5b25ae8 100644 --- a/dex/farm/wasm/Cargo.toml +++ b/dex/farm/wasm/Cargo.toml @@ -28,7 +28,7 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "=0.52.3" +version = "=0.53.2" [workspace] members = ["."] diff --git a/dex/fuzz/Cargo.toml b/dex/fuzz/Cargo.toml index cd7c3fa7c..7278d4708 100644 --- a/dex/fuzz/Cargo.toml +++ b/dex/fuzz/Cargo.toml @@ -12,11 +12,11 @@ num-bigint = "0.4.2" rand = "0.8.4" [dependencies.multiversx-sc] -version = "=0.52.3" +version = "=0.53.2" features = ["esdt-token-payment-legacy-decode"] [dependencies.multiversx-sc-scenario] -version = "=0.52.3" +version = "=0.53.2" [dependencies.pausable] path = "../../common/modules/pausable" @@ -36,9 +36,6 @@ path = "../../common/common_structs" [dependencies.farm-staking] path = "../../farm-staking/farm-staking" -[dependencies.factory] -path = "../../locked-asset/factory" - [dependencies.pair-mock] path = "../pair-mock" diff --git a/dex/fuzz/src/fuzz_data.rs b/dex/fuzz/src/fuzz_data.rs index d7c78c494..320daf5d6 100644 --- a/dex/fuzz/src/fuzz_data.rs +++ b/dex/fuzz/src/fuzz_data.rs @@ -6,9 +6,6 @@ pub mod fuzz_data_tests { multiversx_sc::derive_imports!(); use ::config::ConfigModule; - use common_structs::UnlockMilestone; - use factory::locked_asset::LockedAssetModule; - use factory::*; use farm::exit_penalty::ExitPenaltyModule; use farm::*; use farm_token::FarmTokenModule; @@ -34,7 +31,6 @@ pub mod fuzz_data_tests { pub const FARM_WASM_PATH: &str = "farm/output/farm.wasm"; pub const PAIR_WASM_PATH: &str = "pair/output/pair.wasm"; - pub const FACTORY_WASM_PATH: &str = "factory/output/factory.wasm"; pub const PD_WASM_PATH: &str = "../output/price-discovery.wasm"; pub const WEGLD_TOKEN_ID: &[u8] = b"WEGLD-abcdef"; @@ -45,8 +41,6 @@ pub mod fuzz_data_tests { pub const WEME_FARM_TOKEN_ID: &[u8] = b"WEMEFARM-abcdef"; pub const WEBU_FARM_TOKEN_ID: &[u8] = b"WEBUFARM-abcdef"; pub const MEX_FARM_TOKEN_ID: &[u8] = b"MEXFARM-abcdef"; - pub const LOCKED_MEX_TOKEN_ID: &[u8] = b"LKMEX-abcdef"; - pub const FACTORY_LOCK_NONCE: u64 = 1; pub const MIN_FARMING_EPOCHS: u64 = 2; pub const FARM_PENALTY_PERCENT: u64 = 10; pub const OWNER_EGLD_BALANCE: u64 = 100_000_000; @@ -87,8 +81,6 @@ pub mod fuzz_data_tests { pub exit_farm_prob: u64, pub claim_rewards_prob: u64, pub compound_rewards_prob: u64, - pub factory_lock_asset_prob: u64, - pub factory_unlock_asset_prob: u64, pub price_discovery_deposit_prob: u64, pub price_discovery_withdraw_prob: u64, pub price_discovery_redeem_prob: u64, @@ -101,8 +93,6 @@ pub mod fuzz_data_tests { pub enter_farm_max_value: u64, pub exit_farm_max_value: u64, pub claim_rewards_max_value: u64, - pub factory_lock_asset_max_value: u64, - pub factory_unlock_asset_max_value: u64, pub price_discovery_deposit_max_value: u64, pub price_discovery_withdraw_max_value: u64, pub price_discovery_redeem_max_value: u64, @@ -120,8 +110,6 @@ pub mod fuzz_data_tests { exit_farm_prob: 10, claim_rewards_prob: 15, compound_rewards_prob: 10, - factory_lock_asset_prob: 10, - factory_unlock_asset_prob: 10, price_discovery_deposit_prob: 30, price_discovery_withdraw_prob: 15, price_discovery_redeem_prob: 30, @@ -134,8 +122,6 @@ pub mod fuzz_data_tests { enter_farm_max_value: 100000000u64, exit_farm_max_value: 1000000u64, claim_rewards_max_value: 1000000u64, - factory_lock_asset_max_value: 1000000u64, - factory_unlock_asset_max_value: 100000u64, price_discovery_deposit_max_value: 1000000u64, price_discovery_withdraw_max_value: 1000000u64, price_discovery_redeem_max_value: 1000000u64, @@ -143,11 +129,10 @@ pub mod fuzz_data_tests { } } - pub struct FuzzerData + pub struct FuzzerData where PairObjBuilder: 'static + Copy + Fn() -> pair::ContractObj, FarmObjBuilder: 'static + Copy + Fn() -> farm::ContractObj, - FactoryObjBuilder: 'static + Copy + Fn() -> factory::ContractObj, PriceDiscObjBuilder: 'static + Copy + Fn() -> price_discovery::ContractObj, { pub rng: StdRng, @@ -157,23 +142,20 @@ pub mod fuzz_data_tests { pub users: Vec, pub swap_pairs: Vec>, pub farms: Vec>, - pub factory: FactorySetup, pub price_disc: PriceDiscSetup, } - impl - FuzzerData + impl + FuzzerData where PairObjBuilder: 'static + Copy + Fn() -> pair::ContractObj, FarmObjBuilder: 'static + Copy + Fn() -> farm::ContractObj, - FactoryObjBuilder: 'static + Copy + Fn() -> factory::ContractObj, PriceDiscObjBuilder: 'static + Copy + Fn() -> price_discovery::ContractObj, { pub fn new( seed: u64, pair_builder: PairObjBuilder, farm_builder: FarmObjBuilder, - factory_builder: FactoryObjBuilder, price_discovery: PriceDiscObjBuilder, ) -> Self { let egld_amount = rust_biguint!(OWNER_EGLD_BALANCE); @@ -225,7 +207,6 @@ pub mod fuzz_data_tests { let user = User { address: user_address, price_discovery_buy, - locked_asset_nonces: Vec::new(), }; users.push(user); @@ -283,14 +264,6 @@ pub mod fuzz_data_tests { let farms = vec![first_farm, second_farm, third_farm]; - let factory = setup_factory( - MEX_TOKEN_ID, - LOCKED_MEX_TOKEN_ID, - &mut blockchain_wrapper, - &owner_addr, - factory_builder, - ); - let price_disc = setup_price_disc(&owner_addr, &mut blockchain_wrapper, price_discovery); @@ -302,7 +275,6 @@ pub mod fuzz_data_tests { users, swap_pairs, farms, - factory, price_disc, } } @@ -312,7 +284,6 @@ pub mod fuzz_data_tests { pub struct User { pub address: Address, pub price_discovery_buy: bool, - pub locked_asset_nonces: Vec, } #[derive()] @@ -495,93 +466,6 @@ pub mod fuzz_data_tests { } } - #[allow(dead_code)] - pub struct FactorySetup - where - FactoryObjBuilder: 'static + Copy + Fn() -> factory::ContractObj, - { - pub token: String, - pub locked_token: String, - pub factory_wrapper: ContractObjWrapper, FactoryObjBuilder>, - } - - pub fn setup_factory( - token: &[u8], - locked_token: &[u8], - blockchain_wrapper: &mut BlockchainStateWrapper, - owner_addr: &Address, - factory_builder: FactoryObjBuilder, - ) -> FactorySetup - where - FactoryObjBuilder: 'static + Copy + Fn() -> factory::ContractObj, - { - let rust_zero = rust_biguint!(0u64); - - let factory_wrapper = blockchain_wrapper.create_sc_account( - &rust_zero, - Some(owner_addr), - factory_builder, - FACTORY_WASM_PATH, - ); - - blockchain_wrapper - .execute_tx(owner_addr, &factory_wrapper, &rust_biguint!(0), |sc| { - let asset_token_id = managed_token_id!(MEX_TOKEN_ID); - let locked_asset_token_id = managed_token_id!(LOCKED_MEX_TOKEN_ID); - let default_unlock_period = MultiValueEncoded::from(ManagedVec::from(vec![ - UnlockMilestone { - unlock_epoch: 0, - unlock_percent: 25, - }, - UnlockMilestone { - unlock_epoch: 10, - unlock_percent: 25, - }, - UnlockMilestone { - unlock_epoch: 20, - unlock_percent: 25, - }, - UnlockMilestone { - unlock_epoch: 30, - unlock_percent: 25, - }, - ])); - sc.init(asset_token_id, default_unlock_period); - sc.set_init_epoch(FACTORY_LOCK_NONCE); - sc.locked_asset_token().set_token_id(locked_asset_token_id); - }) - .assert_ok(); - - let token_roles = [EsdtLocalRole::Mint, EsdtLocalRole::Burn]; - - blockchain_wrapper.set_esdt_local_roles( - factory_wrapper.address_ref(), - MEX_TOKEN_ID, - &token_roles[..], - ); - - let locked_token_roles = [ - EsdtLocalRole::NftCreate, - EsdtLocalRole::NftAddQuantity, - EsdtLocalRole::NftBurn, - ]; - - blockchain_wrapper.set_esdt_local_roles( - factory_wrapper.address_ref(), - LOCKED_MEX_TOKEN_ID, - &locked_token_roles[..], - ); - - let token_string = String::from_utf8(token.to_vec()).unwrap(); - let locked_token_string = String::from_utf8(locked_token.to_vec()).unwrap(); - - FactorySetup { - token: token_string, - locked_token: locked_token_string, - factory_wrapper, - } - } - pub struct PriceDiscSetup where PriceDiscObjBuilder: 'static + Copy + Fn() -> price_discovery::ContractObj, @@ -733,12 +617,6 @@ pub mod fuzz_data_tests { pub compound_rewards_hits: u64, pub compound_rewards_misses: u64, - pub factory_lock_hits: u64, - pub factory_lock_misses: u64, - - pub factory_unlock_hits: u64, - pub factory_unlock_misses: u64, - pub price_discovery_deposit_hits: u64, pub price_discovery_deposit_misses: u64, @@ -770,10 +648,6 @@ pub mod fuzz_data_tests { claim_rewards_with_rewards: 0, compound_rewards_hits: 0, compound_rewards_misses: 0, - factory_lock_hits: 0, - factory_lock_misses: 0, - factory_unlock_hits: 0, - factory_unlock_misses: 0, price_discovery_deposit_hits: 0, price_discovery_deposit_misses: 0, price_discovery_withdraw_hits: 0, diff --git a/dex/fuzz/src/fuzz_factory.rs b/dex/fuzz/src/fuzz_factory.rs deleted file mode 100644 index 4286c72c7..000000000 --- a/dex/fuzz/src/fuzz_factory.rs +++ /dev/null @@ -1,203 +0,0 @@ -#[cfg(test)] -pub mod fuzz_factory_test { - #![allow(deprecated)] - - multiversx_sc::imports!(); - multiversx_sc::derive_imports!(); - - use multiversx_sc_scenario::whitebox_legacy::TxTokenTransfer; - use multiversx_sc_scenario::{rust_biguint, DebugApi}; - - use crate::fuzz_data::fuzz_data_tests::*; - - use factory::*; - - use rand::prelude::*; - - pub fn lock_assets( - fuzzer_data: &mut FuzzerData< - PairObjBuilder, - FarmObjBuilder, - FactoryObjBuilder, - PriceDiscObjBuilder, - >, - ) where - PairObjBuilder: 'static + Copy + Fn() -> pair::ContractObj, - FarmObjBuilder: 'static + Copy + Fn() -> farm::ContractObj, - FactoryObjBuilder: 'static + Copy + Fn() -> factory::ContractObj, - PriceDiscObjBuilder: 'static + Copy + Fn() -> price_discovery::ContractObj, - { - let caller_index = fuzzer_data.rng.gen_range(0..fuzzer_data.users.len()); - let caller = &mut fuzzer_data.users[caller_index]; - let factory_setup = &mut fuzzer_data.factory; - - let token_id = factory_setup.token.as_bytes(); - - let seed = fuzzer_data - .rng - .gen_range(0..fuzzer_data.fuzz_args.factory_lock_asset_max_value) - + 1; - - let amount_to_lock = rust_biguint!(seed); - - let token_before = - fuzzer_data - .blockchain_wrapper - .get_esdt_balance(&caller.address, token_id, 0); - - if token_before < amount_to_lock { - println!("Factory lock error: Not enough tokens"); - fuzzer_data.statistics.factory_lock_misses += 1; - - return; - } - - let payments = vec![TxTokenTransfer { - token_identifier: token_id.to_vec(), - nonce: 0, - value: amount_to_lock, - }]; - - let mut locked_asset_nonce = FACTORY_LOCK_NONCE; - let tx_result = fuzzer_data.blockchain_wrapper.execute_esdt_multi_transfer( - &caller.address, - &factory_setup.factory_wrapper, - &payments, - |sc| { - let locked_assets = sc.lock_assets(); - - locked_asset_nonce = locked_assets.token_nonce; - }, - ); - - if !caller.locked_asset_nonces.contains(&locked_asset_nonce) { - caller.locked_asset_nonces.push(locked_asset_nonce); - } - - let locked_amount = rust_biguint!(seed); - - let token_after = - fuzzer_data - .blockchain_wrapper - .get_esdt_balance(&caller.address, token_id, 0); - - let tx_result_string = tx_result.result_message; - - if !tx_result_string.trim().is_empty() { - println!("Factory lock error: {}", tx_result_string); - fuzzer_data.statistics.factory_lock_misses += 1; - } else if token_after != token_before - &locked_amount { - println!("Factory lock error: unlocked token final balance is incorrect"); - fuzzer_data.statistics.factory_lock_misses += 1; - } else { - fuzzer_data.statistics.factory_lock_hits += 1; - } - } - - pub fn unlock_assets( - fuzzer_data: &mut FuzzerData< - PairObjBuilder, - FarmObjBuilder, - FactoryObjBuilder, - PriceDiscObjBuilder, - >, - ) where - PairObjBuilder: 'static + Copy + Fn() -> pair::ContractObj, - FarmObjBuilder: 'static + Copy + Fn() -> farm::ContractObj, - FactoryObjBuilder: 'static + Copy + Fn() -> factory::ContractObj, - PriceDiscObjBuilder: 'static + Copy + Fn() -> price_discovery::ContractObj, - { - let rust_zero = rust_biguint!(0u64); - - let caller_index = fuzzer_data.rng.gen_range(0..fuzzer_data.users.len()); - let caller = &mut fuzzer_data.users[caller_index]; - let factory_setup = &mut fuzzer_data.factory; - - let token_id = factory_setup.token.as_bytes(); - let locked_token_id = factory_setup.locked_token.as_bytes(); - - // Choose a random locked token nonce to try to unlock - let chosen_nonce = caller.locked_asset_nonces.choose(&mut fuzzer_data.rng); - let locked_token_nonce = match chosen_nonce { - Some(chosen_nonce) => *chosen_nonce, - None => { - println!("Factory unlock error: Caller does not have any locked tokens"); - fuzzer_data.statistics.factory_unlock_misses += 1; - - return; - } - }; - - let seed = fuzzer_data - .rng - .gen_range(0..fuzzer_data.fuzz_args.factory_unlock_asset_max_value) - + 1; - - let mut amount_to_unlock = rust_biguint!(seed); - - let token_before = - fuzzer_data - .blockchain_wrapper - .get_esdt_balance(&caller.address, token_id, 0); - - let locked_token_before = fuzzer_data.blockchain_wrapper.get_esdt_balance( - &caller.address, - locked_token_id, - locked_token_nonce, - ); - - if locked_token_before < amount_to_unlock { - if locked_token_before > rust_zero { - amount_to_unlock = locked_token_before.clone(); - } else { - println!("Factory unlock error: Not enough tokens"); - fuzzer_data.statistics.factory_unlock_misses += 1; - - return; - } - } - - let payments = vec![TxTokenTransfer { - token_identifier: locked_token_id.to_vec(), - nonce: locked_token_nonce, - value: amount_to_unlock, - }]; - - let tx_result = fuzzer_data.blockchain_wrapper.execute_esdt_multi_transfer( - &caller.address, - &factory_setup.factory_wrapper, - &payments, - |sc| { - sc.unlock_assets(); - }, - ); - - let token_after = - fuzzer_data - .blockchain_wrapper - .get_esdt_balance(&caller.address, token_id, 0); - - let locked_token_after = fuzzer_data.blockchain_wrapper.get_esdt_balance( - &caller.address, - locked_token_id, - locked_token_nonce, - ); - - let unlocked_amount = rust_biguint!(seed); - - let tx_result_string = tx_result.result_message; - - if !tx_result_string.trim().is_empty() { - println!("Factory unlock error: {}", tx_result_string); - fuzzer_data.statistics.factory_unlock_misses += 1; - } else if token_after != token_before + &unlocked_amount { - println!("Factory unlock error: final balance is incorrect"); - fuzzer_data.statistics.factory_unlock_misses += 1; - } else if locked_token_after != locked_token_before - &unlocked_amount { - println!("Factory unlock error: locked token final balance is incorrect"); - fuzzer_data.statistics.factory_unlock_misses += 1; - } else { - fuzzer_data.statistics.factory_unlock_hits += 1; - } - } -} diff --git a/dex/fuzz/src/fuzz_farm.rs b/dex/fuzz/src/fuzz_farm.rs index c30e94442..bf1d32618 100644 --- a/dex/fuzz/src/fuzz_farm.rs +++ b/dex/fuzz/src/fuzz_farm.rs @@ -15,17 +15,11 @@ pub mod fuzz_farm_test { use rand::prelude::*; - pub fn enter_farm( - fuzzer_data: &mut FuzzerData< - PairObjBuilder, - FarmObjBuilder, - FactoryObjBuilder, - PriceDiscObjBuilder, - >, + pub fn enter_farm( + fuzzer_data: &mut FuzzerData, ) where PairObjBuilder: 'static + Copy + Fn() -> pair::ContractObj, FarmObjBuilder: 'static + Copy + Fn() -> farm::ContractObj, - FactoryObjBuilder: 'static + Copy + Fn() -> factory::ContractObj, PriceDiscObjBuilder: 'static + Copy + Fn() -> price_discovery::ContractObj, { let rust_zero = rust_biguint!(0u64); @@ -118,17 +112,11 @@ pub mod fuzz_farm_test { } } - pub fn exit_farm( - fuzzer_data: &mut FuzzerData< - PairObjBuilder, - FarmObjBuilder, - FactoryObjBuilder, - PriceDiscObjBuilder, - >, + pub fn exit_farm( + fuzzer_data: &mut FuzzerData, ) where PairObjBuilder: 'static + Copy + Fn() -> pair::ContractObj, FarmObjBuilder: 'static + Copy + Fn() -> farm::ContractObj, - FactoryObjBuilder: 'static + Copy + Fn() -> factory::ContractObj, PriceDiscObjBuilder: 'static + Copy + Fn() -> price_discovery::ContractObj, { let rust_zero = rust_biguint!(0u64); @@ -207,17 +195,11 @@ pub mod fuzz_farm_test { } } - pub fn claim_rewards( - fuzzer_data: &mut FuzzerData< - PairObjBuilder, - FarmObjBuilder, - FactoryObjBuilder, - PriceDiscObjBuilder, - >, + pub fn claim_rewards( + fuzzer_data: &mut FuzzerData, ) where PairObjBuilder: 'static + Copy + Fn() -> pair::ContractObj, FarmObjBuilder: 'static + Copy + Fn() -> farm::ContractObj, - FactoryObjBuilder: 'static + Copy + Fn() -> factory::ContractObj, PriceDiscObjBuilder: 'static + Copy + Fn() -> price_discovery::ContractObj, { let rust_zero = rust_biguint!(0u64); @@ -310,22 +292,11 @@ pub mod fuzz_farm_test { } } - pub fn compound_rewards< - PairObjBuilder, - FarmObjBuilder, - FactoryObjBuilder, - PriceDiscObjBuilder, - >( - fuzzer_data: &mut FuzzerData< - PairObjBuilder, - FarmObjBuilder, - FactoryObjBuilder, - PriceDiscObjBuilder, - >, + pub fn compound_rewards( + fuzzer_data: &mut FuzzerData, ) where PairObjBuilder: 'static + Copy + Fn() -> pair::ContractObj, FarmObjBuilder: 'static + Copy + Fn() -> farm::ContractObj, - FactoryObjBuilder: 'static + Copy + Fn() -> factory::ContractObj, PriceDiscObjBuilder: 'static + Copy + Fn() -> price_discovery::ContractObj, { let rust_zero = rust_biguint!(0u64); diff --git a/dex/fuzz/src/fuzz_pair.rs b/dex/fuzz/src/fuzz_pair.rs index cd22614cb..e23babcf1 100644 --- a/dex/fuzz/src/fuzz_pair.rs +++ b/dex/fuzz/src/fuzz_pair.rs @@ -16,17 +16,11 @@ pub mod fuzz_pair_test { add_liq::AddLiquidityModule, remove_liq::RemoveLiquidityModule, swap::SwapModule, }; - pub fn add_liquidity( - fuzzer_data: &mut FuzzerData< - PairObjBuilder, - FarmObjBuilder, - FactoryObjBuilder, - PriceDiscObjBuilder, - >, + pub fn add_liquidity( + fuzzer_data: &mut FuzzerData, ) where PairObjBuilder: 'static + Copy + Fn() -> pair::ContractObj, FarmObjBuilder: 'static + Copy + Fn() -> farm::ContractObj, - FactoryObjBuilder: 'static + Copy + Fn() -> factory::ContractObj, PriceDiscObjBuilder: 'static + Copy + Fn() -> price_discovery::ContractObj, { let pair_index = fuzzer_data.rng.gen_range(0..fuzzer_data.swap_pairs.len()); @@ -125,22 +119,11 @@ pub mod fuzz_pair_test { } } - pub fn remove_liquidity< - PairObjBuilder, - FarmObjBuilder, - FactoryObjBuilder, - PriceDiscObjBuilder, - >( - fuzzer_data: &mut FuzzerData< - PairObjBuilder, - FarmObjBuilder, - FactoryObjBuilder, - PriceDiscObjBuilder, - >, + pub fn remove_liquidity( + fuzzer_data: &mut FuzzerData, ) where PairObjBuilder: 'static + Copy + Fn() -> pair::ContractObj, FarmObjBuilder: 'static + Copy + Fn() -> farm::ContractObj, - FactoryObjBuilder: 'static + Copy + Fn() -> factory::ContractObj, PriceDiscObjBuilder: 'static + Copy + Fn() -> price_discovery::ContractObj, { let pair_index = fuzzer_data.rng.gen_range(0..fuzzer_data.swap_pairs.len()); @@ -229,17 +212,11 @@ pub mod fuzz_pair_test { } } - pub fn swap_pair( - fuzzer_data: &mut FuzzerData< - PairObjBuilder, - FarmObjBuilder, - FactoryObjBuilder, - PriceDiscObjBuilder, - >, + pub fn swap_pair( + fuzzer_data: &mut FuzzerData, ) where PairObjBuilder: 'static + Copy + Fn() -> pair::ContractObj, FarmObjBuilder: 'static + Copy + Fn() -> farm::ContractObj, - FactoryObjBuilder: 'static + Copy + Fn() -> factory::ContractObj, PriceDiscObjBuilder: 'static + Copy + Fn() -> price_discovery::ContractObj, { let pair_index = fuzzer_data.rng.gen_range(0..fuzzer_data.swap_pairs.len()); diff --git a/dex/fuzz/src/fuzz_price_discovery.rs b/dex/fuzz/src/fuzz_price_discovery.rs index 2b6cd9909..37c1539d3 100644 --- a/dex/fuzz/src/fuzz_price_discovery.rs +++ b/dex/fuzz/src/fuzz_price_discovery.rs @@ -12,22 +12,11 @@ pub mod fuzz_price_discovery_test { use crate::fuzz_data::fuzz_data_tests::*; use price_discovery::PriceDiscovery; - pub fn price_discovery_deposit< - PairObjBuilder, - FarmObjBuilder, - FactoryObjBuilder, - PriceDiscObjBuilder, - >( - fuzzer_data: &mut FuzzerData< - PairObjBuilder, - FarmObjBuilder, - FactoryObjBuilder, - PriceDiscObjBuilder, - >, + pub fn price_discovery_deposit( + fuzzer_data: &mut FuzzerData, ) where PairObjBuilder: 'static + Copy + Fn() -> pair::ContractObj, FarmObjBuilder: 'static + Copy + Fn() -> farm::ContractObj, - FactoryObjBuilder: 'static + Copy + Fn() -> factory::ContractObj, PriceDiscObjBuilder: 'static + Copy + Fn() -> price_discovery::ContractObj, { let caller_index = fuzzer_data.rng.gen_range(0..fuzzer_data.users.len()); @@ -148,22 +137,11 @@ pub mod fuzz_price_discovery_test { } } - pub fn price_discovery_withdraw< - PairObjBuilder, - FarmObjBuilder, - FactoryObjBuilder, - PriceDiscObjBuilder, - >( - fuzzer_data: &mut FuzzerData< - PairObjBuilder, - FarmObjBuilder, - FactoryObjBuilder, - PriceDiscObjBuilder, - >, + pub fn price_discovery_withdraw( + fuzzer_data: &mut FuzzerData, ) where PairObjBuilder: 'static + Copy + Fn() -> pair::ContractObj, FarmObjBuilder: 'static + Copy + Fn() -> farm::ContractObj, - FactoryObjBuilder: 'static + Copy + Fn() -> factory::ContractObj, PriceDiscObjBuilder: 'static + Copy + Fn() -> price_discovery::ContractObj, { let caller_index = fuzzer_data.rng.gen_range(0..fuzzer_data.users.len()); @@ -277,22 +255,11 @@ pub mod fuzz_price_discovery_test { } } - pub fn price_discovery_redeem< - PairObjBuilder, - FarmObjBuilder, - FactoryObjBuilder, - PriceDiscObjBuilder, - >( - fuzzer_data: &mut FuzzerData< - PairObjBuilder, - FarmObjBuilder, - FactoryObjBuilder, - PriceDiscObjBuilder, - >, + pub fn price_discovery_redeem( + fuzzer_data: &mut FuzzerData, ) where PairObjBuilder: 'static + Copy + Fn() -> pair::ContractObj, FarmObjBuilder: 'static + Copy + Fn() -> farm::ContractObj, - FactoryObjBuilder: 'static + Copy + Fn() -> factory::ContractObj, PriceDiscObjBuilder: 'static + Copy + Fn() -> price_discovery::ContractObj, { let rust_zero = rust_biguint!(0u64); diff --git a/dex/fuzz/src/fuzz_start.rs b/dex/fuzz/src/fuzz_start.rs index 4df24d71a..a22f7a231 100644 --- a/dex/fuzz/src/fuzz_start.rs +++ b/dex/fuzz/src/fuzz_start.rs @@ -8,7 +8,6 @@ mod test { use std::time::SystemTime; use crate::fuzz_data::fuzz_data_tests::*; - use crate::fuzz_factory::fuzz_factory_test::*; use crate::fuzz_farm::fuzz_farm_test::*; use crate::fuzz_pair::fuzz_pair_test::*; use crate::fuzz_price_discovery::fuzz_price_discovery_test::*; @@ -31,7 +30,6 @@ mod test { seed, pair::contract_obj, farm::contract_obj, - factory::contract_obj, price_discovery::contract_obj, ); @@ -45,11 +43,9 @@ mod test { (5, fuzzer_data.fuzz_args.exit_farm_prob), (6, fuzzer_data.fuzz_args.claim_rewards_prob), (7, fuzzer_data.fuzz_args.compound_rewards_prob), - (8, fuzzer_data.fuzz_args.factory_lock_asset_prob), - (9, fuzzer_data.fuzz_args.factory_unlock_asset_prob), - (10, fuzzer_data.fuzz_args.price_discovery_deposit_prob), - (11, fuzzer_data.fuzz_args.price_discovery_withdraw_prob), - (12, fuzzer_data.fuzz_args.price_discovery_redeem_prob), + (8, fuzzer_data.fuzz_args.price_discovery_deposit_prob), + (9, fuzzer_data.fuzz_args.price_discovery_withdraw_prob), + (10, fuzzer_data.fuzz_args.price_discovery_redeem_prob), ]; let mut block_epoch = 1; @@ -97,22 +93,14 @@ mod test { compound_rewards(&mut fuzzer_data); } 8 => { - println!("Event no. {}: Factory lock tokens", (block_nonce)); - lock_assets(&mut fuzzer_data); - } - 9 => { - println!("Event no. {}: Factory unlock tokens", (block_nonce)); - unlock_assets(&mut fuzzer_data); - } - 10 => { println!("Event no. {}: Price discovery deposit", (block_nonce)); price_discovery_deposit(&mut fuzzer_data); } - 11 => { + 9 => { println!("Event no. {}: Price discovery withdraw", (block_nonce)); price_discovery_withdraw(&mut fuzzer_data); } - 12 => { + 10 => { println!("Event no. {}: Price discovery redeem", (block_nonce)); price_discovery_redeem(&mut fuzzer_data); } @@ -123,18 +111,12 @@ mod test { print_statistics(&mut fuzzer_data, seed); } - fn print_statistics( - fuzzer_data: &mut FuzzerData< - PairObjBuilder, - FarmObjBuilder, - FactoryObjBuilder, - PriceDiscObjBuilder, - >, + fn print_statistics( + fuzzer_data: &mut FuzzerData, seed: u64, ) where PairObjBuilder: 'static + Copy + Fn() -> pair::ContractObj, FarmObjBuilder: 'static + Copy + Fn() -> farm::ContractObj, - FactoryObjBuilder: 'static + Copy + Fn() -> factory::ContractObj, PriceDiscObjBuilder: 'static + Copy + Fn() -> price_discovery::ContractObj, { println!(); @@ -219,24 +201,6 @@ mod test { fuzzer_data.statistics.compound_rewards_misses ); println!(); - println!( - "factoryLockHits: {}", - fuzzer_data.statistics.factory_lock_hits - ); - println!( - "factoryLockMisses: {}", - fuzzer_data.statistics.factory_lock_misses - ); - println!(); - println!( - "factoryUnlockHits: {}", - fuzzer_data.statistics.factory_unlock_hits - ); - println!( - "factoryUnlockMisses: {}", - fuzzer_data.statistics.factory_unlock_misses - ); - println!(); println!( "priceDiscoveryDepositHits: {}", fuzzer_data.statistics.price_discovery_deposit_hits diff --git a/dex/fuzz/src/lib.rs b/dex/fuzz/src/lib.rs index 7937878cb..06245cbfd 100644 --- a/dex/fuzz/src/lib.rs +++ b/dex/fuzz/src/lib.rs @@ -1,5 +1,4 @@ mod fuzz_data; -mod fuzz_factory; mod fuzz_farm; mod fuzz_pair; mod fuzz_price_discovery; diff --git a/dex/governance/Cargo.toml b/dex/governance/Cargo.toml index 6ef3a8084..8cbaf6093 100644 --- a/dex/governance/Cargo.toml +++ b/dex/governance/Cargo.toml @@ -9,14 +9,14 @@ publish = false path = "src/lib.rs" [dependencies.multiversx-sc] -version = "=0.52.3" +version = "=0.53.2" features = ["esdt-token-payment-legacy-decode"] [dev-dependencies] num-bigint = "0.4.2" [dev-dependencies.multiversx-sc-scenario] -version = "=0.52.3" +version = "=0.53.2" [dev-dependencies.pair-mock] path = "../pair-mock" diff --git a/dex/governance/meta/Cargo.toml b/dex/governance/meta/Cargo.toml index b6328ceaf..8102f75d0 100644 --- a/dex/governance/meta/Cargo.toml +++ b/dex/governance/meta/Cargo.toml @@ -10,6 +10,6 @@ authors = ["MultiversX "] [dependencies.governance] path = ".." -[dependencies.multiversx-sc-meta] -version = "0.52.3" +[dependencies.multiversx-sc-meta-lib] +version = "0.53.2" default-features = false diff --git a/dex/governance/meta/src/main.rs b/dex/governance/meta/src/main.rs index dd17f3d9d..2acd760bf 100644 --- a/dex/governance/meta/src/main.rs +++ b/dex/governance/meta/src/main.rs @@ -1,3 +1,3 @@ fn main() { - multiversx_sc_meta::cli_main::(); + multiversx_sc_meta_lib::cli_main::(); } diff --git a/dex/governance/wasm/Cargo.lock b/dex/governance/wasm/Cargo.lock index 1bcfc827a..e6c417480 100644 --- a/dex/governance/wasm/Cargo.lock +++ b/dex/governance/wasm/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "arrayvec" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "autocfg" @@ -55,9 +55,9 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "526760b1d6236c011285b264a70a0a9dd3b3dbc53c3b5f76932f4bcfd3a8910c" +checksum = "75ea89a26f0aacda21437a8ae5ccfbefab99d8191942b3d2eddbcbf84f9866d7" dependencies = [ "bitflags", "hex-literal", @@ -69,9 +69,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad4f318427761faecf26c1f3115a3beeb5f61858845a60547d9763aa981ddd2d" +checksum = "007d7a5a8534e5dc9128cb8f15a65a21dd378e135c6016c7cd1491cd012bc8cb" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -80,9 +80,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "476501462b0c2654b64f9dec6f2c480e24b4e9b7133ec10b7167e64acda35d04" +checksum = "dffba1dce273ed5b61ee1b90aeea5c8c744617d0f12624f620768c144d83e753" dependencies = [ "hex", "proc-macro2", @@ -92,9 +92,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3557f2f12640a8a07fa6af66cc2a13b188c5b61bed72db22fe631fb3a60c3e96" +checksum = "4c17fdf90fafca2f19085ae67b0502d9f71bf8ab1be3c83808eb88e02a8c18b9" dependencies = [ "hex", "proc-macro2", @@ -105,9 +105,9 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed13aaca9cbdbc6911174cd3029e750a7563d85dd3daaa1107b1fd31c7f17245" +checksum = "20659915a4377d375c46d7f237e810053a03f7e084fad6362dd5748a7233defb" dependencies = [ "multiversx-sc", ] @@ -141,9 +141,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.36" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ "proc-macro2", ] @@ -166,9 +166,9 @@ checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "syn" -version = "2.0.72" +version = "2.0.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" +checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" dependencies = [ "proc-macro2", "quote", diff --git a/dex/governance/wasm/Cargo.toml b/dex/governance/wasm/Cargo.toml index 22307fd20..249faee52 100644 --- a/dex/governance/wasm/Cargo.toml +++ b/dex/governance/wasm/Cargo.toml @@ -28,7 +28,7 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "=0.52.3" +version = "=0.53.2" [workspace] members = ["."] diff --git a/dex/pair-mock/Cargo.toml b/dex/pair-mock/Cargo.toml index 8d6627ce9..30deea9fc 100644 --- a/dex/pair-mock/Cargo.toml +++ b/dex/pair-mock/Cargo.toml @@ -12,7 +12,7 @@ path = "src/pair.rs" path = "../../common/common_errors" [dependencies.multiversx-sc] -version = "=0.52.3" +version = "=0.53.2" features = ["esdt-token-payment-legacy-decode"] [dependencies.itertools] @@ -20,4 +20,4 @@ version = "0.10.1" default-features = false [dev-dependencies.multiversx-sc-scenario] -version = "=0.52.3" +version = "=0.53.2" diff --git a/dex/pair-mock/meta/Cargo.toml b/dex/pair-mock/meta/Cargo.toml index 245b01fb9..a78d34547 100644 --- a/dex/pair-mock/meta/Cargo.toml +++ b/dex/pair-mock/meta/Cargo.toml @@ -10,6 +10,6 @@ authors = ["MultiversX "] [dependencies.pair-mock] path = ".." -[dependencies.multiversx-sc-meta] -version = "0.52.3" +[dependencies.multiversx-sc-meta-lib] +version = "0.53.2" default-features = false diff --git a/dex/pair-mock/meta/src/main.rs b/dex/pair-mock/meta/src/main.rs index e4776f4f6..17e5421af 100644 --- a/dex/pair-mock/meta/src/main.rs +++ b/dex/pair-mock/meta/src/main.rs @@ -1,3 +1,3 @@ fn main() { - multiversx_sc_meta::cli_main::(); + multiversx_sc_meta_lib::cli_main::(); } diff --git a/dex/pair-mock/wasm/Cargo.lock b/dex/pair-mock/wasm/Cargo.lock index 890c8b7c3..24750e740 100644 --- a/dex/pair-mock/wasm/Cargo.lock +++ b/dex/pair-mock/wasm/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "arrayvec" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "autocfg" @@ -62,9 +62,9 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "526760b1d6236c011285b264a70a0a9dd3b3dbc53c3b5f76932f4bcfd3a8910c" +checksum = "75ea89a26f0aacda21437a8ae5ccfbefab99d8191942b3d2eddbcbf84f9866d7" dependencies = [ "bitflags", "hex-literal", @@ -76,9 +76,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad4f318427761faecf26c1f3115a3beeb5f61858845a60547d9763aa981ddd2d" +checksum = "007d7a5a8534e5dc9128cb8f15a65a21dd378e135c6016c7cd1491cd012bc8cb" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -87,9 +87,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "476501462b0c2654b64f9dec6f2c480e24b4e9b7133ec10b7167e64acda35d04" +checksum = "dffba1dce273ed5b61ee1b90aeea5c8c744617d0f12624f620768c144d83e753" dependencies = [ "hex", "proc-macro2", @@ -99,9 +99,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3557f2f12640a8a07fa6af66cc2a13b188c5b61bed72db22fe631fb3a60c3e96" +checksum = "4c17fdf90fafca2f19085ae67b0502d9f71bf8ab1be3c83808eb88e02a8c18b9" dependencies = [ "hex", "proc-macro2", @@ -112,9 +112,9 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed13aaca9cbdbc6911174cd3029e750a7563d85dd3daaa1107b1fd31c7f17245" +checksum = "20659915a4377d375c46d7f237e810053a03f7e084fad6362dd5748a7233defb" dependencies = [ "multiversx-sc", ] @@ -165,9 +165,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.36" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ "proc-macro2", ] @@ -190,9 +190,9 @@ checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "syn" -version = "2.0.72" +version = "2.0.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" +checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" dependencies = [ "proc-macro2", "quote", diff --git a/dex/pair-mock/wasm/Cargo.toml b/dex/pair-mock/wasm/Cargo.toml index 3fcbc95bf..8978d06da 100644 --- a/dex/pair-mock/wasm/Cargo.toml +++ b/dex/pair-mock/wasm/Cargo.toml @@ -28,7 +28,7 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "=0.52.3" +version = "=0.53.2" [workspace] members = ["."] diff --git a/dex/pair/Cargo.toml b/dex/pair/Cargo.toml index a183ce778..7f913c316 100644 --- a/dex/pair/Cargo.toml +++ b/dex/pair/Cargo.toml @@ -37,11 +37,11 @@ version = "0.10.1" default-features = false [dependencies.multiversx-sc] -version = "=0.52.3" +version = "=0.53.2" features = ["esdt-token-payment-legacy-decode"] [dev-dependencies] num-bigint = "0.4.2" [dev-dependencies.multiversx-sc-scenario] -version = "=0.52.3" +version = "=0.53.2" diff --git a/dex/pair/meta/Cargo.toml b/dex/pair/meta/Cargo.toml index 377f6daf7..ee273e2ec 100644 --- a/dex/pair/meta/Cargo.toml +++ b/dex/pair/meta/Cargo.toml @@ -8,6 +8,6 @@ publish = false [dependencies.pair] path = ".." -[dependencies.multiversx-sc-meta] -version = "0.52.3" +[dependencies.multiversx-sc-meta-lib] +version = "0.53.2" default-features = false diff --git a/dex/pair/meta/src/main.rs b/dex/pair/meta/src/main.rs index 5adcd78f3..962c4f515 100644 --- a/dex/pair/meta/src/main.rs +++ b/dex/pair/meta/src/main.rs @@ -1,3 +1,3 @@ fn main() { - multiversx_sc_meta::cli_main::(); + multiversx_sc_meta_lib::cli_main::(); } diff --git a/dex/pair/wasm-pair-full/Cargo.lock b/dex/pair/wasm-pair-full/Cargo.lock index 3afa89c6d..50c1aa77e 100644 --- a/dex/pair/wasm-pair-full/Cargo.lock +++ b/dex/pair/wasm-pair-full/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "arrayvec" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "autocfg" @@ -161,9 +161,9 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "526760b1d6236c011285b264a70a0a9dd3b3dbc53c3b5f76932f4bcfd3a8910c" +checksum = "75ea89a26f0aacda21437a8ae5ccfbefab99d8191942b3d2eddbcbf84f9866d7" dependencies = [ "bitflags", "hex-literal", @@ -175,9 +175,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad4f318427761faecf26c1f3115a3beeb5f61858845a60547d9763aa981ddd2d" +checksum = "007d7a5a8534e5dc9128cb8f15a65a21dd378e135c6016c7cd1491cd012bc8cb" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -186,9 +186,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "476501462b0c2654b64f9dec6f2c480e24b4e9b7133ec10b7167e64acda35d04" +checksum = "dffba1dce273ed5b61ee1b90aeea5c8c744617d0f12624f620768c144d83e753" dependencies = [ "hex", "proc-macro2", @@ -198,9 +198,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3557f2f12640a8a07fa6af66cc2a13b188c5b61bed72db22fe631fb3a60c3e96" +checksum = "4c17fdf90fafca2f19085ae67b0502d9f71bf8ab1be3c83808eb88e02a8c18b9" dependencies = [ "hex", "proc-macro2", @@ -211,18 +211,18 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61f5c29c6044f3dc9e866858feee625d7fae5604a68ac7bd66dec683eee97563" +checksum = "daeb48acbd39255868a3241798df2f85050f0ae8d82d6417bd2cd0e30a241855" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed13aaca9cbdbc6911174cd3029e750a7563d85dd3daaa1107b1fd31c7f17245" +checksum = "20659915a4377d375c46d7f237e810053a03f7e084fad6362dd5748a7233defb" dependencies = [ "multiversx-sc", ] @@ -297,9 +297,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.36" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ "proc-macro2", ] @@ -339,9 +339,9 @@ checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "syn" -version = "2.0.72" +version = "2.0.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" +checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" dependencies = [ "proc-macro2", "quote", diff --git a/dex/pair/wasm-pair-full/Cargo.toml b/dex/pair/wasm-pair-full/Cargo.toml index 20504704c..dc76ad64d 100644 --- a/dex/pair/wasm-pair-full/Cargo.toml +++ b/dex/pair/wasm-pair-full/Cargo.toml @@ -28,7 +28,7 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "=0.52.3" +version = "=0.53.2" [workspace] members = ["."] diff --git a/dex/pair/wasm-safe-price-view/Cargo.lock b/dex/pair/wasm-safe-price-view/Cargo.lock index 130405e72..e71c9ac82 100644 --- a/dex/pair/wasm-safe-price-view/Cargo.lock +++ b/dex/pair/wasm-safe-price-view/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "arrayvec" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "autocfg" @@ -161,9 +161,9 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "526760b1d6236c011285b264a70a0a9dd3b3dbc53c3b5f76932f4bcfd3a8910c" +checksum = "75ea89a26f0aacda21437a8ae5ccfbefab99d8191942b3d2eddbcbf84f9866d7" dependencies = [ "bitflags", "hex-literal", @@ -175,9 +175,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad4f318427761faecf26c1f3115a3beeb5f61858845a60547d9763aa981ddd2d" +checksum = "007d7a5a8534e5dc9128cb8f15a65a21dd378e135c6016c7cd1491cd012bc8cb" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -186,9 +186,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "476501462b0c2654b64f9dec6f2c480e24b4e9b7133ec10b7167e64acda35d04" +checksum = "dffba1dce273ed5b61ee1b90aeea5c8c744617d0f12624f620768c144d83e753" dependencies = [ "hex", "proc-macro2", @@ -198,9 +198,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3557f2f12640a8a07fa6af66cc2a13b188c5b61bed72db22fe631fb3a60c3e96" +checksum = "4c17fdf90fafca2f19085ae67b0502d9f71bf8ab1be3c83808eb88e02a8c18b9" dependencies = [ "hex", "proc-macro2", @@ -211,18 +211,18 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61f5c29c6044f3dc9e866858feee625d7fae5604a68ac7bd66dec683eee97563" +checksum = "daeb48acbd39255868a3241798df2f85050f0ae8d82d6417bd2cd0e30a241855" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed13aaca9cbdbc6911174cd3029e750a7563d85dd3daaa1107b1fd31c7f17245" +checksum = "20659915a4377d375c46d7f237e810053a03f7e084fad6362dd5748a7233defb" dependencies = [ "multiversx-sc", ] @@ -289,9 +289,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.36" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ "proc-macro2", ] @@ -339,9 +339,9 @@ checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "syn" -version = "2.0.72" +version = "2.0.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" +checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" dependencies = [ "proc-macro2", "quote", diff --git a/dex/pair/wasm-safe-price-view/Cargo.toml b/dex/pair/wasm-safe-price-view/Cargo.toml index 1c372b740..1d7822b69 100644 --- a/dex/pair/wasm-safe-price-view/Cargo.toml +++ b/dex/pair/wasm-safe-price-view/Cargo.toml @@ -28,7 +28,7 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "=0.52.3" +version = "=0.53.2" [workspace] members = ["."] diff --git a/dex/pair/wasm/Cargo.lock b/dex/pair/wasm/Cargo.lock index a429c153e..1b9f258d3 100644 --- a/dex/pair/wasm/Cargo.lock +++ b/dex/pair/wasm/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "arrayvec" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "autocfg" @@ -161,9 +161,9 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "526760b1d6236c011285b264a70a0a9dd3b3dbc53c3b5f76932f4bcfd3a8910c" +checksum = "75ea89a26f0aacda21437a8ae5ccfbefab99d8191942b3d2eddbcbf84f9866d7" dependencies = [ "bitflags", "hex-literal", @@ -175,9 +175,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad4f318427761faecf26c1f3115a3beeb5f61858845a60547d9763aa981ddd2d" +checksum = "007d7a5a8534e5dc9128cb8f15a65a21dd378e135c6016c7cd1491cd012bc8cb" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -186,9 +186,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "476501462b0c2654b64f9dec6f2c480e24b4e9b7133ec10b7167e64acda35d04" +checksum = "dffba1dce273ed5b61ee1b90aeea5c8c744617d0f12624f620768c144d83e753" dependencies = [ "hex", "proc-macro2", @@ -198,9 +198,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3557f2f12640a8a07fa6af66cc2a13b188c5b61bed72db22fe631fb3a60c3e96" +checksum = "4c17fdf90fafca2f19085ae67b0502d9f71bf8ab1be3c83808eb88e02a8c18b9" dependencies = [ "hex", "proc-macro2", @@ -211,18 +211,18 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61f5c29c6044f3dc9e866858feee625d7fae5604a68ac7bd66dec683eee97563" +checksum = "daeb48acbd39255868a3241798df2f85050f0ae8d82d6417bd2cd0e30a241855" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed13aaca9cbdbc6911174cd3029e750a7563d85dd3daaa1107b1fd31c7f17245" +checksum = "20659915a4377d375c46d7f237e810053a03f7e084fad6362dd5748a7233defb" dependencies = [ "multiversx-sc", ] @@ -297,9 +297,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.36" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ "proc-macro2", ] @@ -339,9 +339,9 @@ checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "syn" -version = "2.0.72" +version = "2.0.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" +checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" dependencies = [ "proc-macro2", "quote", diff --git a/dex/pair/wasm/Cargo.toml b/dex/pair/wasm/Cargo.toml index 0aba20357..4d8c6bfa9 100644 --- a/dex/pair/wasm/Cargo.toml +++ b/dex/pair/wasm/Cargo.toml @@ -28,7 +28,7 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "=0.52.3" +version = "=0.53.2" [workspace] members = ["."] diff --git a/dex/price-discovery/Cargo.toml b/dex/price-discovery/Cargo.toml index 6425eedbc..dbce3a106 100644 --- a/dex/price-discovery/Cargo.toml +++ b/dex/price-discovery/Cargo.toml @@ -12,11 +12,11 @@ path = "src/lib.rs" hex-literal = "0.3.1" [dependencies.multiversx-sc] -version = "=0.52.3" +version = "=0.53.2" features = ["esdt-token-payment-legacy-decode"] [dependencies.multiversx-sc-modules] -version = "=0.52.3" +version = "=0.53.2" [dependencies.locking_module] path = "../../common/modules/locking_module" @@ -30,4 +30,4 @@ hex = "0.4" path = "../../locked-asset/simple-lock" [dev-dependencies.multiversx-sc-scenario] -version = "=0.52.3" +version = "=0.53.2" diff --git a/dex/price-discovery/meta/Cargo.toml b/dex/price-discovery/meta/Cargo.toml index c8330479e..cf2ee11ea 100644 --- a/dex/price-discovery/meta/Cargo.toml +++ b/dex/price-discovery/meta/Cargo.toml @@ -8,6 +8,6 @@ authors = ["Dorin Iancu "] [dependencies.price-discovery] path = ".." -[dependencies.multiversx-sc-meta] -version = "0.52.3" +[dependencies.multiversx-sc-meta-lib] +version = "0.53.2" default-features = false diff --git a/dex/price-discovery/meta/src/main.rs b/dex/price-discovery/meta/src/main.rs index cd6c3e67a..99c719344 100644 --- a/dex/price-discovery/meta/src/main.rs +++ b/dex/price-discovery/meta/src/main.rs @@ -1,3 +1,3 @@ fn main() { - multiversx_sc_meta::cli_main::(); + multiversx_sc_meta_lib::cli_main::(); } diff --git a/dex/price-discovery/wasm/Cargo.lock b/dex/price-discovery/wasm/Cargo.lock index 49b291715..4fbe6c51b 100644 --- a/dex/price-discovery/wasm/Cargo.lock +++ b/dex/price-discovery/wasm/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "arrayvec" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "autocfg" @@ -119,9 +119,9 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "526760b1d6236c011285b264a70a0a9dd3b3dbc53c3b5f76932f4bcfd3a8910c" +checksum = "75ea89a26f0aacda21437a8ae5ccfbefab99d8191942b3d2eddbcbf84f9866d7" dependencies = [ "bitflags", "hex-literal 0.4.1", @@ -133,9 +133,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad4f318427761faecf26c1f3115a3beeb5f61858845a60547d9763aa981ddd2d" +checksum = "007d7a5a8534e5dc9128cb8f15a65a21dd378e135c6016c7cd1491cd012bc8cb" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -144,9 +144,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "476501462b0c2654b64f9dec6f2c480e24b4e9b7133ec10b7167e64acda35d04" +checksum = "dffba1dce273ed5b61ee1b90aeea5c8c744617d0f12624f620768c144d83e753" dependencies = [ "hex", "proc-macro2", @@ -156,9 +156,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3557f2f12640a8a07fa6af66cc2a13b188c5b61bed72db22fe631fb3a60c3e96" +checksum = "4c17fdf90fafca2f19085ae67b0502d9f71bf8ab1be3c83808eb88e02a8c18b9" dependencies = [ "hex", "proc-macro2", @@ -169,18 +169,18 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61f5c29c6044f3dc9e866858feee625d7fae5604a68ac7bd66dec683eee97563" +checksum = "daeb48acbd39255868a3241798df2f85050f0ae8d82d6417bd2cd0e30a241855" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed13aaca9cbdbc6911174cd3029e750a7563d85dd3daaa1107b1fd31c7f17245" +checksum = "20659915a4377d375c46d7f237e810053a03f7e084fad6362dd5748a7233defb" dependencies = [ "multiversx-sc", ] @@ -232,9 +232,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.36" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ "proc-macro2", ] @@ -274,9 +274,9 @@ checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "syn" -version = "2.0.72" +version = "2.0.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" +checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" dependencies = [ "proc-macro2", "quote", diff --git a/dex/price-discovery/wasm/Cargo.toml b/dex/price-discovery/wasm/Cargo.toml index 1dcb092a2..cc6bf1c73 100644 --- a/dex/price-discovery/wasm/Cargo.toml +++ b/dex/price-discovery/wasm/Cargo.toml @@ -28,7 +28,7 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "=0.52.3" +version = "=0.53.2" [workspace] members = ["."] diff --git a/dex/proxy-deployer/Cargo.toml b/dex/proxy-deployer/Cargo.toml index 1cdb05f73..d703dda15 100644 --- a/dex/proxy-deployer/Cargo.toml +++ b/dex/proxy-deployer/Cargo.toml @@ -21,11 +21,11 @@ path = "../../common/modules/farm/config" path = "../../common/modules/farm/farm_token" [dependencies.multiversx-sc] -version = "=0.52.3" +version = "=0.53.2" features = ["esdt-token-payment-legacy-decode"] [dev-dependencies] num-bigint = "0.4.2" [dev-dependencies.multiversx-sc-scenario] -version = "=0.52.3" +version = "=0.53.2" diff --git a/dex/proxy-deployer/meta/Cargo.toml b/dex/proxy-deployer/meta/Cargo.toml index dc7a4d09f..22fe6e5de 100644 --- a/dex/proxy-deployer/meta/Cargo.toml +++ b/dex/proxy-deployer/meta/Cargo.toml @@ -10,6 +10,6 @@ authors = ["MultiversX "] [dependencies.proxy-deployer] path = ".." -[dependencies.multiversx-sc-meta] -version = "0.52.3" +[dependencies.multiversx-sc-meta-lib] +version = "0.53.2" default-features = false diff --git a/dex/proxy-deployer/meta/src/main.rs b/dex/proxy-deployer/meta/src/main.rs index 6df25a6b5..287e43ccd 100644 --- a/dex/proxy-deployer/meta/src/main.rs +++ b/dex/proxy-deployer/meta/src/main.rs @@ -1,3 +1,3 @@ fn main() { - multiversx_sc_meta::cli_main::(); + multiversx_sc_meta_lib::cli_main::(); } diff --git a/dex/proxy-deployer/wasm/Cargo.lock b/dex/proxy-deployer/wasm/Cargo.lock index d6e8501f7..8d87420e6 100644 --- a/dex/proxy-deployer/wasm/Cargo.lock +++ b/dex/proxy-deployer/wasm/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "arrayvec" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "autocfg" @@ -277,9 +277,9 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "526760b1d6236c011285b264a70a0a9dd3b3dbc53c3b5f76932f4bcfd3a8910c" +checksum = "75ea89a26f0aacda21437a8ae5ccfbefab99d8191942b3d2eddbcbf84f9866d7" dependencies = [ "bitflags", "hex-literal", @@ -291,9 +291,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad4f318427761faecf26c1f3115a3beeb5f61858845a60547d9763aa981ddd2d" +checksum = "007d7a5a8534e5dc9128cb8f15a65a21dd378e135c6016c7cd1491cd012bc8cb" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -302,9 +302,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "476501462b0c2654b64f9dec6f2c480e24b4e9b7133ec10b7167e64acda35d04" +checksum = "dffba1dce273ed5b61ee1b90aeea5c8c744617d0f12624f620768c144d83e753" dependencies = [ "hex", "proc-macro2", @@ -314,9 +314,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3557f2f12640a8a07fa6af66cc2a13b188c5b61bed72db22fe631fb3a60c3e96" +checksum = "4c17fdf90fafca2f19085ae67b0502d9f71bf8ab1be3c83808eb88e02a8c18b9" dependencies = [ "hex", "proc-macro2", @@ -327,18 +327,18 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61f5c29c6044f3dc9e866858feee625d7fae5604a68ac7bd66dec683eee97563" +checksum = "daeb48acbd39255868a3241798df2f85050f0ae8d82d6417bd2cd0e30a241855" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed13aaca9cbdbc6911174cd3029e750a7563d85dd3daaa1107b1fd31c7f17245" +checksum = "20659915a4377d375c46d7f237e810053a03f7e084fad6362dd5748a7233defb" dependencies = [ "multiversx-sc", ] @@ -424,9 +424,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.36" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ "proc-macro2", ] @@ -481,9 +481,9 @@ checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "syn" -version = "2.0.72" +version = "2.0.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" +checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" dependencies = [ "proc-macro2", "quote", diff --git a/dex/proxy-deployer/wasm/Cargo.toml b/dex/proxy-deployer/wasm/Cargo.toml index a91353591..e5da175f9 100644 --- a/dex/proxy-deployer/wasm/Cargo.toml +++ b/dex/proxy-deployer/wasm/Cargo.toml @@ -28,7 +28,7 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "=0.52.3" +version = "=0.53.2" [workspace] members = ["."] diff --git a/dex/router/Cargo.toml b/dex/router/Cargo.toml index b542e4196..4ecf1aa3c 100644 --- a/dex/router/Cargo.toml +++ b/dex/router/Cargo.toml @@ -15,7 +15,7 @@ path = "../../common/modules/token_send" path = "../../common/modules/pausable" [dependencies.multiversx-sc] -version = "=0.52.3" +version = "=0.53.2" features = ["esdt-token-payment-legacy-decode"] [dependencies.pair] @@ -28,4 +28,4 @@ path = "../../common/modules/locking_module" path = "../../locked-asset/simple-lock" [dev-dependencies.multiversx-sc-scenario] -version = "=0.52.3" +version = "=0.53.2" diff --git a/dex/router/meta/Cargo.toml b/dex/router/meta/Cargo.toml index 48160d8b0..7dcef100f 100644 --- a/dex/router/meta/Cargo.toml +++ b/dex/router/meta/Cargo.toml @@ -8,6 +8,6 @@ publish = false [dependencies.router] path = ".." -[dependencies.multiversx-sc-meta] -version = "0.52.3" +[dependencies.multiversx-sc-meta-lib] +version = "0.53.2" default-features = false diff --git a/dex/router/meta/src/main.rs b/dex/router/meta/src/main.rs index 675a0e481..c79cfbcc5 100644 --- a/dex/router/meta/src/main.rs +++ b/dex/router/meta/src/main.rs @@ -1,3 +1,3 @@ fn main() { - multiversx_sc_meta::cli_main::(); + multiversx_sc_meta_lib::cli_main::(); } diff --git a/dex/router/src/events.rs b/dex/router/src/events.rs index 8ee097a5e..b80888e5a 100644 --- a/dex/router/src/events.rs +++ b/dex/router/src/events.rs @@ -22,6 +22,19 @@ pub struct UserPairSwapEnabledEvent { pair_address: ManagedAddress, } +#[derive(TypeAbi, TopEncode)] +pub struct MultiPairSwapEvent { + caller: ManagedAddress, + token_in: TokenIdentifier, + amount_in: BigUint, + token_out: TokenIdentifier, + amount_out: BigUint, + payments_out: ManagedVec>, + block: u64, + epoch: u64, + timestamp: u64, +} + #[multiversx_sc::module] pub trait EventsModule { fn emit_create_pair_event( @@ -75,6 +88,43 @@ pub trait EventsModule { ) } + fn emit_multi_pair_swap_event( + &self, + caller: ManagedAddress, + token_in: TokenIdentifier, + amount_in: BigUint, + payments_out: ManagedVec, + ) { + if payments_out.is_empty() { + return; + } + + let block = self.blockchain().get_block_nonce(); + let epoch = self.blockchain().get_block_epoch(); + let timestamp = self.blockchain().get_block_timestamp(); + let last_payment_index = payments_out.len() - 1; + let token_out = payments_out.get(last_payment_index); + self.multi_pair_swap_event( + caller.clone(), + token_in.clone(), + amount_in.clone(), + token_out.token_identifier.clone(), + token_out.amount.clone(), + epoch, + MultiPairSwapEvent { + caller, + token_in, + amount_in, + token_out: token_out.token_identifier, + amount_out: token_out.amount, + payments_out, + block, + epoch, + timestamp, + }, + ) + } + #[event("create_pair")] fn create_pair_event( self, @@ -94,4 +144,16 @@ pub trait EventsModule { #[indexed] epoch: u64, swap_enabled_event: UserPairSwapEnabledEvent, ); + + #[event("multiPairSwap")] + fn multi_pair_swap_event( + &self, + #[indexed] caller: ManagedAddress, + #[indexed] token_in: TokenIdentifier, + #[indexed] amount_in: BigUint, + #[indexed] token_out: TokenIdentifier, + #[indexed] amount_out: BigUint, + #[indexed] epoch: u64, + multi_pair_swap_event: MultiPairSwapEvent, + ); } diff --git a/dex/router/src/multi_pair_swap.rs b/dex/router/src/multi_pair_swap.rs index 1e47378f9..8a09bfb9f 100644 --- a/dex/router/src/multi_pair_swap.rs +++ b/dex/router/src/multi_pair_swap.rs @@ -2,7 +2,7 @@ multiversx_sc::imports!(); multiversx_sc::derive_imports!(); use super::factory; -use crate::config; +use crate::{config, events}; use pair::{pair_actions::swap::ProxyTrait as _, read_pair_storage}; type SwapOperationType = @@ -17,6 +17,7 @@ pub trait MultiPairSwap: + read_pair_storage::ReadPairStorageModule + factory::FactoryModule + token_send::TokenSendModule + + events::EventsModule { #[payable("*")] #[endpoint(multiPairSwap)] @@ -39,7 +40,7 @@ pub trait MultiPairSwap: let caller = self.blockchain().get_caller(); let mut payments = ManagedVec::new(); - let mut last_payment = EsdtTokenPayment::new(token_id, nonce, amount); + let mut last_payment = EsdtTokenPayment::new(token_id.clone(), nonce, amount.clone()); for entry in swap_operations.into_iter() { let (pair_address, function, token_wanted, amount_wanted) = entry.into_tuple(); @@ -63,7 +64,10 @@ pub trait MultiPairSwap: ); last_payment = payment; - payments.push(residuum); + + if residuum.amount > 0 { + payments.push(residuum); + } } else { sc_panic!("Invalid function to call"); } @@ -72,6 +76,8 @@ pub trait MultiPairSwap: payments.push(last_payment); self.send().direct_multi(&caller, &payments); + self.emit_multi_pair_swap_event(caller, token_id, amount, payments.clone()); + payments } diff --git a/dex/router/wasm/Cargo.lock b/dex/router/wasm/Cargo.lock index 7fb52d1e3..a8e9d5976 100644 --- a/dex/router/wasm/Cargo.lock +++ b/dex/router/wasm/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "arrayvec" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "autocfg" @@ -161,9 +161,9 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "526760b1d6236c011285b264a70a0a9dd3b3dbc53c3b5f76932f4bcfd3a8910c" +checksum = "75ea89a26f0aacda21437a8ae5ccfbefab99d8191942b3d2eddbcbf84f9866d7" dependencies = [ "bitflags", "hex-literal", @@ -175,9 +175,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad4f318427761faecf26c1f3115a3beeb5f61858845a60547d9763aa981ddd2d" +checksum = "007d7a5a8534e5dc9128cb8f15a65a21dd378e135c6016c7cd1491cd012bc8cb" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -186,9 +186,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "476501462b0c2654b64f9dec6f2c480e24b4e9b7133ec10b7167e64acda35d04" +checksum = "dffba1dce273ed5b61ee1b90aeea5c8c744617d0f12624f620768c144d83e753" dependencies = [ "hex", "proc-macro2", @@ -198,9 +198,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3557f2f12640a8a07fa6af66cc2a13b188c5b61bed72db22fe631fb3a60c3e96" +checksum = "4c17fdf90fafca2f19085ae67b0502d9f71bf8ab1be3c83808eb88e02a8c18b9" dependencies = [ "hex", "proc-macro2", @@ -211,18 +211,18 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61f5c29c6044f3dc9e866858feee625d7fae5604a68ac7bd66dec683eee97563" +checksum = "daeb48acbd39255868a3241798df2f85050f0ae8d82d6417bd2cd0e30a241855" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed13aaca9cbdbc6911174cd3029e750a7563d85dd3daaa1107b1fd31c7f17245" +checksum = "20659915a4377d375c46d7f237e810053a03f7e084fad6362dd5748a7233defb" dependencies = [ "multiversx-sc", ] @@ -289,9 +289,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.36" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ "proc-macro2", ] @@ -351,9 +351,9 @@ checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "syn" -version = "2.0.72" +version = "2.0.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" +checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" dependencies = [ "proc-macro2", "quote", diff --git a/dex/router/wasm/Cargo.toml b/dex/router/wasm/Cargo.toml index 5f51baac3..608f891d0 100644 --- a/dex/router/wasm/Cargo.toml +++ b/dex/router/wasm/Cargo.toml @@ -28,7 +28,7 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "=0.52.3" +version = "=0.53.2" [workspace] members = ["."] diff --git a/energy-integration/common-modules/energy-query/Cargo.toml b/energy-integration/common-modules/energy-query/Cargo.toml index f6cddc324..bb7f02bc2 100644 --- a/energy-integration/common-modules/energy-query/Cargo.toml +++ b/energy-integration/common-modules/energy-query/Cargo.toml @@ -8,7 +8,7 @@ edition = "2021" path = "src/lib.rs" [dependencies.multiversx-sc] -version = "=0.52.3" +version = "=0.53.2" features = ["esdt-token-payment-legacy-decode"] [dependencies.energy-factory] diff --git a/energy-integration/common-modules/week-timekeeping/Cargo.toml b/energy-integration/common-modules/week-timekeeping/Cargo.toml index ca761a0ac..64a65bd3e 100644 --- a/energy-integration/common-modules/week-timekeeping/Cargo.toml +++ b/energy-integration/common-modules/week-timekeeping/Cargo.toml @@ -8,7 +8,7 @@ edition = "2021" path = "src/lib.rs" [dependencies.multiversx-sc] -version = "=0.52.3" +version = "=0.53.2" features = ["esdt-token-payment-legacy-decode"] [dependencies.common-types] diff --git a/energy-integration/common-modules/weekly-rewards-splitting/Cargo.toml b/energy-integration/common-modules/weekly-rewards-splitting/Cargo.toml index 769bf1a02..df65be5b4 100644 --- a/energy-integration/common-modules/weekly-rewards-splitting/Cargo.toml +++ b/energy-integration/common-modules/weekly-rewards-splitting/Cargo.toml @@ -8,7 +8,7 @@ edition = "2021" path = "src/lib.rs" [dependencies.multiversx-sc] -version = "=0.52.3" +version = "=0.53.2" features = ["esdt-token-payment-legacy-decode"] [dependencies.energy-query] diff --git a/energy-integration/common-types/Cargo.toml b/energy-integration/common-types/Cargo.toml index 204f503ed..09dd6ccec 100644 --- a/energy-integration/common-types/Cargo.toml +++ b/energy-integration/common-types/Cargo.toml @@ -8,5 +8,5 @@ edition = "2021" path = "src/lib.rs" [dependencies.multiversx-sc] -version = "=0.52.3" +version = "=0.53.2" features = ["esdt-token-payment-legacy-decode"] diff --git a/energy-integration/energy-factory-mock/Cargo.toml b/energy-integration/energy-factory-mock/Cargo.toml index a1786f9f7..56ee42be8 100644 --- a/energy-integration/energy-factory-mock/Cargo.toml +++ b/energy-integration/energy-factory-mock/Cargo.toml @@ -12,8 +12,8 @@ path = "src/lib.rs" path = "../common-modules/energy-query" [dependencies.multiversx-sc] -version = "=0.52.3" +version = "=0.53.2" features = ["esdt-token-payment-legacy-decode"] [dev-dependencies.multiversx-sc-scenario] -version = "=0.52.3" +version = "=0.53.2" diff --git a/energy-integration/energy-factory-mock/meta/Cargo.toml b/energy-integration/energy-factory-mock/meta/Cargo.toml index 4dd743ee5..684df0109 100644 --- a/energy-integration/energy-factory-mock/meta/Cargo.toml +++ b/energy-integration/energy-factory-mock/meta/Cargo.toml @@ -10,6 +10,6 @@ authors = ["MultiversX "] [dependencies.energy-factory-mock] path = ".." -[dependencies.multiversx-sc-meta] -version = "0.52.3" +[dependencies.multiversx-sc-meta-lib] +version = "0.53.2" default-features = false diff --git a/energy-integration/energy-factory-mock/meta/src/main.rs b/energy-integration/energy-factory-mock/meta/src/main.rs index ac08ec4b7..3866ddff7 100644 --- a/energy-integration/energy-factory-mock/meta/src/main.rs +++ b/energy-integration/energy-factory-mock/meta/src/main.rs @@ -1,3 +1,3 @@ fn main() { - multiversx_sc_meta::cli_main::(); + multiversx_sc_meta_lib::cli_main::(); } diff --git a/energy-integration/energy-factory-mock/wasm/Cargo.lock b/energy-integration/energy-factory-mock/wasm/Cargo.lock index 90e2d715e..4e08004ac 100644 --- a/energy-integration/energy-factory-mock/wasm/Cargo.lock +++ b/energy-integration/energy-factory-mock/wasm/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "arrayvec" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "autocfg" @@ -128,9 +128,9 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "526760b1d6236c011285b264a70a0a9dd3b3dbc53c3b5f76932f4bcfd3a8910c" +checksum = "75ea89a26f0aacda21437a8ae5ccfbefab99d8191942b3d2eddbcbf84f9866d7" dependencies = [ "bitflags", "hex-literal", @@ -142,9 +142,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad4f318427761faecf26c1f3115a3beeb5f61858845a60547d9763aa981ddd2d" +checksum = "007d7a5a8534e5dc9128cb8f15a65a21dd378e135c6016c7cd1491cd012bc8cb" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -153,9 +153,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "476501462b0c2654b64f9dec6f2c480e24b4e9b7133ec10b7167e64acda35d04" +checksum = "dffba1dce273ed5b61ee1b90aeea5c8c744617d0f12624f620768c144d83e753" dependencies = [ "hex", "proc-macro2", @@ -165,9 +165,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3557f2f12640a8a07fa6af66cc2a13b188c5b61bed72db22fe631fb3a60c3e96" +checksum = "4c17fdf90fafca2f19085ae67b0502d9f71bf8ab1be3c83808eb88e02a8c18b9" dependencies = [ "hex", "proc-macro2", @@ -178,18 +178,18 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61f5c29c6044f3dc9e866858feee625d7fae5604a68ac7bd66dec683eee97563" +checksum = "daeb48acbd39255868a3241798df2f85050f0ae8d82d6417bd2cd0e30a241855" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed13aaca9cbdbc6911174cd3029e750a7563d85dd3daaa1107b1fd31c7f17245" +checksum = "20659915a4377d375c46d7f237e810053a03f7e084fad6362dd5748a7233defb" dependencies = [ "multiversx-sc", ] @@ -223,9 +223,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.36" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ "proc-macro2", ] @@ -265,9 +265,9 @@ checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "syn" -version = "2.0.72" +version = "2.0.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" +checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" dependencies = [ "proc-macro2", "quote", diff --git a/energy-integration/energy-factory-mock/wasm/Cargo.toml b/energy-integration/energy-factory-mock/wasm/Cargo.toml index c27927d62..49b7fc839 100644 --- a/energy-integration/energy-factory-mock/wasm/Cargo.toml +++ b/energy-integration/energy-factory-mock/wasm/Cargo.toml @@ -28,7 +28,7 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "=0.52.3" +version = "=0.53.2" [workspace] members = ["."] diff --git a/energy-integration/energy-update/Cargo.toml b/energy-integration/energy-update/Cargo.toml index cece1badc..58f7627f4 100644 --- a/energy-integration/energy-update/Cargo.toml +++ b/energy-integration/energy-update/Cargo.toml @@ -9,11 +9,11 @@ publish = false path = "src/lib.rs" [dependencies.multiversx-sc] -version = "=0.52.3" +version = "=0.53.2" features = ["esdt-token-payment-legacy-decode"] [dependencies.multiversx-sc-modules] -version = "=0.52.3" +version = "=0.53.2" [dependencies.farm] path = "../../dex/farm" @@ -25,4 +25,4 @@ path = "../common-modules/weekly-rewards-splitting" num-bigint = "0.4.2" [dev-dependencies.multiversx-sc-scenario] -version = "=0.52.3" +version = "=0.53.2" diff --git a/energy-integration/energy-update/meta/Cargo.toml b/energy-integration/energy-update/meta/Cargo.toml index 17921bd41..245463e6b 100644 --- a/energy-integration/energy-update/meta/Cargo.toml +++ b/energy-integration/energy-update/meta/Cargo.toml @@ -10,6 +10,6 @@ authors = ["MultiversX "] [dependencies.energy-update] path = ".." -[dependencies.multiversx-sc-meta] -version = "0.52.3" +[dependencies.multiversx-sc-meta-lib] +version = "0.53.2" default-features = false diff --git a/energy-integration/energy-update/meta/src/main.rs b/energy-integration/energy-update/meta/src/main.rs index d1938e1aa..0dd45d8fd 100644 --- a/energy-integration/energy-update/meta/src/main.rs +++ b/energy-integration/energy-update/meta/src/main.rs @@ -1,3 +1,3 @@ fn main() { - multiversx_sc_meta::cli_main::(); + multiversx_sc_meta_lib::cli_main::(); } diff --git a/energy-integration/energy-update/wasm/Cargo.lock b/energy-integration/energy-update/wasm/Cargo.lock index d589409c8..e36d78e0b 100644 --- a/energy-integration/energy-update/wasm/Cargo.lock +++ b/energy-integration/energy-update/wasm/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "arrayvec" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "autocfg" @@ -295,9 +295,9 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "526760b1d6236c011285b264a70a0a9dd3b3dbc53c3b5f76932f4bcfd3a8910c" +checksum = "75ea89a26f0aacda21437a8ae5ccfbefab99d8191942b3d2eddbcbf84f9866d7" dependencies = [ "bitflags", "hex-literal", @@ -309,9 +309,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad4f318427761faecf26c1f3115a3beeb5f61858845a60547d9763aa981ddd2d" +checksum = "007d7a5a8534e5dc9128cb8f15a65a21dd378e135c6016c7cd1491cd012bc8cb" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -320,9 +320,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "476501462b0c2654b64f9dec6f2c480e24b4e9b7133ec10b7167e64acda35d04" +checksum = "dffba1dce273ed5b61ee1b90aeea5c8c744617d0f12624f620768c144d83e753" dependencies = [ "hex", "proc-macro2", @@ -332,9 +332,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3557f2f12640a8a07fa6af66cc2a13b188c5b61bed72db22fe631fb3a60c3e96" +checksum = "4c17fdf90fafca2f19085ae67b0502d9f71bf8ab1be3c83808eb88e02a8c18b9" dependencies = [ "hex", "proc-macro2", @@ -345,18 +345,18 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61f5c29c6044f3dc9e866858feee625d7fae5604a68ac7bd66dec683eee97563" +checksum = "daeb48acbd39255868a3241798df2f85050f0ae8d82d6417bd2cd0e30a241855" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed13aaca9cbdbc6911174cd3029e750a7563d85dd3daaa1107b1fd31c7f17245" +checksum = "20659915a4377d375c46d7f237e810053a03f7e084fad6362dd5748a7233defb" dependencies = [ "multiversx-sc", ] @@ -423,9 +423,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.36" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ "proc-macro2", ] @@ -480,9 +480,9 @@ checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "syn" -version = "2.0.72" +version = "2.0.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" +checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" dependencies = [ "proc-macro2", "quote", diff --git a/energy-integration/energy-update/wasm/Cargo.toml b/energy-integration/energy-update/wasm/Cargo.toml index 3046000d8..0c9dd6013 100644 --- a/energy-integration/energy-update/wasm/Cargo.toml +++ b/energy-integration/energy-update/wasm/Cargo.toml @@ -28,7 +28,7 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "=0.52.3" +version = "=0.53.2" [workspace] members = ["."] diff --git a/energy-integration/farm-boosted-yields/Cargo.toml b/energy-integration/farm-boosted-yields/Cargo.toml index 635f6f12e..e3e8bb0c0 100644 --- a/energy-integration/farm-boosted-yields/Cargo.toml +++ b/energy-integration/farm-boosted-yields/Cargo.toml @@ -8,7 +8,7 @@ edition = "2021" path = "src/lib.rs" [dependencies.multiversx-sc] -version = "=0.52.3" +version = "=0.53.2" features = ["esdt-token-payment-legacy-decode"] [dependencies.config] diff --git a/energy-integration/fees-collector/Cargo.toml b/energy-integration/fees-collector/Cargo.toml index 71246ad74..df169e2c7 100644 --- a/energy-integration/fees-collector/Cargo.toml +++ b/energy-integration/fees-collector/Cargo.toml @@ -9,11 +9,11 @@ publish = false path = "src/lib.rs" [dependencies.multiversx-sc] -version = "=0.52.3" +version = "=0.53.2" features = ["esdt-token-payment-legacy-decode"] [dependencies.multiversx-sc-modules] -version = "=0.52.3" +version = "=0.53.2" [dependencies.energy-query] path = "../common-modules/energy-query" @@ -49,7 +49,7 @@ path = "../../common/common_errors" num-bigint = "0.4.2" [dev-dependencies.multiversx-sc-scenario] -version = "=0.52.3" +version = "=0.53.2" [dev-dependencies.sc_whitelist_module] path = "../../common/modules/sc_whitelist_module" diff --git a/energy-integration/fees-collector/meta/Cargo.toml b/energy-integration/fees-collector/meta/Cargo.toml index fdf9fb2d1..4a593cb5d 100644 --- a/energy-integration/fees-collector/meta/Cargo.toml +++ b/energy-integration/fees-collector/meta/Cargo.toml @@ -10,6 +10,6 @@ authors = ["MultiversX "] [dependencies.fees-collector] path = ".." -[dependencies.multiversx-sc-meta] -version = "0.52.3" +[dependencies.multiversx-sc-meta-lib] +version = "0.53.2" default-features = false diff --git a/energy-integration/fees-collector/meta/src/main.rs b/energy-integration/fees-collector/meta/src/main.rs index bb6376b4d..6be62c753 100644 --- a/energy-integration/fees-collector/meta/src/main.rs +++ b/energy-integration/fees-collector/meta/src/main.rs @@ -1,3 +1,3 @@ fn main() { - multiversx_sc_meta::cli_main::(); + multiversx_sc_meta_lib::cli_main::(); } diff --git a/energy-integration/fees-collector/wasm/Cargo.lock b/energy-integration/fees-collector/wasm/Cargo.lock index aefa2da06..d962ee257 100644 --- a/energy-integration/fees-collector/wasm/Cargo.lock +++ b/energy-integration/fees-collector/wasm/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "arrayvec" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "autocfg" @@ -154,9 +154,9 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "526760b1d6236c011285b264a70a0a9dd3b3dbc53c3b5f76932f4bcfd3a8910c" +checksum = "75ea89a26f0aacda21437a8ae5ccfbefab99d8191942b3d2eddbcbf84f9866d7" dependencies = [ "bitflags", "hex-literal", @@ -168,9 +168,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad4f318427761faecf26c1f3115a3beeb5f61858845a60547d9763aa981ddd2d" +checksum = "007d7a5a8534e5dc9128cb8f15a65a21dd378e135c6016c7cd1491cd012bc8cb" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -179,9 +179,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "476501462b0c2654b64f9dec6f2c480e24b4e9b7133ec10b7167e64acda35d04" +checksum = "dffba1dce273ed5b61ee1b90aeea5c8c744617d0f12624f620768c144d83e753" dependencies = [ "hex", "proc-macro2", @@ -191,9 +191,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3557f2f12640a8a07fa6af66cc2a13b188c5b61bed72db22fe631fb3a60c3e96" +checksum = "4c17fdf90fafca2f19085ae67b0502d9f71bf8ab1be3c83808eb88e02a8c18b9" dependencies = [ "hex", "proc-macro2", @@ -204,18 +204,18 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61f5c29c6044f3dc9e866858feee625d7fae5604a68ac7bd66dec683eee97563" +checksum = "daeb48acbd39255868a3241798df2f85050f0ae8d82d6417bd2cd0e30a241855" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed13aaca9cbdbc6911174cd3029e750a7563d85dd3daaa1107b1fd31c7f17245" +checksum = "20659915a4377d375c46d7f237e810053a03f7e084fad6362dd5748a7233defb" dependencies = [ "multiversx-sc", ] @@ -249,9 +249,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.36" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ "proc-macro2", ] @@ -291,9 +291,9 @@ checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "syn" -version = "2.0.72" +version = "2.0.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" +checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" dependencies = [ "proc-macro2", "quote", diff --git a/energy-integration/fees-collector/wasm/Cargo.toml b/energy-integration/fees-collector/wasm/Cargo.toml index 7fd11ead7..6c004828a 100644 --- a/energy-integration/fees-collector/wasm/Cargo.toml +++ b/energy-integration/fees-collector/wasm/Cargo.toml @@ -28,7 +28,7 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "=0.52.3" +version = "=0.53.2" [workspace] members = ["."] diff --git a/energy-integration/governance-v2/Cargo.toml b/energy-integration/governance-v2/Cargo.toml index ea148f4ba..4ebea1437 100644 --- a/energy-integration/governance-v2/Cargo.toml +++ b/energy-integration/governance-v2/Cargo.toml @@ -12,7 +12,7 @@ path = "src/lib.rs" path = "../common-modules/energy-query" [dependencies.multiversx-sc] -version = "=0.52.3" +version = "=0.53.2" features = ["esdt-token-payment-legacy-decode"] [dependencies.permissions_module] @@ -28,7 +28,7 @@ path = "../common-modules/weekly-rewards-splitting" num-bigint = "0.4.2" [dev-dependencies.multiversx-sc-scenario] -version = "=0.52.3" +version = "=0.53.2" [dev-dependencies.energy-factory-mock] path = "../energy-factory-mock" diff --git a/energy-integration/governance-v2/meta/Cargo.toml b/energy-integration/governance-v2/meta/Cargo.toml index a4d6830a6..b0f3544fe 100644 --- a/energy-integration/governance-v2/meta/Cargo.toml +++ b/energy-integration/governance-v2/meta/Cargo.toml @@ -10,6 +10,6 @@ authors = ["MultiversX "] [dependencies.governance-v2] path = ".." -[dependencies.multiversx-sc-meta] -version = "0.52.3" +[dependencies.multiversx-sc-meta-lib] +version = "0.53.2" default-features = false diff --git a/energy-integration/governance-v2/meta/src/main.rs b/energy-integration/governance-v2/meta/src/main.rs index 6b82b6292..f4db3e0b9 100644 --- a/energy-integration/governance-v2/meta/src/main.rs +++ b/energy-integration/governance-v2/meta/src/main.rs @@ -1,3 +1,3 @@ fn main() { - multiversx_sc_meta::cli_main::(); + multiversx_sc_meta_lib::cli_main::(); } diff --git a/energy-integration/governance-v2/wasm/Cargo.lock b/energy-integration/governance-v2/wasm/Cargo.lock index 822c38060..5853e1198 100644 --- a/energy-integration/governance-v2/wasm/Cargo.lock +++ b/energy-integration/governance-v2/wasm/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "arrayvec" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "autocfg" @@ -165,9 +165,9 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "526760b1d6236c011285b264a70a0a9dd3b3dbc53c3b5f76932f4bcfd3a8910c" +checksum = "75ea89a26f0aacda21437a8ae5ccfbefab99d8191942b3d2eddbcbf84f9866d7" dependencies = [ "bitflags", "hex-literal", @@ -179,9 +179,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad4f318427761faecf26c1f3115a3beeb5f61858845a60547d9763aa981ddd2d" +checksum = "007d7a5a8534e5dc9128cb8f15a65a21dd378e135c6016c7cd1491cd012bc8cb" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -190,9 +190,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "476501462b0c2654b64f9dec6f2c480e24b4e9b7133ec10b7167e64acda35d04" +checksum = "dffba1dce273ed5b61ee1b90aeea5c8c744617d0f12624f620768c144d83e753" dependencies = [ "hex", "proc-macro2", @@ -202,9 +202,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3557f2f12640a8a07fa6af66cc2a13b188c5b61bed72db22fe631fb3a60c3e96" +checksum = "4c17fdf90fafca2f19085ae67b0502d9f71bf8ab1be3c83808eb88e02a8c18b9" dependencies = [ "hex", "proc-macro2", @@ -215,18 +215,18 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61f5c29c6044f3dc9e866858feee625d7fae5604a68ac7bd66dec683eee97563" +checksum = "daeb48acbd39255868a3241798df2f85050f0ae8d82d6417bd2cd0e30a241855" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed13aaca9cbdbc6911174cd3029e750a7563d85dd3daaa1107b1fd31c7f17245" +checksum = "20659915a4377d375c46d7f237e810053a03f7e084fad6362dd5748a7233defb" dependencies = [ "multiversx-sc", ] @@ -269,9 +269,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.36" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ "proc-macro2", ] @@ -311,9 +311,9 @@ checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "syn" -version = "2.0.72" +version = "2.0.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" +checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" dependencies = [ "proc-macro2", "quote", diff --git a/energy-integration/governance-v2/wasm/Cargo.toml b/energy-integration/governance-v2/wasm/Cargo.toml index ba31902a3..59d23c81c 100644 --- a/energy-integration/governance-v2/wasm/Cargo.toml +++ b/energy-integration/governance-v2/wasm/Cargo.toml @@ -28,7 +28,7 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "=0.52.3" +version = "=0.53.2" [workspace] members = ["."] diff --git a/farm-staking/farm-staking-proxy/Cargo.toml b/farm-staking/farm-staking-proxy/Cargo.toml index 74ee9fdca..34ee079f9 100644 --- a/farm-staking/farm-staking-proxy/Cargo.toml +++ b/farm-staking/farm-staking-proxy/Cargo.toml @@ -12,11 +12,11 @@ path = "src/lib.rs" hex-literal = "0.3.1" [dependencies.multiversx-sc] -version = "=0.52.3" +version = "=0.53.2" features = ["esdt-token-payment-legacy-decode"] [dependencies.multiversx-sc-modules] -version = "=0.52.3" +version = "=0.53.2" [dependencies.farm] path = "../../dex/farm" @@ -67,7 +67,7 @@ path = "../../energy-integration/common-modules/energy-query" num-bigint = "0.4.2" [dev-dependencies.multiversx-sc-scenario] -version = "=0.52.3" +version = "=0.53.2" [dev-dependencies.farm_token] path = "../../common/modules/farm/farm_token" diff --git a/farm-staking/farm-staking-proxy/meta/Cargo.toml b/farm-staking/farm-staking-proxy/meta/Cargo.toml index c1419832e..df373e257 100644 --- a/farm-staking/farm-staking-proxy/meta/Cargo.toml +++ b/farm-staking/farm-staking-proxy/meta/Cargo.toml @@ -10,6 +10,6 @@ authors = ["MultiversX "] [dependencies.farm-staking-proxy] path = ".." -[dependencies.multiversx-sc-meta] -version = "0.52.3" +[dependencies.multiversx-sc-meta-lib] +version = "0.53.2" default-features = false diff --git a/farm-staking/farm-staking-proxy/meta/src/main.rs b/farm-staking/farm-staking-proxy/meta/src/main.rs index 3d6b55dbc..ba0dc8fa3 100644 --- a/farm-staking/farm-staking-proxy/meta/src/main.rs +++ b/farm-staking/farm-staking-proxy/meta/src/main.rs @@ -1,3 +1,3 @@ fn main() { - multiversx_sc_meta::cli_main::(); + multiversx_sc_meta_lib::cli_main::(); } diff --git a/farm-staking/farm-staking-proxy/wasm/Cargo.lock b/farm-staking/farm-staking-proxy/wasm/Cargo.lock index 4944a7735..1f79bbe16 100644 --- a/farm-staking/farm-staking-proxy/wasm/Cargo.lock +++ b/farm-staking/farm-staking-proxy/wasm/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "arrayvec" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "autocfg" @@ -376,9 +376,9 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "526760b1d6236c011285b264a70a0a9dd3b3dbc53c3b5f76932f4bcfd3a8910c" +checksum = "75ea89a26f0aacda21437a8ae5ccfbefab99d8191942b3d2eddbcbf84f9866d7" dependencies = [ "bitflags", "hex-literal 0.4.1", @@ -390,9 +390,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad4f318427761faecf26c1f3115a3beeb5f61858845a60547d9763aa981ddd2d" +checksum = "007d7a5a8534e5dc9128cb8f15a65a21dd378e135c6016c7cd1491cd012bc8cb" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -401,9 +401,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "476501462b0c2654b64f9dec6f2c480e24b4e9b7133ec10b7167e64acda35d04" +checksum = "dffba1dce273ed5b61ee1b90aeea5c8c744617d0f12624f620768c144d83e753" dependencies = [ "hex", "proc-macro2", @@ -413,9 +413,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3557f2f12640a8a07fa6af66cc2a13b188c5b61bed72db22fe631fb3a60c3e96" +checksum = "4c17fdf90fafca2f19085ae67b0502d9f71bf8ab1be3c83808eb88e02a8c18b9" dependencies = [ "hex", "proc-macro2", @@ -426,18 +426,18 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61f5c29c6044f3dc9e866858feee625d7fae5604a68ac7bd66dec683eee97563" +checksum = "daeb48acbd39255868a3241798df2f85050f0ae8d82d6417bd2cd0e30a241855" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed13aaca9cbdbc6911174cd3029e750a7563d85dd3daaa1107b1fd31c7f17245" +checksum = "20659915a4377d375c46d7f237e810053a03f7e084fad6362dd5748a7233defb" dependencies = [ "multiversx-sc", ] @@ -504,9 +504,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.36" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ "proc-macro2", ] @@ -561,9 +561,9 @@ checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "syn" -version = "2.0.72" +version = "2.0.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" +checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" dependencies = [ "proc-macro2", "quote", diff --git a/farm-staking/farm-staking-proxy/wasm/Cargo.toml b/farm-staking/farm-staking-proxy/wasm/Cargo.toml index e10369847..dc496fd7e 100644 --- a/farm-staking/farm-staking-proxy/wasm/Cargo.toml +++ b/farm-staking/farm-staking-proxy/wasm/Cargo.toml @@ -28,7 +28,7 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "=0.52.3" +version = "=0.53.2" [workspace] members = ["."] diff --git a/farm-staking/farm-staking/Cargo.toml b/farm-staking/farm-staking/Cargo.toml index 15e0e15ac..8f1817a89 100644 --- a/farm-staking/farm-staking/Cargo.toml +++ b/farm-staking/farm-staking/Cargo.toml @@ -78,14 +78,14 @@ path = "../../common/common_structs" path = "../../common/common_errors" [dependencies.multiversx-sc] -version = "=0.52.3" +version = "=0.53.2" features = ["esdt-token-payment-legacy-decode"] [dependencies.multiversx-sc-modules] -version = "=0.52.3" +version = "=0.53.2" [dev-dependencies] num-bigint = "0.4.2" [dev-dependencies.multiversx-sc-scenario] -version = "=0.52.3" +version = "=0.53.2" diff --git a/farm-staking/farm-staking/meta/Cargo.toml b/farm-staking/farm-staking/meta/Cargo.toml index 78643b777..247b430c3 100644 --- a/farm-staking/farm-staking/meta/Cargo.toml +++ b/farm-staking/farm-staking/meta/Cargo.toml @@ -8,6 +8,6 @@ publish = false [dependencies.farm-staking] path = ".." -[dependencies.multiversx-sc-meta] -version = "0.52.3" +[dependencies.multiversx-sc-meta-lib] +version = "0.53.2" default-features = false diff --git a/farm-staking/farm-staking/meta/src/main.rs b/farm-staking/farm-staking/meta/src/main.rs index de7773d55..b7990d697 100644 --- a/farm-staking/farm-staking/meta/src/main.rs +++ b/farm-staking/farm-staking/meta/src/main.rs @@ -1,3 +1,3 @@ fn main() { - multiversx_sc_meta::cli_main::(); + multiversx_sc_meta_lib::cli_main::(); } diff --git a/farm-staking/farm-staking/src/claim_only_boosted_staking_rewards.rs b/farm-staking/farm-staking/src/claim_only_boosted_staking_rewards.rs index 79d433dfe..c5b903e0b 100644 --- a/farm-staking/farm-staking/src/claim_only_boosted_staking_rewards.rs +++ b/farm-staking/farm-staking/src/claim_only_boosted_staking_rewards.rs @@ -19,6 +19,7 @@ pub trait ClaimOnlyBoostedStakingRewardsModule: + weekly_rewards_splitting::global_info::WeeklyRewardsGlobalInfo + weekly_rewards_splitting::locked_token_buckets::WeeklyRewardsLockedTokenBucketsModule + weekly_rewards_splitting::update_claim_progress_energy::UpdateClaimProgressEnergyModule + + farm_base_impl::base_farm_validation::BaseFarmValidationModule + energy_query::EnergyQueryModule + token_send::TokenSendModule + events::EventsModule @@ -41,7 +42,13 @@ pub trait ClaimOnlyBoostedStakingRewardsModule: ); } + require!( + !self.user_total_farm_position(user).is_empty(), + "User total farm position is empty!" + ); + let mut storage_cache = StorageCache::new(self); + self.validate_contract_state(storage_cache.contract_state, &storage_cache.farm_token_id); FarmStakingWrapper::::generate_aggregated_rewards(self, &mut storage_cache); let boosted_rewards = self.claim_only_boosted_payment(user); diff --git a/farm-staking/farm-staking/tests/farm_staking_energy_test.rs b/farm-staking/farm-staking/tests/farm_staking_energy_test.rs index f22555545..a4046f03e 100644 --- a/farm-staking/farm-staking/tests/farm_staking_energy_test.rs +++ b/farm-staking/farm-staking/tests/farm_staking_energy_test.rs @@ -3,6 +3,7 @@ pub mod farm_staking_setup; use config::ConfigModule; use farm_staking::{ + claim_only_boosted_staking_rewards::ClaimOnlyBoostedStakingRewardsModule, claim_stake_farm_rewards::ClaimStakeFarmRewardsModule, stake_farm::StakeFarmModule, token_attributes::{StakingFarmTokenAttributes, UnbondSftAttributes}, @@ -1667,9 +1668,19 @@ fn claim_boosted_rewards_with_zero_position_test() { fs_setup.b_mock.set_block_epoch(13); let boosted_rewards_for_week = 100; - fs_setup.claim_boosted_rewards_for_user(&second_user, &second_user, 0, &rust_biguint!(0)); - current_farm_rps += farm_rps_increase; + fs_setup + .b_mock + .execute_tx( + &second_user, + &fs_setup.farm_wrapper, + &rust_biguint!(0u64), + |sc| { + sc.claim_boosted_rewards(OptionalValue::Some(managed_address!(&second_user))); + }, + ) + .assert_error(4, "User total farm position is empty!"); + fs_setup.check_farm_rps(current_farm_rps); // advance 1 week @@ -1679,16 +1690,16 @@ fn claim_boosted_rewards_with_zero_position_test() { fs_setup.claim_boosted_rewards_for_user( &first_user, &first_user, - boosted_rewards_for_week * 2, - &rust_biguint!(boosted_rewards_for_week * 2), + boosted_rewards_for_week, + &rust_biguint!(boosted_rewards_for_week), ); - current_farm_rps += farm_rps_increase; + current_farm_rps += farm_rps_increase * 2; fs_setup.check_farm_rps(current_farm_rps); fs_setup.b_mock.check_esdt_balance( &first_user, REWARD_TOKEN_ID, - &rust_biguint!(boosted_rewards_for_week * 2), + &rust_biguint!(boosted_rewards_for_week), ); let expected_attributes = StakingFarmTokenAttributes:: { diff --git a/farm-staking/farm-staking/wasm/Cargo.lock b/farm-staking/farm-staking/wasm/Cargo.lock index d4cfdd73e..465de9d30 100644 --- a/farm-staking/farm-staking/wasm/Cargo.lock +++ b/farm-staking/farm-staking/wasm/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "arrayvec" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "autocfg" @@ -316,9 +316,9 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "526760b1d6236c011285b264a70a0a9dd3b3dbc53c3b5f76932f4bcfd3a8910c" +checksum = "75ea89a26f0aacda21437a8ae5ccfbefab99d8191942b3d2eddbcbf84f9866d7" dependencies = [ "bitflags", "hex-literal", @@ -330,9 +330,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad4f318427761faecf26c1f3115a3beeb5f61858845a60547d9763aa981ddd2d" +checksum = "007d7a5a8534e5dc9128cb8f15a65a21dd378e135c6016c7cd1491cd012bc8cb" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -341,9 +341,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "476501462b0c2654b64f9dec6f2c480e24b4e9b7133ec10b7167e64acda35d04" +checksum = "dffba1dce273ed5b61ee1b90aeea5c8c744617d0f12624f620768c144d83e753" dependencies = [ "hex", "proc-macro2", @@ -353,9 +353,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3557f2f12640a8a07fa6af66cc2a13b188c5b61bed72db22fe631fb3a60c3e96" +checksum = "4c17fdf90fafca2f19085ae67b0502d9f71bf8ab1be3c83808eb88e02a8c18b9" dependencies = [ "hex", "proc-macro2", @@ -366,18 +366,18 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61f5c29c6044f3dc9e866858feee625d7fae5604a68ac7bd66dec683eee97563" +checksum = "daeb48acbd39255868a3241798df2f85050f0ae8d82d6417bd2cd0e30a241855" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed13aaca9cbdbc6911174cd3029e750a7563d85dd3daaa1107b1fd31c7f17245" +checksum = "20659915a4377d375c46d7f237e810053a03f7e084fad6362dd5748a7233defb" dependencies = [ "multiversx-sc", ] @@ -444,9 +444,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.36" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ "proc-macro2", ] @@ -501,9 +501,9 @@ checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "syn" -version = "2.0.72" +version = "2.0.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" +checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" dependencies = [ "proc-macro2", "quote", diff --git a/farm-staking/farm-staking/wasm/Cargo.toml b/farm-staking/farm-staking/wasm/Cargo.toml index 5b206bdfc..9b6328d70 100644 --- a/farm-staking/farm-staking/wasm/Cargo.toml +++ b/farm-staking/farm-staking/wasm/Cargo.toml @@ -28,7 +28,7 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "=0.52.3" +version = "=0.53.2" [workspace] members = ["."] diff --git a/farm-staking/metabonding-staking/.gitignore b/farm-staking/metabonding-staking/.gitignore deleted file mode 100644 index 920d759a2..000000000 --- a/farm-staking/metabonding-staking/.gitignore +++ /dev/null @@ -1,7 +0,0 @@ -# Generated by Cargo -# will have compiled files and executables -/target/ -*/target/ - -# The erdpy output -output* diff --git a/farm-staking/metabonding-staking/Cargo.toml b/farm-staking/metabonding-staking/Cargo.toml deleted file mode 100644 index a9678d893..000000000 --- a/farm-staking/metabonding-staking/Cargo.toml +++ /dev/null @@ -1,28 +0,0 @@ -[package] -name = "metabonding-staking" -version = "0.0.0" -authors = ["MultiversX "] -edition = "2021" -publish = false - -[lib] -path = "src/lib.rs" - -[dependencies.multiversx-sc] -version = "=0.52.3" -features = ["esdt-token-payment-legacy-decode"] - -[dependencies.multiversx-sc-modules] -version = "=0.52.3" - -[dependencies.factory] -path = "../../locked-asset/factory" - -[dev-dependencies] -num-bigint = "0.4.2" - -[dev-dependencies.multiversx-sc-scenario] -version = "=0.52.3" - -[dev-dependencies.common_structs] -path = "../../common/common_structs" diff --git a/farm-staking/metabonding-staking/README.md b/farm-staking/metabonding-staking/README.md deleted file mode 100644 index dd18a194d..000000000 --- a/farm-staking/metabonding-staking/README.md +++ /dev/null @@ -1,57 +0,0 @@ -# Metabonding Staking Contract - -## Abstract - -Metabonding is a new community bootstrapping product, that allows users to receive tokens from projects enrolled in the Metabonding program, based on their staked eGLD and locked tokens. - -## Introduction - -The Metabonding staking contract works in conjunction with the main Metabonding contract. -The workflow can be summarized like so: -- Projects apply to the Metabonding program, by allocating a fixed number of tokens that will be distributed to users based on weekly snapshots. -- The user can stake his locked assets, along with his staked eGLD that is included by default in the snapshots, in order to get a portion of the allocated tokens. -- Daily snapshots are taken, with weekly reward distribution based on the average staked balance. - -The Metabonding staking contract takes care of the staking part of the workflow, by storing the staked locked token amounts. - -## Endpoints - -### stakeLockedAsset - -```rust - #[payable("*")] - #[endpoint(stakeLockedAsset)] - fn stake_locked_asset(&self); -``` - -Payable endpoint that allows the user to stake his locked assets. If the user already has a staking position, the tokens are merged through the locked asset factory contract. An user entry is stored, containing the information as shown below, along with the total locked asset staked supply. - -```rust -pub struct UserEntry { - pub token_nonce: u64, - pub stake_amount: BigUint, - pub unstake_amount: BigUint, - pub unbond_epoch: u64, -} -``` - -### unstake - -```rust - #[endpoint] - fn unstake( - &self, - amount: BigUint - ); -``` - -Endpoint that allows the user to specify how many locked assets he wants to unstake. When calling the endpoint, the user does not actually receive the tokens back, but he sort of states the intention to take back the tokens. Based on the current unbond duration, the user storage entry is updated with the amount he wants to unstake and the unbonding duration. In case of a second unstake, if the unbonding period is not finished, the unbonding counter is reset. - -### unbond - -```rust - #[endpoint] - fn unbond(&self); -``` - -Endpoint the allows the user to receive his tokens, considering the unbonding period is over. He receives the amount that he previously unstaked, with the corresponding token nonce. diff --git a/farm-staking/metabonding-staking/elrond.json b/farm-staking/metabonding-staking/elrond.json deleted file mode 100644 index 736553962..000000000 --- a/farm-staking/metabonding-staking/elrond.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "language": "rust" -} \ No newline at end of file diff --git a/farm-staking/metabonding-staking/meta/Cargo.toml b/farm-staking/metabonding-staking/meta/Cargo.toml deleted file mode 100644 index 32bf213be..000000000 --- a/farm-staking/metabonding-staking/meta/Cargo.toml +++ /dev/null @@ -1,15 +0,0 @@ -[package] -name = "metabonding-staking-meta" -version = "0.0.0" -edition = "2021" -publish = false -authors = ["MultiversX "] - -[dev-dependencies] - -[dependencies.metabonding-staking] -path = ".." - -[dependencies.multiversx-sc-meta] -version = "0.52.3" -default-features = false diff --git a/farm-staking/metabonding-staking/meta/src/main.rs b/farm-staking/metabonding-staking/meta/src/main.rs deleted file mode 100644 index 481297930..000000000 --- a/farm-staking/metabonding-staking/meta/src/main.rs +++ /dev/null @@ -1,3 +0,0 @@ -fn main() { - multiversx_sc_meta::cli_main::(); -} diff --git a/farm-staking/metabonding-staking/src/events.rs b/farm-staking/metabonding-staking/src/events.rs deleted file mode 100644 index 5614ab534..000000000 --- a/farm-staking/metabonding-staking/src/events.rs +++ /dev/null @@ -1,27 +0,0 @@ -multiversx_sc::imports!(); - -use crate::locked_asset_token::UserEntry; - -#[multiversx_sc::module] -pub trait EventsModule { - #[event("stakeEvent")] - fn stake_event( - &self, - #[indexed] user_address: &ManagedAddress, - entry_after_action: &UserEntry, - ); - - #[event("unstakeEvent")] - fn unstake_event( - &self, - #[indexed] user_address: &ManagedAddress, - entry_after_action: &UserEntry, - ); - - #[event("unbondEvent")] - fn unbond_event( - &self, - #[indexed] user_address: &ManagedAddress, - opt_entry_after_action: Option<&UserEntry>, - ); -} diff --git a/farm-staking/metabonding-staking/src/lib.rs b/farm-staking/metabonding-staking/src/lib.rs deleted file mode 100644 index d15ce3c90..000000000 --- a/farm-staking/metabonding-staking/src/lib.rs +++ /dev/null @@ -1,152 +0,0 @@ -#![no_std] - -multiversx_sc::imports!(); - -pub mod events; -pub mod locked_asset_token; - -use locked_asset_token::UserEntry; - -pub type SnapshotEntry = MultiValue2, BigUint>; -pub const UNBOND_EPOCHS: u64 = 3; - -#[multiversx_sc::contract] -pub trait MetabondingStaking: - locked_asset_token::LockedAssetTokenModule + events::EventsModule -{ - #[init] - fn init( - &self, - locked_asset_token_id: TokenIdentifier, - locked_asset_factory_address: ManagedAddress, - ) { - self.locked_asset_token_id() - .set_if_empty(&locked_asset_token_id); - self.locked_asset_factory_address() - .set_if_empty(&locked_asset_factory_address); - } - - #[upgrade] - fn upgrade(&self) {} - - #[payable("*")] - #[endpoint(stakeLockedAsset)] - fn stake_locked_asset(&self) { - let payments = self.call_value().all_esdt_transfers().clone_value(); - self.require_all_locked_asset_payments(&payments); - - let caller = self.blockchain().get_caller(); - let entry_mapper = self.entry_for_user(&caller); - let new_entry = self.create_new_entry_by_merging_tokens(&entry_mapper, payments); - - self.total_locked_asset_supply() - .update(|total_supply| *total_supply += new_entry.get_total_amount()); - - self.stake_event(&caller, &new_entry); - - entry_mapper.set(&new_entry); - let _ = self.user_list().insert(caller); - } - - #[endpoint] - fn unstake(&self, amount: BigUint) { - let caller = self.blockchain().get_caller(); - let entry_mapper = self.entry_for_user(&caller); - require!(!entry_mapper.is_empty(), "Must stake first"); - - let mut user_entry: UserEntry = entry_mapper.get(); - require!( - amount <= user_entry.stake_amount, - "Trying to unstake too much" - ); - - let current_epoch = self.blockchain().get_block_epoch(); - user_entry.unbond_epoch = current_epoch + UNBOND_EPOCHS; - user_entry.stake_amount -= &amount; - user_entry.unstake_amount += amount; - - self.unstake_event(&caller, &user_entry); - - entry_mapper.set(&user_entry); - } - - #[endpoint] - fn unbond(&self) { - let caller = self.blockchain().get_caller(); - let entry_mapper = self.entry_for_user(&caller); - require!(!entry_mapper.is_empty(), "Must stake first"); - - let mut user_entry: UserEntry = entry_mapper.get(); - let unstake_amount = user_entry.unstake_amount; - require!(unstake_amount > 0, "Must unstake first"); - - let current_epoch = self.blockchain().get_block_epoch(); - require!( - current_epoch >= user_entry.unbond_epoch, - "Unbond period in progress" - ); - - self.total_locked_asset_supply() - .update(|total_supply| *total_supply -= &unstake_amount); - - let opt_entry_after_action = if user_entry.stake_amount == 0 { - entry_mapper.clear(); - self.user_list().swap_remove(&caller); - - None - } else { - user_entry.unstake_amount = BigUint::zero(); - user_entry.unbond_epoch = u64::MAX; - entry_mapper.set(&user_entry); - - Some(&user_entry) - }; - - let locked_asset_token_id = self.locked_asset_token_id().get(); - self.send().direct_esdt( - &caller, - &locked_asset_token_id, - user_entry.token_nonce, - &unstake_amount, - ); - - self.unbond_event(&caller, opt_entry_after_action); - } - - #[view(getStakedAmountForUser)] - fn get_staked_amount_for_user(&self, user_address: ManagedAddress) -> BigUint { - let entry_mapper = self.entry_for_user(&user_address); - if entry_mapper.is_empty() { - BigUint::zero() - } else { - let entry: UserEntry = entry_mapper.get(); - - entry.stake_amount - } - } - - #[view(getUserEntry)] - fn get_user_entry(&self, user_address: ManagedAddress) -> OptionalValue> { - let entry_mapper = self.entry_for_user(&user_address); - - if !entry_mapper.is_empty() { - OptionalValue::Some(entry_mapper.get()) - } else { - OptionalValue::None - } - } - - #[view(getSnapshot)] - fn get_snapshot(&self) -> MultiValueEncoded> { - let mut result = MultiValueEncoded::new(); - - for user_address in self.user_list().iter() { - let entry: UserEntry = self.entry_for_user(&user_address).get(); - if entry.stake_amount > 0 { - result.push((user_address, entry.stake_amount).into()); - } - } - - result - } -} diff --git a/farm-staking/metabonding-staking/src/locked_asset_token.rs b/farm-staking/metabonding-staking/src/locked_asset_token.rs deleted file mode 100644 index c5c354fab..000000000 --- a/farm-staking/metabonding-staking/src/locked_asset_token.rs +++ /dev/null @@ -1,118 +0,0 @@ -multiversx_sc::imports!(); -multiversx_sc::derive_imports!(); - -use factory::locked_asset_token_merge::ProxyTrait as _; - -pub type PaymentsVec = ManagedVec>; - -#[derive(TypeAbi, TopEncode, TopDecode, NestedEncode, Debug, PartialEq)] -pub struct UserEntry { - pub token_nonce: u64, - pub stake_amount: BigUint, - pub unstake_amount: BigUint, - pub unbond_epoch: u64, -} - -impl UserEntry { - pub fn new(token_nonce: u64, stake_amount: BigUint) -> Self { - Self { - token_nonce, - stake_amount, - unstake_amount: BigUint::zero(), - unbond_epoch: u64::MAX, - } - } - - pub fn get_total_amount(&self) -> BigUint { - &self.stake_amount + &self.unstake_amount - } -} - -#[multiversx_sc::module] -pub trait LockedAssetTokenModule { - fn require_all_locked_asset_payments(&self, payments: &PaymentsVec) { - require!(!payments.is_empty(), "No payments"); - - let locked_asset_token_id = self.locked_asset_token_id().get(); - for p in payments { - require!( - p.token_identifier == locked_asset_token_id, - "Invalid payment" - ); - } - } - - fn create_new_entry_by_merging_tokens( - &self, - entry_mapper: &SingleValueMapper>, - mut new_tokens: PaymentsVec, - ) -> UserEntry { - if entry_mapper.is_empty() { - let merged_tokens = self.merge_locked_asset_tokens(new_tokens); - - return UserEntry::new(merged_tokens.token_nonce, merged_tokens.amount); - } - - let mut prev_entry: UserEntry = entry_mapper.get(); - let prev_entry_total_tokens = prev_entry.get_total_amount(); - self.total_locked_asset_supply() - .update(|total_supply| *total_supply -= &prev_entry_total_tokens); - - let prev_entry_as_payment = EsdtTokenPayment::new( - self.locked_asset_token_id().get(), - prev_entry.token_nonce, - prev_entry_total_tokens, - ); - new_tokens.push(prev_entry_as_payment); - - let merged_tokens = self.merge_locked_asset_tokens(new_tokens); - prev_entry.token_nonce = merged_tokens.token_nonce; - prev_entry.stake_amount = &merged_tokens.amount - &prev_entry.unstake_amount; - - prev_entry - } - - fn merge_locked_asset_tokens( - &self, - tokens: PaymentsVec, - ) -> EsdtTokenPayment { - if tokens.len() == 1 { - return tokens.get(0); - } - - let locked_asset_factory_address = self.locked_asset_factory_address().get(); - self.locked_asset_factory_proxy(locked_asset_factory_address) - .merge_tokens() - .with_multi_token_transfer(tokens) - .execute_on_dest_context() - } - - // proxies - - #[proxy] - fn locked_asset_factory_proxy(&self, sc_address: ManagedAddress) -> factory::Proxy; - - // storage - - #[view(getLockedAssetTokenId)] - #[storage_mapper("lockedAssetTokenId")] - fn locked_asset_token_id(&self) -> SingleValueMapper; - - #[view(getLockedAssetFactoryAddress)] - #[storage_mapper("lockedAssetFactoryAddress")] - fn locked_asset_factory_address(&self) -> SingleValueMapper; - - #[view(getTotalLockedAssetSupply)] - #[storage_mapper("totalLockedAssetSupply")] - fn total_locked_asset_supply(&self) -> SingleValueMapper; - - #[storage_mapper("entryForUser")] - fn entry_for_user( - &self, - user_address: &ManagedAddress, - ) -> SingleValueMapper>; - - #[view(getUserList)] - #[storage_mapper("userList")] - fn user_list(&self) -> UnorderedSetMapper; -} diff --git a/farm-staking/metabonding-staking/testnet.toml b/farm-staking/metabonding-staking/testnet.toml deleted file mode 100644 index e69de29bb..000000000 diff --git a/farm-staking/metabonding-staking/tests/metabonding_staking_setup/mod.rs b/farm-staking/metabonding-staking/tests/metabonding_staking_setup/mod.rs deleted file mode 100644 index a4b8effeb..000000000 --- a/farm-staking/metabonding-staking/tests/metabonding_staking_setup/mod.rs +++ /dev/null @@ -1,251 +0,0 @@ -#![allow(deprecated)] - -use common_structs::{ - LockedAssetTokenAttributesEx, UnlockMilestone, UnlockMilestoneEx, UnlockScheduleEx, -}; -use factory::locked_asset::LockedAssetModule; -use factory::*; -use metabonding_staking::MetabondingStaking; -use multiversx_sc::storage::mappers::StorageTokenWrapper; -use multiversx_sc::types::{Address, EsdtLocalRole, ManagedVec}; -use multiversx_sc_modules::pause::PauseModule; -use multiversx_sc_scenario::whitebox_legacy::{TxResult, TxTokenTransfer}; -use multiversx_sc_scenario::{ - managed_address, managed_biguint, managed_token_id, rust_biguint, whitebox_legacy::*, DebugApi, -}; - -pub const METABONDING_STAKING_WASM_PATH: &str = "1.wasm"; -pub const LOCKED_ASSET_FACTORY_WASM_PATH: &str = "2.wasm"; -pub const ASSET_TOKEN_ID: &[u8] = b"MEX-123456"; -pub const LOCKED_ASSET_TOKEN_ID: &[u8] = b"LKMEX-123456"; - -pub struct MetabondingStakingSetup -where - MetabondingStakingObjBuilder: - 'static + Copy + Fn() -> metabonding_staking::ContractObj, - LockedAssetFactoryObjBuilder: 'static + Copy + Fn() -> factory::ContractObj, -{ - pub b_mock: BlockchainStateWrapper, - pub owner_address: Address, - pub user_address: Address, - pub mbs_wrapper: ContractObjWrapper< - metabonding_staking::ContractObj, - MetabondingStakingObjBuilder, - >, - pub laf_wrapper: - ContractObjWrapper, LockedAssetFactoryObjBuilder>, -} - -impl - MetabondingStakingSetup -where - MetabondingStakingObjBuilder: - 'static + Copy + Fn() -> metabonding_staking::ContractObj, - LockedAssetFactoryObjBuilder: 'static + Copy + Fn() -> factory::ContractObj, -{ - pub fn new( - mbs_builder: MetabondingStakingObjBuilder, - laf_builder: LockedAssetFactoryObjBuilder, - ) -> Self { - DebugApi::dummy(); - - let rust_zero = rust_biguint!(0u64); - let mut b_mock = BlockchainStateWrapper::new(); - let owner_addr = b_mock.create_user_account(&rust_zero); - let user_addr = b_mock.create_user_account(&rust_zero); - - let laf_wrapper = b_mock.create_sc_account( - &rust_zero, - Some(&owner_addr), - laf_builder, - LOCKED_ASSET_FACTORY_WASM_PATH, - ); - let mbs_wrapper = b_mock.create_sc_account( - &rust_zero, - Some(&owner_addr), - mbs_builder, - METABONDING_STAKING_WASM_PATH, - ); - - // set initial user balance - - // 100_000_000 - let attr1 = LockedAssetTokenAttributesEx:: { - unlock_schedule: UnlockScheduleEx { - unlock_milestones: ManagedVec::from(vec![ - UnlockMilestoneEx { - unlock_epoch: 0, - unlock_percent: 10_000, - }, - UnlockMilestoneEx { - unlock_epoch: 360, - unlock_percent: 15_000, - }, - UnlockMilestoneEx { - unlock_epoch: 390, - unlock_percent: 15_000, - }, - UnlockMilestoneEx { - unlock_epoch: 420, - unlock_percent: 15_000, - }, - UnlockMilestoneEx { - unlock_epoch: 450, - unlock_percent: 15_000, - }, - UnlockMilestoneEx { - unlock_epoch: 480, - unlock_percent: 15_000, - }, - UnlockMilestoneEx { - unlock_epoch: 510, - unlock_percent: 15_000, - }, - ]), - }, - is_merged: false, - }; - // 1_000_000 - let attr2 = LockedAssetTokenAttributesEx:: { - unlock_schedule: UnlockScheduleEx { - unlock_milestones: ManagedVec::from(vec![ - UnlockMilestoneEx { - unlock_epoch: 360, - unlock_percent: 16_000, - }, - UnlockMilestoneEx { - unlock_epoch: 390, - unlock_percent: 16_000, - }, - UnlockMilestoneEx { - unlock_epoch: 420, - unlock_percent: 17_000, - }, - UnlockMilestoneEx { - unlock_epoch: 450, - unlock_percent: 17_000, - }, - UnlockMilestoneEx { - unlock_epoch: 480, - unlock_percent: 17_000, - }, - UnlockMilestoneEx { - unlock_epoch: 510, - unlock_percent: 17_000, - }, - ]), - }, - is_merged: false, - }; - - b_mock.set_nft_balance( - &user_addr, - LOCKED_ASSET_TOKEN_ID, - 3, - &rust_biguint!(100_000_000), - &attr1, - ); - b_mock.set_nft_balance( - &user_addr, - LOCKED_ASSET_TOKEN_ID, - 4, - &rust_biguint!(1_000_000), - &attr2, - ); - - // init Locked Asset Factory contract - - b_mock - .execute_tx(&owner_addr, &laf_wrapper, &rust_zero, |sc| { - let asset_token_id = managed_token_id!(ASSET_TOKEN_ID); - let unlocked_percents = ManagedVec::from_single_item(UnlockMilestone { - unlock_epoch: 5, - unlock_percent: 100, - }); - - sc.init(asset_token_id, unlocked_percents.into()); - - let locked_asset_token_id = managed_token_id!(LOCKED_ASSET_TOKEN_ID); - sc.locked_asset_token().set_token_id(locked_asset_token_id); - - sc.set_paused(false); - }) - .assert_ok(); - - let locked_asset_token_roles = [ - EsdtLocalRole::NftCreate, - EsdtLocalRole::NftAddQuantity, - EsdtLocalRole::NftBurn, - ]; - b_mock.set_esdt_local_roles( - laf_wrapper.address_ref(), - LOCKED_ASSET_TOKEN_ID, - &locked_asset_token_roles[..], - ); - - // init Metabonding Staking contract - - b_mock - .execute_tx(&owner_addr, &mbs_wrapper, &rust_zero, |sc| { - let locked_asset_token_id = managed_token_id!(LOCKED_ASSET_TOKEN_ID); - let locked_asset_factory_addr = managed_address!(laf_wrapper.address_ref()); - - sc.init(locked_asset_token_id, locked_asset_factory_addr); - }) - .assert_ok(); - - Self { - b_mock, - laf_wrapper, - mbs_wrapper, - owner_address: owner_addr, - user_address: user_addr, - } - } - - pub fn call_stake_locked_asset(&mut self, token_nonce: u64, amount: u64) -> TxResult { - self.b_mock.execute_esdt_transfer( - &self.user_address, - &self.mbs_wrapper, - LOCKED_ASSET_TOKEN_ID, - token_nonce, - &rust_biguint!(amount), - |sc| { - sc.stake_locked_asset(); - }, - ) - } - - pub fn call_stake_locked_asset_multiple(&mut self, payments: &[TxTokenTransfer]) -> TxResult { - self.b_mock.execute_esdt_multi_transfer( - &self.user_address, - &self.mbs_wrapper, - payments, - |sc| { - sc.stake_locked_asset(); - }, - ) - } - - pub fn call_unstake(&mut self, amount: u64) -> TxResult { - self.b_mock.execute_tx( - &self.user_address, - &self.mbs_wrapper, - &rust_biguint!(0), - |sc| { - sc.unstake(managed_biguint!(amount)); - }, - ) - } - - pub fn call_unbond(&mut self) -> TxResult { - self.b_mock.execute_tx( - &self.user_address, - &self.mbs_wrapper, - &rust_biguint!(0), - |sc| { - sc.unbond(); - }, - ) - } -} diff --git a/farm-staking/metabonding-staking/tests/metabonding_staking_test.rs b/farm-staking/metabonding-staking/tests/metabonding_staking_test.rs deleted file mode 100644 index c83be6726..000000000 --- a/farm-staking/metabonding-staking/tests/metabonding_staking_test.rs +++ /dev/null @@ -1,342 +0,0 @@ -#![allow(deprecated)] - -pub mod metabonding_staking_setup; -use metabonding_staking::{ - locked_asset_token::{LockedAssetTokenModule, UserEntry}, - UNBOND_EPOCHS, -}; -use metabonding_staking_setup::*; -use multiversx_sc_scenario::{ - managed_address, managed_biguint, rust_biguint, whitebox_legacy::TxTokenTransfer, -}; - -#[test] -fn test_init() { - let _ = MetabondingStakingSetup::new(metabonding_staking::contract_obj, factory::contract_obj); -} - -#[test] -fn test_stake_first() { - let mut setup = - MetabondingStakingSetup::new(metabonding_staking::contract_obj, factory::contract_obj); - setup.call_stake_locked_asset(3, 100_000_000).assert_ok(); - - let user_addr = setup.user_address.clone(); - setup - .b_mock - .execute_query(&setup.mbs_wrapper, |sc| { - let expected_entry = UserEntry::new(3, managed_biguint!(100_000_000)); - let actual_entry = sc.entry_for_user(&managed_address!(&user_addr)).get(); - assert_eq!(actual_entry, expected_entry); - }) - .assert_ok(); -} - -#[test] -fn test_stake_second() { - let mut setup = - MetabondingStakingSetup::new(metabonding_staking::contract_obj, factory::contract_obj); - setup.call_stake_locked_asset(3, 100_000_000).assert_ok(); - - setup - .b_mock - .execute_query(&setup.mbs_wrapper, |sc| { - let expected_supply = managed_biguint!(100_000_000); - let actual_supply = sc.total_locked_asset_supply().get(); - assert_eq!(actual_supply, expected_supply); - }) - .assert_ok(); - - setup.call_stake_locked_asset(4, 1_000_000).assert_ok(); - - setup - .b_mock - .execute_query(&setup.mbs_wrapper, |sc| { - let expected_supply = managed_biguint!(101_000_000); - let actual_supply = sc.total_locked_asset_supply().get(); - assert_eq!(actual_supply, expected_supply); - }) - .assert_ok(); - - // tokens are merged into a single one - let user_addr = setup.user_address.clone(); - setup - .b_mock - .execute_query(&setup.mbs_wrapper, |sc| { - let expected_entry = UserEntry::new(1, managed_biguint!(101_000_000)); - let actual_entry = sc.entry_for_user(&managed_address!(&user_addr)).get(); - assert_eq!(actual_entry, expected_entry); - }) - .assert_ok(); -} - -#[test] -fn test_stake_multiple() { - let mut setup = - MetabondingStakingSetup::new(metabonding_staking::contract_obj, factory::contract_obj); - let payments = [ - TxTokenTransfer { - token_identifier: LOCKED_ASSET_TOKEN_ID.to_vec(), - nonce: 3, - value: rust_biguint!(100_000_000), - }, - TxTokenTransfer { - token_identifier: LOCKED_ASSET_TOKEN_ID.to_vec(), - nonce: 4, - value: rust_biguint!(1_000_000), - }, - ]; - - setup - .call_stake_locked_asset_multiple(&payments) - .assert_ok(); - - // tokens are merged into a single one - let user_addr = setup.user_address.clone(); - setup - .b_mock - .execute_query(&setup.mbs_wrapper, |sc| { - let expected_entry = UserEntry::new(1, managed_biguint!(101_000_000)); - let actual_entry = sc.entry_for_user(&managed_address!(&user_addr)).get(); - assert_eq!(actual_entry, expected_entry); - }) - .assert_ok(); -} - -#[test] -fn test_unstake() { - let mut setup = - MetabondingStakingSetup::new(metabonding_staking::contract_obj, factory::contract_obj); - setup.call_stake_locked_asset(3, 100_000_000).assert_ok(); - setup.call_stake_locked_asset(4, 1_000_000).assert_ok(); - - // tokens are merged into a single one - let user_addr = setup.user_address.clone(); - setup - .b_mock - .execute_query(&setup.mbs_wrapper, |sc| { - let expected_entry = UserEntry::new(1, managed_biguint!(101_000_000)); - let actual_entry = sc.entry_for_user(&managed_address!(&user_addr)).get(); - assert_eq!(actual_entry, expected_entry); - }) - .assert_ok(); - - setup.call_unstake(101_000_000).assert_ok(); - setup - .b_mock - .execute_query(&setup.mbs_wrapper, |sc| { - let expected_entry = UserEntry { - token_nonce: 1, - stake_amount: managed_biguint!(0), - unstake_amount: managed_biguint!(101_000_000), - unbond_epoch: 3, - }; - let actual_entry = sc.entry_for_user(&managed_address!(&user_addr)).get(); - assert_eq!(actual_entry, expected_entry); - }) - .assert_ok(); - - // try unstake again - setup - .call_unstake(101_000_000) - .assert_user_error("Trying to unstake too much"); -} - -#[test] -fn test_partial_unstake() { - let mut setup = - MetabondingStakingSetup::new(metabonding_staking::contract_obj, factory::contract_obj); - setup.call_stake_locked_asset(3, 90_000_000).assert_ok(); - setup.call_stake_locked_asset(4, 1_000_000).assert_ok(); - - // tokens are merged into a single one - let user_addr = setup.user_address.clone(); - setup - .b_mock - .execute_query(&setup.mbs_wrapper, |sc| { - let expected_entry = UserEntry::new(1, managed_biguint!(91_000_000)); - let actual_entry = sc.entry_for_user(&managed_address!(&user_addr)).get(); - assert_eq!(actual_entry, expected_entry); - }) - .assert_ok(); - - setup.call_unstake(51_000_000).assert_ok(); - setup - .b_mock - .execute_query(&setup.mbs_wrapper, |sc| { - let expected_entry = UserEntry { - token_nonce: 1, - stake_amount: managed_biguint!(40_000_000), - unstake_amount: managed_biguint!(51_000_000), - unbond_epoch: 3, - }; - let actual_entry = sc.entry_for_user(&managed_address!(&user_addr)).get(); - assert_eq!(actual_entry, expected_entry); - }) - .assert_ok(); - - // unstake too much - setup - .call_unstake(101_000_000) - .assert_user_error("Trying to unstake too much"); - - // unstake ok - setup.b_mock.set_block_epoch(5); - setup.call_unstake(30_000_000).assert_ok(); - - setup - .b_mock - .execute_query(&setup.mbs_wrapper, |sc| { - let expected_entry = UserEntry { - token_nonce: 1, - stake_amount: managed_biguint!(10_000_000), - unstake_amount: managed_biguint!(81_000_000), - unbond_epoch: 8, - }; - let actual_entry = sc.entry_for_user(&managed_address!(&user_addr)).get(); - assert_eq!(actual_entry, expected_entry); - }) - .assert_ok(); - - // stake after unstake - setup.call_stake_locked_asset(3, 10_000_000).assert_ok(); - - setup - .b_mock - .execute_query(&setup.mbs_wrapper, |sc| { - let expected_entry = UserEntry { - token_nonce: 2, - stake_amount: managed_biguint!(20_000_000), - unstake_amount: managed_biguint!(81_000_000), - unbond_epoch: 8, - }; - let actual_entry = sc.entry_for_user(&managed_address!(&user_addr)).get(); - assert_eq!(actual_entry, expected_entry); - }) - .assert_ok(); - - // unbond - - setup.b_mock.set_block_epoch(15); - setup.call_unbond().assert_ok(); - - setup - .b_mock - .execute_query(&setup.mbs_wrapper, |sc| { - let expected_entry = UserEntry { - token_nonce: 2, - stake_amount: managed_biguint!(20_000_000), - unstake_amount: managed_biguint!(0), - unbond_epoch: u64::MAX, - }; - let actual_entry = sc.entry_for_user(&managed_address!(&user_addr)).get(); - assert_eq!(actual_entry, expected_entry); - }) - .assert_ok(); - - // checking attributes for LKMEX tokens is out of scope - // so we just check with the raw expected value - let attributes: Vec = vec![ - 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 173, 0, 0, 0, 0, 0, 0, 1, 104, 0, - 0, 0, 0, 0, 0, 58, 162, 0, 0, 0, 0, 0, 0, 1, 134, 0, 0, 0, 0, 0, 0, 58, 162, 0, 0, 0, 0, 0, - 0, 1, 164, 0, 0, 0, 0, 0, 0, 58, 171, 0, 0, 0, 0, 0, 0, 1, 194, 0, 0, 0, 0, 0, 0, 58, 172, - 0, 0, 0, 0, 0, 0, 1, 224, 0, 0, 0, 0, 0, 0, 58, 172, 0, 0, 0, 0, 0, 0, 1, 254, 0, 0, 0, 0, - 0, 0, 58, 172, 1, - ]; - setup.b_mock.check_nft_balance( - &setup.user_address, - LOCKED_ASSET_TOKEN_ID, - 2, - &rust_biguint!(81_000_000), - Some(&attributes), - ); -} - -#[test] -fn test_unbond() { - let mut setup = - MetabondingStakingSetup::new(metabonding_staking::contract_obj, factory::contract_obj); - - setup.call_stake_locked_asset(3, 100_000_000).assert_ok(); - setup.call_stake_locked_asset(4, 1_000_000).assert_ok(); - - // tokens are merged into a single one - let user_addr = setup.user_address.clone(); - setup - .b_mock - .execute_query(&setup.mbs_wrapper, |sc| { - let expected_entry = UserEntry::new(1, managed_biguint!(101_000_000)); - let actual_entry = sc.entry_for_user(&managed_address!(&user_addr)).get(); - assert_eq!(actual_entry, expected_entry); - }) - .assert_ok(); - - // try unbond before unstake - setup.call_unbond().assert_user_error("Must unstake first"); - - setup.call_unstake(101_000_000).assert_ok(); - setup - .b_mock - .execute_query(&setup.mbs_wrapper, |sc| { - let expected_entry = UserEntry { - token_nonce: 1, - stake_amount: managed_biguint!(0), - unstake_amount: managed_biguint!(101_000_000), - unbond_epoch: 3, - }; - let actual_entry = sc.entry_for_user(&managed_address!(&user_addr)).get(); - assert_eq!(actual_entry, expected_entry); - }) - .assert_ok(); - - setup - .b_mock - .execute_query(&setup.mbs_wrapper, |sc| { - let expected_supply = managed_biguint!(101_000_000); - let actual_supply = sc.total_locked_asset_supply().get(); - assert_eq!(actual_supply, expected_supply); - }) - .assert_ok(); - - // try unbond too early - setup - .call_unbond() - .assert_user_error("Unbond period in progress"); - - setup.b_mock.set_block_epoch(UNBOND_EPOCHS); - setup.call_unbond().assert_ok(); - - setup - .b_mock - .execute_query(&setup.mbs_wrapper, |sc| { - let expected_supply = managed_biguint!(0); - let actual_supply = sc.total_locked_asset_supply().get(); - assert_eq!(actual_supply, expected_supply); - }) - .assert_ok(); - - // checking attributes for LKMEX tokens is out of scope - // so we just check with the raw expected value - let attributes: Vec = vec![ - 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 173, 0, 0, 0, 0, 0, 0, 1, 104, 0, - 0, 0, 0, 0, 0, 58, 162, 0, 0, 0, 0, 0, 0, 1, 134, 0, 0, 0, 0, 0, 0, 58, 162, 0, 0, 0, 0, 0, - 0, 1, 164, 0, 0, 0, 0, 0, 0, 58, 171, 0, 0, 0, 0, 0, 0, 1, 194, 0, 0, 0, 0, 0, 0, 58, 172, - 0, 0, 0, 0, 0, 0, 1, 224, 0, 0, 0, 0, 0, 0, 58, 172, 0, 0, 0, 0, 0, 0, 1, 254, 0, 0, 0, 0, - 0, 0, 58, 172, 1, - ]; - setup.b_mock.check_nft_balance( - &setup.user_address, - LOCKED_ASSET_TOKEN_ID, - 1, - &rust_biguint!(101_000_000), - Some(&attributes), - ); - - setup - .b_mock - .execute_query(&setup.mbs_wrapper, |sc| { - let entry_is_empty = sc.entry_for_user(&managed_address!(&user_addr)).is_empty(); - assert!(entry_is_empty); - }) - .assert_ok(); -} diff --git a/farm-staking/metabonding-staking/wasm/Cargo.lock b/farm-staking/metabonding-staking/wasm/Cargo.lock deleted file mode 100644 index a8675928b..000000000 --- a/farm-staking/metabonding-staking/wasm/Cargo.lock +++ /dev/null @@ -1,397 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "arrayvec" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" - -[[package]] -name = "autocfg" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" - -[[package]] -name = "bitflags" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" - -[[package]] -name = "cfg-if" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" - -[[package]] -name = "common_errors" -version = "0.0.0" -dependencies = [ - "multiversx-sc", -] - -[[package]] -name = "common_structs" -version = "0.0.0" -dependencies = [ - "fixed-supply-token", - "math", - "mergeable", - "multiversx-sc", - "unwrappable", -] - -[[package]] -name = "either" -version = "1.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" - -[[package]] -name = "endian-type" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c34f04666d835ff5d62e058c3995147c06f42fe86ff053337632bca83e42702d" - -[[package]] -name = "energy-factory" -version = "0.0.0" -dependencies = [ - "common_structs", - "legacy_token_decode_module", - "math", - "mergeable", - "multiversx-sc", - "multiversx-sc-modules", - "sc_whitelist_module", - "simple-lock", - "unwrappable", - "utils", -] - -[[package]] -name = "factory" -version = "0.0.0" -dependencies = [ - "arrayvec", - "common_errors", - "common_structs", - "energy-factory", - "itertools", - "multiversx-sc", - "multiversx-sc-modules", - "token_merge_helper", - "token_send", - "wee_alloc", -] - -[[package]] -name = "fixed-supply-token" -version = "0.0.0" -dependencies = [ - "multiversx-sc", -] - -[[package]] -name = "hex" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" - -[[package]] -name = "hex-literal" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" - -[[package]] -name = "itertools" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" -dependencies = [ - "either", -] - -[[package]] -name = "legacy_token_decode_module" -version = "0.0.0" -dependencies = [ - "common_structs", - "multiversx-sc", - "utils", -] - -[[package]] -name = "libc" -version = "0.2.158" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439" - -[[package]] -name = "math" -version = "0.0.0" -dependencies = [ - "multiversx-sc", -] - -[[package]] -name = "memory_units" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8452105ba047068f40ff7093dd1d9da90898e63dd61736462e9cdda6a90ad3c3" - -[[package]] -name = "mergeable" -version = "0.0.0" -dependencies = [ - "multiversx-sc", -] - -[[package]] -name = "metabonding-staking" -version = "0.0.0" -dependencies = [ - "factory", - "multiversx-sc", - "multiversx-sc-modules", -] - -[[package]] -name = "metabonding-staking-wasm" -version = "0.0.0" -dependencies = [ - "metabonding-staking", - "multiversx-sc-wasm-adapter", -] - -[[package]] -name = "multiversx-sc" -version = "0.52.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "526760b1d6236c011285b264a70a0a9dd3b3dbc53c3b5f76932f4bcfd3a8910c" -dependencies = [ - "bitflags", - "hex-literal", - "multiversx-sc-codec", - "multiversx-sc-derive", - "num-traits", - "unwrap-infallible", -] - -[[package]] -name = "multiversx-sc-codec" -version = "0.20.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad4f318427761faecf26c1f3115a3beeb5f61858845a60547d9763aa981ddd2d" -dependencies = [ - "arrayvec", - "multiversx-sc-codec-derive", - "unwrap-infallible", -] - -[[package]] -name = "multiversx-sc-codec-derive" -version = "0.20.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "476501462b0c2654b64f9dec6f2c480e24b4e9b7133ec10b7167e64acda35d04" -dependencies = [ - "hex", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "multiversx-sc-derive" -version = "0.52.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3557f2f12640a8a07fa6af66cc2a13b188c5b61bed72db22fe631fb3a60c3e96" -dependencies = [ - "hex", - "proc-macro2", - "quote", - "radix_trie", - "syn", -] - -[[package]] -name = "multiversx-sc-modules" -version = "0.52.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61f5c29c6044f3dc9e866858feee625d7fae5604a68ac7bd66dec683eee97563" -dependencies = [ - "multiversx-sc", -] - -[[package]] -name = "multiversx-sc-wasm-adapter" -version = "0.52.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed13aaca9cbdbc6911174cd3029e750a7563d85dd3daaa1107b1fd31c7f17245" -dependencies = [ - "multiversx-sc", -] - -[[package]] -name = "nibble_vec" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77a5d83df9f36fe23f0c3648c6bbb8b0298bb5f1939c8f2704431371f4b84d43" -dependencies = [ - "smallvec", -] - -[[package]] -name = "num-traits" -version = "0.2.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" -dependencies = [ - "autocfg", -] - -[[package]] -name = "proc-macro2" -version = "1.0.86" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "quote" -version = "1.0.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "radix_trie" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c069c179fcdc6a2fe24d8d18305cf085fdbd4f922c041943e203685d6a1c58fd" -dependencies = [ - "endian-type", - "nibble_vec", -] - -[[package]] -name = "sc_whitelist_module" -version = "0.0.0" -dependencies = [ - "common_errors", - "multiversx-sc", -] - -[[package]] -name = "simple-lock" -version = "0.0.0" -dependencies = [ - "common_structs", - "multiversx-sc", - "multiversx-sc-modules", -] - -[[package]] -name = "smallvec" -version = "1.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" - -[[package]] -name = "syn" -version = "2.0.72" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "token_merge_helper" -version = "0.0.0" -dependencies = [ - "common_errors", - "multiversx-sc", -] - -[[package]] -name = "token_send" -version = "0.0.0" -dependencies = [ - "common_errors", - "common_structs", - "multiversx-sc", -] - -[[package]] -name = "unicode-ident" -version = "1.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" - -[[package]] -name = "unwrap-infallible" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "151ac09978d3c2862c4e39b557f4eceee2cc72150bc4cb4f16abf061b6e381fb" - -[[package]] -name = "unwrappable" -version = "0.0.0" -dependencies = [ - "multiversx-sc", -] - -[[package]] -name = "utils" -version = "0.0.0" -dependencies = [ - "common_structs", - "fixed-supply-token", - "mergeable", - "multiversx-sc", -] - -[[package]] -name = "wee_alloc" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbb3b5a6b2bb17cb6ad44a2e68a43e8d2722c997da10e928665c72ec6c0a0b8e" -dependencies = [ - "cfg-if", - "libc", - "memory_units", - "winapi", -] - -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" diff --git a/farm-staking/metabonding-staking/wasm/Cargo.toml b/farm-staking/metabonding-staking/wasm/Cargo.toml deleted file mode 100644 index 1853ff22d..000000000 --- a/farm-staking/metabonding-staking/wasm/Cargo.toml +++ /dev/null @@ -1,34 +0,0 @@ -# Code generated by the multiversx-sc build system. DO NOT EDIT. - -# ########################################## -# ############## AUTO-GENERATED ############# -# ########################################## - -[package] -name = "metabonding-staking-wasm" -version = "0.0.0" -edition = "2021" -publish = false - -[lib] -crate-type = ["cdylib"] - -[profile.release] -codegen-units = 1 -opt-level = "z" -lto = true -debug = false -panic = "abort" -overflow-checks = false - -[profile.dev] -panic = "abort" - -[dependencies.metabonding-staking] -path = ".." - -[dependencies.multiversx-sc-wasm-adapter] -version = "=0.52.3" - -[workspace] -members = ["."] diff --git a/legacy-contracts/factory-legacy/Cargo.toml b/legacy-contracts/factory-legacy/Cargo.toml index 1f17baf8e..f2f530ddb 100644 --- a/legacy-contracts/factory-legacy/Cargo.toml +++ b/legacy-contracts/factory-legacy/Cargo.toml @@ -8,14 +8,11 @@ edition = "2018" path = "src/lib.rs" [dependencies.multiversx-sc] -version = "=0.52.3" +version = "=0.53.2" features = ["esdt-token-payment-legacy-decode"] [dependencies.multiversx-sc-modules] -version = "=0.52.3" - -[dev-dependencies.multiversx-sc-scenario] -version = "=0.52.3" +version = "=0.53.2" [dependencies.common_structs] path = "../../common/common_structs" @@ -27,4 +24,7 @@ path = "../../common/common_errors" path = "../../common/modules/token_merge_helper" [dependencies.energy-factory] -path = "../../locked-asset/energy-factory" \ No newline at end of file +path = "../../locked-asset/energy-factory" + +[dev-dependencies.multiversx-sc-scenario] +version = "=0.53.2" diff --git a/legacy-contracts/factory-legacy/meta/Cargo.toml b/legacy-contracts/factory-legacy/meta/Cargo.toml index 99df379a1..494ceb42f 100644 --- a/legacy-contracts/factory-legacy/meta/Cargo.toml +++ b/legacy-contracts/factory-legacy/meta/Cargo.toml @@ -1,14 +1,13 @@ [package] name = "factory-legacy-meta" - version = "0.0.0" -authors = [ "you",] +authors = ["you"] edition = "2018" publish = false [dependencies.factory-legacy] path = ".." -[dependencies.multiversx-sc-meta] -version = "0.52.3" -default-features = false \ No newline at end of file +[dependencies.multiversx-sc-meta-lib] +version = "0.53.2" +default-features = false diff --git a/legacy-contracts/factory-legacy/meta/src/main.rs b/legacy-contracts/factory-legacy/meta/src/main.rs index 64a2b3bb3..dd22822dc 100644 --- a/legacy-contracts/factory-legacy/meta/src/main.rs +++ b/legacy-contracts/factory-legacy/meta/src/main.rs @@ -1,3 +1,3 @@ fn main() { - multiversx_sc_meta::cli_main::(); + multiversx_sc_meta_lib::cli_main::(); } \ No newline at end of file diff --git a/legacy-contracts/factory-legacy/wasm/Cargo.lock b/legacy-contracts/factory-legacy/wasm/Cargo.lock index 4437e0091..f9d78eed7 100644 --- a/legacy-contracts/factory-legacy/wasm/Cargo.lock +++ b/legacy-contracts/factory-legacy/wasm/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "arrayvec" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "autocfg" @@ -124,9 +124,9 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "526760b1d6236c011285b264a70a0a9dd3b3dbc53c3b5f76932f4bcfd3a8910c" +checksum = "75ea89a26f0aacda21437a8ae5ccfbefab99d8191942b3d2eddbcbf84f9866d7" dependencies = [ "bitflags", "hex-literal", @@ -138,9 +138,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad4f318427761faecf26c1f3115a3beeb5f61858845a60547d9763aa981ddd2d" +checksum = "007d7a5a8534e5dc9128cb8f15a65a21dd378e135c6016c7cd1491cd012bc8cb" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -149,9 +149,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "476501462b0c2654b64f9dec6f2c480e24b4e9b7133ec10b7167e64acda35d04" +checksum = "dffba1dce273ed5b61ee1b90aeea5c8c744617d0f12624f620768c144d83e753" dependencies = [ "hex", "proc-macro2", @@ -161,9 +161,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3557f2f12640a8a07fa6af66cc2a13b188c5b61bed72db22fe631fb3a60c3e96" +checksum = "4c17fdf90fafca2f19085ae67b0502d9f71bf8ab1be3c83808eb88e02a8c18b9" dependencies = [ "hex", "proc-macro2", @@ -174,18 +174,18 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61f5c29c6044f3dc9e866858feee625d7fae5604a68ac7bd66dec683eee97563" +checksum = "daeb48acbd39255868a3241798df2f85050f0ae8d82d6417bd2cd0e30a241855" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed13aaca9cbdbc6911174cd3029e750a7563d85dd3daaa1107b1fd31c7f17245" +checksum = "20659915a4377d375c46d7f237e810053a03f7e084fad6362dd5748a7233defb" dependencies = [ "multiversx-sc", ] @@ -219,9 +219,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.36" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ "proc-macro2", ] @@ -261,9 +261,9 @@ checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "syn" -version = "2.0.72" +version = "2.0.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" +checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" dependencies = [ "proc-macro2", "quote", diff --git a/legacy-contracts/factory-legacy/wasm/Cargo.toml b/legacy-contracts/factory-legacy/wasm/Cargo.toml index e147feb21..48e47ca70 100644 --- a/legacy-contracts/factory-legacy/wasm/Cargo.toml +++ b/legacy-contracts/factory-legacy/wasm/Cargo.toml @@ -28,7 +28,7 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "=0.52.3" +version = "=0.53.2" [workspace] members = ["."] diff --git a/legacy-contracts/farm-staking-proxy-v13/Cargo.toml b/legacy-contracts/farm-staking-proxy-v13/Cargo.toml index 4284d329e..a7d6a99a0 100644 --- a/legacy-contracts/farm-staking-proxy-v13/Cargo.toml +++ b/legacy-contracts/farm-staking-proxy-v13/Cargo.toml @@ -9,11 +9,11 @@ publish = false path = "src/lib.rs" [dependencies.multiversx-sc] -version = "=0.52.3" +version = "=0.53.2" features = ["esdt-token-payment-legacy-decode"] [dependencies.multiversx-sc-modules] -version = "=0.52.3" +version = "=0.53.2" [dependencies.token_merge_helper] path = "../../common/modules/token_merge_helper" @@ -30,6 +30,11 @@ path = "../../dex/pair" [dependencies.farm-v13-locked-rewards] path = "../farm-v13-locked-rewards" +[dev-dependencies] +num-bigint = "0.4.2" +num-traits = "0.2" +hex = "0.4" + [dev-dependencies.energy-factory] path = "../../locked-asset/energy-factory" @@ -51,10 +56,5 @@ path = "../../common/modules/pausable" [dev-dependencies.sc_whitelist_module] path = "../../common/modules/sc_whitelist_module" -[dev-dependencies] -num-bigint = "0.4.2" -num-traits = "0.2" -hex = "0.4" - [dev-dependencies.multiversx-sc-scenario] -version = "=0.52.3" +version = "=0.53.2" diff --git a/legacy-contracts/farm-staking-proxy-v13/meta/Cargo.toml b/legacy-contracts/farm-staking-proxy-v13/meta/Cargo.toml index e23e8edf5..7b8d7d1d1 100644 --- a/legacy-contracts/farm-staking-proxy-v13/meta/Cargo.toml +++ b/legacy-contracts/farm-staking-proxy-v13/meta/Cargo.toml @@ -8,6 +8,6 @@ authors = ["MultiversX "] [dependencies.farm-staking-proxy-v13] path = ".." -[dependencies.multiversx-sc-meta] -version = "0.52.3" +[dependencies.multiversx-sc-meta-lib] +version = "0.53.2" default-features = false diff --git a/legacy-contracts/farm-staking-proxy-v13/meta/src/main.rs b/legacy-contracts/farm-staking-proxy-v13/meta/src/main.rs index d25b3a0c4..0b8a13cf2 100644 --- a/legacy-contracts/farm-staking-proxy-v13/meta/src/main.rs +++ b/legacy-contracts/farm-staking-proxy-v13/meta/src/main.rs @@ -1,3 +1,3 @@ fn main() { - multiversx_sc_meta::cli_main::(); + multiversx_sc_meta_lib::cli_main::(); } diff --git a/legacy-contracts/farm-staking-proxy-v13/wasm/Cargo.lock b/legacy-contracts/farm-staking-proxy-v13/wasm/Cargo.lock index edad582f7..ff771930d 100644 --- a/legacy-contracts/farm-staking-proxy-v13/wasm/Cargo.lock +++ b/legacy-contracts/farm-staking-proxy-v13/wasm/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "arrayvec" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "autocfg" @@ -336,9 +336,9 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "526760b1d6236c011285b264a70a0a9dd3b3dbc53c3b5f76932f4bcfd3a8910c" +checksum = "75ea89a26f0aacda21437a8ae5ccfbefab99d8191942b3d2eddbcbf84f9866d7" dependencies = [ "bitflags", "hex-literal", @@ -350,9 +350,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad4f318427761faecf26c1f3115a3beeb5f61858845a60547d9763aa981ddd2d" +checksum = "007d7a5a8534e5dc9128cb8f15a65a21dd378e135c6016c7cd1491cd012bc8cb" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -361,9 +361,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "476501462b0c2654b64f9dec6f2c480e24b4e9b7133ec10b7167e64acda35d04" +checksum = "dffba1dce273ed5b61ee1b90aeea5c8c744617d0f12624f620768c144d83e753" dependencies = [ "hex", "proc-macro2", @@ -373,9 +373,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3557f2f12640a8a07fa6af66cc2a13b188c5b61bed72db22fe631fb3a60c3e96" +checksum = "4c17fdf90fafca2f19085ae67b0502d9f71bf8ab1be3c83808eb88e02a8c18b9" dependencies = [ "hex", "proc-macro2", @@ -386,18 +386,18 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61f5c29c6044f3dc9e866858feee625d7fae5604a68ac7bd66dec683eee97563" +checksum = "daeb48acbd39255868a3241798df2f85050f0ae8d82d6417bd2cd0e30a241855" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed13aaca9cbdbc6911174cd3029e750a7563d85dd3daaa1107b1fd31c7f17245" +checksum = "20659915a4377d375c46d7f237e810053a03f7e084fad6362dd5748a7233defb" dependencies = [ "multiversx-sc", ] @@ -464,9 +464,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.36" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ "proc-macro2", ] @@ -521,9 +521,9 @@ checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "syn" -version = "2.0.72" +version = "2.0.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" +checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" dependencies = [ "proc-macro2", "quote", diff --git a/legacy-contracts/farm-staking-proxy-v13/wasm/Cargo.toml b/legacy-contracts/farm-staking-proxy-v13/wasm/Cargo.toml index 71837f035..1cd7e5663 100644 --- a/legacy-contracts/farm-staking-proxy-v13/wasm/Cargo.toml +++ b/legacy-contracts/farm-staking-proxy-v13/wasm/Cargo.toml @@ -28,7 +28,7 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "=0.52.3" +version = "=0.53.2" [workspace] members = ["."] diff --git a/legacy-contracts/farm-v12/Cargo.toml b/legacy-contracts/farm-v12/Cargo.toml index 1c5b00b29..17b883d4d 100644 --- a/legacy-contracts/farm-v12/Cargo.toml +++ b/legacy-contracts/farm-v12/Cargo.toml @@ -9,10 +9,10 @@ publish = false path = "src/lib.rs" [dependencies.multiversx-sc] -version = "0.52.3" +version = "0.53.2" [dev-dependencies] num-bigint = "0.4" [dev-dependencies.multiversx-sc-scenario] -version = "0.52.3" +version = "0.53.2" diff --git a/legacy-contracts/farm-v12/meta/Cargo.toml b/legacy-contracts/farm-v12/meta/Cargo.toml index a2f55541d..8251ed66d 100644 --- a/legacy-contracts/farm-v12/meta/Cargo.toml +++ b/legacy-contracts/farm-v12/meta/Cargo.toml @@ -7,6 +7,6 @@ publish = false [dependencies.farm-v12] path = ".." -[dependencies.multiversx-sc-meta] -version = "0.52.3" +[dependencies.multiversx-sc-meta-lib] +version = "0.53.2" default-features = false diff --git a/legacy-contracts/farm-v12/meta/src/main.rs b/legacy-contracts/farm-v12/meta/src/main.rs index bfef42f9b..5aeb346f1 100644 --- a/legacy-contracts/farm-v12/meta/src/main.rs +++ b/legacy-contracts/farm-v12/meta/src/main.rs @@ -1,3 +1,3 @@ fn main() { - multiversx_sc_meta::cli_main::(); + multiversx_sc_meta_lib::cli_main::(); } diff --git a/legacy-contracts/farm-v12/src/lib.rs b/legacy-contracts/farm-v12/src/lib.rs index 8c0d9a9d1..b575e6b8e 100644 --- a/legacy-contracts/farm-v12/src/lib.rs +++ b/legacy-contracts/farm-v12/src/lib.rs @@ -16,6 +16,8 @@ pub enum State { Migrate, } +static ERROR_LEGACY_CONTRACT: &[u8] = b"This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."; + #[multiversx_sc::contract] pub trait FarmV12 { #[init] @@ -24,7 +26,7 @@ pub trait FarmV12 { #[payable("*")] #[endpoint(acceptFee)] fn accept_fee(&self) -> SCResult<()> { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[view(calculateRewardsForGivenPosition)] @@ -33,12 +35,12 @@ pub trait FarmV12 { _amount: BigUint, _attributes_raw: ManagedBuffer, ) -> SCResult { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[endpoint(end_produce_rewards_as_owner)] fn end_produce_rewards_as_owner(&self) -> SCResult<()> { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[payable("*")] @@ -47,137 +49,137 @@ pub trait FarmV12 { &self, _opt_accept_funds_func: OptionalValue, ) -> SCResult> { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[view(getBurnedTokenAmount)] fn burned_tokens(&self) -> BigUint { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[view(getCurrentBlockFee)] fn current_block_fee_storage(&self) -> Option<(Nonce, BigUint)> { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[view(getDivisionSafetyConstant)] fn division_safety_constant(&self) -> BigUint { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[view(getFarmTokenId)] fn farm_token_id(&self) -> TokenIdentifier { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[view(getFarmTokenSupply)] fn get_farm_token_supply(&self) -> BigUint { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[view(getFarmingTokenId)] fn farming_token_id(&self) -> TokenIdentifier { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[view(getFarmingTokenReserve)] fn farming_token_reserve(&self) -> BigUint { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[view(getLastErrorMessage)] fn last_error_message(&self) -> ManagedBuffer { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[view(getLastRewardBlockNonce)] fn last_reward_block_nonce(&self) -> Nonce { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[view(getLockedAssetFactoryManagedAddress)] fn locked_asset_factory_address(&self) -> ManagedAddress { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[view(getLockedRewardAprMuliplier)] fn locked_rewards_apr_multiplier(&self) -> u8 { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[view(getMinimumFarmingEpoch)] fn minimum_farming_epoch(&self) -> u8 { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[view(getOwner)] fn owner(&self) -> ManagedAddress { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[view(getPairContractManagedAddress)] fn pair_contract_address(&self) -> ManagedAddress { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[view(getPenaltyPercent)] fn penalty_percent(&self) -> u64 { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[view(getPerBlockRewardAmount)] fn per_block_reward_amount(&self) -> BigUint { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[view(getRewardPerShare)] fn reward_per_share(&self) -> BigUint { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[view(getRewardReserve)] fn reward_reserve(&self) -> BigUint { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[view(getRewardTokenId)] fn reward_token_id(&self) -> TokenIdentifier { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[view(getRouterManagedAddress)] fn router_address(&self) -> ManagedAddress { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[view(getState)] fn state(&self) -> State { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[view(getTransferExecGasLimit)] fn transfer_exec_gas_limit(&self) -> u64 { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[view(getUndistributedFees)] fn undistributed_fee_storage(&self) -> BigUint { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[endpoint(pause)] fn pause(&self) -> SCResult<()> { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[endpoint(resume)] fn resume(&self) -> SCResult<()> { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[endpoint(setPerBlockRewardAmount)] fn set_per_block_reward_amount(&self, _per_block_amount: BigUint) -> SCResult<()> { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[only_owner] @@ -186,31 +188,31 @@ pub trait FarmV12 { &self, _opt_address: OptionalValue, ) -> INCORRECTReturnType { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[endpoint(set_locked_rewards_apr_multiplier)] fn set_locked_rewards_apr_multiplier(&self, _muliplier: u8) -> SCResult<()> { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[endpoint(set_minimum_farming_epochs)] fn set_minimum_farming_epochs(&self, _epochs: u8) -> SCResult<()> { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[endpoint(set_penalty_percent)] fn set_penalty_percent(&self, _percent: u64) -> SCResult<()> { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[endpoint(set_transfer_exec_gas_limit)] fn set_transfer_exec_gas_limit(&self, _gas_limit: u64) -> SCResult<()> { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[endpoint(start_produce_rewards)] fn start_produce_rewards(&self) -> SCResult<()> { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } } diff --git a/legacy-contracts/farm-v12/wasm/Cargo.lock b/legacy-contracts/farm-v12/wasm/Cargo.lock index 3223f31f4..279bae584 100644 --- a/legacy-contracts/farm-v12/wasm/Cargo.lock +++ b/legacy-contracts/farm-v12/wasm/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "arrayvec" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "autocfg" @@ -55,9 +55,9 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "526760b1d6236c011285b264a70a0a9dd3b3dbc53c3b5f76932f4bcfd3a8910c" +checksum = "75ea89a26f0aacda21437a8ae5ccfbefab99d8191942b3d2eddbcbf84f9866d7" dependencies = [ "bitflags", "hex-literal", @@ -69,9 +69,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad4f318427761faecf26c1f3115a3beeb5f61858845a60547d9763aa981ddd2d" +checksum = "007d7a5a8534e5dc9128cb8f15a65a21dd378e135c6016c7cd1491cd012bc8cb" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -80,9 +80,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "476501462b0c2654b64f9dec6f2c480e24b4e9b7133ec10b7167e64acda35d04" +checksum = "dffba1dce273ed5b61ee1b90aeea5c8c744617d0f12624f620768c144d83e753" dependencies = [ "hex", "proc-macro2", @@ -92,9 +92,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3557f2f12640a8a07fa6af66cc2a13b188c5b61bed72db22fe631fb3a60c3e96" +checksum = "4c17fdf90fafca2f19085ae67b0502d9f71bf8ab1be3c83808eb88e02a8c18b9" dependencies = [ "hex", "proc-macro2", @@ -105,9 +105,9 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed13aaca9cbdbc6911174cd3029e750a7563d85dd3daaa1107b1fd31c7f17245" +checksum = "20659915a4377d375c46d7f237e810053a03f7e084fad6362dd5748a7233defb" dependencies = [ "multiversx-sc", ] @@ -141,9 +141,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.36" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ "proc-macro2", ] @@ -166,9 +166,9 @@ checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "syn" -version = "2.0.72" +version = "2.0.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" +checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" dependencies = [ "proc-macro2", "quote", diff --git a/legacy-contracts/farm-v12/wasm/Cargo.toml b/legacy-contracts/farm-v12/wasm/Cargo.toml index a2e35227c..304603369 100644 --- a/legacy-contracts/farm-v12/wasm/Cargo.toml +++ b/legacy-contracts/farm-v12/wasm/Cargo.toml @@ -28,7 +28,7 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.52.3" +version = "0.53.2" [workspace] members = ["."] diff --git a/legacy-contracts/farm-v13-custom-rewards/Cargo.toml b/legacy-contracts/farm-v13-custom-rewards/Cargo.toml index 11ee0c4a1..722f71885 100644 --- a/legacy-contracts/farm-v13-custom-rewards/Cargo.toml +++ b/legacy-contracts/farm-v13-custom-rewards/Cargo.toml @@ -9,10 +9,10 @@ publish = false path = "src/lib.rs" [dependencies.multiversx-sc] -version = "0.52.3" +version = "0.53.2" [dev-dependencies] num-bigint = "0.4" [dev-dependencies.multiversx-sc-scenario] -version = "0.52.3" +version = "0.53.2" diff --git a/legacy-contracts/farm-v13-custom-rewards/meta/Cargo.toml b/legacy-contracts/farm-v13-custom-rewards/meta/Cargo.toml index 19cc6160c..2b8199137 100644 --- a/legacy-contracts/farm-v13-custom-rewards/meta/Cargo.toml +++ b/legacy-contracts/farm-v13-custom-rewards/meta/Cargo.toml @@ -7,6 +7,6 @@ publish = false [dependencies.farm-v13-custom-rewards] path = ".." -[dependencies.multiversx-sc-meta] -version = "0.52.3" +[dependencies.multiversx-sc-meta-lib] +version = "0.53.2" default-features = false diff --git a/legacy-contracts/farm-v13-custom-rewards/meta/src/main.rs b/legacy-contracts/farm-v13-custom-rewards/meta/src/main.rs index d5a799634..5ee01436e 100644 --- a/legacy-contracts/farm-v13-custom-rewards/meta/src/main.rs +++ b/legacy-contracts/farm-v13-custom-rewards/meta/src/main.rs @@ -1,3 +1,3 @@ fn main() { - multiversx_sc_meta::cli_main::(); + multiversx_sc_meta_lib::cli_main::(); } diff --git a/legacy-contracts/farm-v13-custom-rewards/src/lib.rs b/legacy-contracts/farm-v13-custom-rewards/src/lib.rs index 71cf8cf0d..c5f4b5134 100644 --- a/legacy-contracts/farm-v13-custom-rewards/src/lib.rs +++ b/legacy-contracts/farm-v13-custom-rewards/src/lib.rs @@ -28,17 +28,19 @@ pub struct FarmTokenAttributes { pub current_farm_amount: BigUint, } +static ERROR_LEGACY_CONTRACT: &[u8] = b"This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."; + #[multiversx_sc::contract] pub trait FarmV13CustomRewards { #[init] fn init(&self) -> SCResult<()> { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[only_owner] #[endpoint(addAddressToWhitelist)] fn add_address_to_whitelist(&self, _address: ManagedAddress) { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[view(calculateRewardsForGivenPosition)] @@ -47,7 +49,7 @@ pub trait FarmV13CustomRewards { _amount: BigUint, _attributes: FarmTokenAttributes, ) -> SCResult { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[payable("*")] @@ -56,19 +58,19 @@ pub trait FarmV13CustomRewards { &self, _opt_accept_funds_func: OptionalValue, ) -> SCResult> { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[only_owner] #[payable("*")] #[endpoint(depositRewards)] fn deposit_rewards(&self) -> SCResult<()> { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[endpoint(end_produce_rewards)] fn end_produce_rewards(&self) -> SCResult<()> { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[payable("*")] @@ -77,7 +79,7 @@ pub trait FarmV13CustomRewards { &self, _opt_accept_funds_func: OptionalValue, ) -> SCResult> { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[payable("*")] @@ -86,97 +88,97 @@ pub trait FarmV13CustomRewards { &self, _opt_accept_funds_func: OptionalValue, ) -> SCResult> { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[view(getBlockForEndRewards)] fn block_for_end_rewards(&self) -> u64 { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[view(getBurnGasLimit)] fn burn_gas_limit(&self) -> u64 { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[view(getDivisionSafetyConstant)] fn division_safety_constant(&self) -> BigUint { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[view(getFarmTokenId)] fn farm_token_id(&self) -> TokenIdentifier { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[view(getFarmTokenSupply)] fn farm_token_supply(&self) -> BigUint { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[view(getFarmingTokenId)] fn farming_token_id(&self) -> TokenIdentifier { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[view(getLastErrorMessage)] fn last_error_message(&self) -> ManagedBuffer { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[view(getLastRewardBlockNonce)] fn last_reward_block_nonce(&self) -> Nonce { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[view(getMinimumFarmingEpoch)] fn minimum_farming_epochs(&self) -> u8 { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[view(getOwner)] fn owner(&self) -> ManagedAddress { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[view(getPenaltyPercent)] fn penalty_percent(&self) -> u64 { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[view(getPerBlockRewardAmount)] fn per_block_reward_amount(&self) -> BigUint { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[view(getRewardPerShare)] fn reward_per_share(&self) -> BigUint { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[view(getRewardReserve)] fn reward_reserve(&self) -> BigUint { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[view(getRewardTokenId)] fn reward_token_id(&self) -> TokenIdentifier { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[view(getState)] fn state(&self) -> State { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[view(getTransferExecGasLimit)] fn transfer_exec_gas_limit(&self) -> u64 { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[view(getWhitelist)] fn whitelist(&self) -> UnorderedSetMapper { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[payable("*")] @@ -185,12 +187,12 @@ pub trait FarmV13CustomRewards { &self, _opt_accept_funds_func: OptionalValue, ) -> SCResult> { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[endpoint(pause)] fn pause(&self) -> SCResult<()> { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[payable("EGLD")] @@ -201,58 +203,58 @@ pub trait FarmV13CustomRewards { _token_ticker: ManagedBuffer, _num_decimals: usize, ) -> INCORRECTReturnType { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[only_owner] #[endpoint(removeAddressFromWhitelist)] fn remove_address_from_whitelist(&self, _address: ManagedAddress) { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[endpoint(resume)] fn resume(&self) -> SCResult<()> { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[only_owner] #[endpoint(setBlockForEndRewards)] fn set_block_for_end_rewards(&self, _block_end: u64) -> SCResult<()> { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[endpoint(setLocalRolesFarmToken)] fn set_local_roles_farm_token(&self) -> INCORRECTReturnType { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[endpoint(setPerBlockRewardAmount)] fn set_per_block_reward_amount(&self, _per_block_amount: BigUint) -> SCResult<()> { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[endpoint(set_burn_gas_limit)] fn set_burn_gas_limit(&self, _gas_limit: u64) -> SCResult<()> { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[endpoint(set_minimum_farming_epochs)] fn set_minimum_farming_epochs(&self, _epochs: u8) -> SCResult<()> { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[endpoint(set_penalty_percent)] fn set_penalty_percent(&self, _percent: u64) -> SCResult<()> { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[endpoint(set_transfer_exec_gas_limit)] fn set_transfer_exec_gas_limit(&self, _gas_limit: u64) -> SCResult<()> { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[endpoint(startProduceRewards)] fn start_produce_rewards(&self) -> SCResult<()> { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } } diff --git a/legacy-contracts/farm-v13-custom-rewards/wasm/Cargo.lock b/legacy-contracts/farm-v13-custom-rewards/wasm/Cargo.lock index 72579ae25..ce3ccf8cf 100644 --- a/legacy-contracts/farm-v13-custom-rewards/wasm/Cargo.lock +++ b/legacy-contracts/farm-v13-custom-rewards/wasm/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "arrayvec" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "autocfg" @@ -55,9 +55,9 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "526760b1d6236c011285b264a70a0a9dd3b3dbc53c3b5f76932f4bcfd3a8910c" +checksum = "75ea89a26f0aacda21437a8ae5ccfbefab99d8191942b3d2eddbcbf84f9866d7" dependencies = [ "bitflags", "hex-literal", @@ -69,9 +69,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad4f318427761faecf26c1f3115a3beeb5f61858845a60547d9763aa981ddd2d" +checksum = "007d7a5a8534e5dc9128cb8f15a65a21dd378e135c6016c7cd1491cd012bc8cb" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -80,9 +80,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "476501462b0c2654b64f9dec6f2c480e24b4e9b7133ec10b7167e64acda35d04" +checksum = "dffba1dce273ed5b61ee1b90aeea5c8c744617d0f12624f620768c144d83e753" dependencies = [ "hex", "proc-macro2", @@ -92,9 +92,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3557f2f12640a8a07fa6af66cc2a13b188c5b61bed72db22fe631fb3a60c3e96" +checksum = "4c17fdf90fafca2f19085ae67b0502d9f71bf8ab1be3c83808eb88e02a8c18b9" dependencies = [ "hex", "proc-macro2", @@ -105,9 +105,9 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed13aaca9cbdbc6911174cd3029e750a7563d85dd3daaa1107b1fd31c7f17245" +checksum = "20659915a4377d375c46d7f237e810053a03f7e084fad6362dd5748a7233defb" dependencies = [ "multiversx-sc", ] @@ -141,9 +141,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.36" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ "proc-macro2", ] @@ -166,9 +166,9 @@ checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "syn" -version = "2.0.72" +version = "2.0.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" +checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" dependencies = [ "proc-macro2", "quote", diff --git a/legacy-contracts/farm-v13-custom-rewards/wasm/Cargo.toml b/legacy-contracts/farm-v13-custom-rewards/wasm/Cargo.toml index 6eaa243e8..23b1394e1 100644 --- a/legacy-contracts/farm-v13-custom-rewards/wasm/Cargo.toml +++ b/legacy-contracts/farm-v13-custom-rewards/wasm/Cargo.toml @@ -28,7 +28,7 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.52.3" +version = "0.53.2" [workspace] members = ["."] diff --git a/legacy-contracts/farm-v13-locked-rewards/Cargo.toml b/legacy-contracts/farm-v13-locked-rewards/Cargo.toml index 31a1cf1fa..a9a171d50 100644 --- a/legacy-contracts/farm-v13-locked-rewards/Cargo.toml +++ b/legacy-contracts/farm-v13-locked-rewards/Cargo.toml @@ -9,10 +9,10 @@ publish = false path = "src/lib.rs" [dependencies.multiversx-sc] -version = "0.52.3" +version = "0.53.2" [dev-dependencies] num-bigint = "0.4" [dev-dependencies.multiversx-sc-scenario] -version = "0.52.3" +version = "0.53.2" diff --git a/legacy-contracts/farm-v13-locked-rewards/meta/Cargo.toml b/legacy-contracts/farm-v13-locked-rewards/meta/Cargo.toml index f4fc5fdb2..17f06671c 100644 --- a/legacy-contracts/farm-v13-locked-rewards/meta/Cargo.toml +++ b/legacy-contracts/farm-v13-locked-rewards/meta/Cargo.toml @@ -7,6 +7,6 @@ publish = false [dependencies.farm-v13-locked-rewards] path = ".." -[dependencies.multiversx-sc-meta] -version = "0.52.3" +[dependencies.multiversx-sc-meta-lib] +version = "0.53.2" default-features = false diff --git a/legacy-contracts/farm-v13-locked-rewards/meta/src/main.rs b/legacy-contracts/farm-v13-locked-rewards/meta/src/main.rs index 09e0655ed..48a6d6e77 100644 --- a/legacy-contracts/farm-v13-locked-rewards/meta/src/main.rs +++ b/legacy-contracts/farm-v13-locked-rewards/meta/src/main.rs @@ -1,3 +1,3 @@ fn main() { - multiversx_sc_meta::cli_main::(); + multiversx_sc_meta_lib::cli_main::(); } diff --git a/legacy-contracts/farm-v13-locked-rewards/src/lib.rs b/legacy-contracts/farm-v13-locked-rewards/src/lib.rs index 1ab7cba04..adc122425 100644 --- a/legacy-contracts/farm-v13-locked-rewards/src/lib.rs +++ b/legacy-contracts/farm-v13-locked-rewards/src/lib.rs @@ -59,6 +59,8 @@ pub struct FarmMigrationConfig { old_farm_token_id: TokenIdentifier, } +static ERROR_LEGACY_CONTRACT: &[u8] = b"This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."; + #[multiversx_sc::contract] pub trait FarmV13LockedRewards { #[init] @@ -70,7 +72,7 @@ pub trait FarmV13LockedRewards { &self, _opt_accept_funds_func: OptionalValue, ) -> ExitFarmResultType { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[payable("*")] @@ -79,7 +81,7 @@ pub trait FarmV13LockedRewards { &self, _opt_accept_funds_func: OptionalValue, ) -> EsdtTokenPayment { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[view(calculateRewardsForGivenPosition)] @@ -88,71 +90,71 @@ pub trait FarmV13LockedRewards { _amount: BigUint, _attributes: FarmTokenAttributes, ) -> BigUint { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[only_owner] #[endpoint] fn end_produce_rewards(&self) { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[only_owner] #[endpoint(setPerBlockRewardAmount)] fn set_per_block_rewards(&self, _per_block_amount: BigUint) { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[only_owner] #[endpoint] fn set_penalty_percent(&self, _percent: u64) { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[only_owner] #[endpoint] fn set_minimum_farming_epochs(&self, _epochs: u8) { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[only_owner] #[endpoint] fn set_transfer_exec_gas_limit(&self, _gas_limit: u64) { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[only_owner] #[endpoint] fn set_burn_gas_limit(&self, _gas_limit: u64) { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[endpoint(setRpsAndStartRewards)] fn set_rps_and_start_rewards(&self, _rps: BigUint) { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[only_owner] #[endpoint] fn pause(&self) { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[only_owner] #[endpoint] fn resume(&self) { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[endpoint(startProduceRewards)] fn start_produce_rewards_as_owner(&self) { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[only_owner] #[endpoint(setFarmTokenSupply)] fn set_farm_token_supply(&self, _supply: BigUint) { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[only_owner] @@ -164,7 +166,7 @@ pub trait FarmV13LockedRewards { _new_farm_address: ManagedAddress, _new_farm_with_lock_address: ManagedAddress, ) { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[only_owner] @@ -176,13 +178,13 @@ pub trait FarmV13LockedRewards { _token_ticker: ManagedBuffer, _num_decimals: usize, ) { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[only_owner] #[endpoint(setLocalRolesFarmToken)] fn set_local_roles_farm_token(&self) { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[payable("*")] @@ -192,7 +194,7 @@ pub trait FarmV13LockedRewards { _old_attrs: FarmTokenAttributesV1_2, _orig_caller: ManagedAddress, ) -> EsdtTokenPayment { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[view(getFarmMigrationConfiguration)] diff --git a/legacy-contracts/farm-v13-locked-rewards/wasm/Cargo.lock b/legacy-contracts/farm-v13-locked-rewards/wasm/Cargo.lock index 648687653..be30bee74 100644 --- a/legacy-contracts/farm-v13-locked-rewards/wasm/Cargo.lock +++ b/legacy-contracts/farm-v13-locked-rewards/wasm/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "arrayvec" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "autocfg" @@ -55,9 +55,9 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "526760b1d6236c011285b264a70a0a9dd3b3dbc53c3b5f76932f4bcfd3a8910c" +checksum = "75ea89a26f0aacda21437a8ae5ccfbefab99d8191942b3d2eddbcbf84f9866d7" dependencies = [ "bitflags", "hex-literal", @@ -69,9 +69,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad4f318427761faecf26c1f3115a3beeb5f61858845a60547d9763aa981ddd2d" +checksum = "007d7a5a8534e5dc9128cb8f15a65a21dd378e135c6016c7cd1491cd012bc8cb" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -80,9 +80,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "476501462b0c2654b64f9dec6f2c480e24b4e9b7133ec10b7167e64acda35d04" +checksum = "dffba1dce273ed5b61ee1b90aeea5c8c744617d0f12624f620768c144d83e753" dependencies = [ "hex", "proc-macro2", @@ -92,9 +92,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3557f2f12640a8a07fa6af66cc2a13b188c5b61bed72db22fe631fb3a60c3e96" +checksum = "4c17fdf90fafca2f19085ae67b0502d9f71bf8ab1be3c83808eb88e02a8c18b9" dependencies = [ "hex", "proc-macro2", @@ -105,9 +105,9 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed13aaca9cbdbc6911174cd3029e750a7563d85dd3daaa1107b1fd31c7f17245" +checksum = "20659915a4377d375c46d7f237e810053a03f7e084fad6362dd5748a7233defb" dependencies = [ "multiversx-sc", ] @@ -141,9 +141,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.36" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ "proc-macro2", ] @@ -166,9 +166,9 @@ checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "syn" -version = "2.0.72" +version = "2.0.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" +checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" dependencies = [ "proc-macro2", "quote", diff --git a/legacy-contracts/farm-v13-locked-rewards/wasm/Cargo.toml b/legacy-contracts/farm-v13-locked-rewards/wasm/Cargo.toml index 6c8dfa0f3..0009f0580 100644 --- a/legacy-contracts/farm-v13-locked-rewards/wasm/Cargo.toml +++ b/legacy-contracts/farm-v13-locked-rewards/wasm/Cargo.toml @@ -28,7 +28,7 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.52.3" +version = "0.53.2" [workspace] members = ["."] diff --git a/legacy-contracts/farm-v13/Cargo.toml b/legacy-contracts/farm-v13/Cargo.toml index 196c8b313..1d0cb3293 100644 --- a/legacy-contracts/farm-v13/Cargo.toml +++ b/legacy-contracts/farm-v13/Cargo.toml @@ -9,10 +9,10 @@ publish = false path = "src/lib.rs" [dependencies.multiversx-sc] -version = "0.52.3" +version = "0.53.2" [dev-dependencies] num-bigint = "0.4" [dev-dependencies.multiversx-sc-scenario] -version = "0.52.3" +version = "0.53.2" diff --git a/legacy-contracts/farm-v13/meta/Cargo.toml b/legacy-contracts/farm-v13/meta/Cargo.toml index ae52d18fb..a2f61190b 100644 --- a/legacy-contracts/farm-v13/meta/Cargo.toml +++ b/legacy-contracts/farm-v13/meta/Cargo.toml @@ -7,6 +7,6 @@ publish = false [dependencies.farm-v13] path = ".." -[dependencies.multiversx-sc-meta] -version = "0.52.3" +[dependencies.multiversx-sc-meta-lib] +version = "0.53.2" default-features = false diff --git a/legacy-contracts/farm-v13/meta/src/main.rs b/legacy-contracts/farm-v13/meta/src/main.rs index e5e10c77e..b7c87b3f2 100644 --- a/legacy-contracts/farm-v13/meta/src/main.rs +++ b/legacy-contracts/farm-v13/meta/src/main.rs @@ -1,3 +1,3 @@ fn main() { - multiversx_sc_meta::cli_main::(); + multiversx_sc_meta_lib::cli_main::(); } diff --git a/legacy-contracts/farm-v13/src/lib.rs b/legacy-contracts/farm-v13/src/lib.rs index 9d877876f..81461625b 100644 --- a/legacy-contracts/farm-v13/src/lib.rs +++ b/legacy-contracts/farm-v13/src/lib.rs @@ -63,6 +63,8 @@ pub struct FarmMigrationConfig { old_farm_token_id: TokenIdentifier, } +static ERROR_LEGACY_CONTRACT: &[u8] = b"This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."; + #[multiversx_sc::contract] pub trait FarmV13 { #[init] @@ -74,7 +76,7 @@ pub trait FarmV13 { &self, _opt_accept_funds_func: OptionalValue, ) -> EnterFarmResultType { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[payable("*")] @@ -83,7 +85,7 @@ pub trait FarmV13 { &self, _opt_accept_funds_func: OptionalValue, ) -> ExitFarmResultType { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[payable("*")] @@ -92,7 +94,7 @@ pub trait FarmV13 { &self, _opt_accept_funds_func: OptionalValue, ) -> ClaimRewardsResultType { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[payable("*")] @@ -101,7 +103,7 @@ pub trait FarmV13 { &self, _opt_accept_funds_func: OptionalValue, ) -> CompoundRewardsResultType { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[payable("*")] @@ -110,7 +112,7 @@ pub trait FarmV13 { &self, _opt_accept_funds_func: OptionalValue, ) -> EsdtTokenPayment { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[view(calculateRewardsForGivenPosition)] @@ -119,66 +121,66 @@ pub trait FarmV13 { _amount: BigUint, _attributes: FarmTokenAttributes, ) -> BigUint { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[only_owner] #[endpoint] fn end_produce_rewards(&self) { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[only_owner] #[endpoint(setPerBlockRewardAmount)] fn set_per_block_rewards(&self, _per_block_amount: BigUint) { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[only_owner] #[endpoint] fn set_penalty_percent(&self, _percent: u64) { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[only_owner] #[endpoint] fn set_minimum_farming_epochs(&self, _epochs: u8) { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[only_owner] #[endpoint] fn set_transfer_exec_gas_limit(&self, _gas_limit: u64) { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[only_owner] #[endpoint] fn set_burn_gas_limit(&self, _gas_limit: u64) { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[only_owner] #[endpoint] fn pause(&self) { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[only_owner] #[endpoint] fn resume(&self) { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[endpoint(startProduceRewards)] fn start_produce_rewards_as_owner(&self) { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[only_owner] #[endpoint(setFarmTokenSupply)] fn set_farm_token_supply(&self, _supply: BigUint) { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[only_owner] @@ -190,7 +192,7 @@ pub trait FarmV13 { _new_farm_address: ManagedAddress, _new_farm_with_lock_address: ManagedAddress, ) { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[only_owner] @@ -202,18 +204,18 @@ pub trait FarmV13 { _token_ticker: ManagedBuffer, _num_decimals: usize, ) { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[only_owner] #[endpoint(setLocalRolesFarmToken)] fn set_local_roles_farm_token(&self) { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[endpoint(setRpsAndStartRewards)] fn set_rps_and_start_rewards(&self, _rps: BigUint) { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[payable("*")] @@ -223,7 +225,7 @@ pub trait FarmV13 { _old_attrs: FarmTokenAttributesV1_2, _orig_caller: ManagedAddress, ) -> EsdtTokenPayment { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[view(getFarmMigrationConfiguration)] diff --git a/legacy-contracts/farm-v13/wasm/Cargo.lock b/legacy-contracts/farm-v13/wasm/Cargo.lock index 2f99076f5..9a53ce3f3 100644 --- a/legacy-contracts/farm-v13/wasm/Cargo.lock +++ b/legacy-contracts/farm-v13/wasm/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "arrayvec" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "autocfg" @@ -55,9 +55,9 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "526760b1d6236c011285b264a70a0a9dd3b3dbc53c3b5f76932f4bcfd3a8910c" +checksum = "75ea89a26f0aacda21437a8ae5ccfbefab99d8191942b3d2eddbcbf84f9866d7" dependencies = [ "bitflags", "hex-literal", @@ -69,9 +69,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad4f318427761faecf26c1f3115a3beeb5f61858845a60547d9763aa981ddd2d" +checksum = "007d7a5a8534e5dc9128cb8f15a65a21dd378e135c6016c7cd1491cd012bc8cb" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -80,9 +80,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "476501462b0c2654b64f9dec6f2c480e24b4e9b7133ec10b7167e64acda35d04" +checksum = "dffba1dce273ed5b61ee1b90aeea5c8c744617d0f12624f620768c144d83e753" dependencies = [ "hex", "proc-macro2", @@ -92,9 +92,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3557f2f12640a8a07fa6af66cc2a13b188c5b61bed72db22fe631fb3a60c3e96" +checksum = "4c17fdf90fafca2f19085ae67b0502d9f71bf8ab1be3c83808eb88e02a8c18b9" dependencies = [ "hex", "proc-macro2", @@ -105,9 +105,9 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed13aaca9cbdbc6911174cd3029e750a7563d85dd3daaa1107b1fd31c7f17245" +checksum = "20659915a4377d375c46d7f237e810053a03f7e084fad6362dd5748a7233defb" dependencies = [ "multiversx-sc", ] @@ -141,9 +141,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.36" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ "proc-macro2", ] @@ -166,9 +166,9 @@ checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "syn" -version = "2.0.72" +version = "2.0.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" +checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" dependencies = [ "proc-macro2", "quote", diff --git a/legacy-contracts/farm-v13/wasm/Cargo.toml b/legacy-contracts/farm-v13/wasm/Cargo.toml index 12487fd26..580a514c5 100644 --- a/legacy-contracts/farm-v13/wasm/Cargo.toml +++ b/legacy-contracts/farm-v13/wasm/Cargo.toml @@ -28,7 +28,7 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.52.3" +version = "0.53.2" [workspace] members = ["."] diff --git a/locked-asset/distribution/.gitignore b/legacy-contracts/locked-asset-distribution/.gitignore similarity index 100% rename from locked-asset/distribution/.gitignore rename to legacy-contracts/locked-asset-distribution/.gitignore diff --git a/locked-asset/distribution/Cargo.toml b/legacy-contracts/locked-asset-distribution/Cargo.toml similarity index 72% rename from locked-asset/distribution/Cargo.toml rename to legacy-contracts/locked-asset-distribution/Cargo.toml index 94a6783ee..6e81aa03a 100644 --- a/locked-asset/distribution/Cargo.toml +++ b/legacy-contracts/locked-asset-distribution/Cargo.toml @@ -1,6 +1,6 @@ [package] edition = "2021" -name = "distribution" +name = "locked-asset-distribution" publish = false version = "0.0.0" @@ -10,12 +10,9 @@ path = "src/lib.rs" [dependencies.common_structs] path = "../../common/common_structs" -[dependencies.factory] -path = "../factory" - [dependencies.multiversx-sc] -version = "=0.52.3" +version = "=0.53.2" features = ["esdt-token-payment-legacy-decode"] [dev-dependencies.multiversx-sc-scenario] -version = "=0.52.3" +version = "=0.53.2" diff --git a/locked-asset/distribution/README.md b/legacy-contracts/locked-asset-distribution/README.md similarity index 100% rename from locked-asset/distribution/README.md rename to legacy-contracts/locked-asset-distribution/README.md diff --git a/locked-asset/distribution/meta/Cargo.toml b/legacy-contracts/locked-asset-distribution/meta/Cargo.toml similarity index 52% rename from locked-asset/distribution/meta/Cargo.toml rename to legacy-contracts/locked-asset-distribution/meta/Cargo.toml index 532a034b9..800a737f6 100644 --- a/locked-asset/distribution/meta/Cargo.toml +++ b/legacy-contracts/locked-asset-distribution/meta/Cargo.toml @@ -1,13 +1,13 @@ [package] -name = "distribution-abi" +name = "locked-asset-distribution-abi" version = "0.0.0" authors = ["MultiversX "] edition = "2021" publish = false -[dependencies.distribution] +[dependencies.locked-asset-distribution] path = ".." -[dependencies.multiversx-sc-meta] -version = "0.52.3" +[dependencies.multiversx-sc-meta-lib] +version = "0.53.2" default-features = false diff --git a/legacy-contracts/locked-asset-distribution/meta/src/main.rs b/legacy-contracts/locked-asset-distribution/meta/src/main.rs new file mode 100644 index 000000000..6b03650e9 --- /dev/null +++ b/legacy-contracts/locked-asset-distribution/meta/src/main.rs @@ -0,0 +1,3 @@ +fn main() { + multiversx_sc_meta_lib::cli_main::(); +} diff --git a/farm-staking/metabonding-staking/multiversx.json b/legacy-contracts/locked-asset-distribution/multiversx.json similarity index 100% rename from farm-staking/metabonding-staking/multiversx.json rename to legacy-contracts/locked-asset-distribution/multiversx.json diff --git a/legacy-contracts/locked-asset-distribution/src/lib.rs b/legacy-contracts/locked-asset-distribution/src/lib.rs new file mode 100644 index 000000000..0103fbf09 --- /dev/null +++ b/legacy-contracts/locked-asset-distribution/src/lib.rs @@ -0,0 +1,92 @@ +#![no_std] +#![allow(clippy::type_complexity)] + +use common_structs::UnlockPeriod; + +multiversx_sc::imports!(); +multiversx_sc::derive_imports!(); + +#[derive(ManagedVecItem)] +pub struct BigUintEpochPair { + pub biguint: BigUint, + pub epoch: u64, +} + +#[derive(ManagedVecItem, TopEncode, TopDecode, NestedEncode, NestedDecode, PartialEq, TypeAbi)] +pub struct UserLockedAssetKey { + pub caller: ManagedAddress, + pub spread_epoch: u64, +} + +#[derive(TopEncode, TopDecode, NestedEncode, NestedDecode, PartialEq, TypeAbi, Clone)] +pub struct CommunityDistribution { + pub total_amount: BigUint, + pub spread_epoch: u64, + pub after_planning_amount: BigUint, +} + +#[multiversx_sc::contract] +pub trait Distribution { + #[init] + fn init(&self) {} + + #[upgrade] + fn upgrade(&self) {} + + #[endpoint(clearSingleValueMappers)] + fn clear_single_value_mappers(&self) { + self.unlock_period().clear(); + self.locked_asset_factory_address().clear(); + self.asset_token_id().clear(); + self.global_op_is_ongoing().clear(); + } + + // Returns the number of entries deleted and entries remaining in the storage. + #[endpoint(clearCommunityDistributionList)] + fn clear_community_distribution_list(&self, entries_to_delete: u64) -> (u64, usize) { + let mut counter = 0; + for node in self.community_distribution_list().iter() { + if counter >= entries_to_delete { + break; + } + self.community_distribution_list().remove_node(&node); + counter += 1; + } + (counter, self.community_distribution_list().len()) + } + + // Returns the number of entries deleted and entries remaining in the storage. + #[endpoint(clearUserLockedAssetMap)] + fn clear_user_locked_asset_map(&self, entries_to_delete: u64) -> (u64, usize) { + let mut counter = 0; + for key in self.user_locked_asset_map().keys() { + if counter >= entries_to_delete { + break; + } + self.user_locked_asset_map().remove(&key); + counter += 1; + } + (counter, self.user_locked_asset_map().len()) + } + + #[view(getUnlockPeriod)] + #[storage_mapper("unlock_period")] + fn unlock_period(&self) -> SingleValueMapper>; + + #[view(getCommunityDistributionList)] + #[storage_mapper("community_distribution_list")] + fn community_distribution_list(&self) -> LinkedListMapper>; + + #[storage_mapper("user_locked_asset_map")] + fn user_locked_asset_map(&self) -> MapMapper, BigUint>; + + #[storage_mapper("locked_asset_factory_address")] + fn locked_asset_factory_address(&self) -> SingleValueMapper; + + #[view(getAssetTokenId)] + #[storage_mapper("asset_token_id")] + fn asset_token_id(&self) -> SingleValueMapper; + + #[storage_mapper("global_operation_ongoing")] + fn global_op_is_ongoing(&self) -> SingleValueMapper; +} diff --git a/locked-asset/factory/wasm/Cargo.lock b/legacy-contracts/locked-asset-distribution/wasm/Cargo.lock similarity index 51% rename from locked-asset/factory/wasm/Cargo.lock rename to legacy-contracts/locked-asset-distribution/wasm/Cargo.lock index 0464466be..47a5d2e4b 100644 --- a/locked-asset/factory/wasm/Cargo.lock +++ b/legacy-contracts/locked-asset-distribution/wasm/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "arrayvec" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "autocfg" @@ -20,19 +20,6 @@ version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" -[[package]] -name = "cfg-if" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" - -[[package]] -name = "common_errors" -version = "0.0.0" -dependencies = [ - "multiversx-sc", -] - [[package]] name = "common_structs" version = "0.0.0" @@ -44,58 +31,12 @@ dependencies = [ "unwrappable", ] -[[package]] -name = "either" -version = "1.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" - [[package]] name = "endian-type" version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c34f04666d835ff5d62e058c3995147c06f42fe86ff053337632bca83e42702d" -[[package]] -name = "energy-factory" -version = "0.0.0" -dependencies = [ - "common_structs", - "legacy_token_decode_module", - "math", - "mergeable", - "multiversx-sc", - "multiversx-sc-modules", - "sc_whitelist_module", - "simple-lock", - "unwrappable", - "utils", -] - -[[package]] -name = "factory" -version = "0.0.0" -dependencies = [ - "arrayvec", - "common_errors", - "common_structs", - "energy-factory", - "itertools", - "multiversx-sc", - "multiversx-sc-modules", - "token_merge_helper", - "token_send", - "wee_alloc", -] - -[[package]] -name = "factory-wasm" -version = "0.0.0" -dependencies = [ - "factory", - "multiversx-sc-wasm-adapter", -] - [[package]] name = "fixed-supply-token" version = "0.0.0" @@ -116,28 +57,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] -name = "itertools" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" -dependencies = [ - "either", -] - -[[package]] -name = "legacy_token_decode_module" +name = "locked-asset-distribution" version = "0.0.0" dependencies = [ "common_structs", "multiversx-sc", - "utils", ] [[package]] -name = "libc" -version = "0.2.158" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439" +name = "locked-asset-distribution-wasm" +version = "0.0.0" +dependencies = [ + "locked-asset-distribution", + "multiversx-sc-wasm-adapter", +] [[package]] name = "math" @@ -146,12 +79,6 @@ dependencies = [ "multiversx-sc", ] -[[package]] -name = "memory_units" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8452105ba047068f40ff7093dd1d9da90898e63dd61736462e9cdda6a90ad3c3" - [[package]] name = "mergeable" version = "0.0.0" @@ -161,9 +88,9 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "526760b1d6236c011285b264a70a0a9dd3b3dbc53c3b5f76932f4bcfd3a8910c" +checksum = "75ea89a26f0aacda21437a8ae5ccfbefab99d8191942b3d2eddbcbf84f9866d7" dependencies = [ "bitflags", "hex-literal", @@ -175,9 +102,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad4f318427761faecf26c1f3115a3beeb5f61858845a60547d9763aa981ddd2d" +checksum = "007d7a5a8534e5dc9128cb8f15a65a21dd378e135c6016c7cd1491cd012bc8cb" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -186,9 +113,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "476501462b0c2654b64f9dec6f2c480e24b4e9b7133ec10b7167e64acda35d04" +checksum = "dffba1dce273ed5b61ee1b90aeea5c8c744617d0f12624f620768c144d83e753" dependencies = [ "hex", "proc-macro2", @@ -198,9 +125,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3557f2f12640a8a07fa6af66cc2a13b188c5b61bed72db22fe631fb3a60c3e96" +checksum = "4c17fdf90fafca2f19085ae67b0502d9f71bf8ab1be3c83808eb88e02a8c18b9" dependencies = [ "hex", "proc-macro2", @@ -209,20 +136,11 @@ dependencies = [ "syn", ] -[[package]] -name = "multiversx-sc-modules" -version = "0.52.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61f5c29c6044f3dc9e866858feee625d7fae5604a68ac7bd66dec683eee97563" -dependencies = [ - "multiversx-sc", -] - [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed13aaca9cbdbc6911174cd3029e750a7563d85dd3daaa1107b1fd31c7f17245" +checksum = "20659915a4377d375c46d7f237e810053a03f7e084fad6362dd5748a7233defb" dependencies = [ "multiversx-sc", ] @@ -256,9 +174,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.36" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ "proc-macro2", ] @@ -273,23 +191,6 @@ dependencies = [ "nibble_vec", ] -[[package]] -name = "sc_whitelist_module" -version = "0.0.0" -dependencies = [ - "common_errors", - "multiversx-sc", -] - -[[package]] -name = "simple-lock" -version = "0.0.0" -dependencies = [ - "common_structs", - "multiversx-sc", - "multiversx-sc-modules", -] - [[package]] name = "smallvec" version = "1.13.2" @@ -298,32 +199,15 @@ checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "syn" -version = "2.0.72" +version = "2.0.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" +checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" dependencies = [ "proc-macro2", "quote", "unicode-ident", ] -[[package]] -name = "token_merge_helper" -version = "0.0.0" -dependencies = [ - "common_errors", - "multiversx-sc", -] - -[[package]] -name = "token_send" -version = "0.0.0" -dependencies = [ - "common_errors", - "common_structs", - "multiversx-sc", -] - [[package]] name = "unicode-ident" version = "1.0.12" @@ -342,47 +226,3 @@ version = "0.0.0" dependencies = [ "multiversx-sc", ] - -[[package]] -name = "utils" -version = "0.0.0" -dependencies = [ - "common_structs", - "fixed-supply-token", - "mergeable", - "multiversx-sc", -] - -[[package]] -name = "wee_alloc" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbb3b5a6b2bb17cb6ad44a2e68a43e8d2722c997da10e928665c72ec6c0a0b8e" -dependencies = [ - "cfg-if", - "libc", - "memory_units", - "winapi", -] - -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" diff --git a/locked-asset/factory/wasm/Cargo.toml b/legacy-contracts/locked-asset-distribution/wasm/Cargo.toml similarity index 83% rename from locked-asset/factory/wasm/Cargo.toml rename to legacy-contracts/locked-asset-distribution/wasm/Cargo.toml index 4fdf6de1c..0a3916d83 100644 --- a/locked-asset/factory/wasm/Cargo.toml +++ b/legacy-contracts/locked-asset-distribution/wasm/Cargo.toml @@ -5,7 +5,7 @@ # ########################################## [package] -name = "factory-wasm" +name = "locked-asset-distribution-wasm" version = "0.0.0" edition = "2021" publish = false @@ -24,11 +24,11 @@ overflow-checks = false [profile.dev] panic = "abort" -[dependencies.factory] +[dependencies.locked-asset-distribution] path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "=0.52.3" +version = "=0.53.2" [workspace] members = ["."] diff --git a/legacy-contracts/locked-asset-distribution/wasm/src/lib.rs b/legacy-contracts/locked-asset-distribution/wasm/src/lib.rs new file mode 100644 index 000000000..b0bc90188 --- /dev/null +++ b/legacy-contracts/locked-asset-distribution/wasm/src/lib.rs @@ -0,0 +1,32 @@ +// Code generated by the multiversx-sc build system. DO NOT EDIT. + +//////////////////////////////////////////////////// +////////////////// AUTO-GENERATED ////////////////// +//////////////////////////////////////////////////// + +// Init: 1 +// Upgrade: 1 +// Endpoints: 6 +// Async Callback (empty): 1 +// Total number of exported functions: 9 + +#![no_std] + +multiversx_sc_wasm_adapter::allocator!(); +multiversx_sc_wasm_adapter::panic_handler!(); + +multiversx_sc_wasm_adapter::endpoints! { + locked_asset_distribution + ( + init => init + upgrade => upgrade + clearSingleValueMappers => clear_single_value_mappers + clearCommunityDistributionList => clear_community_distribution_list + clearUserLockedAssetMap => clear_user_locked_asset_map + getUnlockPeriod => unlock_period + getCommunityDistributionList => community_distribution_list + getAssetTokenId => asset_token_id + ) +} + +multiversx_sc_wasm_adapter::async_callback_empty! {} diff --git a/legacy-contracts/metabonding-staking-legacy/Cargo.toml b/legacy-contracts/metabonding-staking-legacy/Cargo.toml new file mode 100644 index 000000000..18fb97a80 --- /dev/null +++ b/legacy-contracts/metabonding-staking-legacy/Cargo.toml @@ -0,0 +1,18 @@ +[package] +name = "metabonding-staking-legacy" +version = "0.0.0" +authors = ["you"] +edition = "2021" +publish = false + +[lib] +path = "src/lib.rs" + +[dependencies.multiversx-sc] +version = "0.53.2" + +[dev-dependencies] +num-bigint = "0.4" + +[dev-dependencies.multiversx-sc-scenario] +version = "0.53.2" diff --git a/legacy-contracts/metabonding-staking-legacy/meta/Cargo.toml b/legacy-contracts/metabonding-staking-legacy/meta/Cargo.toml new file mode 100644 index 000000000..38850a856 --- /dev/null +++ b/legacy-contracts/metabonding-staking-legacy/meta/Cargo.toml @@ -0,0 +1,12 @@ +[package] +name = "metabonding-staking-legacy-meta" +version = "0.0.0" +edition = "2021" +publish = false + +[dependencies.metabonding-staking-legacy] +path = ".." + +[dependencies.multiversx-sc-meta-lib] +version = "0.53.2" +default-features = false diff --git a/legacy-contracts/metabonding-staking-legacy/meta/src/main.rs b/legacy-contracts/metabonding-staking-legacy/meta/src/main.rs new file mode 100644 index 000000000..74e71b129 --- /dev/null +++ b/legacy-contracts/metabonding-staking-legacy/meta/src/main.rs @@ -0,0 +1,3 @@ +fn main() { + multiversx_sc_meta_lib::cli_main::(); +} diff --git a/locked-asset/distribution/multiversx.json b/legacy-contracts/metabonding-staking-legacy/multiversx.json similarity index 100% rename from locked-asset/distribution/multiversx.json rename to legacy-contracts/metabonding-staking-legacy/multiversx.json diff --git a/legacy-contracts/metabonding-staking-legacy/src/lib.rs b/legacy-contracts/metabonding-staking-legacy/src/lib.rs new file mode 100644 index 000000000..1d78ee973 --- /dev/null +++ b/legacy-contracts/metabonding-staking-legacy/src/lib.rs @@ -0,0 +1,96 @@ +#![no_std] + +use multiversx_sc::derive_imports::*; +use multiversx_sc::imports::*; + +pub type SnapshotEntry = MultiValue2, BigUint>; + +#[derive(TypeAbi, TopEncode, TopDecode, NestedEncode, Debug, PartialEq)] +pub struct UserEntry { + pub token_nonce: u64, + pub stake_amount: BigUint, + pub unstake_amount: BigUint, + pub unbond_epoch: u64, +} + +static ERROR_LEGACY_CONTRACT: &[u8] = b"This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."; + +#[multiversx_sc::contract] +pub trait MetabondingStakingLegacy { + #[init] + fn init(&self) {} + + #[upgrade] + fn upgrade(&self) {} + + #[payable("*")] + #[endpoint(stakeLockedAsset)] + fn stake_locked_asset(&self) { + sc_panic!(ERROR_LEGACY_CONTRACT); + } + + #[endpoint] + fn unstake(&self, _amount: BigUint) { + sc_panic!(ERROR_LEGACY_CONTRACT); + } + + #[endpoint] + fn unbond(&self) { + sc_panic!(ERROR_LEGACY_CONTRACT); + } + + #[only_owner] + #[endpoint(pause)] + fn pause_endpoint(&self) { + sc_panic!(ERROR_LEGACY_CONTRACT); + } + + #[only_owner] + #[endpoint(unpause)] + fn unpause_endpoint(&self) { + sc_panic!(ERROR_LEGACY_CONTRACT); + } + + #[view(getStakedAmountForUser)] + fn get_staked_amount_for_user(&self, _user_address: ManagedAddress) -> BigUint { + sc_panic!(ERROR_LEGACY_CONTRACT); + } + + #[view(getUserEntry)] + fn get_user_entry(&self, _user_address: ManagedAddress) -> OptionalValue> { + sc_panic!(ERROR_LEGACY_CONTRACT); + } + + #[view(getSnapshot)] + fn get_snapshot(&self) -> MultiValueEncoded> { + sc_panic!(ERROR_LEGACY_CONTRACT); + } + + // storage + + #[view(getLockedAssetTokenId)] + #[storage_mapper("lockedAssetTokenId")] + fn locked_asset_token_id(&self) -> SingleValueMapper; + + #[view(getLockedAssetFactoryAddress)] + #[storage_mapper("lockedAssetFactoryAddress")] + fn locked_asset_factory_address(&self) -> SingleValueMapper; + + #[view(getTotalLockedAssetSupply)] + #[storage_mapper("totalLockedAssetSupply")] + fn total_locked_asset_supply(&self) -> SingleValueMapper; + + #[storage_mapper("entryForUser")] + fn entry_for_user( + &self, + user_address: &ManagedAddress, + ) -> SingleValueMapper>; + + #[view(getUserList)] + #[storage_mapper("userList")] + fn user_list(&self) -> UnorderedSetMapper; + + #[view(isPaused)] + #[storage_get("pause_module:paused")] + fn is_paused(&self) -> bool; +} diff --git a/legacy-contracts/metabonding-staking-legacy/wasm/Cargo.lock b/legacy-contracts/metabonding-staking-legacy/wasm/Cargo.lock new file mode 100644 index 000000000..99e3afe7b --- /dev/null +++ b/legacy-contracts/metabonding-staking-legacy/wasm/Cargo.lock @@ -0,0 +1,188 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "arrayvec" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" + +[[package]] +name = "autocfg" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" + +[[package]] +name = "bitflags" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" + +[[package]] +name = "endian-type" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c34f04666d835ff5d62e058c3995147c06f42fe86ff053337632bca83e42702d" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "hex-literal" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" + +[[package]] +name = "metabonding-staking-legacy" +version = "0.0.0" +dependencies = [ + "multiversx-sc", +] + +[[package]] +name = "metabonding-staking-legacy-wasm" +version = "0.0.0" +dependencies = [ + "metabonding-staking-legacy", + "multiversx-sc-wasm-adapter", +] + +[[package]] +name = "multiversx-sc" +version = "0.53.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75ea89a26f0aacda21437a8ae5ccfbefab99d8191942b3d2eddbcbf84f9866d7" +dependencies = [ + "bitflags", + "hex-literal", + "multiversx-sc-codec", + "multiversx-sc-derive", + "num-traits", + "unwrap-infallible", +] + +[[package]] +name = "multiversx-sc-codec" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "007d7a5a8534e5dc9128cb8f15a65a21dd378e135c6016c7cd1491cd012bc8cb" +dependencies = [ + "arrayvec", + "multiversx-sc-codec-derive", + "unwrap-infallible", +] + +[[package]] +name = "multiversx-sc-codec-derive" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dffba1dce273ed5b61ee1b90aeea5c8c744617d0f12624f620768c144d83e753" +dependencies = [ + "hex", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "multiversx-sc-derive" +version = "0.53.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c17fdf90fafca2f19085ae67b0502d9f71bf8ab1be3c83808eb88e02a8c18b9" +dependencies = [ + "hex", + "proc-macro2", + "quote", + "radix_trie", + "syn", +] + +[[package]] +name = "multiversx-sc-wasm-adapter" +version = "0.53.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20659915a4377d375c46d7f237e810053a03f7e084fad6362dd5748a7233defb" +dependencies = [ + "multiversx-sc", +] + +[[package]] +name = "nibble_vec" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77a5d83df9f36fe23f0c3648c6bbb8b0298bb5f1939c8f2704431371f4b84d43" +dependencies = [ + "smallvec", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "proc-macro2" +version = "1.0.86" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "radix_trie" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c069c179fcdc6a2fe24d8d18305cf085fdbd4f922c041943e203685d6a1c58fd" +dependencies = [ + "endian-type", + "nibble_vec", +] + +[[package]] +name = "smallvec" +version = "1.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" + +[[package]] +name = "syn" +version = "2.0.77" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "unicode-ident" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" + +[[package]] +name = "unwrap-infallible" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "151ac09978d3c2862c4e39b557f4eceee2cc72150bc4cb4f16abf061b6e381fb" diff --git a/locked-asset/distribution/wasm/Cargo.toml b/legacy-contracts/metabonding-staking-legacy/wasm/Cargo.toml similarity index 83% rename from locked-asset/distribution/wasm/Cargo.toml rename to legacy-contracts/metabonding-staking-legacy/wasm/Cargo.toml index 5c94e6ebb..9563f9772 100644 --- a/locked-asset/distribution/wasm/Cargo.toml +++ b/legacy-contracts/metabonding-staking-legacy/wasm/Cargo.toml @@ -5,7 +5,7 @@ # ########################################## [package] -name = "distribution-wasm" +name = "metabonding-staking-legacy-wasm" version = "0.0.0" edition = "2021" publish = false @@ -24,11 +24,11 @@ overflow-checks = false [profile.dev] panic = "abort" -[dependencies.distribution] +[dependencies.metabonding-staking-legacy] path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "=0.52.3" +version = "0.53.2" [workspace] members = ["."] diff --git a/farm-staking/metabonding-staking/wasm/src/lib.rs b/legacy-contracts/metabonding-staking-legacy/wasm/src/lib.rs similarity index 83% rename from farm-staking/metabonding-staking/wasm/src/lib.rs rename to legacy-contracts/metabonding-staking-legacy/wasm/src/lib.rs index 22b6f6de2..e175e4eec 100644 --- a/farm-staking/metabonding-staking/wasm/src/lib.rs +++ b/legacy-contracts/metabonding-staking-legacy/wasm/src/lib.rs @@ -6,9 +6,9 @@ // Init: 1 // Upgrade: 1 -// Endpoints: 10 +// Endpoints: 13 // Async Callback (empty): 1 -// Total number of exported functions: 13 +// Total number of exported functions: 16 #![no_std] @@ -16,13 +16,15 @@ multiversx_sc_wasm_adapter::allocator!(); multiversx_sc_wasm_adapter::panic_handler!(); multiversx_sc_wasm_adapter::endpoints! { - metabonding_staking + metabonding_staking_legacy ( init => init upgrade => upgrade stakeLockedAsset => stake_locked_asset unstake => unstake unbond => unbond + pause => pause_endpoint + unpause => unpause_endpoint getStakedAmountForUser => get_staked_amount_for_user getUserEntry => get_user_entry getSnapshot => get_snapshot @@ -30,6 +32,7 @@ multiversx_sc_wasm_adapter::endpoints! { getLockedAssetFactoryAddress => locked_asset_factory_address getTotalLockedAssetSupply => total_locked_asset_supply getUserList => user_list + isPaused => is_paused ) } diff --git a/legacy-contracts/price-discovery-v1/Cargo.toml b/legacy-contracts/price-discovery-v1/Cargo.toml index d00d06b39..963d663e3 100644 --- a/legacy-contracts/price-discovery-v1/Cargo.toml +++ b/legacy-contracts/price-discovery-v1/Cargo.toml @@ -9,10 +9,10 @@ publish = false path = "src/lib.rs" [dependencies.multiversx-sc] -version = "0.52.3" +version = "0.53.2" [dev-dependencies] num-bigint = "0.4" [dev-dependencies.multiversx-sc-scenario] -version = "0.52.3" +version = "0.53.2" diff --git a/legacy-contracts/price-discovery-v1/meta/Cargo.toml b/legacy-contracts/price-discovery-v1/meta/Cargo.toml index 8a10570f7..d9f0bf53a 100644 --- a/legacy-contracts/price-discovery-v1/meta/Cargo.toml +++ b/legacy-contracts/price-discovery-v1/meta/Cargo.toml @@ -7,6 +7,6 @@ publish = false [dependencies.price-discovery-v1] path = ".." -[dependencies.multiversx-sc-meta] -version = "0.52.3" +[dependencies.multiversx-sc-meta-lib] +version = "0.53.2" default-features = false diff --git a/legacy-contracts/price-discovery-v1/meta/src/main.rs b/legacy-contracts/price-discovery-v1/meta/src/main.rs index e9b6d8d7e..5f289fdfc 100644 --- a/legacy-contracts/price-discovery-v1/meta/src/main.rs +++ b/legacy-contracts/price-discovery-v1/meta/src/main.rs @@ -1,3 +1,3 @@ fn main() { - multiversx_sc_meta::cli_main::(); + multiversx_sc_meta_lib::cli_main::(); } diff --git a/legacy-contracts/price-discovery-v1/src/lib.rs b/legacy-contracts/price-discovery-v1/src/lib.rs index 4ac38f975..d0378ba9b 100644 --- a/legacy-contracts/price-discovery-v1/src/lib.rs +++ b/legacy-contracts/price-discovery-v1/src/lib.rs @@ -12,6 +12,8 @@ pub enum Phase { Redeem, } +static ERROR_LEGACY_CONTRACT: &[u8] = b"This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."; + #[multiversx_sc::contract] pub trait PriceDiscoveryV1 { #[init] @@ -20,29 +22,29 @@ pub trait PriceDiscoveryV1 { #[payable("*")] #[endpoint] fn deposit(&self) { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[payable("*")] #[endpoint] fn withdraw(&self) { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[payable("*")] #[endpoint] fn redeem(&self) { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[view(getCurrentPrice)] fn calculate_price(&self) -> BigUint { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[view(getCurrentPhase)] fn get_current_phase(&self) -> Phase { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[only_owner] @@ -54,25 +56,25 @@ pub trait PriceDiscoveryV1 { _token_ticker: ManagedBuffer, _nr_decimals: usize, ) { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[only_owner] #[endpoint(createInitialRedeemTokens)] fn create_initial_redeem_tokens(&self) { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[only_owner] #[endpoint(setLockingScAddress)] fn set_locking_sc_address(&self, _new_address: ManagedAddress) { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[only_owner] #[endpoint(setUnlockEpoch)] fn set_unlock_epoch(&self, _new_epoch: u64) { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[view(getLaunchedTokenId)] diff --git a/legacy-contracts/price-discovery-v1/wasm/Cargo.lock b/legacy-contracts/price-discovery-v1/wasm/Cargo.lock index a1b884dc9..03532cfc3 100644 --- a/legacy-contracts/price-discovery-v1/wasm/Cargo.lock +++ b/legacy-contracts/price-discovery-v1/wasm/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "arrayvec" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "autocfg" @@ -40,9 +40,9 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "526760b1d6236c011285b264a70a0a9dd3b3dbc53c3b5f76932f4bcfd3a8910c" +checksum = "75ea89a26f0aacda21437a8ae5ccfbefab99d8191942b3d2eddbcbf84f9866d7" dependencies = [ "bitflags", "hex-literal", @@ -54,9 +54,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad4f318427761faecf26c1f3115a3beeb5f61858845a60547d9763aa981ddd2d" +checksum = "007d7a5a8534e5dc9128cb8f15a65a21dd378e135c6016c7cd1491cd012bc8cb" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -65,9 +65,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "476501462b0c2654b64f9dec6f2c480e24b4e9b7133ec10b7167e64acda35d04" +checksum = "dffba1dce273ed5b61ee1b90aeea5c8c744617d0f12624f620768c144d83e753" dependencies = [ "hex", "proc-macro2", @@ -77,9 +77,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3557f2f12640a8a07fa6af66cc2a13b188c5b61bed72db22fe631fb3a60c3e96" +checksum = "4c17fdf90fafca2f19085ae67b0502d9f71bf8ab1be3c83808eb88e02a8c18b9" dependencies = [ "hex", "proc-macro2", @@ -90,9 +90,9 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed13aaca9cbdbc6911174cd3029e750a7563d85dd3daaa1107b1fd31c7f17245" +checksum = "20659915a4377d375c46d7f237e810053a03f7e084fad6362dd5748a7233defb" dependencies = [ "multiversx-sc", ] @@ -141,9 +141,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.36" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ "proc-macro2", ] @@ -166,9 +166,9 @@ checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "syn" -version = "2.0.72" +version = "2.0.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" +checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" dependencies = [ "proc-macro2", "quote", diff --git a/legacy-contracts/price-discovery-v1/wasm/Cargo.toml b/legacy-contracts/price-discovery-v1/wasm/Cargo.toml index 52fee981c..a70638e54 100644 --- a/legacy-contracts/price-discovery-v1/wasm/Cargo.toml +++ b/legacy-contracts/price-discovery-v1/wasm/Cargo.toml @@ -28,7 +28,7 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.52.3" +version = "0.53.2" [workspace] members = ["."] diff --git a/legacy-contracts/price-discovery-v2/Cargo.toml b/legacy-contracts/price-discovery-v2/Cargo.toml index e2f00ec89..d0c9faf2b 100644 --- a/legacy-contracts/price-discovery-v2/Cargo.toml +++ b/legacy-contracts/price-discovery-v2/Cargo.toml @@ -9,10 +9,10 @@ publish = false path = "src/lib.rs" [dependencies.multiversx-sc] -version = "0.52.3" +version = "0.53.2" [dev-dependencies] num-bigint = "0.4" [dev-dependencies.multiversx-sc-scenario] -version = "0.52.3" +version = "0.53.2" diff --git a/legacy-contracts/price-discovery-v2/meta/Cargo.toml b/legacy-contracts/price-discovery-v2/meta/Cargo.toml index 66b16ff3d..3e35bdd3e 100644 --- a/legacy-contracts/price-discovery-v2/meta/Cargo.toml +++ b/legacy-contracts/price-discovery-v2/meta/Cargo.toml @@ -7,6 +7,6 @@ publish = false [dependencies.price-discovery-v2] path = ".." -[dependencies.multiversx-sc-meta] -version = "0.52.3" +[dependencies.multiversx-sc-meta-lib] +version = "0.53.2" default-features = false diff --git a/legacy-contracts/price-discovery-v2/meta/src/main.rs b/legacy-contracts/price-discovery-v2/meta/src/main.rs index 49e9a3810..b7083d3ef 100644 --- a/legacy-contracts/price-discovery-v2/meta/src/main.rs +++ b/legacy-contracts/price-discovery-v2/meta/src/main.rs @@ -1,3 +1,3 @@ fn main() { - multiversx_sc_meta::cli_main::(); + multiversx_sc_meta_lib::cli_main::(); } diff --git a/legacy-contracts/price-discovery-v2/src/lib.rs b/legacy-contracts/price-discovery-v2/src/lib.rs index 34de9499b..fdd441300 100644 --- a/legacy-contracts/price-discovery-v2/src/lib.rs +++ b/legacy-contracts/price-discovery-v2/src/lib.rs @@ -12,6 +12,8 @@ pub enum Phase { Redeem, } +static ERROR_LEGACY_CONTRACT: &[u8] = b"This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."; + #[multiversx_sc::contract] pub trait PriceDiscoveryV2 { #[init] @@ -20,29 +22,29 @@ pub trait PriceDiscoveryV2 { #[payable("*")] #[endpoint] fn deposit(&self) -> EsdtTokenPayment { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[payable("*")] #[endpoint] fn withdraw(&self) -> EgldOrEsdtTokenPayment { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[payable("*")] #[endpoint] fn redeem(&self) -> EgldOrEsdtTokenPayment { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[view(getCurrentPrice)] fn calculate_price(&self) -> BigUint { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[view(getCurrentPhase)] fn get_current_phase(&self) -> Phase { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[only_owner] @@ -54,25 +56,25 @@ pub trait PriceDiscoveryV2 { _token_ticker: ManagedBuffer, _nr_decimals: usize, ) { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[only_owner] #[endpoint(createInitialRedeemTokens)] fn create_initial_redeem_tokens(&self) { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[only_owner] #[endpoint(setLockingScAddress)] fn set_locking_sc_address(&self, _new_address: ManagedAddress) { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[only_owner] #[endpoint(setUnlockEpoch)] fn set_unlock_epoch(&self, _new_epoch: u64) { - sc_panic!("This is a no-code version of a legacy contract. The logic of the endpoints has not been implemented."); + sc_panic!(ERROR_LEGACY_CONTRACT); } #[view(getLaunchedTokenId)] diff --git a/legacy-contracts/price-discovery-v2/wasm/Cargo.lock b/legacy-contracts/price-discovery-v2/wasm/Cargo.lock index f1bdaed4b..ab4be20ac 100644 --- a/legacy-contracts/price-discovery-v2/wasm/Cargo.lock +++ b/legacy-contracts/price-discovery-v2/wasm/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "arrayvec" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "autocfg" @@ -40,9 +40,9 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "526760b1d6236c011285b264a70a0a9dd3b3dbc53c3b5f76932f4bcfd3a8910c" +checksum = "75ea89a26f0aacda21437a8ae5ccfbefab99d8191942b3d2eddbcbf84f9866d7" dependencies = [ "bitflags", "hex-literal", @@ -54,9 +54,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad4f318427761faecf26c1f3115a3beeb5f61858845a60547d9763aa981ddd2d" +checksum = "007d7a5a8534e5dc9128cb8f15a65a21dd378e135c6016c7cd1491cd012bc8cb" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -65,9 +65,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "476501462b0c2654b64f9dec6f2c480e24b4e9b7133ec10b7167e64acda35d04" +checksum = "dffba1dce273ed5b61ee1b90aeea5c8c744617d0f12624f620768c144d83e753" dependencies = [ "hex", "proc-macro2", @@ -77,9 +77,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3557f2f12640a8a07fa6af66cc2a13b188c5b61bed72db22fe631fb3a60c3e96" +checksum = "4c17fdf90fafca2f19085ae67b0502d9f71bf8ab1be3c83808eb88e02a8c18b9" dependencies = [ "hex", "proc-macro2", @@ -90,9 +90,9 @@ dependencies = [ [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed13aaca9cbdbc6911174cd3029e750a7563d85dd3daaa1107b1fd31c7f17245" +checksum = "20659915a4377d375c46d7f237e810053a03f7e084fad6362dd5748a7233defb" dependencies = [ "multiversx-sc", ] @@ -141,9 +141,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.36" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ "proc-macro2", ] @@ -166,9 +166,9 @@ checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "syn" -version = "2.0.72" +version = "2.0.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" +checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" dependencies = [ "proc-macro2", "quote", diff --git a/legacy-contracts/price-discovery-v2/wasm/Cargo.toml b/legacy-contracts/price-discovery-v2/wasm/Cargo.toml index c5a34afb0..c1d10b2a0 100644 --- a/legacy-contracts/price-discovery-v2/wasm/Cargo.toml +++ b/legacy-contracts/price-discovery-v2/wasm/Cargo.toml @@ -28,7 +28,7 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "0.52.3" +version = "0.53.2" [workspace] members = ["."] diff --git a/legacy-contracts/proxy-dex-legacy/Cargo.toml b/legacy-contracts/proxy-dex-legacy/Cargo.toml index 2567e0195..ec860c2b1 100644 --- a/legacy-contracts/proxy-dex-legacy/Cargo.toml +++ b/legacy-contracts/proxy-dex-legacy/Cargo.toml @@ -8,12 +8,9 @@ publish = false path = "src/lib.rs" [dependencies.multiversx-sc] -version = "=0.52.3" +version = "=0.53.2" features = ["esdt-token-payment-legacy-decode"] -[dev-dependencies.multiversx-sc-scenario] -version = "=0.52.3" - [dependencies.common_structs] path = "../../common/common_structs" @@ -33,4 +30,7 @@ path = "../../energy-integration/common-modules/energy-query" path = "../farm-v13-locked-rewards" [dependencies.pair] -path = "../../dex/pair" \ No newline at end of file +path = "../../dex/pair" + +[dev-dependencies.multiversx-sc-scenario] +version = "=0.53.2" diff --git a/legacy-contracts/proxy-dex-legacy/meta/Cargo.toml b/legacy-contracts/proxy-dex-legacy/meta/Cargo.toml index 7b04c9d2c..d092a265d 100644 --- a/legacy-contracts/proxy-dex-legacy/meta/Cargo.toml +++ b/legacy-contracts/proxy-dex-legacy/meta/Cargo.toml @@ -1,14 +1,13 @@ [package] name = "proxy-dex-legacy-meta" - version = "0.0.0" -authors = [ "you",] +authors = ["you"] edition = "2018" publish = false [dependencies.proxy-dex-legacy] path = ".." -[dependencies.multiversx-sc-meta] -version = "0.52.3" +[dependencies.multiversx-sc-meta-lib] +version = "0.53.2" default-features = false diff --git a/legacy-contracts/proxy-dex-legacy/meta/src/main.rs b/legacy-contracts/proxy-dex-legacy/meta/src/main.rs index c282d1ab7..75bd5a52b 100644 --- a/legacy-contracts/proxy-dex-legacy/meta/src/main.rs +++ b/legacy-contracts/proxy-dex-legacy/meta/src/main.rs @@ -1,3 +1,3 @@ fn main() { - multiversx_sc_meta::cli_main::(); + multiversx_sc_meta_lib::cli_main::(); } \ No newline at end of file diff --git a/legacy-contracts/proxy-dex-legacy/wasm/Cargo.lock b/legacy-contracts/proxy-dex-legacy/wasm/Cargo.lock index 830467f4b..d45260ddb 100644 --- a/legacy-contracts/proxy-dex-legacy/wasm/Cargo.lock +++ b/legacy-contracts/proxy-dex-legacy/wasm/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "arrayvec" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "autocfg" @@ -180,9 +180,9 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "526760b1d6236c011285b264a70a0a9dd3b3dbc53c3b5f76932f4bcfd3a8910c" +checksum = "75ea89a26f0aacda21437a8ae5ccfbefab99d8191942b3d2eddbcbf84f9866d7" dependencies = [ "bitflags", "hex-literal", @@ -194,9 +194,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad4f318427761faecf26c1f3115a3beeb5f61858845a60547d9763aa981ddd2d" +checksum = "007d7a5a8534e5dc9128cb8f15a65a21dd378e135c6016c7cd1491cd012bc8cb" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -205,9 +205,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "476501462b0c2654b64f9dec6f2c480e24b4e9b7133ec10b7167e64acda35d04" +checksum = "dffba1dce273ed5b61ee1b90aeea5c8c744617d0f12624f620768c144d83e753" dependencies = [ "hex", "proc-macro2", @@ -217,9 +217,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3557f2f12640a8a07fa6af66cc2a13b188c5b61bed72db22fe631fb3a60c3e96" +checksum = "4c17fdf90fafca2f19085ae67b0502d9f71bf8ab1be3c83808eb88e02a8c18b9" dependencies = [ "hex", "proc-macro2", @@ -230,18 +230,18 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61f5c29c6044f3dc9e866858feee625d7fae5604a68ac7bd66dec683eee97563" +checksum = "daeb48acbd39255868a3241798df2f85050f0ae8d82d6417bd2cd0e30a241855" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed13aaca9cbdbc6911174cd3029e750a7563d85dd3daaa1107b1fd31c7f17245" +checksum = "20659915a4377d375c46d7f237e810053a03f7e084fad6362dd5748a7233defb" dependencies = [ "multiversx-sc", ] @@ -330,9 +330,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.36" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ "proc-macro2", ] @@ -372,9 +372,9 @@ checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "syn" -version = "2.0.72" +version = "2.0.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" +checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" dependencies = [ "proc-macro2", "quote", diff --git a/legacy-contracts/proxy-dex-legacy/wasm/Cargo.toml b/legacy-contracts/proxy-dex-legacy/wasm/Cargo.toml index 28c7bfe76..2fb6c25c8 100644 --- a/legacy-contracts/proxy-dex-legacy/wasm/Cargo.toml +++ b/legacy-contracts/proxy-dex-legacy/wasm/Cargo.toml @@ -28,7 +28,7 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "=0.52.3" +version = "=0.53.2" [workspace] members = ["."] diff --git a/legacy-contracts/simple-lock-legacy/Cargo.toml b/legacy-contracts/simple-lock-legacy/Cargo.toml index 465b3372e..057957d73 100644 --- a/legacy-contracts/simple-lock-legacy/Cargo.toml +++ b/legacy-contracts/simple-lock-legacy/Cargo.toml @@ -9,11 +9,11 @@ publish = false path = "src/lib.rs" [dependencies.multiversx-sc] -version = "=0.52.3" +version = "=0.53.2" features = ["esdt-token-payment-legacy-decode"] [dependencies.multiversx-sc-modules] -version = "=0.52.3" +version = "=0.53.2" [dependencies.common_structs] path = "../../common/common_structs" @@ -24,4 +24,4 @@ num-traits = "0.2" hex = "0.4" [dev-dependencies.multiversx-sc-scenario] -version = "=0.52.3" +version = "=0.53.2" diff --git a/legacy-contracts/simple-lock-legacy/meta/Cargo.toml b/legacy-contracts/simple-lock-legacy/meta/Cargo.toml index f561fae63..b664c256b 100644 --- a/legacy-contracts/simple-lock-legacy/meta/Cargo.toml +++ b/legacy-contracts/simple-lock-legacy/meta/Cargo.toml @@ -8,6 +8,6 @@ authors = ["MultiversX "] [dependencies.simple-lock-legacy] path = ".." -[dependencies.multiversx-sc-meta] -version = "0.52.3" +[dependencies.multiversx-sc-meta-lib] +version = "0.53.2" default-features = false diff --git a/legacy-contracts/simple-lock-legacy/meta/src/main.rs b/legacy-contracts/simple-lock-legacy/meta/src/main.rs index 8f84e327a..5c69ad39f 100644 --- a/legacy-contracts/simple-lock-legacy/meta/src/main.rs +++ b/legacy-contracts/simple-lock-legacy/meta/src/main.rs @@ -1,3 +1,3 @@ fn main() { - multiversx_sc_meta::cli_main::(); + multiversx_sc_meta_lib::cli_main::(); } diff --git a/legacy-contracts/simple-lock-legacy/wasm/Cargo.lock b/legacy-contracts/simple-lock-legacy/wasm/Cargo.lock index 0ce02d62b..9d97e44e0 100644 --- a/legacy-contracts/simple-lock-legacy/wasm/Cargo.lock +++ b/legacy-contracts/simple-lock-legacy/wasm/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "arrayvec" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "autocfg" @@ -72,9 +72,9 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "526760b1d6236c011285b264a70a0a9dd3b3dbc53c3b5f76932f4bcfd3a8910c" +checksum = "75ea89a26f0aacda21437a8ae5ccfbefab99d8191942b3d2eddbcbf84f9866d7" dependencies = [ "bitflags", "hex-literal", @@ -86,9 +86,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad4f318427761faecf26c1f3115a3beeb5f61858845a60547d9763aa981ddd2d" +checksum = "007d7a5a8534e5dc9128cb8f15a65a21dd378e135c6016c7cd1491cd012bc8cb" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -97,9 +97,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "476501462b0c2654b64f9dec6f2c480e24b4e9b7133ec10b7167e64acda35d04" +checksum = "dffba1dce273ed5b61ee1b90aeea5c8c744617d0f12624f620768c144d83e753" dependencies = [ "hex", "proc-macro2", @@ -109,9 +109,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3557f2f12640a8a07fa6af66cc2a13b188c5b61bed72db22fe631fb3a60c3e96" +checksum = "4c17fdf90fafca2f19085ae67b0502d9f71bf8ab1be3c83808eb88e02a8c18b9" dependencies = [ "hex", "proc-macro2", @@ -122,18 +122,18 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61f5c29c6044f3dc9e866858feee625d7fae5604a68ac7bd66dec683eee97563" +checksum = "daeb48acbd39255868a3241798df2f85050f0ae8d82d6417bd2cd0e30a241855" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed13aaca9cbdbc6911174cd3029e750a7563d85dd3daaa1107b1fd31c7f17245" +checksum = "20659915a4377d375c46d7f237e810053a03f7e084fad6362dd5748a7233defb" dependencies = [ "multiversx-sc", ] @@ -167,9 +167,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.36" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ "proc-macro2", ] @@ -209,9 +209,9 @@ checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "syn" -version = "2.0.72" +version = "2.0.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" +checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" dependencies = [ "proc-macro2", "quote", diff --git a/legacy-contracts/simple-lock-legacy/wasm/Cargo.toml b/legacy-contracts/simple-lock-legacy/wasm/Cargo.toml index 208b10e76..35fad85cd 100644 --- a/legacy-contracts/simple-lock-legacy/wasm/Cargo.toml +++ b/legacy-contracts/simple-lock-legacy/wasm/Cargo.toml @@ -28,7 +28,7 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "=0.52.3" +version = "=0.53.2" [workspace] members = ["."] diff --git a/locked-asset/Cargo.toml b/locked-asset/Cargo.toml index 664556963..b8c2b5512 100644 --- a/locked-asset/Cargo.toml +++ b/locked-asset/Cargo.toml @@ -5,7 +5,7 @@ edition = "2021" publish = false [dependencies.multiversx-sc] -version = "=0.52.3" +version = "=0.53.2" features = ["esdt-token-payment-legacy-decode"] [dependencies.farm] @@ -17,12 +17,6 @@ path = "../dex/pair" [dependencies.router] path = "../dex/router" -[dependencies.distribution] -path = "distribution" - -[dependencies.factory] -path = "factory" - [dependencies.simple-lock] path = "simple-lock" @@ -50,7 +44,7 @@ num-traits = "0.2" hex = "0.4" [dev-dependencies.multiversx-sc-modules] -version = "=0.52.3" +version = "=0.53.2" [dev-dependencies.multiversx-sc-scenario] -version = "=0.52.3" +version = "=0.53.2" diff --git a/locked-asset/distribution/elrond.json b/locked-asset/distribution/elrond.json deleted file mode 100644 index 736553962..000000000 --- a/locked-asset/distribution/elrond.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "language": "rust" -} \ No newline at end of file diff --git a/locked-asset/distribution/meta/src/main.rs b/locked-asset/distribution/meta/src/main.rs deleted file mode 100644 index 5dc92d871..000000000 --- a/locked-asset/distribution/meta/src/main.rs +++ /dev/null @@ -1,3 +0,0 @@ -fn main() { - multiversx_sc_meta::cli_main::(); -} diff --git a/locked-asset/distribution/src/global_op.rs b/locked-asset/distribution/src/global_op.rs deleted file mode 100644 index 619b88550..000000000 --- a/locked-asset/distribution/src/global_op.rs +++ /dev/null @@ -1,42 +0,0 @@ -multiversx_sc::imports!(); -multiversx_sc::derive_imports!(); - -#[multiversx_sc::module] -pub trait GlobalOperationModule { - #[only_owner] - #[endpoint(startGlobalOperation)] - fn global_op_start(&self) { - require!( - !self.global_op_is_ongoing().get(), - "Global operation already ongoing" - ); - self.global_op_is_ongoing().set(true); - } - - #[only_owner] - #[endpoint(endGlobalOperation)] - fn global_op_stop(&self) { - require!( - self.global_op_is_ongoing().get(), - "Global operation not ongoing" - ); - self.global_op_is_ongoing().set(false); - } - - #[storage_mapper("global_operation_ongoing")] - fn global_op_is_ongoing(&self) -> SingleValueMapper; - - fn require_global_op_not_ongoing(&self) { - require!( - !self.global_op_is_ongoing().get(), - "Global operation ongoing" - ); - } - - fn require_global_op_ongoing(&self) { - require!( - self.global_op_is_ongoing().get(), - "Global operation not ongoing" - ); - } -} diff --git a/locked-asset/distribution/src/lib.rs b/locked-asset/distribution/src/lib.rs deleted file mode 100644 index b996701df..000000000 --- a/locked-asset/distribution/src/lib.rs +++ /dev/null @@ -1,363 +0,0 @@ -#![no_std] -#![allow(clippy::type_complexity)] - -use common_structs::{UnlockMilestone, UnlockPeriod}; - -multiversx_sc::imports!(); -multiversx_sc::derive_imports!(); - -mod global_op; - -const GAS_THRESHOLD: u64 = 100_000; -const MAX_CLAIMABLE_DISTRIBUTION_ROUNDS: usize = 4; - -#[derive(ManagedVecItem)] -pub struct BigUintEpochPair { - pub biguint: BigUint, - pub epoch: u64, -} - -#[derive(ManagedVecItem, TopEncode, TopDecode, NestedEncode, NestedDecode, PartialEq, TypeAbi)] -pub struct UserLockedAssetKey { - pub caller: ManagedAddress, - pub spread_epoch: u64, -} - -#[derive(TopEncode, TopDecode, NestedEncode, NestedDecode, PartialEq, TypeAbi, Clone)] -pub struct CommunityDistribution { - pub total_amount: BigUint, - pub spread_epoch: u64, - pub after_planning_amount: BigUint, -} - -#[multiversx_sc::contract] -pub trait Distribution: global_op::GlobalOperationModule { - #[proxy] - fn locked_asset_factory_proxy(&self, to: ManagedAddress) -> factory::Proxy; - - #[init] - fn init(&self, asset_token_id: TokenIdentifier, locked_asset_factory_address: ManagedAddress) { - require!( - asset_token_id.is_valid_esdt_identifier(), - "Asset token ID is not a valid esdt identifier" - ); - - self.asset_token_id().set_if_empty(&asset_token_id); - self.locked_asset_factory_address() - .set_if_empty(&locked_asset_factory_address); - } - - #[upgrade] - fn upgrade(&self) {} - - #[only_owner] - #[endpoint(setCommunityDistribution)] - fn set_community_distribution(&self, total_amount: BigUint, spread_epoch: u64) { - self.require_global_op_ongoing(); - require!(total_amount > 0, "Zero amount"); - require!( - spread_epoch >= self.blockchain().get_block_epoch(), - "Spread epoch in the past" - ); - require!( - self.community_distribution_list() - .front() - .map(|community_distrib| community_distrib.get_value_as_ref().spread_epoch) - .unwrap_or_default() - < spread_epoch, - "Community distribution should be added in chronological order" - ); - - let distrib = CommunityDistribution { - total_amount: total_amount.clone(), - spread_epoch, - after_planning_amount: total_amount, - }; - self.community_distribution_list().push_front(distrib); - } - - #[only_owner] - #[endpoint(setPerUserDistributedLockedAssets)] - fn set_per_user_distributed_locked_assets( - &self, - spread_epoch: u64, - user_locked_assets: MultiValueEncoded>, - ) { - self.require_global_op_ongoing(); - self.require_community_distribution_list_not_empty(); - - require!(!user_locked_assets.is_empty(), "Empty assets vec"); - self.add_all_user_assets_to_map(spread_epoch, user_locked_assets) - } - - #[endpoint(claimLockedAssets)] - fn claim_locked_assets(&self) -> BigUint { - self.require_global_op_not_ongoing(); - self.require_unlock_period_not_empty(); - self.require_community_distribution_list_not_empty(); - - let caller = self.blockchain().get_caller(); - let mut cummulated_amount = BigUint::zero(); - - let locked_assets = self.calculate_user_locked_assets(&caller, true); - if locked_assets.is_empty() { - return cummulated_amount; - } - - let to = self.locked_asset_factory_address().get(); - let gas_limit_per_execute = - self.blockchain().get_gas_left() / (locked_assets.len() as u64 + 1); - - let unlock_period = self.unlock_period().get(); - for elem in locked_assets.iter() { - let amount = elem.biguint; - let spread_epoch = elem.epoch; - let _: IgnoreValue = self - .locked_asset_factory_proxy(to.clone()) - .create_and_forward_custom_period( - amount.clone(), - caller.clone(), - spread_epoch, - unlock_period.clone(), - ) - .with_gas_limit(gas_limit_per_execute) - .execute_on_dest_context(); - - cummulated_amount += amount; - } - - cummulated_amount - } - - #[endpoint(clearUnclaimableAssets)] - fn clear_unclaimable_assets(&self) -> usize { - let biggest_unclaimable_asset_epoch = self.get_biggest_unclaimable_asset_epoch(); - self.undo_user_assets_between_epochs(0, biggest_unclaimable_asset_epoch) - } - - #[only_owner] - #[endpoint(undoLastCommunityDistribution)] - fn undo_last_community_distrib(&self) { - self.require_global_op_ongoing(); - self.require_community_distribution_list_not_empty(); - self.community_distribution_list().pop_front(); - } - - #[only_owner] - #[endpoint(undoUserDistributedAssetsBetweenEpochs)] - fn undo_user_assets_between_epochs(&self, lower: u64, higher: u64) -> usize { - self.require_global_op_ongoing(); - self.require_community_distribution_list_not_empty(); - require!(lower <= higher, "Bad input values"); - self.remove_asset_entries_between_epochs(lower, higher) - } - - #[only_owner] - #[endpoint(setUnlockPeriod)] - fn set_unlock_period(&self, milestones: MultiValueEncoded) { - let unlock_milestones = milestones.to_vec(); - self.validate_unlock_milestones(&unlock_milestones); - self.unlock_period() - .set(&UnlockPeriod { unlock_milestones }); - } - - #[view(calculateLockedAssets)] - fn calculate_locked_assets_view(&self, address: ManagedAddress) -> BigUint { - self.require_global_op_not_ongoing(); - self.require_community_distribution_list_not_empty(); - let locked_assets = self.calculate_user_locked_assets(&address, false); - - let mut cummulated_amount = BigUint::zero(); - for elem in locked_assets.iter() { - cummulated_amount += elem.biguint; - } - cummulated_amount - } - - fn validate_unlock_milestones(&self, unlock_milestones: &ManagedVec) { - require!(!unlock_milestones.is_empty(), "Empty param"); - - let mut percents_sum: u8 = 0; - let mut last_milestone_unlock_epoch: u64 = 0; - - for milestone in unlock_milestones.into_iter() { - require!( - milestone.unlock_epoch >= last_milestone_unlock_epoch, - "Unlock epochs not in order" - ); - require!( - milestone.unlock_percent <= 100, - "Unlock percent more than 100" - ); - last_milestone_unlock_epoch = milestone.unlock_epoch; - percents_sum += milestone.unlock_percent; - } - - require!(percents_sum == 100, "Percents do not sum up to 100"); - } - - fn add_all_user_assets_to_map( - &self, - spread_epoch: u64, - user_assets: MultiValueEncoded>, - ) { - let mut last_community_distrib = self - .community_distribution_list() - .front() - .unwrap() - .get_value_cloned(); - require!( - spread_epoch == last_community_distrib.spread_epoch, - "Bad spread epoch" - ); - - for user_asset_multiarg in user_assets.into_iter() { - let (caller, asset_amount) = user_asset_multiarg.into_tuple(); - require!(asset_amount > 0, "Zero amount"); - require!( - last_community_distrib.after_planning_amount >= asset_amount, - "User assets sums above community total assets" - ); - last_community_distrib.after_planning_amount -= &asset_amount; - self.add_user_locked_asset_entry(caller, asset_amount, spread_epoch); - } - - self.community_distribution_list().pop_front(); - self.community_distribution_list() - .push_front(last_community_distrib); - } - - fn add_user_locked_asset_entry( - &self, - caller: ManagedAddress, - asset_amount: BigUint, - spread_epoch: u64, - ) { - let key = UserLockedAssetKey { - caller, - spread_epoch, - }; - require!( - !self.user_locked_asset_map().contains_key(&key), - "Vector has duplicates" - ); - self.user_locked_asset_map().insert(key, asset_amount); - } - - fn calculate_user_locked_assets( - &self, - address: &ManagedAddress, - delete_after_visit: bool, - ) -> ManagedVec> { - let current_epoch = self.blockchain().get_block_epoch(); - let mut locked_assets = ManagedVec::new(); - - for community_distrib in self - .community_distribution_list() - .iter() - .take(MAX_CLAIMABLE_DISTRIBUTION_ROUNDS) - .filter(|x| x.get_value_as_ref().spread_epoch <= current_epoch) - { - let user_asset_key = UserLockedAssetKey { - caller: address.clone(), - spread_epoch: community_distrib.get_value_as_ref().spread_epoch, - }; - - if let Some(asset_amount) = self.user_locked_asset_map().get(&user_asset_key) { - locked_assets.push(BigUintEpochPair { - biguint: asset_amount, - epoch: user_asset_key.spread_epoch, - }); - - if delete_after_visit { - self.user_locked_asset_map().remove(&user_asset_key); - } - } - } - locked_assets - } - - fn get_biggest_unclaimable_asset_epoch(&self) -> u64 { - self.community_distribution_list() - .iter() - .nth(MAX_CLAIMABLE_DISTRIBUTION_ROUNDS) - .map(|community_distrib| community_distrib.get_value_as_ref().spread_epoch) - .unwrap_or_default() - } - - fn remove_asset_entries_between_epochs(&self, lower: u64, higher: u64) -> usize { - if higher == 0 { - return 0; - } - - if higher < lower { - return 0; - } - - let mut to_remove_keys = ManagedVec::>::new(); - let search_gas_limit = self.blockchain().get_gas_left() / 2; - for user_asset_key in self.user_locked_asset_map().keys() { - if self.blockchain().get_gas_left() < search_gas_limit { - break; - } - - if lower <= user_asset_key.spread_epoch && user_asset_key.spread_epoch <= higher { - to_remove_keys.push(user_asset_key); - } - } - - let map_len_before = self.user_locked_asset_map().len(); - for key in to_remove_keys.iter() { - if self.blockchain().get_gas_left() < GAS_THRESHOLD { - break; - } - - self.user_locked_asset_map().remove(&key); - } - map_len_before - self.user_locked_asset_map().len() - } - - fn require_community_distribution_list_not_empty(&self) { - require!( - !self.community_distribution_list().is_empty(), - "Empty community assets list" - ); - } - - fn require_unlock_period_not_empty(&self) { - require!(!self.unlock_period().is_empty(), "Empty unlock schedule"); - } - - #[only_owner] - #[endpoint(deleteUserDistributedLockedAssets)] - fn delete_user_distributed_locked_assets(&self, spread_epoch: u64, address: ManagedAddress) { - self.require_global_op_ongoing(); - self.user_locked_asset_map().remove(&UserLockedAssetKey { - caller: address, - spread_epoch, - }); - } - - #[view(getUsersDistributedLockedAssetsLength)] - fn get_users_distributed_locked_assets_length(&self) -> usize { - self.user_locked_asset_map().len() - } - - #[view(getUnlockPeriod)] - #[storage_mapper("unlock_period")] - fn unlock_period(&self) -> SingleValueMapper>; - - #[view(getCommunityDistributionList)] - #[storage_mapper("community_distribution_list")] - fn community_distribution_list(&self) -> LinkedListMapper>; - - #[storage_mapper("user_locked_asset_map")] - fn user_locked_asset_map(&self) -> MapMapper, BigUint>; - - #[storage_mapper("locked_asset_factory_address")] - fn locked_asset_factory_address(&self) -> SingleValueMapper; - - #[view(getAssetTokenId)] - #[storage_mapper("asset_token_id")] - fn asset_token_id(&self) -> SingleValueMapper; -} diff --git a/locked-asset/distribution/wasm/Cargo.lock b/locked-asset/distribution/wasm/Cargo.lock deleted file mode 100644 index ff20f5e5a..000000000 --- a/locked-asset/distribution/wasm/Cargo.lock +++ /dev/null @@ -1,397 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "arrayvec" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" - -[[package]] -name = "autocfg" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" - -[[package]] -name = "bitflags" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" - -[[package]] -name = "cfg-if" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" - -[[package]] -name = "common_errors" -version = "0.0.0" -dependencies = [ - "multiversx-sc", -] - -[[package]] -name = "common_structs" -version = "0.0.0" -dependencies = [ - "fixed-supply-token", - "math", - "mergeable", - "multiversx-sc", - "unwrappable", -] - -[[package]] -name = "distribution" -version = "0.0.0" -dependencies = [ - "common_structs", - "factory", - "multiversx-sc", -] - -[[package]] -name = "distribution-wasm" -version = "0.0.0" -dependencies = [ - "distribution", - "multiversx-sc-wasm-adapter", -] - -[[package]] -name = "either" -version = "1.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" - -[[package]] -name = "endian-type" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c34f04666d835ff5d62e058c3995147c06f42fe86ff053337632bca83e42702d" - -[[package]] -name = "energy-factory" -version = "0.0.0" -dependencies = [ - "common_structs", - "legacy_token_decode_module", - "math", - "mergeable", - "multiversx-sc", - "multiversx-sc-modules", - "sc_whitelist_module", - "simple-lock", - "unwrappable", - "utils", -] - -[[package]] -name = "factory" -version = "0.0.0" -dependencies = [ - "arrayvec", - "common_errors", - "common_structs", - "energy-factory", - "itertools", - "multiversx-sc", - "multiversx-sc-modules", - "token_merge_helper", - "token_send", - "wee_alloc", -] - -[[package]] -name = "fixed-supply-token" -version = "0.0.0" -dependencies = [ - "multiversx-sc", -] - -[[package]] -name = "hex" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" - -[[package]] -name = "hex-literal" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" - -[[package]] -name = "itertools" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" -dependencies = [ - "either", -] - -[[package]] -name = "legacy_token_decode_module" -version = "0.0.0" -dependencies = [ - "common_structs", - "multiversx-sc", - "utils", -] - -[[package]] -name = "libc" -version = "0.2.158" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439" - -[[package]] -name = "math" -version = "0.0.0" -dependencies = [ - "multiversx-sc", -] - -[[package]] -name = "memory_units" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8452105ba047068f40ff7093dd1d9da90898e63dd61736462e9cdda6a90ad3c3" - -[[package]] -name = "mergeable" -version = "0.0.0" -dependencies = [ - "multiversx-sc", -] - -[[package]] -name = "multiversx-sc" -version = "0.52.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "526760b1d6236c011285b264a70a0a9dd3b3dbc53c3b5f76932f4bcfd3a8910c" -dependencies = [ - "bitflags", - "hex-literal", - "multiversx-sc-codec", - "multiversx-sc-derive", - "num-traits", - "unwrap-infallible", -] - -[[package]] -name = "multiversx-sc-codec" -version = "0.20.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad4f318427761faecf26c1f3115a3beeb5f61858845a60547d9763aa981ddd2d" -dependencies = [ - "arrayvec", - "multiversx-sc-codec-derive", - "unwrap-infallible", -] - -[[package]] -name = "multiversx-sc-codec-derive" -version = "0.20.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "476501462b0c2654b64f9dec6f2c480e24b4e9b7133ec10b7167e64acda35d04" -dependencies = [ - "hex", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "multiversx-sc-derive" -version = "0.52.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3557f2f12640a8a07fa6af66cc2a13b188c5b61bed72db22fe631fb3a60c3e96" -dependencies = [ - "hex", - "proc-macro2", - "quote", - "radix_trie", - "syn", -] - -[[package]] -name = "multiversx-sc-modules" -version = "0.52.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61f5c29c6044f3dc9e866858feee625d7fae5604a68ac7bd66dec683eee97563" -dependencies = [ - "multiversx-sc", -] - -[[package]] -name = "multiversx-sc-wasm-adapter" -version = "0.52.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed13aaca9cbdbc6911174cd3029e750a7563d85dd3daaa1107b1fd31c7f17245" -dependencies = [ - "multiversx-sc", -] - -[[package]] -name = "nibble_vec" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77a5d83df9f36fe23f0c3648c6bbb8b0298bb5f1939c8f2704431371f4b84d43" -dependencies = [ - "smallvec", -] - -[[package]] -name = "num-traits" -version = "0.2.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" -dependencies = [ - "autocfg", -] - -[[package]] -name = "proc-macro2" -version = "1.0.86" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "quote" -version = "1.0.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "radix_trie" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c069c179fcdc6a2fe24d8d18305cf085fdbd4f922c041943e203685d6a1c58fd" -dependencies = [ - "endian-type", - "nibble_vec", -] - -[[package]] -name = "sc_whitelist_module" -version = "0.0.0" -dependencies = [ - "common_errors", - "multiversx-sc", -] - -[[package]] -name = "simple-lock" -version = "0.0.0" -dependencies = [ - "common_structs", - "multiversx-sc", - "multiversx-sc-modules", -] - -[[package]] -name = "smallvec" -version = "1.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" - -[[package]] -name = "syn" -version = "2.0.72" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "token_merge_helper" -version = "0.0.0" -dependencies = [ - "common_errors", - "multiversx-sc", -] - -[[package]] -name = "token_send" -version = "0.0.0" -dependencies = [ - "common_errors", - "common_structs", - "multiversx-sc", -] - -[[package]] -name = "unicode-ident" -version = "1.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" - -[[package]] -name = "unwrap-infallible" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "151ac09978d3c2862c4e39b557f4eceee2cc72150bc4cb4f16abf061b6e381fb" - -[[package]] -name = "unwrappable" -version = "0.0.0" -dependencies = [ - "multiversx-sc", -] - -[[package]] -name = "utils" -version = "0.0.0" -dependencies = [ - "common_structs", - "fixed-supply-token", - "mergeable", - "multiversx-sc", -] - -[[package]] -name = "wee_alloc" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbb3b5a6b2bb17cb6ad44a2e68a43e8d2722c997da10e928665c72ec6c0a0b8e" -dependencies = [ - "cfg-if", - "libc", - "memory_units", - "winapi", -] - -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" diff --git a/locked-asset/distribution/wasm/src/lib.rs b/locked-asset/distribution/wasm/src/lib.rs deleted file mode 100644 index 4f919ac08..000000000 --- a/locked-asset/distribution/wasm/src/lib.rs +++ /dev/null @@ -1,41 +0,0 @@ -// Code generated by the multiversx-sc build system. DO NOT EDIT. - -//////////////////////////////////////////////////// -////////////////// AUTO-GENERATED ////////////////// -//////////////////////////////////////////////////// - -// Init: 1 -// Upgrade: 1 -// Endpoints: 15 -// Async Callback (empty): 1 -// Total number of exported functions: 18 - -#![no_std] - -multiversx_sc_wasm_adapter::allocator!(); -multiversx_sc_wasm_adapter::panic_handler!(); - -multiversx_sc_wasm_adapter::endpoints! { - distribution - ( - init => init - upgrade => upgrade - setCommunityDistribution => set_community_distribution - setPerUserDistributedLockedAssets => set_per_user_distributed_locked_assets - claimLockedAssets => claim_locked_assets - clearUnclaimableAssets => clear_unclaimable_assets - undoLastCommunityDistribution => undo_last_community_distrib - undoUserDistributedAssetsBetweenEpochs => undo_user_assets_between_epochs - setUnlockPeriod => set_unlock_period - calculateLockedAssets => calculate_locked_assets_view - deleteUserDistributedLockedAssets => delete_user_distributed_locked_assets - getUsersDistributedLockedAssetsLength => get_users_distributed_locked_assets_length - getUnlockPeriod => unlock_period - getCommunityDistributionList => community_distribution_list - getAssetTokenId => asset_token_id - startGlobalOperation => global_op_start - endGlobalOperation => global_op_stop - ) -} - -multiversx_sc_wasm_adapter::async_callback_empty! {} diff --git a/locked-asset/energy-factory/Cargo.toml b/locked-asset/energy-factory/Cargo.toml index c41abf0f6..feb1470b4 100644 --- a/locked-asset/energy-factory/Cargo.toml +++ b/locked-asset/energy-factory/Cargo.toml @@ -33,11 +33,11 @@ path = "../../common/traits/unwrappable" path = "../../common/modules/legacy_token_decode_module" [dependencies.multiversx-sc] -version = "=0.52.3" +version = "=0.53.2" features = ["esdt-token-payment-legacy-decode"] [dependencies.multiversx-sc-modules] -version = "=0.52.3" +version = "=0.53.2" [dev-dependencies] num-bigint = "0.4.2" @@ -45,4 +45,4 @@ num-traits = "0.2" hex = "0.4" [dev-dependencies.multiversx-sc-scenario] -version = "=0.52.3" +version = "=0.53.2" diff --git a/locked-asset/energy-factory/meta/Cargo.toml b/locked-asset/energy-factory/meta/Cargo.toml index f85c5b818..0f95b5590 100644 --- a/locked-asset/energy-factory/meta/Cargo.toml +++ b/locked-asset/energy-factory/meta/Cargo.toml @@ -10,6 +10,6 @@ authors = ["MultiversX "] [dependencies.energy-factory] path = ".." -[dependencies.multiversx-sc-meta] -version = "0.52.3" +[dependencies.multiversx-sc-meta-lib] +version = "0.53.2" default-features = false diff --git a/locked-asset/energy-factory/meta/src/main.rs b/locked-asset/energy-factory/meta/src/main.rs index 2eca0970a..74eed8b7c 100644 --- a/locked-asset/energy-factory/meta/src/main.rs +++ b/locked-asset/energy-factory/meta/src/main.rs @@ -1,3 +1,3 @@ fn main() { - multiversx_sc_meta::cli_main::(); + multiversx_sc_meta_lib::cli_main::(); } diff --git a/locked-asset/energy-factory/src/lib.rs b/locked-asset/energy-factory/src/lib.rs index f38c2e0e7..a8cd96be4 100644 --- a/locked-asset/energy-factory/src/lib.rs +++ b/locked-asset/energy-factory/src/lib.rs @@ -230,4 +230,33 @@ pub trait SimpleLockEnergy: output_tokens } + + #[only_owner] + #[endpoint(adjustUserEnergy)] + fn adjust_user_energy( + &self, + args: MultiValueEncoded>, + ) { + for arg in args { + let (user, energy_amount, token_amount) = arg.into_tuple(); + require!(!self.user_energy(&user).is_empty(), "User energy not found"); + let old_energy = self.get_updated_energy_entry_for_user(&user); + let new_energy_amount = old_energy.get_energy_amount_raw() + &energy_amount; + let new_total_locked_tokens = if token_amount >= 0 { + old_energy.get_total_locked_tokens() + &token_amount.magnitude() + } else { + let token_amount_magnitude = token_amount.magnitude(); + require!( + old_energy.get_total_locked_tokens() >= &token_amount_magnitude, + "Insufficient locked tokens" + ); + old_energy.get_total_locked_tokens() - &token_amount_magnitude + }; + + let current_epoch = self.blockchain().get_block_epoch(); + let new_energy = Energy::new(new_energy_amount, current_epoch, new_total_locked_tokens); + + self.set_energy_entry(&user, new_energy); + } + } } diff --git a/locked-asset/energy-factory/tests/energy_factory_setup/mod.rs b/locked-asset/energy-factory/tests/energy_factory_setup/mod.rs index 7d2c17b79..4f3abf678 100644 --- a/locked-asset/energy-factory/tests/energy_factory_setup/mod.rs +++ b/locked-asset/energy-factory/tests/energy_factory_setup/mod.rs @@ -10,7 +10,7 @@ use energy_factory::{ use multiversx_sc::{ codec::multi_types::OptionalValue, storage::mappers::StorageTokenWrapper, - types::{Address, EsdtLocalRole, MultiValueEncoded}, + types::{Address, BigInt, EsdtLocalRole, MultiValueEncoded}, }; use multiversx_sc_modules::pause::PauseModule; use multiversx_sc_scenario::{ @@ -19,6 +19,8 @@ use multiversx_sc_scenario::{ whitebox_legacy::{BlockchainStateWrapper, ContractObjWrapper}, DebugApi, }; + +use num_bigint::Sign; use simple_lock::locked_token::LockedTokenModule; use unbond_sc_mock::*; @@ -272,6 +274,47 @@ where result } + + pub fn get_user_energy_raw(&mut self, user: &Address) -> num_bigint::BigInt { + let mut result = num_bigint::BigInt::from_biguint(Sign::NoSign, rust_biguint!(0)); + self.b_mock + .execute_query(&self.sc_wrapper, |sc| { + let user_energy = sc.get_updated_energy_entry_for_user(&managed_address!(user)); + result = to_rust_bigint(user_energy.get_energy_amount_raw().clone()); + }) + .assert_ok(); + + result + } + + pub fn get_user_locked_tokens(&mut self, user: &Address) -> num_bigint::BigUint { + let mut result = rust_biguint!(0); + self.b_mock + .execute_query(&self.sc_wrapper, |sc| { + let user_energy = sc.get_updated_energy_entry_for_user(&managed_address!(user)); + result = to_rust_biguint(user_energy.get_total_locked_tokens().clone()); + }) + .assert_ok(); + + result + } + + pub fn adjust_user_energy(&mut self, user: &Address, energy_amount: i64, token_amount: i64) { + self.b_mock + .execute_tx(&self.owner, &self.sc_wrapper, &rust_biguint!(0), |sc| { + let mut args = MultiValueEncoded::new(); + args.push( + ( + managed_address!(user), + BigInt::from(energy_amount), + BigInt::from(token_amount), + ) + .into(), + ); + sc.adjust_user_energy(args); + }) + .assert_ok(); + } } pub fn to_rust_biguint( @@ -280,6 +323,16 @@ pub fn to_rust_biguint( num_bigint::BigUint::from_bytes_be(managed_biguint.to_bytes_be().as_slice()) } +pub fn to_rust_bigint( + managed_biguint: multiversx_sc::types::BigInt, +) -> num_bigint::BigInt { + if managed_biguint < 0 { + num_bigint::BigInt::from_biguint(Sign::Minus, to_rust_biguint(managed_biguint.magnitude())) + } else { + num_bigint::BigInt::from_biguint(Sign::Plus, to_rust_biguint(managed_biguint.magnitude())) + } +} + pub fn to_start_of_month(unlock_epoch: u64) -> u64 { unlock_epoch - unlock_epoch % 30 } diff --git a/locked-asset/energy-factory/tests/simple_lock_energy_test.rs b/locked-asset/energy-factory/tests/simple_lock_energy_test.rs index 202630958..530a906cc 100644 --- a/locked-asset/energy-factory/tests/simple_lock_energy_test.rs +++ b/locked-asset/energy-factory/tests/simple_lock_energy_test.rs @@ -7,6 +7,8 @@ use energy_factory::{ }; use energy_factory_setup::*; use multiversx_sc::types::BigUint; +use num_bigint::BigInt; +use num_traits::{FromPrimitive, Zero}; use simple_lock::locked_token::LockedTokenAttributes; use multiversx_sc_scenario::{ @@ -566,3 +568,163 @@ fn extend_lock_period_endpoint_test() { LOCK_OPTIONS[1] * energy_per_epoch.clone() - energy_per_epoch.clone() ); } + +#[test] +fn adjust_user_energy_test() { + let mut setup = SimpleLockEnergySetup::new(energy_factory::contract_obj); + let user = setup.first_user.clone(); + let user_balance = 1_000_000u64; + + // Initial lock to create user energy + setup + .lock(&user, BASE_ASSET_TOKEN_ID, user_balance, LOCK_OPTIONS[0]) + .assert_ok(); + + // Check initial energy + let initial_locked_tokens = rust_biguint!(user_balance); + let initial_energy = initial_locked_tokens.clone() * LOCK_OPTIONS[0]; + assert_eq!(setup.get_user_locked_tokens(&user), initial_locked_tokens); + assert_eq!(setup.get_user_energy(&user), initial_energy); + + // Case 1: Positive energy, positive token amount + let adjustment1_energy = 1_000_000i64; + let adjustment1_tokens = 500_000i64; + setup.adjust_user_energy(&user, adjustment1_energy, adjustment1_tokens); + + let locked_tokens1 = setup.get_user_locked_tokens(&user); + let energy1 = setup.get_user_energy(&user); + assert_eq!( + locked_tokens1, + &initial_locked_tokens + &rust_biguint!(adjustment1_tokens) + ); + assert_eq!( + energy1, + &initial_energy + &rust_biguint!(adjustment1_energy) + ); + + // Case 2: Positive energy, negative token amount + let adjustment2_energy = 800_000i64; + let adjustment2_tokens = -300_000i64; + setup.adjust_user_energy(&user, adjustment2_energy, adjustment2_tokens); + + let locked_tokens2 = setup.get_user_locked_tokens(&user); + let energy2 = setup.get_user_energy(&user); + assert_eq!( + locked_tokens2, + &locked_tokens1 - &rust_biguint!(adjustment2_tokens.unsigned_abs()) + ); + assert_eq!(energy2, &energy1 + &rust_biguint!(adjustment2_energy)); + + // Case 3: Negative energy, positive token amount + let adjustment3_energy = -1_500_000i64; + let adjustment3_tokens = 200_000i64; + setup.adjust_user_energy(&user, adjustment3_energy, adjustment3_tokens); + + let locked_tokens3 = setup.get_user_locked_tokens(&user); + let energy3 = setup.get_user_energy(&user); + assert_eq!( + locked_tokens3, + &locked_tokens2 + &rust_biguint!(adjustment3_tokens) + ); + assert_eq!( + energy3, + &energy2 - &rust_biguint!(adjustment3_energy.unsigned_abs()) + ); + + // Case 4: Negative energy, negative token amount + let adjustment4_energy = -700_000i64; + let adjustment4_tokens = -100_000i64; + setup.adjust_user_energy(&user, adjustment4_energy, adjustment4_tokens); + + let locked_tokens4 = setup.get_user_locked_tokens(&user); + let energy4 = setup.get_user_energy(&user); + assert_eq!( + locked_tokens4, + &locked_tokens3 - &rust_biguint!(adjustment4_tokens.unsigned_abs()) + ); + assert_eq!( + energy4, + &energy3 - &rust_biguint!(adjustment4_energy.unsigned_abs()) + ); + + // Bring energy to negative value + let adjustment5_energy = -500_000_000i64; // Adjust to negative energy + let adjustment5_tokens = 0i64; // Positive token amount + setup.adjust_user_energy(&user, adjustment5_energy, adjustment5_tokens); + + let locked_tokens5 = setup.get_user_locked_tokens(&user); + let energy5 = setup.get_user_energy_raw(&user); + assert_eq!( + locked_tokens5, + &locked_tokens4 + &rust_biguint!(adjustment5_tokens) + ); + assert!(energy5 < BigInt::zero()); // Energy should be negative + + // Replay Case 1 on negative energy + let adjustment6_energy = 500_000i64; + let adjustment6_tokens = 200_000i64; + setup.adjust_user_energy(&user, adjustment6_energy, adjustment6_tokens); + + let locked_tokens6 = setup.get_user_locked_tokens(&user); + let energy6 = setup.get_user_energy_raw(&user); + assert_eq!( + locked_tokens6, + &locked_tokens5 + &rust_biguint!(adjustment6_tokens) + ); + assert_eq!( + energy6, + &energy5 + &BigInt::from_i64(adjustment6_energy).unwrap() + ); + assert!(energy6 < BigInt::zero()); // Energy should remain negative + + // Replay Case 2 on negative energy + let adjustment7_energy = 300_000i64; + let adjustment7_tokens = -100_000i64; + setup.adjust_user_energy(&user, adjustment7_energy, adjustment7_tokens); + + let locked_tokens7 = setup.get_user_locked_tokens(&user); + let energy7 = setup.get_user_energy_raw(&user); + assert_eq!( + locked_tokens7, + &locked_tokens6 - &rust_biguint!(adjustment7_tokens.unsigned_abs()) + ); + assert_eq!( + energy7, + &energy6 + &BigInt::from_i64(adjustment7_energy).unwrap() + ); + assert!(energy7 < BigInt::zero()); // Energy should remain negative + + // Replay Case 3 on negative energy + let adjustment8_energy = -500_000i64; + let adjustment8_tokens = 100_000i64; + setup.adjust_user_energy(&user, adjustment8_energy, adjustment8_tokens); + + let locked_tokens8 = setup.get_user_locked_tokens(&user); + let energy8 = setup.get_user_energy_raw(&user); + assert_eq!( + locked_tokens8, + &locked_tokens7 + &rust_biguint!(adjustment8_tokens) + ); + assert_eq!( + energy8, + &energy7 + &BigInt::from_i64(adjustment8_energy).unwrap() + ); + assert!(energy8 < BigInt::zero()); // Energy should remain negative + + // Replay Case 4 on negative energy + let adjustment9_energy = -300_000i64; + let adjustment9_tokens = -50_000i64; + setup.adjust_user_energy(&user, adjustment9_energy, adjustment9_tokens); + + let locked_tokens9 = setup.get_user_locked_tokens(&user); + let energy9 = setup.get_user_energy_raw(&user); + assert_eq!( + locked_tokens9, + &locked_tokens8 - &rust_biguint!(adjustment9_tokens.unsigned_abs()) + ); + assert_eq!( + energy9, + &energy8 + &BigInt::from_i64(adjustment9_energy).unwrap() + ); + assert!(energy9 < BigInt::zero()); // Energy should remain negative +} diff --git a/locked-asset/energy-factory/wasm/Cargo.lock b/locked-asset/energy-factory/wasm/Cargo.lock index f1b55e72c..93a271e50 100644 --- a/locked-asset/energy-factory/wasm/Cargo.lock +++ b/locked-asset/energy-factory/wasm/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "arrayvec" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "autocfg" @@ -112,9 +112,9 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "526760b1d6236c011285b264a70a0a9dd3b3dbc53c3b5f76932f4bcfd3a8910c" +checksum = "75ea89a26f0aacda21437a8ae5ccfbefab99d8191942b3d2eddbcbf84f9866d7" dependencies = [ "bitflags", "hex-literal", @@ -126,9 +126,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad4f318427761faecf26c1f3115a3beeb5f61858845a60547d9763aa981ddd2d" +checksum = "007d7a5a8534e5dc9128cb8f15a65a21dd378e135c6016c7cd1491cd012bc8cb" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -137,9 +137,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "476501462b0c2654b64f9dec6f2c480e24b4e9b7133ec10b7167e64acda35d04" +checksum = "dffba1dce273ed5b61ee1b90aeea5c8c744617d0f12624f620768c144d83e753" dependencies = [ "hex", "proc-macro2", @@ -149,9 +149,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3557f2f12640a8a07fa6af66cc2a13b188c5b61bed72db22fe631fb3a60c3e96" +checksum = "4c17fdf90fafca2f19085ae67b0502d9f71bf8ab1be3c83808eb88e02a8c18b9" dependencies = [ "hex", "proc-macro2", @@ -162,18 +162,18 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61f5c29c6044f3dc9e866858feee625d7fae5604a68ac7bd66dec683eee97563" +checksum = "daeb48acbd39255868a3241798df2f85050f0ae8d82d6417bd2cd0e30a241855" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed13aaca9cbdbc6911174cd3029e750a7563d85dd3daaa1107b1fd31c7f17245" +checksum = "20659915a4377d375c46d7f237e810053a03f7e084fad6362dd5748a7233defb" dependencies = [ "multiversx-sc", ] @@ -207,9 +207,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.36" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ "proc-macro2", ] @@ -249,9 +249,9 @@ checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "syn" -version = "2.0.72" +version = "2.0.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" +checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" dependencies = [ "proc-macro2", "quote", diff --git a/locked-asset/energy-factory/wasm/Cargo.toml b/locked-asset/energy-factory/wasm/Cargo.toml index 13119f8cd..f66b75da6 100644 --- a/locked-asset/energy-factory/wasm/Cargo.toml +++ b/locked-asset/energy-factory/wasm/Cargo.toml @@ -28,7 +28,7 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "=0.52.3" +version = "=0.53.2" [workspace] members = ["."] diff --git a/locked-asset/energy-factory/wasm/src/lib.rs b/locked-asset/energy-factory/wasm/src/lib.rs index fafdc534e..181f50f1a 100644 --- a/locked-asset/energy-factory/wasm/src/lib.rs +++ b/locked-asset/energy-factory/wasm/src/lib.rs @@ -6,9 +6,9 @@ // Init: 1 // Upgrade: 1 -// Endpoints: 33 +// Endpoints: 34 // Async Callback: 1 -// Total number of exported functions: 36 +// Total number of exported functions: 37 #![no_std] @@ -23,6 +23,7 @@ multiversx_sc_wasm_adapter::endpoints! { lockTokens => lock_tokens_endpoint unlockTokens => unlock_tokens_endpoint extendLockPeriod => extend_lock_period + adjustUserEnergy => adjust_user_energy issueLockedToken => issue_locked_token getLockedTokenId => locked_token getBaseAssetTokenId => base_asset_token_id diff --git a/locked-asset/factory/.gitignore b/locked-asset/factory/.gitignore deleted file mode 100644 index eaf5915bd..000000000 --- a/locked-asset/factory/.gitignore +++ /dev/null @@ -1,7 +0,0 @@ -# Generated by Cargo -# will have compiled files and executables -/target/ -*/target/ - -# The erdpy output -output diff --git a/locked-asset/factory/Cargo.toml b/locked-asset/factory/Cargo.toml deleted file mode 100644 index 72efa530a..000000000 --- a/locked-asset/factory/Cargo.toml +++ /dev/null @@ -1,52 +0,0 @@ -[package] -name = "factory" -publish = false -version = "0.0.0" -edition = "2021" - -[lib] -path = "src/lib.rs" - -[dependencies] -wee_alloc = "0.4" - -[dependencies.common_structs] -path = "../../common/common_structs" - -[dependencies.common_errors] -path = "../../common/common_errors" - -[dependencies.token_send] -path = "../../common/modules/token_send" - -[dependencies.token_merge_helper] -path = "../../common/modules/token_merge_helper" - -[dependencies.energy-factory] -path = "../energy-factory" - -[dependencies.multiversx-sc] -version = "=0.52.3" -features = ["esdt-token-payment-legacy-decode"] - -[dependencies.multiversx-sc-modules] -version = "=0.52.3" - -[dependencies.arrayvec] -version = "0.7.1" -default-features = false - -[dependencies.itertools] -version = "0.10.1" -default-features = false - -[dev-dependencies] -num-bigint = "0.4.2" -num-traits = "0.2" -hex = "0.4" - -[dev-dependencies.simple-lock] -path = "../simple-lock" - -[dev-dependencies.multiversx-sc-scenario] -version = "=0.52.3" diff --git a/locked-asset/factory/README.md b/locked-asset/factory/README.md deleted file mode 100644 index d31f3fce1..000000000 --- a/locked-asset/factory/README.md +++ /dev/null @@ -1,92 +0,0 @@ -# Locked Asset Factory Smart Contract - -## Abstract - -This smart contract is the 'father' of all Locked MEX tokens as any contract that needs those tokens, must request them here. - -## Introduction - -This smart contract has the role of creating Locked MEX tokens. The rule is that only one contract per shard can hold the 'create' role for a META esdt, and because many contracts needed to mint/create Locked MEX, this factory was created so it can serve these requests from only one place. - -## Endpoints - -### init - -```rust - #[init] - fn init( - &self, - asset_token_id: TokenIdentifier, - default_unlock_period: MultiValueEncoded, - ); -``` - -The arguments are: - -- __asset_token_id__ - MEX token ID -- __default_unlock_period__ - each Locked MEX has an unlock schedule that is an array of unlock milestones. An unlock milestone is a combination of Unlock Epoch + Unlock Percent. An unlock schedule is created usually using a starting epoch combined with an unlock period. - -### createAndForward - -```rust - #[endpoint(createAndForward)] - fn create_and_forward( - &self, - amount: BigUint, - address: ManagedAddress, - start_epoch: Epoch, - ) -``` - -This is the endpoint called by other smart contracts when in need of creating Locked MEX. The contract will use the arguments and will create and send the __amount__ of Locked MEX to __address__ having the unlock schedule starting at __start_epoch__ with the __default_unlock_period__. - -### unlockAssets - -```rust - #[payable("*")] - #[endpoint(unlockAssets)] - fn unlock_assets( - &self, - #[payment_token] token_id: TokenIdentifier, - #[payment_amount] amount: BigUint, - #[payment_nonce] token_nonce: Nonce, - ); -``` - -This endpoint receives Locked MEX as payment and returns, if possible (if at least one Unlock Milestone was reached), regular Fungible MEX and the leftover Locked MEX, with updated Unlock Milestones. - -### lockAssets - -```rust - #[payable("*")] - #[endpoint(lockAssets)] - fn lock_assets( - &self, - #[payment_token] payment_token: TokenIdentifier, - #[payment_amount] payment_amount: BigUint, - ) -``` - -This endpoint receives MEX tokens as payment and returns Locked MEX tokens. The reason why someone would do this is because Locked MEX is used in different mechanisms where MEX cannot be used. Furthermore, Locking is beneficial to the Ecosystem. - -### mergeLockedAssetTokens - -```rust - #[payable("*")] - #[endpoint(mergeLockedAssetTokens)] - fn merge_locked_asset_tokens(&self) -``` - -The endpoint merges two or more Locked MEX tokens with different nonces together. It handles reconstructing the Unlock Schedule in a fair manner and with high precision. - -## Testing - -This contract has its own test suite in its subdirectory and it is included in most scenarios that include Locked MEX (Proxy SC, Farm SC with Lock and so on). - -## Interaction - -The interaction scripts for this contract are located in the dex subdirectory of the root project directory. - -## Deployment - -The deployment of this contract is done using interaction scripts and it is managed by its admin (regular wallet at the moment, yet soon to be governance smart contract). diff --git a/locked-asset/factory/elrond.json b/locked-asset/factory/elrond.json deleted file mode 100644 index 736553962..000000000 --- a/locked-asset/factory/elrond.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "language": "rust" -} \ No newline at end of file diff --git a/locked-asset/factory/meta/Cargo.toml b/locked-asset/factory/meta/Cargo.toml deleted file mode 100644 index 9c2bc7b20..000000000 --- a/locked-asset/factory/meta/Cargo.toml +++ /dev/null @@ -1,13 +0,0 @@ -[package] -name = "factory-abi" -version = "0.0.0" -authors = ["MultiversX "] -edition = "2021" -publish = false - -[dependencies.factory] -path = ".." - -[dependencies.multiversx-sc-meta] -version = "0.52.3" -default-features = false diff --git a/locked-asset/factory/meta/src/main.rs b/locked-asset/factory/meta/src/main.rs deleted file mode 100644 index db03496aa..000000000 --- a/locked-asset/factory/meta/src/main.rs +++ /dev/null @@ -1,3 +0,0 @@ -fn main() { - multiversx_sc_meta::cli_main::(); -} diff --git a/locked-asset/factory/multiversx.json b/locked-asset/factory/multiversx.json deleted file mode 100644 index 736553962..000000000 --- a/locked-asset/factory/multiversx.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "language": "rust" -} \ No newline at end of file diff --git a/locked-asset/factory/src/attr_ex_helper.rs b/locked-asset/factory/src/attr_ex_helper.rs deleted file mode 100644 index 19cf16aa1..000000000 --- a/locked-asset/factory/src/attr_ex_helper.rs +++ /dev/null @@ -1,56 +0,0 @@ -use common_structs::LockedAssetTokenAttributes; -use common_structs::LockedAssetTokenAttributesEx; -use common_structs::UnlockMilestoneEx; -use common_structs::UnlockScheduleEx; -use common_structs::PRECISION_EX_INCREASE; - -multiversx_sc::imports!(); -multiversx_sc::derive_imports!(); - -#[multiversx_sc::module] -pub trait AttrExHelper { - fn get_attributes_ex( - &self, - token_id: &TokenIdentifier, - token_nonce: u64, - ) -> LockedAssetTokenAttributesEx { - let token_info = self.blockchain().get_esdt_token_data( - &self.blockchain().get_sc_address(), - token_id, - token_nonce, - ); - - let attr_ex_activation = self.extended_attributes_activation_nonce().get(); - if token_nonce < attr_ex_activation { - let attr: LockedAssetTokenAttributes = token_info.decode_attributes(); - self.convert_attr_to_attr_ex(&attr) - } else { - token_info.decode_attributes() - } - } - - fn convert_attr_to_attr_ex( - &self, - attr: &LockedAssetTokenAttributes, - ) -> LockedAssetTokenAttributesEx { - let mut new_milestones: ManagedVec = ManagedVec::new(); - - for milestones in attr.unlock_schedule.unlock_milestones.iter() { - new_milestones.push(UnlockMilestoneEx { - unlock_epoch: milestones.unlock_epoch, - unlock_percent: (milestones.unlock_percent as u64) * PRECISION_EX_INCREASE, - }); - } - - LockedAssetTokenAttributesEx { - unlock_schedule: UnlockScheduleEx { - unlock_milestones: new_milestones, - }, - is_merged: attr.is_merged, - } - } - - #[view(getExtendedAttributesActivationNonce)] - #[storage_mapper("extended_attributes_activation_nonce")] - fn extended_attributes_activation_nonce(&self) -> SingleValueMapper; -} diff --git a/locked-asset/factory/src/cache.rs b/locked-asset/factory/src/cache.rs deleted file mode 100644 index 456011acf..000000000 --- a/locked-asset/factory/src/cache.rs +++ /dev/null @@ -1,51 +0,0 @@ -multiversx_sc::imports!(); -multiversx_sc::derive_imports!(); - -use common_structs::{Nonce, UnlockScheduleEx}; - -use crate::attr_ex_helper; - -use super::locked_asset; - -#[multiversx_sc::module] -pub trait CacheModule: - locked_asset::LockedAssetModule + token_send::TokenSendModule + attr_ex_helper::AttrExHelper -{ - #[inline(always)] - fn get_sft_nonce_for_unlock_schedule( - &self, - unlock_schedule: &UnlockScheduleEx, - ) -> Option { - self.nonce_cache_ex().get(unlock_schedule) - } - - #[view(getUnlockScheduleForSFTNonce)] - fn get_unlock_schedule_for_sft_nonce( - &self, - nonce: Nonce, - ) -> Option> { - self.unlock_schedule_cache_ex().get(&nonce) - } - - #[inline(always)] - fn cache_unlock_schedule_and_nonce( - &self, - unlock_schedule: &UnlockScheduleEx, - nonce: Nonce, - ) { - self.nonce_cache_ex().insert(unlock_schedule.clone(), nonce); - self.unlock_schedule_cache_ex() - .insert(nonce, unlock_schedule.clone()); - } - - #[view(getCacheSize)] - fn get_cache_size(&self) -> usize { - self.nonce_cache_ex().len() - } - - #[storage_mapper("nonce_cache_ex")] - fn nonce_cache_ex(&self) -> MapMapper, Nonce>; - - #[storage_mapper("unlock_schedule_cache_ex")] - fn unlock_schedule_cache_ex(&self) -> MapMapper>; -} diff --git a/locked-asset/factory/src/events.rs b/locked-asset/factory/src/events.rs deleted file mode 100644 index 6507cece0..000000000 --- a/locked-asset/factory/src/events.rs +++ /dev/null @@ -1,123 +0,0 @@ -multiversx_sc::imports!(); -multiversx_sc::derive_imports!(); - -use common_structs::LockedAssetTokenAttributesEx; - -#[derive(TypeAbi, TopEncode)] -pub struct CreateAndForwardEvent { - caller: ManagedAddress, - destination: ManagedAddress, - locked_asset_token_id: TokenIdentifier, - locked_asset_token_nonce: u64, - locked_asset_token_amount: BigUint, - locked_assets_attributes: LockedAssetTokenAttributesEx, - start_epoch: u64, - block: u64, - epoch: u64, - timestamp: u64, -} - -#[derive(TypeAbi, TopEncode)] -pub struct UnlockAssetsEvent { - caller: ManagedAddress, - input_locked_assets_token_id: TokenIdentifier, - input_locked_assets_token_nonce: u64, - input_locked_assets_token_amount: BigUint, - output_locked_assets_token_id: TokenIdentifier, - output_locked_assets_token_nonce: u64, - output_locked_assets_token_amount: BigUint, - asset_token_id: TokenIdentifier, - asset_token_amount: BigUint, - input_assets_attributes: LockedAssetTokenAttributesEx, - output_assets_attributes: LockedAssetTokenAttributesEx, - block: u64, - epoch: u64, - timestamp: u64, -} - -#[multiversx_sc::module] -pub trait EventsModule { - fn emit_create_and_forward_event( - self, - caller: &ManagedAddress, - destination: &ManagedAddress, - locked_asset_token_id: TokenIdentifier, - locked_asset_token_nonce: u64, - locked_asset_token_amount: BigUint, - locked_assets_attributes: LockedAssetTokenAttributesEx, - start_epoch: u64, - ) { - let epoch = self.blockchain().get_block_epoch(); - self.create_and_forward_event( - caller, - destination, - epoch, - &CreateAndForwardEvent { - caller: caller.clone(), - destination: destination.clone(), - locked_asset_token_id, - locked_asset_token_nonce, - locked_asset_token_amount, - locked_assets_attributes, - start_epoch, - block: self.blockchain().get_block_nonce(), - epoch, - timestamp: self.blockchain().get_block_timestamp(), - }, - ) - } - - fn emit_unlock_assets_event( - self, - caller: &ManagedAddress, - input_locked_assets_token_id: TokenIdentifier, - input_locked_assets_token_nonce: u64, - input_locked_assets_token_amount: BigUint, - output_locked_assets_token_id: TokenIdentifier, - output_locked_assets_token_nonce: u64, - output_locked_assets_token_amount: BigUint, - asset_token_id: TokenIdentifier, - asset_token_amount: BigUint, - input_assets_attributes: LockedAssetTokenAttributesEx, - output_assets_attributes: LockedAssetTokenAttributesEx, - ) { - let epoch = self.blockchain().get_block_epoch(); - self.unlock_assets_event( - caller, - epoch, - &UnlockAssetsEvent { - caller: caller.clone(), - input_locked_assets_token_id, - input_locked_assets_token_nonce, - input_locked_assets_token_amount, - output_locked_assets_token_id, - output_locked_assets_token_nonce, - output_locked_assets_token_amount, - asset_token_id, - asset_token_amount, - input_assets_attributes, - output_assets_attributes, - block: self.blockchain().get_block_nonce(), - epoch, - timestamp: self.blockchain().get_block_timestamp(), - }, - ) - } - - #[event("create_and_forward")] - fn create_and_forward_event( - self, - #[indexed] caller: &ManagedAddress, - #[indexed] destination: &ManagedAddress, - #[indexed] epoch: u64, - swap_event: &CreateAndForwardEvent, - ); - - #[event("unlock_assets")] - fn unlock_assets_event( - self, - #[indexed] caller: &ManagedAddress, - #[indexed] epoch: u64, - swap_event: &UnlockAssetsEvent, - ); -} diff --git a/locked-asset/factory/src/lib.rs b/locked-asset/factory/src/lib.rs deleted file mode 100644 index 268ff0c05..000000000 --- a/locked-asset/factory/src/lib.rs +++ /dev/null @@ -1,381 +0,0 @@ -#![no_std] - -pub mod attr_ex_helper; -mod cache; -mod events; -pub mod locked_asset; -pub mod locked_asset_token_merge; -pub mod migration; - -multiversx_sc::imports!(); -multiversx_sc::derive_imports!(); - -const ADDITIONAL_AMOUNT_TO_CREATE: u64 = 1; -const FIRST_TOKEN_NONCE: u64 = 1; -const EPOCHS_IN_MONTH: u64 = 30; - -use common_structs::{ - Epoch, LockedAssetTokenAttributesEx, UnlockMilestone, UnlockMilestoneEx, UnlockPeriod, - UnlockSchedule, UnlockScheduleEx, PRECISION_EX_INCREASE, -}; - -#[multiversx_sc::contract] -pub trait LockedAssetFactory: - locked_asset::LockedAssetModule - + cache::CacheModule - + token_send::TokenSendModule - + token_merge_helper::TokenMergeHelperModule - + locked_asset_token_merge::LockedAssetTokenMergeModule - + events::EventsModule - + attr_ex_helper::AttrExHelper - + multiversx_sc_modules::default_issue_callbacks::DefaultIssueCallbacksModule - + migration::LockedTokenMigrationModule - + multiversx_sc_modules::pause::PauseModule -{ - #[init] - fn init( - &self, - asset_token_id: TokenIdentifier, - default_unlock_period: MultiValueEncoded, - ) { - require!( - asset_token_id.is_valid_esdt_identifier(), - "Asset token ID is not a valid esdt identifier" - ); - - let unlock_milestones = default_unlock_period.to_vec(); - self.validate_unlock_milestones(&unlock_milestones); - - let is_sc_deploy = self.init_epoch().is_empty(); - if is_sc_deploy { - let current_epoch = self.blockchain().get_block_epoch(); - self.init_epoch().set(current_epoch); - } - self.set_extended_attributes_activation_nonce(!is_sc_deploy); - - if self.asset_token_id().is_empty() { - self.asset_token_id().set(&asset_token_id); - } - self.default_unlock_period() - .set(&UnlockPeriod { unlock_milestones }); - - self.set_paused(true); - } - - #[upgrade] - fn upgrade(&self) {} - - fn set_extended_attributes_activation_nonce(&self, is_sc_upgrade: bool) { - if !self.extended_attributes_activation_nonce().is_empty() { - return; - } - - if is_sc_upgrade { - let token_id = self.locked_asset_token().get_token_id(); - let own_sc_address = self.blockchain().get_sc_address(); - let current_nonce = self - .blockchain() - .get_current_esdt_nft_nonce(&own_sc_address, &token_id); - - self.extended_attributes_activation_nonce() - .set(current_nonce + 1); - } else { - self.extended_attributes_activation_nonce() - .set(FIRST_TOKEN_NONCE); - } - } - - #[only_owner] - #[endpoint] - fn whitelist(&self, address: ManagedAddress) { - let _ = self.whitelisted_contracts().insert(address); - } - - #[only_owner] - #[endpoint(removeWhitelist)] - fn remove_whitelist(&self, address: ManagedAddress) { - let _ = self.whitelisted_contracts().remove(&address); - } - - #[endpoint(createAndForwardCustomPeriod)] - fn create_and_forward_custom_period( - &self, - amount: BigUint, - address: ManagedAddress, - start_epoch: Epoch, - unlock_period: UnlockPeriod, - ) -> EsdtTokenPayment { - self.require_not_paused(); - - let caller = self.blockchain().get_caller(); - require!( - self.whitelisted_contracts().contains(&caller), - "Permission denied" - ); - require!(!unlock_period.unlock_milestones.is_empty(), "Empty arg"); - - self.common_create_and_forward(amount, &address, &caller, start_epoch, unlock_period) - } - - #[endpoint(createAndForward)] - fn create_and_forward( - &self, - amount: BigUint, - address: ManagedAddress, - start_epoch: Epoch, - ) -> EsdtTokenPayment { - self.require_not_paused(); - - let caller = self.blockchain().get_caller(); - require!( - self.whitelisted_contracts().contains(&caller), - "Permission denied" - ); - require!( - !self.locked_asset_token().is_empty(), - "Locked Asset Token not registered" - ); - require!(amount > 0, "Zero input amount"); - - let default_unlock_period = self.default_unlock_period().get(); - self.common_create_and_forward( - amount, - &address, - &caller, - start_epoch, - default_unlock_period, - ) - } - - #[payable("*")] - #[endpoint(unlockAssets)] - fn unlock_assets(&self) { - self.require_not_paused(); - - let (token_id, token_nonce, amount) = self.call_value().single_esdt().into_tuple(); - let locked_token_id = self.locked_asset_token().get_token_id(); - require!(token_id == locked_token_id, "Bad payment token"); - - let month_start_epoch = self.get_month_start_epoch(self.blockchain().get_block_epoch()); - let attributes = self.get_attributes_ex(&token_id, token_nonce); - let amounts_per_epoch = attributes.get_unlock_amounts_per_epoch(&amount); - let unlock_amount = amounts_per_epoch.get_total_unlockable_amount(month_start_epoch); - require!(unlock_amount > 0u64, "Method called too soon"); - - let caller = self.blockchain().get_caller(); - self.mint_and_send_assets(&caller, &unlock_amount); - - let mut output_locked_assets_token_amount = - EsdtTokenPayment::new(token_id.clone(), 0, BigUint::zero()); - let mut output_locked_asset_attributes = LockedAssetTokenAttributesEx { - unlock_schedule: UnlockScheduleEx { - unlock_milestones: ManagedVec::new(), - }, - is_merged: false, - }; - - let locked_remaining = &amount - &unlock_amount; - if locked_remaining > 0u64 { - output_locked_asset_attributes = attributes.clone(); - output_locked_asset_attributes - .unlock_schedule - .clear_unlockable_entries(month_start_epoch); - output_locked_asset_attributes - .unlock_schedule - .reallocate_percentages(); - - output_locked_assets_token_amount = self.produce_tokens_and_send( - &locked_remaining, - &output_locked_asset_attributes, - &caller, - ); - } - - self.send() - .esdt_local_burn(&locked_token_id, token_nonce, &amount); - - let initial_amounts_per_epoch = attributes.get_unlock_amounts_per_epoch(&amount); - let final_amounts_per_epoch = - output_locked_asset_attributes.get_unlock_amounts_per_epoch(&locked_remaining); - self.update_energy_after_unlock( - caller.clone(), - initial_amounts_per_epoch, - final_amounts_per_epoch, - ); - - self.emit_unlock_assets_event( - &caller, - token_id, - token_nonce, - amount, - output_locked_assets_token_amount.token_identifier, - output_locked_assets_token_amount.token_nonce, - output_locked_assets_token_amount.amount, - self.asset_token_id().get(), - unlock_amount, - attributes, - output_locked_asset_attributes, - ); - } - - #[payable("*")] - #[endpoint(lockAssets)] - fn lock_assets(&self) -> EsdtTokenPayment { - self.require_not_paused(); - - let (payment_token, payment_amount) = self.call_value().single_fungible_esdt(); - let caller = self.blockchain().get_caller(); - - let asset_token_id = self.asset_token_id().get(); - require!(payment_token == asset_token_id, "INVALID TOKEN PAYMENT"); - let block_epoch = self.blockchain().get_block_epoch(); - - self.send() - .esdt_local_burn(&payment_token, 0, &payment_amount); - - let default_unlock_period = self.default_unlock_period().get(); - self.common_create_and_forward( - payment_amount, - &caller, - &caller, - block_epoch, - default_unlock_period, - ) - } - - #[only_owner] - #[endpoint(setUnlockPeriod)] - fn set_unlock_period(&self, milestones: MultiValueEncoded) { - let unlock_milestones = milestones.to_vec(); - self.validate_unlock_milestones(&unlock_milestones); - self.default_unlock_period() - .set(&UnlockPeriod { unlock_milestones }); - } - - fn get_month_start_epoch(&self, epoch: Epoch) -> Epoch { - epoch - (epoch - self.init_epoch().get()) % EPOCHS_IN_MONTH - } - - fn common_create_and_forward( - &self, - amount: BigUint, - address: &ManagedAddress, - caller: &ManagedAddress, - start_epoch: Epoch, - unlock_period: UnlockSchedule, - ) -> EsdtTokenPayment { - let month_start_epoch = self.get_month_start_epoch(start_epoch); - let attr = LockedAssetTokenAttributesEx { - unlock_schedule: self.create_unlock_schedule(month_start_epoch, unlock_period), - is_merged: false, - }; - - let new_token = self.produce_tokens_and_send(&amount, &attr, address); - - self.emit_create_and_forward_event( - caller, - address, - new_token.token_identifier.clone(), - new_token.token_nonce, - new_token.amount.clone(), - attr, - start_epoch, - ); - - new_token - } - - fn produce_tokens_and_send( - &self, - amount: &BigUint, - attributes: &LockedAssetTokenAttributesEx, - address: &ManagedAddress, - ) -> EsdtTokenPayment { - let result = self.get_sft_nonce_for_unlock_schedule(&attributes.unlock_schedule); - match result { - Option::Some(cached_nonce) => { - self.add_quantity_and_send_locked_assets(amount.clone(), cached_nonce, address) - } - Option::None => { - let do_cache_result = !attributes.is_merged; - - let additional_amount_to_create = if do_cache_result { - BigUint::from(ADDITIONAL_AMOUNT_TO_CREATE) - } else { - BigUint::zero() - }; - - let new_tokens = self.create_and_send_locked_assets( - amount, - &additional_amount_to_create, - address, - attributes, - ); - - if do_cache_result { - self.cache_unlock_schedule_and_nonce( - &attributes.unlock_schedule, - new_tokens.token_nonce, - ); - } - - new_tokens - } - } - } - - #[only_owner] - #[payable("EGLD")] - #[endpoint(registerLockedAssetToken)] - fn register_locked_asset_token( - &self, - token_display_name: ManagedBuffer, - token_ticker: ManagedBuffer, - num_decimals: usize, - ) { - let payment_amount = self.call_value().egld_value().clone_value(); - self.locked_asset_token().issue_and_set_all_roles( - EsdtTokenType::Meta, - payment_amount, - token_display_name, - token_ticker, - num_decimals, - None, - ); - } - - fn create_unlock_schedule( - &self, - start_epoch: Epoch, - unlock_period: UnlockPeriod, - ) -> UnlockScheduleEx { - let mut result = ManagedVec::new(); - for milestone in unlock_period.unlock_milestones.iter() { - result.push(UnlockMilestoneEx { - unlock_epoch: milestone.unlock_epoch + start_epoch, - unlock_percent: milestone.unlock_percent as u64 * PRECISION_EX_INCREASE, - }); - } - UnlockScheduleEx { - unlock_milestones: result, - } - } - - #[only_owner] - #[endpoint(setInitEpoch)] - fn set_init_epoch(&self, init_epoch: Epoch) { - self.init_epoch().set(init_epoch); - } - - #[view(getInitEpoch)] - #[storage_mapper("init_epoch")] - fn init_epoch(&self) -> SingleValueMapper; - - #[view(getWhitelistedContracts)] - #[storage_mapper("whitelist")] - fn whitelisted_contracts(&self) -> SetMapper; - - #[view(getDefaultUnlockPeriod)] - #[storage_mapper("default_unlock_period")] - fn default_unlock_period(&self) -> SingleValueMapper>; -} diff --git a/locked-asset/factory/src/locked_asset.rs b/locked-asset/factory/src/locked_asset.rs deleted file mode 100644 index 85eb51636..000000000 --- a/locked-asset/factory/src/locked_asset.rs +++ /dev/null @@ -1,194 +0,0 @@ -multiversx_sc::imports!(); -multiversx_sc::derive_imports!(); - -use common_structs::*; - -pub const ONE_MILLION: u64 = 1_000_000u64; -pub const TEN_THOUSAND: u64 = 10_000u64; -pub const DOUBLE_MAX_MILESTONES_IN_SCHEDULE: usize = 2 * MAX_MILESTONES_IN_SCHEDULE; - -#[derive(ManagedVecItem)] -pub struct LockedTokenEx { - pub token_amount: EsdtTokenPayment, - pub attributes: LockedAssetTokenAttributesEx, -} - -#[multiversx_sc::module] -pub trait LockedAssetModule: - token_send::TokenSendModule + crate::attr_ex_helper::AttrExHelper -{ - fn create_and_send_locked_assets( - &self, - amount: &BigUint, - additional_amount_to_create: &BigUint, - address: &ManagedAddress, - attributes: &LockedAssetTokenAttributesEx, - ) -> EsdtTokenPayment { - let total_amount = amount + additional_amount_to_create; - let mut created_tokens = self - .locked_asset_token() - .nft_create(total_amount, attributes); - created_tokens.amount -= additional_amount_to_create; - - self.send().direct_esdt( - address, - &created_tokens.token_identifier, - created_tokens.token_nonce, - &created_tokens.amount, - ); - - created_tokens - } - - #[inline] - fn add_quantity_and_send_locked_assets( - &self, - amount: BigUint, - sft_nonce: Nonce, - address: &ManagedAddress, - ) -> EsdtTokenPayment { - self.locked_asset_token() - .nft_add_quantity_and_send(address, sft_nonce, amount) - } - - fn get_unlock_percent( - &self, - current_epoch: Epoch, - unlock_milestones: &ManagedVec, - ) -> u64 { - let mut unlock_percent = 0u64; - - for milestone in unlock_milestones.into_iter() { - if milestone.unlock_epoch <= current_epoch { - unlock_percent += milestone.unlock_percent; - } - } - - if unlock_percent > PERCENTAGE_TOTAL_EX { - let mut err = self.error().new_error(); - err.append_bytes(&b"unlock percent greater than max"[..]); - err.exit_now(); - } - - unlock_percent - } - - fn create_new_unlock_milestones( - &self, - current_epoch: Epoch, - old_unlock_milestones: &ManagedVec, - ) -> ManagedVec { - let unlock_percent = self.get_unlock_percent(current_epoch, old_unlock_milestones); - let unlock_percent_remaining = PERCENTAGE_TOTAL_EX - unlock_percent; - - if unlock_percent_remaining == 0 { - return ManagedVec::new(); - } - - let mut unlock_milestones_merged = - ArrayVec::::new(); - for old_milestone in old_unlock_milestones.iter() { - if old_milestone.unlock_epoch > current_epoch { - let new_unlock_percent = - old_milestone.unlock_percent * PRECISION_EX_INCREASE * ONE_MILLION - / unlock_percent_remaining; - unsafe { - unlock_milestones_merged.push_unchecked(UnlockMilestoneEx { - unlock_epoch: old_milestone.unlock_epoch, - unlock_percent: new_unlock_percent, - }); - } - } - } - - self.distribute_leftover(&mut unlock_milestones_merged); - self.get_non_zero_percent_milestones_as_vec(&unlock_milestones_merged) - } - - fn distribute_leftover( - &self, - unlock_milestones_merged: &mut ArrayVec, - ) { - let mut sum_of_new_percents = 0u64; - for milestone in unlock_milestones_merged.iter() { - sum_of_new_percents += milestone.unlock_percent / TEN_THOUSAND; - } - let mut leftover = PERCENTAGE_TOTAL_EX - sum_of_new_percents; - - while leftover != 0 { - let mut max_rounding_error = 0; - let mut max_rounding_error_index = 0; - for index in 0..unlock_milestones_merged.len() { - let rounding_error = unlock_milestones_merged[index].unlock_percent % TEN_THOUSAND; - if rounding_error >= max_rounding_error { - max_rounding_error = rounding_error; - max_rounding_error_index = index; - } - } - - leftover -= 1; - unlock_milestones_merged[max_rounding_error_index].unlock_percent = - ((unlock_milestones_merged[max_rounding_error_index].unlock_percent - / TEN_THOUSAND) - + 1) - * TEN_THOUSAND; - } - } - - fn get_non_zero_percent_milestones_as_vec( - &self, - unlock_milestones_merged: &ArrayVec, - ) -> ManagedVec { - let mut new_unlock_milestones = ManagedVec::new(); - - for el in unlock_milestones_merged.iter() { - let percent_rounded = el.unlock_percent / TEN_THOUSAND; - if percent_rounded != 0 { - new_unlock_milestones.push(UnlockMilestoneEx { - unlock_epoch: el.unlock_epoch, - unlock_percent: percent_rounded, - }); - } - } - - new_unlock_milestones - } - - fn validate_unlock_milestones(&self, unlock_milestones: &ManagedVec) { - require!(!unlock_milestones.is_empty(), "Empty param"); - - let mut percents_sum: u8 = 0; - let mut last_milestone_unlock_epoch: u64 = 0; - - for milestone in unlock_milestones.into_iter() { - require!( - milestone.unlock_epoch >= last_milestone_unlock_epoch, - "Unlock epochs not in order" - ); - require!( - milestone.unlock_percent <= 100, - "Unlock percent more than 100" - ); - last_milestone_unlock_epoch = milestone.unlock_epoch; - percents_sum += milestone.unlock_percent; - } - - require!(percents_sum == 100, "Percents do not sum up to 100"); - } - - fn mint_and_send_assets(&self, dest: &ManagedAddress, amount: &BigUint) { - if amount > &0 { - let asset_token_id = self.asset_token_id().get(); - self.send().esdt_local_mint(&asset_token_id, 0, amount); - self.send().direct_esdt(dest, &asset_token_id, 0, amount); - } - } - - #[view(getLockedAssetTokenId)] - #[storage_mapper("locked_asset_token_id")] - fn locked_asset_token(&self) -> NonFungibleTokenMapper; - - #[view(getAssetTokenId)] - #[storage_mapper("asset_token_id")] - fn asset_token_id(&self) -> SingleValueMapper; -} diff --git a/locked-asset/factory/src/locked_asset_token_merge.rs b/locked-asset/factory/src/locked_asset_token_merge.rs deleted file mode 100644 index f2c76f235..000000000 --- a/locked-asset/factory/src/locked_asset_token_merge.rs +++ /dev/null @@ -1,185 +0,0 @@ -multiversx_sc::imports!(); -multiversx_sc::derive_imports!(); - -use common_structs::*; - -use crate::attr_ex_helper; - -use super::locked_asset; -use super::locked_asset::{LockedTokenEx, DOUBLE_MAX_MILESTONES_IN_SCHEDULE, ONE_MILLION}; - -#[multiversx_sc::module] -pub trait LockedAssetTokenMergeModule: - locked_asset::LockedAssetModule - + token_send::TokenSendModule - + token_merge_helper::TokenMergeHelperModule - + attr_ex_helper::AttrExHelper - + multiversx_sc_modules::pause::PauseModule -{ - #[payable("*")] - #[endpoint(mergeTokens)] - fn merge_tokens(&self) -> EsdtTokenPayment { - self.require_not_paused(); - - let caller = self.blockchain().get_caller(); - let payments_vec = self.call_value().all_esdt_transfers(); - require!(!payments_vec.is_empty(), "Empty payment vec"); - let payments_iter = payments_vec.iter(); - - let (amount, attrs) = - self.get_merged_locked_asset_token_amount_and_attributes(payments_iter.clone()); - - self.burn_tokens_from_payments(payments_iter); - - self.locked_asset_token() - .nft_create_and_send(&caller, amount, &attrs) - } - - fn burn_tokens_from_payments( - &self, - payments: ManagedVecRefIterator>, - ) { - for entry in payments { - self.send() - .esdt_local_burn(&entry.token_identifier, entry.token_nonce, &entry.amount); - } - } - - fn get_merged_locked_asset_token_amount_and_attributes( - &self, - payments: ManagedVecRefIterator>, - ) -> (BigUint, LockedAssetTokenAttributesEx) { - let mut tokens = ManagedVec::new(); - let mut sum_amount = BigUint::zero(); - let locked_asset_token_id = self.locked_asset_token().get_token_id(); - - for entry in payments { - require!( - entry.token_identifier == locked_asset_token_id, - "Bad token id" - ); - - sum_amount += &entry.amount; - - let attributes = self.get_attributes_ex(&entry.token_identifier, entry.token_nonce); - tokens.push(LockedTokenEx { - token_amount: entry, - attributes, - }); - } - - require!(!tokens.is_empty(), "Cannot merge with 0 tokens"); - - if tokens.len() == 1 { - let token_0 = tokens.get(0); - return (token_0.token_amount.amount, token_0.attributes); - } - - let attrs = LockedAssetTokenAttributesEx { - unlock_schedule: self.aggregated_unlock_schedule(&tokens), - is_merged: true, - }; - - (sum_amount, attrs) - } - - fn calculate_new_unlock_milestones( - &self, - unlock_epoch_amount_merged: &ArrayVec< - EpochAmountPair, - DOUBLE_MAX_MILESTONES_IN_SCHEDULE, - >, - amount_total: &BigUint, - ) -> ManagedVec { - let mut unlock_milestones_merged = - ArrayVec::::new(); - - for el in unlock_epoch_amount_merged.iter() { - let unlock_percent = &(&el.amount * PRECISION_EX_INCREASE * ONE_MILLION) / amount_total; - - // Accumulate even the percents of 0 - unsafe { - unlock_milestones_merged.push_unchecked(UnlockMilestoneEx { - unlock_epoch: el.epoch, - unlock_percent: unlock_percent.to_u64().unwrap_unchecked(), - }); - } - } - - self.distribute_leftover(&mut unlock_milestones_merged); - self.get_non_zero_percent_milestones_as_vec(&unlock_milestones_merged) - } - - fn aggregated_unlock_schedule( - &self, - tokens: &ManagedVec>, - ) -> UnlockScheduleEx { - let mut array = - ArrayVec::, DOUBLE_MAX_MILESTONES_IN_SCHEDULE>::new(); - - let mut sum = BigUint::zero(); - for locked_token in tokens.iter() { - for milestone in locked_token - .attributes - .unlock_schedule - .unlock_milestones - .iter() - { - require!( - array.len() < DOUBLE_MAX_MILESTONES_IN_SCHEDULE, - "too many unlock milestones" - ); - unsafe { - array.push_unchecked(EpochAmountPair { - epoch: milestone.unlock_epoch, - amount: self.rule_of_three( - &BigUint::from(milestone.unlock_percent), - &BigUint::from(PERCENTAGE_TOTAL_EX), - &locked_token.token_amount.amount, - ), - }); - } - } - sum += &locked_token.token_amount.amount; - } - array.sort_unstable_by(|a, b| a.epoch.cmp(&b.epoch)); - - let default = EpochAmountPair { - epoch: 0u64, - amount: BigUint::zero(), - }; - let mut unlock_epoch_amount_merged = - ArrayVec::, DOUBLE_MAX_MILESTONES_IN_SCHEDULE>::new(); - for elem in array.iter() { - let last = unlock_epoch_amount_merged.last().unwrap_or(&default); - - if elem.epoch == last.epoch || elem.epoch == last.epoch + 1 { - let new_elem = EpochAmountPair { - epoch: elem.epoch, - amount: &last.amount + &elem.amount, - }; - unlock_epoch_amount_merged.pop(); - unsafe { - unlock_epoch_amount_merged.push_unchecked(new_elem); - } - } else { - unsafe { - unlock_epoch_amount_merged.push_unchecked(elem.clone()); - } - } - } - require!(sum != 0u64, "Sum cannot be zero"); - require!( - unlock_epoch_amount_merged.len() < MAX_MILESTONES_IN_SCHEDULE, - "Too many milestones" - ); - require!(!unlock_epoch_amount_merged.is_empty(), "Empty milestones"); - - let new_unlock_milestones = - self.calculate_new_unlock_milestones(&unlock_epoch_amount_merged, &sum); - - UnlockScheduleEx { - unlock_milestones: new_unlock_milestones, - } - } -} diff --git a/locked-asset/factory/src/migration.rs b/locked-asset/factory/src/migration.rs deleted file mode 100644 index 590af2e3a..000000000 --- a/locked-asset/factory/src/migration.rs +++ /dev/null @@ -1,75 +0,0 @@ -multiversx_sc::imports!(); - -use common_structs::UnlockEpochAmountPairs; -use energy_factory::migration::ProxyTrait as _; - -#[multiversx_sc::module] -pub trait LockedTokenMigrationModule: - crate::locked_asset::LockedAssetModule - + token_send::TokenSendModule - + crate::attr_ex_helper::AttrExHelper -{ - /// The new factory will need the burn role for the migrated tokens - #[only_owner] - #[endpoint(setLockedTokenBurnRoleForAddress)] - fn set_locked_token_burn_role_for_address(&self, address: ManagedAddress) { - self.locked_asset_token().set_local_roles_for_address( - &address, - &[EsdtLocalRole::NftBurn], - None, - ); - } - - /// Sets the transfer role for the given address. Defaults to own address. - /// The new factory will also need this role. - #[only_owner] - #[endpoint(setTransferRoleOldLockedToken)] - fn set_transfer_role_old_locked_token(&self, opt_address: OptionalValue) { - let address = match opt_address { - OptionalValue::Some(addr) => addr, - OptionalValue::None => self.blockchain().get_sc_address(), - }; - - self.locked_asset_token().set_local_roles_for_address( - &address, - &[EsdtLocalRole::Transfer], - None, - ); - } - - #[only_owner] - #[endpoint(setNewFactoryAddress)] - fn set_new_factory_address(&self, sc_address: ManagedAddress) { - require!( - !sc_address.is_zero() && self.blockchain().is_smart_contract(&sc_address), - "Invalid SC address" - ); - self.new_factory_address().set(&sc_address); - } - - fn update_energy_after_unlock( - &self, - caller: ManagedAddress, - initial_epoch_amount_pairs: UnlockEpochAmountPairs, - final_epoch_amount_pairs: UnlockEpochAmountPairs, - ) { - let new_factory_address = self.new_factory_address().get(); - let _: IgnoreValue = self - .new_factory_proxy_builder(new_factory_address) - .update_energy_after_old_token_unlock( - caller, - initial_epoch_amount_pairs, - final_epoch_amount_pairs, - ) - .execute_on_dest_context(); - } - - #[proxy] - fn new_factory_proxy_builder( - &self, - sc_address: ManagedAddress, - ) -> energy_factory::Proxy; - - #[storage_mapper("newFactoryAddress")] - fn new_factory_address(&self) -> SingleValueMapper; -} diff --git a/locked-asset/factory/testnet.toml b/locked-asset/factory/testnet.toml deleted file mode 100644 index e69de29bb..000000000 diff --git a/locked-asset/factory/tests/factory_setup/mod.rs b/locked-asset/factory/tests/factory_setup/mod.rs deleted file mode 100644 index 633805223..000000000 --- a/locked-asset/factory/tests/factory_setup/mod.rs +++ /dev/null @@ -1,152 +0,0 @@ -#![allow(dead_code)] -#![allow(deprecated)] - -use common_structs::UnlockMilestone; -use energy_factory::SimpleLockEnergy; -use factory::{ - locked_asset::LockedAssetModule, migration::LockedTokenMigrationModule, LockedAssetFactory, -}; -use multiversx_sc::{ - storage::mappers::StorageTokenWrapper, - types::{Address, EsdtLocalRole, MultiValueEncoded}, -}; -use multiversx_sc_scenario::{ - managed_address, managed_token_id, rust_biguint, - whitebox_legacy::{BlockchainStateWrapper, ContractObjWrapper}, - DebugApi, -}; -use simple_lock::locked_token::LockedTokenModule; - -pub const EPOCHS_IN_YEAR: u64 = 360; -pub const EPOCHS_IN_WEEK: u64 = 7; -pub const USER_BALANCE: u64 = 1_000_000_000_000_000_000; - -pub static BASE_ASSET_TOKEN_ID: &[u8] = b"MEX-123456"; -pub static LOCKED_TOKEN_ID: &[u8] = b"LOCKED-123456"; -pub static LEGACY_LOCKED_TOKEN_ID: &[u8] = b"LEGACY-123456"; - -pub static LOCK_OPTIONS: &[u64] = &[EPOCHS_IN_YEAR, 2 * EPOCHS_IN_YEAR, 4 * EPOCHS_IN_YEAR]; // 1, 2 or 4 years -pub static PENALTY_PERCENTAGES: &[u64] = &[4_000, 6_000, 8_000]; - -pub struct FactorySetup -where - FactoryBuilder: 'static + Copy + Fn() -> factory::ContractObj, - EnergyFactoryBuilder: 'static + Copy + Fn() -> energy_factory::ContractObj, -{ - pub b_mock: BlockchainStateWrapper, - pub owner: Address, - pub first_user: Address, - pub factory_wrapper: ContractObjWrapper, FactoryBuilder>, - pub energy_factory_wrapper: - ContractObjWrapper, EnergyFactoryBuilder>, -} - -impl FactorySetup -where - FactoryBuilder: 'static + Copy + Fn() -> factory::ContractObj, - EnergyFactoryBuilder: 'static + Copy + Fn() -> energy_factory::ContractObj, -{ - pub fn new( - factory_builder: FactoryBuilder, - energy_factory_builder: EnergyFactoryBuilder, - ) -> Self { - DebugApi::dummy(); - let rust_zero = rust_biguint!(0u64); - let mut b_mock = BlockchainStateWrapper::new(); - let owner = b_mock.create_user_account(&rust_zero); - let first_user = b_mock.create_user_account(&rust_zero); - let energy_factory_wrapper = b_mock.create_sc_account( - &rust_zero, - Some(&owner), - energy_factory_builder, - "energy factory", - ); - let factory_wrapper = - b_mock.create_sc_account(&rust_zero, Some(&owner), factory_builder, "factory"); - - b_mock - .execute_tx(&owner, &energy_factory_wrapper, &rust_zero, |sc| { - let mut lock_options = MultiValueEncoded::new(); - for (option, penalty) in LOCK_OPTIONS.iter().zip(PENALTY_PERCENTAGES.iter()) { - lock_options.push((*option, *penalty).into()); - } - sc.init( - managed_token_id!(BASE_ASSET_TOKEN_ID), - managed_token_id!(LEGACY_LOCKED_TOKEN_ID), - managed_address!(factory_wrapper.address_ref()), - 0, - lock_options, - ); - - sc.locked_token() - .set_token_id(managed_token_id!(LOCKED_TOKEN_ID)); - }) - .assert_ok(); - - b_mock - .execute_tx(&owner, &factory_wrapper, &rust_zero, |sc| { - let mut default_unlock_period = MultiValueEncoded::new(); - default_unlock_period.push(UnlockMilestone { - unlock_epoch: 0, - unlock_percent: 100, - }); - - sc.init( - managed_token_id!(BASE_ASSET_TOKEN_ID), - default_unlock_period, - ); - sc.new_factory_address() - .set(managed_address!(energy_factory_wrapper.address_ref())); - sc.locked_asset_token() - .set_token_id(managed_token_id!(LEGACY_LOCKED_TOKEN_ID)); - }) - .assert_ok(); - - // set energy factory roles - b_mock.set_esdt_local_roles( - energy_factory_wrapper.address_ref(), - BASE_ASSET_TOKEN_ID, - &[EsdtLocalRole::Mint, EsdtLocalRole::Burn], - ); - b_mock.set_esdt_local_roles( - energy_factory_wrapper.address_ref(), - LOCKED_TOKEN_ID, - &[ - EsdtLocalRole::NftCreate, - EsdtLocalRole::NftAddQuantity, - EsdtLocalRole::NftBurn, - EsdtLocalRole::Transfer, - ], - ); - b_mock.set_esdt_local_roles( - energy_factory_wrapper.address_ref(), - LEGACY_LOCKED_TOKEN_ID, - &[EsdtLocalRole::NftBurn], - ); - - // set factory roles - b_mock.set_esdt_local_roles( - factory_wrapper.address_ref(), - BASE_ASSET_TOKEN_ID, - &[EsdtLocalRole::Mint, EsdtLocalRole::Burn], - ); - b_mock.set_esdt_local_roles( - factory_wrapper.address_ref(), - LEGACY_LOCKED_TOKEN_ID, - &[ - EsdtLocalRole::NftCreate, - EsdtLocalRole::NftAddQuantity, - EsdtLocalRole::NftBurn, - EsdtLocalRole::Transfer, - ], - ); - - Self { - b_mock, - owner, - first_user, - factory_wrapper, - energy_factory_wrapper, - } - } -} diff --git a/locked-asset/factory/tests/lock_test.rs b/locked-asset/factory/tests/lock_test.rs deleted file mode 100644 index 556642eef..000000000 --- a/locked-asset/factory/tests/lock_test.rs +++ /dev/null @@ -1,105 +0,0 @@ -#![allow(deprecated)] - -use common_structs::{ - LockedAssetTokenAttributesEx, UnlockMilestone, UnlockMilestoneEx, UnlockScheduleEx, -}; -use multiversx_sc::{ - storage::mappers::StorageTokenWrapper, - types::{EsdtLocalRole, ManagedVec, MultiValueEncoded}, -}; -use multiversx_sc_scenario::{ - managed_biguint, managed_token_id, rust_biguint, whitebox_legacy::*, DebugApi, -}; - -const SC_WASM_PATH: &str = "output/factory.wasm"; - -use factory::{locked_asset::LockedAssetModule, LockedAssetFactory}; -use multiversx_sc_modules::pause::PauseModule; - -const ASSET_TOKEN_ID: &[u8] = b"MEX-123456"; -const LOCKED_ASSET_TOKEN_ID: &[u8] = b"LKMEX-123456"; - -#[test] -fn test_lock_assets() { - let mut blockchain_wrapper = BlockchainStateWrapper::new(); - - let owner_addr = blockchain_wrapper.create_user_account(&rust_biguint!(0)); - let factory = blockchain_wrapper.create_sc_account( - &rust_biguint!(0), - Option::Some(&owner_addr), - factory::contract_obj, - SC_WASM_PATH, - ); - - blockchain_wrapper - .execute_tx(&owner_addr, &factory, &rust_biguint!(0), |sc| { - let asset_token_id = managed_token_id!(ASSET_TOKEN_ID); - let mut unlock_period = MultiValueEncoded::new(); - unlock_period.push(UnlockMilestone { - unlock_epoch: 1, - unlock_percent: 100, - }); - sc.init(asset_token_id, unlock_period); - sc.locked_asset_token() - .set_token_id(managed_token_id!(LOCKED_ASSET_TOKEN_ID)); - sc.set_paused(false); - }) - .assert_ok(); - - let asset_token_roles = [EsdtLocalRole::Burn]; - let locked_asset_token_roles = [ - EsdtLocalRole::NftCreate, - EsdtLocalRole::NftAddQuantity, - EsdtLocalRole::NftBurn, - ]; - - blockchain_wrapper.set_esdt_local_roles( - factory.address_ref(), - ASSET_TOKEN_ID, - &asset_token_roles[..], - ); - blockchain_wrapper.set_esdt_local_roles( - factory.address_ref(), - LOCKED_ASSET_TOKEN_ID, - &locked_asset_token_roles[..], - ); - - let mut locked_assets_nonce = 0; - - blockchain_wrapper.set_esdt_balance(&owner_addr, ASSET_TOKEN_ID, &rust_biguint!(2000)); - - blockchain_wrapper - .execute_esdt_transfer( - &owner_addr, - &factory, - ASSET_TOKEN_ID, - 0, - &rust_biguint!(1000), - |sc| { - let locked_assets = sc.lock_assets(); - locked_assets_nonce = locked_assets.token_nonce; - assert_eq!(locked_assets.amount, managed_biguint!(1000)); - }, - ) - .assert_ok(); - - blockchain_wrapper.execute_in_managed_environment(|| { - let expected_attributes = LockedAssetTokenAttributesEx:: { - unlock_schedule: UnlockScheduleEx { - unlock_milestones: ManagedVec::from(vec![UnlockMilestoneEx { - unlock_epoch: 1, - unlock_percent: 100_000, - }]), - }, - is_merged: false, - }; - - blockchain_wrapper.check_nft_balance( - &owner_addr, - LOCKED_ASSET_TOKEN_ID, - locked_assets_nonce, - &rust_biguint!(1000), - Some(&expected_attributes), - ); - }); -} diff --git a/locked-asset/factory/tests/unlock_test.rs b/locked-asset/factory/tests/unlock_test.rs deleted file mode 100644 index 057cf409c..000000000 --- a/locked-asset/factory/tests/unlock_test.rs +++ /dev/null @@ -1,941 +0,0 @@ -#![allow(deprecated)] - -use common_structs::{LockedAssetTokenAttributesEx, UnlockMilestoneEx, UnlockScheduleEx}; -use multiversx_sc::types::{BigInt, MultiValueEncoded}; -use multiversx_sc::types::{EsdtTokenPayment, ManagedVec, TokenIdentifier}; -use multiversx_sc_scenario::{ - managed_address, managed_biguint, rust_biguint, whitebox_legacy::*, DebugApi, -}; - -const SC_WASM_PATH: &str = "output/factory.wasm"; - -use energy_factory::energy::{Energy, EnergyModule}; -use energy_factory::migration::SimpleLockMigrationModule; -use factory::locked_asset_token_merge::*; -use factory::{locked_asset::*, LockedAssetFactory}; -use factory_setup::*; -use multiversx_sc_modules::pause::PauseModule; - -mod factory_setup; - -#[test] -fn test_unlock_100mil_1mil() { - let mut blockchain_wrapper = BlockchainStateWrapper::new(); - let factory = blockchain_wrapper.create_sc_account( - &rust_biguint!(0), - None, - factory::contract_obj, - SC_WASM_PATH, - ); - - blockchain_wrapper - .execute_query(&factory, |sc| { - let mut tokens = ManagedVec::new(); - let token1 = LockedTokenEx:: { - token_amount: EsdtTokenPayment { - token_identifier: TokenIdentifier::from_esdt_bytes(&[]), //placeholder - token_nonce: 0, //placeholder - amount: managed_biguint!(100_000_000), - }, - attributes: LockedAssetTokenAttributesEx { - unlock_schedule: UnlockScheduleEx { - unlock_milestones: ManagedVec::from(vec![ - UnlockMilestoneEx { - unlock_epoch: 0, - unlock_percent: 10_000, - }, - UnlockMilestoneEx { - unlock_epoch: 360, - unlock_percent: 15_000, - }, - UnlockMilestoneEx { - unlock_epoch: 390, - unlock_percent: 15_000, - }, - UnlockMilestoneEx { - unlock_epoch: 420, - unlock_percent: 15_000, - }, - UnlockMilestoneEx { - unlock_epoch: 450, - unlock_percent: 15_000, - }, - UnlockMilestoneEx { - unlock_epoch: 480, - unlock_percent: 15_000, - }, - UnlockMilestoneEx { - unlock_epoch: 510, - unlock_percent: 15_000, - }, - ]), - }, - is_merged: false, - }, - }; - let token2 = LockedTokenEx:: { - token_amount: EsdtTokenPayment { - token_identifier: TokenIdentifier::from_esdt_bytes(&[]), //placeholder - token_nonce: 0, //placeholder - amount: managed_biguint!(1_000_000), - }, - attributes: LockedAssetTokenAttributesEx { - unlock_schedule: UnlockScheduleEx { - unlock_milestones: ManagedVec::from(vec![ - UnlockMilestoneEx { - unlock_epoch: 360, - unlock_percent: 16_000, - }, - UnlockMilestoneEx { - unlock_epoch: 390, - unlock_percent: 16_000, - }, - UnlockMilestoneEx { - unlock_epoch: 420, - unlock_percent: 17_000, - }, - UnlockMilestoneEx { - unlock_epoch: 450, - unlock_percent: 17_000, - }, - UnlockMilestoneEx { - unlock_epoch: 480, - unlock_percent: 17_000, - }, - UnlockMilestoneEx { - unlock_epoch: 510, - unlock_percent: 17_000, - }, - ]), - }, - is_merged: false, - }, - }; - - tokens.push(token1); - tokens.push(token2); - - let result = sc.aggregated_unlock_schedule(&tokens); - let result = result.unlock_milestones; - - let el = result.get(0); - assert_eq!(el.unlock_epoch, 0); - assert_eq!(el.unlock_percent, 9_901); - - let el = result.get(1); - assert_eq!(el.unlock_epoch, 360); - assert_eq!(el.unlock_percent, 15_010); - - let el = result.get(2); - assert_eq!(el.unlock_epoch, 390); - assert_eq!(el.unlock_percent, 15_010); - - let el = result.get(3); - assert_eq!(el.unlock_epoch, 420); - assert_eq!(el.unlock_percent, 15_019); - - let el = result.get(4); - assert_eq!(el.unlock_epoch, 450); - assert_eq!(el.unlock_percent, 15_020); - - let el = result.get(5); - assert_eq!(el.unlock_epoch, 480); - assert_eq!(el.unlock_percent, 15_020); - - let el = result.get(6); - assert_eq!(el.unlock_epoch, 510); - assert_eq!(el.unlock_percent, 15_020); - }) - .assert_ok(); -} - -#[test] -fn test_unlock_1mil_100mil() { - let mut blockchain_wrapper = BlockchainStateWrapper::new(); - let factory = blockchain_wrapper.create_sc_account( - &rust_biguint!(0), - None, - factory::contract_obj, - SC_WASM_PATH, - ); - - blockchain_wrapper - .execute_query(&factory, |sc| { - let mut tokens = ManagedVec::new(); - let token1 = LockedTokenEx:: { - token_amount: EsdtTokenPayment { - token_identifier: TokenIdentifier::from_esdt_bytes(&[]), //placeholder - token_nonce: 0, //placeholder - amount: managed_biguint!(1_000_000), - }, - attributes: LockedAssetTokenAttributesEx { - unlock_schedule: UnlockScheduleEx { - unlock_milestones: ManagedVec::from(vec![ - UnlockMilestoneEx { - unlock_epoch: 0, - unlock_percent: 10_000, - }, - UnlockMilestoneEx { - unlock_epoch: 360, - unlock_percent: 15_000, - }, - UnlockMilestoneEx { - unlock_epoch: 390, - unlock_percent: 15_000, - }, - UnlockMilestoneEx { - unlock_epoch: 420, - unlock_percent: 15_000, - }, - UnlockMilestoneEx { - unlock_epoch: 450, - unlock_percent: 15_000, - }, - UnlockMilestoneEx { - unlock_epoch: 480, - unlock_percent: 15_000, - }, - UnlockMilestoneEx { - unlock_epoch: 510, - unlock_percent: 15_000, - }, - ]), - }, - is_merged: false, - }, - }; - let token2 = LockedTokenEx:: { - token_amount: EsdtTokenPayment { - token_identifier: TokenIdentifier::from_esdt_bytes(&[]), //placeholder - token_nonce: 0, //placeholder - amount: managed_biguint!(100_000_000), - }, - attributes: LockedAssetTokenAttributesEx { - unlock_schedule: UnlockScheduleEx { - unlock_milestones: ManagedVec::from(vec![ - UnlockMilestoneEx { - unlock_epoch: 360, - unlock_percent: 16_000, - }, - UnlockMilestoneEx { - unlock_epoch: 390, - unlock_percent: 16_000, - }, - UnlockMilestoneEx { - unlock_epoch: 420, - unlock_percent: 17_000, - }, - UnlockMilestoneEx { - unlock_epoch: 450, - unlock_percent: 17_000, - }, - UnlockMilestoneEx { - unlock_epoch: 480, - unlock_percent: 17_000, - }, - UnlockMilestoneEx { - unlock_epoch: 510, - unlock_percent: 17_000, - }, - ]), - }, - is_merged: false, - }, - }; - - tokens.push(token1); - tokens.push(token2); - - let result = sc.aggregated_unlock_schedule(&tokens); - let result = result.unlock_milestones; - - let el = result.get(0); - assert_eq!(el.unlock_epoch, 0); - assert_eq!(el.unlock_percent, 99); - - let el = result.get(1); - assert_eq!(el.unlock_epoch, 360); - assert_eq!(el.unlock_percent, 15_990); - - let el = result.get(2); - assert_eq!(el.unlock_epoch, 390); - assert_eq!(el.unlock_percent, 15_990); - - let el = result.get(3); - assert_eq!(el.unlock_epoch, 420); - assert_eq!(el.unlock_percent, 16_980); - - let el = result.get(4); - assert_eq!(el.unlock_epoch, 450); - assert_eq!(el.unlock_percent, 16_980); - - let el = result.get(5); - assert_eq!(el.unlock_epoch, 480); - assert_eq!(el.unlock_percent, 16_980); - - let el = result.get(6); - assert_eq!(el.unlock_epoch, 510); - assert_eq!(el.unlock_percent, 16981); - }) - .assert_ok(); -} - -#[test] -fn test_unlock_60_40() { - let mut blockchain_wrapper = BlockchainStateWrapper::new(); - let factory = blockchain_wrapper.create_sc_account( - &rust_biguint!(0), - None, - factory::contract_obj, - SC_WASM_PATH, - ); - - blockchain_wrapper - .execute_query(&factory, |sc| { - let mut tokens = ManagedVec::new(); - let token1 = LockedTokenEx:: { - token_amount: EsdtTokenPayment { - token_identifier: TokenIdentifier::from_esdt_bytes(&[]), //placeholder - token_nonce: 0, //placeholder - amount: managed_biguint!(60_000), - }, - attributes: LockedAssetTokenAttributesEx { - unlock_schedule: UnlockScheduleEx { - unlock_milestones: ManagedVec::from(vec![ - UnlockMilestoneEx { - unlock_epoch: 0, - unlock_percent: 10_000, - }, - UnlockMilestoneEx { - unlock_epoch: 360, - unlock_percent: 15_000, - }, - UnlockMilestoneEx { - unlock_epoch: 390, - unlock_percent: 15_000, - }, - UnlockMilestoneEx { - unlock_epoch: 420, - unlock_percent: 15_000, - }, - UnlockMilestoneEx { - unlock_epoch: 450, - unlock_percent: 15_000, - }, - UnlockMilestoneEx { - unlock_epoch: 480, - unlock_percent: 15_000, - }, - UnlockMilestoneEx { - unlock_epoch: 510, - unlock_percent: 15_000, - }, - ]), - }, - is_merged: false, - }, - }; - let token2 = LockedTokenEx:: { - token_amount: EsdtTokenPayment { - token_identifier: TokenIdentifier::from_esdt_bytes(&[]), //placeholder - token_nonce: 0, //placeholder - amount: managed_biguint!(40_000), - }, - attributes: LockedAssetTokenAttributesEx { - unlock_schedule: UnlockScheduleEx { - unlock_milestones: ManagedVec::from(vec![ - UnlockMilestoneEx { - unlock_epoch: 360, - unlock_percent: 16_000, - }, - UnlockMilestoneEx { - unlock_epoch: 390, - unlock_percent: 16_000, - }, - UnlockMilestoneEx { - unlock_epoch: 420, - unlock_percent: 17_000, - }, - UnlockMilestoneEx { - unlock_epoch: 450, - unlock_percent: 17_000, - }, - UnlockMilestoneEx { - unlock_epoch: 480, - unlock_percent: 17_000, - }, - UnlockMilestoneEx { - unlock_epoch: 510, - unlock_percent: 17_000, - }, - ]), - }, - is_merged: false, - }, - }; - - tokens.push(token1); - tokens.push(token2); - - let result = sc.aggregated_unlock_schedule(&tokens); - let result = result.unlock_milestones; - - let el = result.get(0); - assert_eq!(el.unlock_epoch, 0); - assert_eq!(el.unlock_percent, 6_000); - - let el = result.get(1); - assert_eq!(el.unlock_epoch, 360); - assert_eq!(el.unlock_percent, 15_400); - - let el = result.get(2); - assert_eq!(el.unlock_epoch, 390); - assert_eq!(el.unlock_percent, 15_400); - - let el = result.get(3); - assert_eq!(el.unlock_epoch, 420); - assert_eq!(el.unlock_percent, 15_800); - - let el = result.get(4); - assert_eq!(el.unlock_epoch, 450); - assert_eq!(el.unlock_percent, 15_800); - - let el = result.get(5); - assert_eq!(el.unlock_epoch, 480); - assert_eq!(el.unlock_percent, 15_800); - - let el = result.get(6); - assert_eq!(el.unlock_epoch, 510); - assert_eq!(el.unlock_percent, 15_800); - }) - .assert_ok(); -} - -#[test] -fn test_unlock_40_60() { - let mut blockchain_wrapper = BlockchainStateWrapper::new(); - let factory = blockchain_wrapper.create_sc_account( - &rust_biguint!(0), - None, - factory::contract_obj, - SC_WASM_PATH, - ); - - blockchain_wrapper - .execute_query(&factory, |sc| { - let mut tokens = ManagedVec::new(); - let token1 = LockedTokenEx:: { - token_amount: EsdtTokenPayment { - token_identifier: TokenIdentifier::from_esdt_bytes(&[]), //placeholder - token_nonce: 0, //placeholder - amount: managed_biguint!(40_000), - }, - attributes: LockedAssetTokenAttributesEx { - unlock_schedule: UnlockScheduleEx { - unlock_milestones: ManagedVec::from(vec![ - UnlockMilestoneEx { - unlock_epoch: 0, - unlock_percent: 10_000, - }, - UnlockMilestoneEx { - unlock_epoch: 360, - unlock_percent: 15_000, - }, - UnlockMilestoneEx { - unlock_epoch: 390, - unlock_percent: 15_000, - }, - UnlockMilestoneEx { - unlock_epoch: 420, - unlock_percent: 15_000, - }, - UnlockMilestoneEx { - unlock_epoch: 450, - unlock_percent: 15_000, - }, - UnlockMilestoneEx { - unlock_epoch: 480, - unlock_percent: 15_000, - }, - UnlockMilestoneEx { - unlock_epoch: 510, - unlock_percent: 15_000, - }, - ]), - }, - is_merged: false, - }, - }; - let token2 = LockedTokenEx:: { - token_amount: EsdtTokenPayment { - token_identifier: TokenIdentifier::from_esdt_bytes(&[]), //placeholder - token_nonce: 0, //placeholder - amount: managed_biguint!(60_000), - }, - attributes: LockedAssetTokenAttributesEx { - unlock_schedule: UnlockScheduleEx { - unlock_milestones: ManagedVec::from(vec![ - UnlockMilestoneEx { - unlock_epoch: 360, - unlock_percent: 16_000, - }, - UnlockMilestoneEx { - unlock_epoch: 390, - unlock_percent: 16_000, - }, - UnlockMilestoneEx { - unlock_epoch: 420, - unlock_percent: 17_000, - }, - UnlockMilestoneEx { - unlock_epoch: 450, - unlock_percent: 17_000, - }, - UnlockMilestoneEx { - unlock_epoch: 480, - unlock_percent: 17_000, - }, - UnlockMilestoneEx { - unlock_epoch: 510, - unlock_percent: 17_000, - }, - ]), - }, - is_merged: false, - }, - }; - - tokens.push(token1); - tokens.push(token2); - - let result = sc.aggregated_unlock_schedule(&tokens); - let result = result.unlock_milestones; - - let el = result.get(0); - assert_eq!(el.unlock_epoch, 0); - assert_eq!(el.unlock_percent, 4_000); - - let el = result.get(1); - assert_eq!(el.unlock_epoch, 360); - assert_eq!(el.unlock_percent, 15_600); - - let el = result.get(2); - assert_eq!(el.unlock_epoch, 390); - assert_eq!(el.unlock_percent, 15_600); - - let el = result.get(3); - assert_eq!(el.unlock_epoch, 420); - assert_eq!(el.unlock_percent, 16_200); - - let el = result.get(4); - assert_eq!(el.unlock_epoch, 450); - assert_eq!(el.unlock_percent, 16_200); - - let el = result.get(5); - assert_eq!(el.unlock_epoch, 480); - assert_eq!(el.unlock_percent, 16_200); - - let el = result.get(6); - assert_eq!(el.unlock_epoch, 510); - assert_eq!(el.unlock_percent, 16_200); - }) - .assert_ok(); -} - -#[test] -fn test_aggregated_unlock_schedule() { - let mut blockchain_wrapper = BlockchainStateWrapper::new(); - let factory = blockchain_wrapper.create_sc_account( - &rust_biguint!(0), - None, - factory::contract_obj, - SC_WASM_PATH, - ); - - blockchain_wrapper - .execute_query(&factory, |sc| { - let mut tokens = ManagedVec::new(); - let token1 = LockedTokenEx:: { - token_amount: EsdtTokenPayment { - token_identifier: TokenIdentifier::from_esdt_bytes(&[]), //placeholder - token_nonce: 0, //placeholder - amount: managed_biguint!(608_212_266_882_971_044), - }, - attributes: LockedAssetTokenAttributesEx { - unlock_schedule: UnlockScheduleEx { - unlock_milestones: ManagedVec::from(vec![ - UnlockMilestoneEx { - unlock_epoch: 468, - unlock_percent: 14_00, - }, - UnlockMilestoneEx { - unlock_epoch: 348, - unlock_percent: 14_00, - }, - UnlockMilestoneEx { - unlock_epoch: 408, - unlock_percent: 14_00, - }, - UnlockMilestoneEx { - unlock_epoch: 318, - unlock_percent: 14_00, - }, - UnlockMilestoneEx { - unlock_epoch: 0, - unlock_percent: 16_00, - }, - UnlockMilestoneEx { - unlock_epoch: 378, - unlock_percent: 14_00, - }, - UnlockMilestoneEx { - unlock_epoch: 438, - unlock_percent: 14_00, - }, - ]), - }, - is_merged: false, - }, - }; - let token2 = LockedTokenEx:: { - token_amount: EsdtTokenPayment { - token_identifier: TokenIdentifier::from_esdt_bytes(&[]), //placeholder - token_nonce: 0, //placeholder - amount: managed_biguint!(700_000_000_000_000_000), - }, - attributes: LockedAssetTokenAttributesEx { - unlock_schedule: UnlockScheduleEx { - unlock_milestones: ManagedVec::from(vec![ - UnlockMilestoneEx { - unlock_epoch: 378, - unlock_percent: 17_00, - }, - UnlockMilestoneEx { - unlock_epoch: 408, - unlock_percent: 17_00, - }, - UnlockMilestoneEx { - unlock_epoch: 438, - unlock_percent: 17_00, - }, - UnlockMilestoneEx { - unlock_epoch: 468, - unlock_percent: 16_00, - }, - UnlockMilestoneEx { - unlock_epoch: 498, - unlock_percent: 16_00, - }, - UnlockMilestoneEx { - unlock_epoch: 528, - unlock_percent: 16_00, - }, - ]), - }, - is_merged: false, - }, - }; - - tokens.push(token1); - tokens.push(token2); - - let result = sc.aggregated_unlock_schedule(&tokens); - let result = result.unlock_milestones; - - // if de-duplication fails, there will be 13 results (9 unique + 4 duplicates) - assert_eq!(result.len(), 9); - }) - .assert_ok(); -} - -#[test] -fn test_aggregated_unlock_schedule_with_1_offset() { - let mut blockchain_wrapper = BlockchainStateWrapper::new(); - let factory = blockchain_wrapper.create_sc_account( - &rust_biguint!(0), - None, - factory::contract_obj, - SC_WASM_PATH, - ); - - blockchain_wrapper - .execute_query(&factory, |sc| { - let mut tokens = ManagedVec::new(); - let token1 = LockedTokenEx:: { - token_amount: EsdtTokenPayment { - token_identifier: TokenIdentifier::from_esdt_bytes(&[]), //placeholder - token_nonce: 0, //placeholder - amount: managed_biguint!(608_212_266_882_971_044), - }, - attributes: LockedAssetTokenAttributesEx { - unlock_schedule: UnlockScheduleEx { - unlock_milestones: ManagedVec::from(vec![ - UnlockMilestoneEx { - unlock_epoch: 468, - unlock_percent: 14_00, - }, - UnlockMilestoneEx { - unlock_epoch: 348, - unlock_percent: 14_00, - }, - UnlockMilestoneEx { - unlock_epoch: 408, - unlock_percent: 14_00, - }, - UnlockMilestoneEx { - unlock_epoch: 318, - unlock_percent: 14_00, - }, - UnlockMilestoneEx { - unlock_epoch: 0, - unlock_percent: 16_00, - }, - UnlockMilestoneEx { - unlock_epoch: 378, - unlock_percent: 14_00, - }, - UnlockMilestoneEx { - unlock_epoch: 438, - unlock_percent: 14_00, - }, - ]), - }, - is_merged: false, - }, - }; - let token2 = LockedTokenEx:: { - token_amount: EsdtTokenPayment { - token_identifier: TokenIdentifier::from_esdt_bytes(&[]), //placeholder - token_nonce: 0, //placeholder - amount: managed_biguint!(700_000_000_000_000_000), - }, - attributes: LockedAssetTokenAttributesEx { - unlock_schedule: UnlockScheduleEx { - unlock_milestones: ManagedVec::from(vec![ - UnlockMilestoneEx { - unlock_epoch: 378 + 1, //Notice the +1 - unlock_percent: 17_00, - }, - UnlockMilestoneEx { - unlock_epoch: 408 + 1, //Notice the +1 - unlock_percent: 17_00, - }, - UnlockMilestoneEx { - unlock_epoch: 438 + 1, //Notice the +1 - unlock_percent: 17_00, - }, - UnlockMilestoneEx { - unlock_epoch: 468, - unlock_percent: 16_00, - }, - UnlockMilestoneEx { - unlock_epoch: 498, - unlock_percent: 16_00, - }, - UnlockMilestoneEx { - unlock_epoch: 528, - unlock_percent: 16_00, - }, - ]), - }, - is_merged: false, - }, - }; - - tokens.push(token1); - tokens.push(token2); - - let result = sc.aggregated_unlock_schedule(&tokens); - let result = result.unlock_milestones; - - //In the end, the milestones with {$epoch, and ($epoch + 1)} should be placed under ($epoch + 1). - - assert_eq!(result.len(), 9); - - let el = result.get(0); - assert_eq!(el.unlock_epoch, 0); - - let el = result.get(1); - assert_eq!(el.unlock_epoch, 318); - - let el = result.get(2); - assert_eq!(el.unlock_epoch, 348); - - let el = result.get(3); - assert_eq!(el.unlock_epoch, 378 + 1); - - let el = result.get(4); - assert_eq!(el.unlock_epoch, 408 + 1); - - let el = result.get(5); - assert_eq!(el.unlock_epoch, 438 + 1); - }) - .assert_ok(); -} - -#[test] -fn update_energy_after_old_token_unlock_test() { - DebugApi::dummy(); - let rust_zero = rust_biguint!(0); - let mut setup = FactorySetup::new(factory::contract_obj, energy_factory::contract_obj); - - let mut current_epoch = 1_441; - setup.b_mock.set_block_epoch(current_epoch); - - let first_unlock_epoch = 1_531; - let second_unlock_epoch = 1_621; - let third_unlock_epoch = 1_711; - let forth_unlock_epoch = 1_801; - let mut unlock_milestones = ManagedVec::::new(); - unlock_milestones.push(UnlockMilestoneEx { - unlock_percent: 20_000, - unlock_epoch: first_unlock_epoch, - }); - unlock_milestones.push(UnlockMilestoneEx { - unlock_percent: 20_000, - unlock_epoch: second_unlock_epoch, - }); - unlock_milestones.push(UnlockMilestoneEx { - unlock_percent: 20_000, - unlock_epoch: third_unlock_epoch, - }); - unlock_milestones.push(UnlockMilestoneEx { - unlock_percent: 40_000, - unlock_epoch: forth_unlock_epoch, - }); - let old_token_attributes = LockedAssetTokenAttributesEx { - is_merged: false, - unlock_schedule: UnlockScheduleEx { unlock_milestones }, - }; - - let first_user = setup.first_user.clone(); - setup.b_mock.set_nft_balance( - &first_user, - LEGACY_LOCKED_TOKEN_ID, - 3, // higher random nonce to avoid nonce caching conflicts - &rust_biguint!(USER_BALANCE), - &old_token_attributes, - ); - - let mut user_energy_amount: multiversx_sc::types::BigUint = managed_biguint!(0); - user_energy_amount += - managed_biguint!(20_000) * USER_BALANCE * (first_unlock_epoch - current_epoch) / 100_000u32; - user_energy_amount += - managed_biguint!(20_000) * USER_BALANCE * (second_unlock_epoch - current_epoch) - / 100_000u32; - user_energy_amount += - managed_biguint!(20_000) * USER_BALANCE * (third_unlock_epoch - current_epoch) / 100_000u32; - user_energy_amount += - managed_biguint!(40_000) * USER_BALANCE * (forth_unlock_epoch - current_epoch) / 100_000u32; - - let expected_energy_vec = user_energy_amount.to_bytes_be().as_slice().to_vec(); - - setup - .b_mock - .execute_tx( - &first_user, - &setup.energy_factory_wrapper, - &rust_zero, - |sc| { - sc.set_paused(true); - - let mut users_energy = MultiValueEncoded::new(); - let user_energy = ( - managed_address!(&first_user), - managed_biguint!(USER_BALANCE), - BigInt::from_signed_bytes_be(&expected_energy_vec), - ) - .into(); - users_energy.push(user_energy); - sc.set_energy_for_old_tokens(users_energy); - - let expected_energy = Energy::new( - BigInt::from_signed_bytes_be(&expected_energy_vec), - 1441, - managed_biguint!(USER_BALANCE), - ); - let actual_energy = sc.user_energy(&managed_address!(&first_user)).get(); - assert_eq!(expected_energy, actual_energy); - sc.set_paused(false); - }, - ) - .assert_ok(); - - current_epoch = 1_650; - setup.b_mock.set_block_epoch(current_epoch); - - setup - .b_mock - .execute_esdt_transfer( - &first_user, - &setup.factory_wrapper, - LEGACY_LOCKED_TOKEN_ID, - 3, - &rust_biguint!(USER_BALANCE), - |sc| { - sc.set_paused(false); - sc.unlock_assets(); - }, - ) - .assert_ok(); - - // check user balance after unlocking the first two milestones - let unlock_amount = USER_BALANCE / 100_000 * 20_000 + USER_BALANCE / 100_000 * 20_000; - let remaining_locked_token_balace = USER_BALANCE - unlock_amount; - - setup.b_mock.check_esdt_balance( - &first_user, - BASE_ASSET_TOKEN_ID, - &rust_biguint!(unlock_amount), - ); - - let mut new_unlock_milestones = ManagedVec::::new(); - new_unlock_milestones.push(UnlockMilestoneEx { - unlock_percent: 33_333, - unlock_epoch: third_unlock_epoch, - }); - new_unlock_milestones.push(UnlockMilestoneEx { - unlock_percent: 66_667, - unlock_epoch: forth_unlock_epoch, - }); - let new_locked_token_attributes = LockedAssetTokenAttributesEx { - is_merged: false, - unlock_schedule: UnlockScheduleEx { - unlock_milestones: new_unlock_milestones, - }, - }; - - setup.b_mock.check_nft_balance( - &first_user, - LEGACY_LOCKED_TOKEN_ID, - 1, // new generated nonce (different from the initial randomly allocated nonce) - &rust_biguint!(remaining_locked_token_balace), - Some(&new_locked_token_attributes), - ); - - let mut final_user_energy_amount: multiversx_sc::types::BigUint = - managed_biguint!(0u64); - final_user_energy_amount += managed_biguint!(33_333) - * remaining_locked_token_balace - * (third_unlock_epoch - current_epoch) - / 100_000u32; - final_user_energy_amount += managed_biguint!(66_667) - * remaining_locked_token_balace - * (forth_unlock_epoch - current_epoch) - / 100_000u32; // 66_666 + 1 leftover - - let final_amount_vec = final_user_energy_amount.to_bytes_be().as_slice().to_vec(); - - setup - .b_mock - .execute_query(&setup.energy_factory_wrapper, |sc| { - let expected_energy = Energy::new( - BigInt::from_signed_bytes_be(&final_amount_vec), - current_epoch, - managed_biguint!(remaining_locked_token_balace), - ); - let actual_energy = sc.user_energy(&managed_address!(&first_user)).get(); - assert_eq!(expected_energy, actual_energy); - }) - .assert_ok(); -} diff --git a/locked-asset/factory/wasm/src/lib.rs b/locked-asset/factory/wasm/src/lib.rs deleted file mode 100644 index 8b83df95b..000000000 --- a/locked-asset/factory/wasm/src/lib.rs +++ /dev/null @@ -1,50 +0,0 @@ -// Code generated by the multiversx-sc build system. DO NOT EDIT. - -//////////////////////////////////////////////////// -////////////////// AUTO-GENERATED ////////////////// -//////////////////////////////////////////////////// - -// Init: 1 -// Upgrade: 1 -// Endpoints: 24 -// Async Callback: 1 -// Total number of exported functions: 27 - -#![no_std] - -multiversx_sc_wasm_adapter::allocator!(); -multiversx_sc_wasm_adapter::panic_handler!(); - -multiversx_sc_wasm_adapter::endpoints! { - factory - ( - init => init - upgrade => upgrade - whitelist => whitelist - removeWhitelist => remove_whitelist - createAndForwardCustomPeriod => create_and_forward_custom_period - createAndForward => create_and_forward - unlockAssets => unlock_assets - lockAssets => lock_assets - setUnlockPeriod => set_unlock_period - registerLockedAssetToken => register_locked_asset_token - setInitEpoch => set_init_epoch - getInitEpoch => init_epoch - getWhitelistedContracts => whitelisted_contracts - getDefaultUnlockPeriod => default_unlock_period - getLockedAssetTokenId => locked_asset_token - getAssetTokenId => asset_token_id - getUnlockScheduleForSFTNonce => get_unlock_schedule_for_sft_nonce - getCacheSize => get_cache_size - mergeTokens => merge_tokens - getExtendedAttributesActivationNonce => extended_attributes_activation_nonce - setLockedTokenBurnRoleForAddress => set_locked_token_burn_role_for_address - setTransferRoleOldLockedToken => set_transfer_role_old_locked_token - setNewFactoryAddress => set_new_factory_address - pause => pause_endpoint - unpause => unpause_endpoint - isPaused => paused_status - ) -} - -multiversx_sc_wasm_adapter::async_callback! { factory } diff --git a/locked-asset/lkmex-transfer/Cargo.toml b/locked-asset/lkmex-transfer/Cargo.toml index c08031b0e..9ba8540ae 100644 --- a/locked-asset/lkmex-transfer/Cargo.toml +++ b/locked-asset/lkmex-transfer/Cargo.toml @@ -30,14 +30,14 @@ path = "../energy-factory" path = "../../energy-integration/common-modules/energy-query" [dependencies.multiversx-sc] -version = "=0.52.3" +version = "=0.53.2" features = ["esdt-token-payment-legacy-decode"] [dev-dependencies] num-bigint = "0.4.2" [dev-dependencies.multiversx-sc-scenario] -version = "=0.52.3" +version = "=0.53.2" [dev-dependencies.multiversx-sc-modules] -version = "=0.52.3" +version = "=0.53.2" diff --git a/locked-asset/lkmex-transfer/meta/Cargo.toml b/locked-asset/lkmex-transfer/meta/Cargo.toml index e63c0888a..c288344c0 100644 --- a/locked-asset/lkmex-transfer/meta/Cargo.toml +++ b/locked-asset/lkmex-transfer/meta/Cargo.toml @@ -8,6 +8,6 @@ publish = false [dependencies.lkmex-transfer] path = ".." -[dependencies.multiversx-sc-meta] -version = "0.52.3" +[dependencies.multiversx-sc-meta-lib] +version = "0.53.2" default-features = false diff --git a/locked-asset/lkmex-transfer/meta/src/main.rs b/locked-asset/lkmex-transfer/meta/src/main.rs index d5cc7ad21..bc5614448 100644 --- a/locked-asset/lkmex-transfer/meta/src/main.rs +++ b/locked-asset/lkmex-transfer/meta/src/main.rs @@ -1,3 +1,3 @@ fn main() { - multiversx_sc_meta::cli_main::(); + multiversx_sc_meta_lib::cli_main::(); } diff --git a/locked-asset/lkmex-transfer/wasm/Cargo.lock b/locked-asset/lkmex-transfer/wasm/Cargo.lock index 6e4c444f9..d269860db 100644 --- a/locked-asset/lkmex-transfer/wasm/Cargo.lock +++ b/locked-asset/lkmex-transfer/wasm/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "arrayvec" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "autocfg" @@ -134,9 +134,9 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "526760b1d6236c011285b264a70a0a9dd3b3dbc53c3b5f76932f4bcfd3a8910c" +checksum = "75ea89a26f0aacda21437a8ae5ccfbefab99d8191942b3d2eddbcbf84f9866d7" dependencies = [ "bitflags", "hex-literal", @@ -148,9 +148,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad4f318427761faecf26c1f3115a3beeb5f61858845a60547d9763aa981ddd2d" +checksum = "007d7a5a8534e5dc9128cb8f15a65a21dd378e135c6016c7cd1491cd012bc8cb" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -159,9 +159,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "476501462b0c2654b64f9dec6f2c480e24b4e9b7133ec10b7167e64acda35d04" +checksum = "dffba1dce273ed5b61ee1b90aeea5c8c744617d0f12624f620768c144d83e753" dependencies = [ "hex", "proc-macro2", @@ -171,9 +171,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3557f2f12640a8a07fa6af66cc2a13b188c5b61bed72db22fe631fb3a60c3e96" +checksum = "4c17fdf90fafca2f19085ae67b0502d9f71bf8ab1be3c83808eb88e02a8c18b9" dependencies = [ "hex", "proc-macro2", @@ -184,18 +184,18 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61f5c29c6044f3dc9e866858feee625d7fae5604a68ac7bd66dec683eee97563" +checksum = "daeb48acbd39255868a3241798df2f85050f0ae8d82d6417bd2cd0e30a241855" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed13aaca9cbdbc6911174cd3029e750a7563d85dd3daaa1107b1fd31c7f17245" +checksum = "20659915a4377d375c46d7f237e810053a03f7e084fad6362dd5748a7233defb" dependencies = [ "multiversx-sc", ] @@ -238,9 +238,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.36" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ "proc-macro2", ] @@ -280,9 +280,9 @@ checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "syn" -version = "2.0.72" +version = "2.0.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" +checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" dependencies = [ "proc-macro2", "quote", diff --git a/locked-asset/lkmex-transfer/wasm/Cargo.toml b/locked-asset/lkmex-transfer/wasm/Cargo.toml index 2ac287015..f77ddab32 100644 --- a/locked-asset/lkmex-transfer/wasm/Cargo.toml +++ b/locked-asset/lkmex-transfer/wasm/Cargo.toml @@ -28,7 +28,7 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "=0.52.3" +version = "=0.53.2" [workspace] members = ["."] diff --git a/locked-asset/locked-token-wrapper/Cargo.toml b/locked-asset/locked-token-wrapper/Cargo.toml index f4794c746..b89fc108b 100644 --- a/locked-asset/locked-token-wrapper/Cargo.toml +++ b/locked-asset/locked-token-wrapper/Cargo.toml @@ -9,10 +9,10 @@ publish = false path = "src/lib.rs" [dependencies.multiversx-sc] -version = "=0.52.3" +version = "=0.53.2" [dependencies.multiversx-sc-modules] -version = "=0.52.3" +version = "=0.53.2" [dependencies.utils] path = "../../common/modules/utils" @@ -44,4 +44,4 @@ num-traits = "0.2" hex = "0.4" [dev-dependencies.multiversx-sc-scenario] -version = "=0.52.3" +version = "=0.53.2" diff --git a/locked-asset/locked-token-wrapper/meta/Cargo.toml b/locked-asset/locked-token-wrapper/meta/Cargo.toml index 6e95f2dcf..987c0f65d 100644 --- a/locked-asset/locked-token-wrapper/meta/Cargo.toml +++ b/locked-asset/locked-token-wrapper/meta/Cargo.toml @@ -10,6 +10,6 @@ authors = ["MultiversX "] [dependencies.locked-token-wrapper] path = ".." -[dependencies.multiversx-sc-meta] -version = "0.52.3" +[dependencies.multiversx-sc-meta-lib] +version = "0.53.2" default-features = false diff --git a/locked-asset/locked-token-wrapper/meta/src/main.rs b/locked-asset/locked-token-wrapper/meta/src/main.rs index fb820b88e..fe7de3557 100644 --- a/locked-asset/locked-token-wrapper/meta/src/main.rs +++ b/locked-asset/locked-token-wrapper/meta/src/main.rs @@ -1,3 +1,3 @@ fn main() { - multiversx_sc_meta::cli_main::(); + multiversx_sc_meta_lib::cli_main::(); } diff --git a/locked-asset/locked-token-wrapper/wasm/Cargo.lock b/locked-asset/locked-token-wrapper/wasm/Cargo.lock index e5c97d121..98b8ba9bc 100644 --- a/locked-asset/locked-token-wrapper/wasm/Cargo.lock +++ b/locked-asset/locked-token-wrapper/wasm/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "arrayvec" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "autocfg" @@ -158,9 +158,9 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "526760b1d6236c011285b264a70a0a9dd3b3dbc53c3b5f76932f4bcfd3a8910c" +checksum = "75ea89a26f0aacda21437a8ae5ccfbefab99d8191942b3d2eddbcbf84f9866d7" dependencies = [ "bitflags", "hex-literal", @@ -172,9 +172,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad4f318427761faecf26c1f3115a3beeb5f61858845a60547d9763aa981ddd2d" +checksum = "007d7a5a8534e5dc9128cb8f15a65a21dd378e135c6016c7cd1491cd012bc8cb" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -183,9 +183,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "476501462b0c2654b64f9dec6f2c480e24b4e9b7133ec10b7167e64acda35d04" +checksum = "dffba1dce273ed5b61ee1b90aeea5c8c744617d0f12624f620768c144d83e753" dependencies = [ "hex", "proc-macro2", @@ -195,9 +195,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3557f2f12640a8a07fa6af66cc2a13b188c5b61bed72db22fe631fb3a60c3e96" +checksum = "4c17fdf90fafca2f19085ae67b0502d9f71bf8ab1be3c83808eb88e02a8c18b9" dependencies = [ "hex", "proc-macro2", @@ -208,18 +208,18 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61f5c29c6044f3dc9e866858feee625d7fae5604a68ac7bd66dec683eee97563" +checksum = "daeb48acbd39255868a3241798df2f85050f0ae8d82d6417bd2cd0e30a241855" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed13aaca9cbdbc6911174cd3029e750a7563d85dd3daaa1107b1fd31c7f17245" +checksum = "20659915a4377d375c46d7f237e810053a03f7e084fad6362dd5748a7233defb" dependencies = [ "multiversx-sc", ] @@ -262,9 +262,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.36" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ "proc-macro2", ] @@ -304,9 +304,9 @@ checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "syn" -version = "2.0.72" +version = "2.0.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" +checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" dependencies = [ "proc-macro2", "quote", diff --git a/locked-asset/locked-token-wrapper/wasm/Cargo.toml b/locked-asset/locked-token-wrapper/wasm/Cargo.toml index e89aace72..32d3b3f11 100644 --- a/locked-asset/locked-token-wrapper/wasm/Cargo.toml +++ b/locked-asset/locked-token-wrapper/wasm/Cargo.toml @@ -28,7 +28,7 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "=0.52.3" +version = "=0.53.2" [workspace] members = ["."] diff --git a/locked-asset/proxy_dex/Cargo.toml b/locked-asset/proxy_dex/Cargo.toml index 1e4675ccb..e5023a79d 100644 --- a/locked-asset/proxy_dex/Cargo.toml +++ b/locked-asset/proxy_dex/Cargo.toml @@ -45,11 +45,11 @@ path = "../../common/traits/mergeable" path = "../../common/traits/fixed-supply-token" [dependencies.multiversx-sc] -version = "=0.52.3" +version = "=0.53.2" features = ["esdt-token-payment-legacy-decode"] [dependencies.multiversx-sc-modules] -version = "=0.52.3" +version = "=0.53.2" [dependencies.energy-factory] path = "../energy-factory" @@ -69,7 +69,7 @@ num-traits = "0.2" hex = "0.4" [dev-dependencies.multiversx-sc-scenario] -version = "=0.52.3" +version = "=0.53.2" [dev-dependencies.pausable] path = "../../common/modules/pausable" diff --git a/locked-asset/proxy_dex/meta/Cargo.toml b/locked-asset/proxy_dex/meta/Cargo.toml index c1298c9c8..6ceff01ef 100644 --- a/locked-asset/proxy_dex/meta/Cargo.toml +++ b/locked-asset/proxy_dex/meta/Cargo.toml @@ -8,6 +8,6 @@ publish = false [dependencies.proxy_dex] path = ".." -[dependencies.multiversx-sc-meta] -version = "0.52.3" +[dependencies.multiversx-sc-meta-lib] +version = "0.53.2" default-features = false diff --git a/locked-asset/proxy_dex/meta/src/main.rs b/locked-asset/proxy_dex/meta/src/main.rs index a07d23de1..528567935 100644 --- a/locked-asset/proxy_dex/meta/src/main.rs +++ b/locked-asset/proxy_dex/meta/src/main.rs @@ -1,3 +1,3 @@ fn main() { - multiversx_sc_meta::cli_main::(); + multiversx_sc_meta_lib::cli_main::(); } diff --git a/locked-asset/proxy_dex/wasm/Cargo.lock b/locked-asset/proxy_dex/wasm/Cargo.lock index 8bdd9ad2b..3330a21d1 100644 --- a/locked-asset/proxy_dex/wasm/Cargo.lock +++ b/locked-asset/proxy_dex/wasm/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "arrayvec" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "autocfg" @@ -307,9 +307,9 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "526760b1d6236c011285b264a70a0a9dd3b3dbc53c3b5f76932f4bcfd3a8910c" +checksum = "75ea89a26f0aacda21437a8ae5ccfbefab99d8191942b3d2eddbcbf84f9866d7" dependencies = [ "bitflags", "hex-literal", @@ -321,9 +321,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad4f318427761faecf26c1f3115a3beeb5f61858845a60547d9763aa981ddd2d" +checksum = "007d7a5a8534e5dc9128cb8f15a65a21dd378e135c6016c7cd1491cd012bc8cb" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -332,9 +332,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "476501462b0c2654b64f9dec6f2c480e24b4e9b7133ec10b7167e64acda35d04" +checksum = "dffba1dce273ed5b61ee1b90aeea5c8c744617d0f12624f620768c144d83e753" dependencies = [ "hex", "proc-macro2", @@ -344,9 +344,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3557f2f12640a8a07fa6af66cc2a13b188c5b61bed72db22fe631fb3a60c3e96" +checksum = "4c17fdf90fafca2f19085ae67b0502d9f71bf8ab1be3c83808eb88e02a8c18b9" dependencies = [ "hex", "proc-macro2", @@ -357,18 +357,18 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61f5c29c6044f3dc9e866858feee625d7fae5604a68ac7bd66dec683eee97563" +checksum = "daeb48acbd39255868a3241798df2f85050f0ae8d82d6417bd2cd0e30a241855" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed13aaca9cbdbc6911174cd3029e750a7563d85dd3daaa1107b1fd31c7f17245" +checksum = "20659915a4377d375c46d7f237e810053a03f7e084fad6362dd5748a7233defb" dependencies = [ "multiversx-sc", ] @@ -467,9 +467,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.36" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ "proc-macro2", ] @@ -524,9 +524,9 @@ checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "syn" -version = "2.0.72" +version = "2.0.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" +checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" dependencies = [ "proc-macro2", "quote", diff --git a/locked-asset/proxy_dex/wasm/Cargo.toml b/locked-asset/proxy_dex/wasm/Cargo.toml index bab8859ab..e7d8de4c3 100644 --- a/locked-asset/proxy_dex/wasm/Cargo.toml +++ b/locked-asset/proxy_dex/wasm/Cargo.toml @@ -28,7 +28,7 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "=0.52.3" +version = "=0.53.2" [workspace] members = ["."] diff --git a/locked-asset/simple-lock/Cargo.toml b/locked-asset/simple-lock/Cargo.toml index 7781b5929..b867f2aa3 100644 --- a/locked-asset/simple-lock/Cargo.toml +++ b/locked-asset/simple-lock/Cargo.toml @@ -9,11 +9,11 @@ publish = false path = "src/lib.rs" [dependencies.multiversx-sc] -version = "=0.52.3" +version = "=0.53.2" features = ["esdt-token-payment-legacy-decode"] [dependencies.multiversx-sc-modules] -version = "=0.52.3" +version = "=0.53.2" [dependencies.common_structs] path = "../../common/common_structs" @@ -24,4 +24,4 @@ num-traits = "0.2" hex = "0.4" [dev-dependencies.multiversx-sc-scenario] -version = "=0.52.3" +version = "=0.53.2" diff --git a/locked-asset/simple-lock/meta/Cargo.toml b/locked-asset/simple-lock/meta/Cargo.toml index e7a939a39..390737bda 100644 --- a/locked-asset/simple-lock/meta/Cargo.toml +++ b/locked-asset/simple-lock/meta/Cargo.toml @@ -8,6 +8,6 @@ authors = ["Dorin Iancu "] [dependencies.simple-lock] path = ".." -[dependencies.multiversx-sc-meta] -version = "0.52.3" +[dependencies.multiversx-sc-meta-lib] +version = "0.53.2" default-features = false diff --git a/locked-asset/simple-lock/meta/src/main.rs b/locked-asset/simple-lock/meta/src/main.rs index d1db27a97..15afadd8a 100644 --- a/locked-asset/simple-lock/meta/src/main.rs +++ b/locked-asset/simple-lock/meta/src/main.rs @@ -1,3 +1,3 @@ fn main() { - multiversx_sc_meta::cli_main::(); + multiversx_sc_meta_lib::cli_main::(); } diff --git a/locked-asset/simple-lock/wasm/Cargo.lock b/locked-asset/simple-lock/wasm/Cargo.lock index 439762d95..8e5ac6f77 100644 --- a/locked-asset/simple-lock/wasm/Cargo.lock +++ b/locked-asset/simple-lock/wasm/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "arrayvec" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "autocfg" @@ -72,9 +72,9 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "526760b1d6236c011285b264a70a0a9dd3b3dbc53c3b5f76932f4bcfd3a8910c" +checksum = "75ea89a26f0aacda21437a8ae5ccfbefab99d8191942b3d2eddbcbf84f9866d7" dependencies = [ "bitflags", "hex-literal", @@ -86,9 +86,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad4f318427761faecf26c1f3115a3beeb5f61858845a60547d9763aa981ddd2d" +checksum = "007d7a5a8534e5dc9128cb8f15a65a21dd378e135c6016c7cd1491cd012bc8cb" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -97,9 +97,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "476501462b0c2654b64f9dec6f2c480e24b4e9b7133ec10b7167e64acda35d04" +checksum = "dffba1dce273ed5b61ee1b90aeea5c8c744617d0f12624f620768c144d83e753" dependencies = [ "hex", "proc-macro2", @@ -109,9 +109,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3557f2f12640a8a07fa6af66cc2a13b188c5b61bed72db22fe631fb3a60c3e96" +checksum = "4c17fdf90fafca2f19085ae67b0502d9f71bf8ab1be3c83808eb88e02a8c18b9" dependencies = [ "hex", "proc-macro2", @@ -122,18 +122,18 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61f5c29c6044f3dc9e866858feee625d7fae5604a68ac7bd66dec683eee97563" +checksum = "daeb48acbd39255868a3241798df2f85050f0ae8d82d6417bd2cd0e30a241855" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed13aaca9cbdbc6911174cd3029e750a7563d85dd3daaa1107b1fd31c7f17245" +checksum = "20659915a4377d375c46d7f237e810053a03f7e084fad6362dd5748a7233defb" dependencies = [ "multiversx-sc", ] @@ -167,9 +167,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.36" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ "proc-macro2", ] @@ -209,9 +209,9 @@ checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "syn" -version = "2.0.72" +version = "2.0.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" +checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" dependencies = [ "proc-macro2", "quote", diff --git a/locked-asset/simple-lock/wasm/Cargo.toml b/locked-asset/simple-lock/wasm/Cargo.toml index b749b73db..1fba97b63 100644 --- a/locked-asset/simple-lock/wasm/Cargo.toml +++ b/locked-asset/simple-lock/wasm/Cargo.toml @@ -28,7 +28,7 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "=0.52.3" +version = "=0.53.2" [workspace] members = ["."] diff --git a/locked-asset/token-unstake/Cargo.toml b/locked-asset/token-unstake/Cargo.toml index fbcf1e07c..c196d7267 100644 --- a/locked-asset/token-unstake/Cargo.toml +++ b/locked-asset/token-unstake/Cargo.toml @@ -9,7 +9,7 @@ publish = false path = "src/lib.rs" [dependencies.multiversx-sc] -version = "=0.52.3" +version = "=0.53.2" features = ["esdt-token-payment-legacy-decode"] [dependencies.mergeable] @@ -39,7 +39,7 @@ num-traits = "0.2" hex = "0.4" [dev-dependencies.multiversx-sc-scenario] -version = "=0.52.3" +version = "=0.53.2" [dev-dependencies.multiversx-sc-modules] -version = "=0.52.3" +version = "=0.53.2" diff --git a/locked-asset/token-unstake/meta/Cargo.toml b/locked-asset/token-unstake/meta/Cargo.toml index f3552ba6d..ae328f839 100644 --- a/locked-asset/token-unstake/meta/Cargo.toml +++ b/locked-asset/token-unstake/meta/Cargo.toml @@ -8,6 +8,6 @@ publish = false [dependencies.token-unstake] path = ".." -[dependencies.multiversx-sc-meta] -version = "0.52.3" +[dependencies.multiversx-sc-meta-lib] +version = "0.53.2" default-features = false diff --git a/locked-asset/token-unstake/meta/src/main.rs b/locked-asset/token-unstake/meta/src/main.rs index 06c11e497..874c422c1 100644 --- a/locked-asset/token-unstake/meta/src/main.rs +++ b/locked-asset/token-unstake/meta/src/main.rs @@ -1,3 +1,3 @@ fn main() { - multiversx_sc_meta::cli_main::(); + multiversx_sc_meta_lib::cli_main::(); } diff --git a/locked-asset/token-unstake/wasm/Cargo.lock b/locked-asset/token-unstake/wasm/Cargo.lock index 74fdec9ce..788eb7478 100644 --- a/locked-asset/token-unstake/wasm/Cargo.lock +++ b/locked-asset/token-unstake/wasm/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "arrayvec" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "autocfg" @@ -119,9 +119,9 @@ dependencies = [ [[package]] name = "multiversx-sc" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "526760b1d6236c011285b264a70a0a9dd3b3dbc53c3b5f76932f4bcfd3a8910c" +checksum = "75ea89a26f0aacda21437a8ae5ccfbefab99d8191942b3d2eddbcbf84f9866d7" dependencies = [ "bitflags", "hex-literal", @@ -133,9 +133,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad4f318427761faecf26c1f3115a3beeb5f61858845a60547d9763aa981ddd2d" +checksum = "007d7a5a8534e5dc9128cb8f15a65a21dd378e135c6016c7cd1491cd012bc8cb" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -144,9 +144,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "476501462b0c2654b64f9dec6f2c480e24b4e9b7133ec10b7167e64acda35d04" +checksum = "dffba1dce273ed5b61ee1b90aeea5c8c744617d0f12624f620768c144d83e753" dependencies = [ "hex", "proc-macro2", @@ -156,9 +156,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3557f2f12640a8a07fa6af66cc2a13b188c5b61bed72db22fe631fb3a60c3e96" +checksum = "4c17fdf90fafca2f19085ae67b0502d9f71bf8ab1be3c83808eb88e02a8c18b9" dependencies = [ "hex", "proc-macro2", @@ -169,18 +169,18 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61f5c29c6044f3dc9e866858feee625d7fae5604a68ac7bd66dec683eee97563" +checksum = "daeb48acbd39255868a3241798df2f85050f0ae8d82d6417bd2cd0e30a241855" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed13aaca9cbdbc6911174cd3029e750a7563d85dd3daaa1107b1fd31c7f17245" +checksum = "20659915a4377d375c46d7f237e810053a03f7e084fad6362dd5748a7233defb" dependencies = [ "multiversx-sc", ] @@ -214,9 +214,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.36" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ "proc-macro2", ] @@ -256,9 +256,9 @@ checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "syn" -version = "2.0.72" +version = "2.0.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" +checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" dependencies = [ "proc-macro2", "quote", diff --git a/locked-asset/token-unstake/wasm/Cargo.toml b/locked-asset/token-unstake/wasm/Cargo.toml index 378cdd817..11bdee610 100644 --- a/locked-asset/token-unstake/wasm/Cargo.toml +++ b/locked-asset/token-unstake/wasm/Cargo.toml @@ -28,7 +28,7 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "=0.52.3" +version = "=0.53.2" [workspace] members = ["."] diff --git a/pause-all/Cargo.toml b/pause-all/Cargo.toml index 7d9df52ad..6f03bfb68 100644 --- a/pause-all/Cargo.toml +++ b/pause-all/Cargo.toml @@ -12,14 +12,14 @@ path = "src/lib.rs" path = "../common/modules/pausable" [dependencies.multiversx-sc] -version = "=0.52.3" +version = "=0.53.2" features = ["esdt-token-payment-legacy-decode"] [dependencies.multiversx-sc-modules] -version = "=0.52.3" +version = "=0.53.2" [dev-dependencies.multiversx-sc-scenario] -version = "=0.52.3" +version = "=0.53.2" [dev-dependencies.farm] path = "../dex/farm" diff --git a/pause-all/meta/Cargo.toml b/pause-all/meta/Cargo.toml index 67f00b69e..0dbb64a9e 100644 --- a/pause-all/meta/Cargo.toml +++ b/pause-all/meta/Cargo.toml @@ -10,6 +10,6 @@ authors = ["MultiversX "] [dependencies.pause-all] path = ".." -[dependencies.multiversx-sc-meta] -version = "0.52.3" +[dependencies.multiversx-sc-meta-lib] +version = "0.53.2" default-features = false diff --git a/pause-all/meta/src/main.rs b/pause-all/meta/src/main.rs index b23720203..38584f572 100644 --- a/pause-all/meta/src/main.rs +++ b/pause-all/meta/src/main.rs @@ -1,3 +1,3 @@ fn main() { - multiversx_sc_meta::cli_main::(); + multiversx_sc_meta_lib::cli_main::(); } diff --git a/pause-all/wasm/Cargo.lock b/pause-all/wasm/Cargo.lock index 483da2b83..789d6a687 100644 --- a/pause-all/wasm/Cargo.lock +++ b/pause-all/wasm/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "arrayvec" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "autocfg" @@ -47,9 +47,9 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "multiversx-sc" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "526760b1d6236c011285b264a70a0a9dd3b3dbc53c3b5f76932f4bcfd3a8910c" +checksum = "75ea89a26f0aacda21437a8ae5ccfbefab99d8191942b3d2eddbcbf84f9866d7" dependencies = [ "bitflags", "hex-literal", @@ -61,9 +61,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad4f318427761faecf26c1f3115a3beeb5f61858845a60547d9763aa981ddd2d" +checksum = "007d7a5a8534e5dc9128cb8f15a65a21dd378e135c6016c7cd1491cd012bc8cb" dependencies = [ "arrayvec", "multiversx-sc-codec-derive", @@ -72,9 +72,9 @@ dependencies = [ [[package]] name = "multiversx-sc-codec-derive" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "476501462b0c2654b64f9dec6f2c480e24b4e9b7133ec10b7167e64acda35d04" +checksum = "dffba1dce273ed5b61ee1b90aeea5c8c744617d0f12624f620768c144d83e753" dependencies = [ "hex", "proc-macro2", @@ -84,9 +84,9 @@ dependencies = [ [[package]] name = "multiversx-sc-derive" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3557f2f12640a8a07fa6af66cc2a13b188c5b61bed72db22fe631fb3a60c3e96" +checksum = "4c17fdf90fafca2f19085ae67b0502d9f71bf8ab1be3c83808eb88e02a8c18b9" dependencies = [ "hex", "proc-macro2", @@ -97,18 +97,18 @@ dependencies = [ [[package]] name = "multiversx-sc-modules" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61f5c29c6044f3dc9e866858feee625d7fae5604a68ac7bd66dec683eee97563" +checksum = "daeb48acbd39255868a3241798df2f85050f0ae8d82d6417bd2cd0e30a241855" dependencies = [ "multiversx-sc", ] [[package]] name = "multiversx-sc-wasm-adapter" -version = "0.52.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed13aaca9cbdbc6911174cd3029e750a7563d85dd3daaa1107b1fd31c7f17245" +checksum = "20659915a4377d375c46d7f237e810053a03f7e084fad6362dd5748a7233defb" dependencies = [ "multiversx-sc", ] @@ -176,9 +176,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.36" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ "proc-macro2", ] @@ -201,9 +201,9 @@ checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "syn" -version = "2.0.72" +version = "2.0.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" +checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" dependencies = [ "proc-macro2", "quote", diff --git a/pause-all/wasm/Cargo.toml b/pause-all/wasm/Cargo.toml index 019f093a5..b0301f784 100644 --- a/pause-all/wasm/Cargo.toml +++ b/pause-all/wasm/Cargo.toml @@ -28,7 +28,7 @@ panic = "abort" path = ".." [dependencies.multiversx-sc-wasm-adapter] -version = "=0.52.3" +version = "=0.53.2" [workspace] members = ["."]