diff --git a/.gitignore b/.gitignore
index aa1a150f..a116e54f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -24,3 +24,5 @@ docs/build
htmlcov/
lcov.info
coverage/
+
+**/test_snapshots/
\ No newline at end of file
diff --git a/Cargo.lock b/Cargo.lock
index 37098259..29a67bd4 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -4,9 +4,9 @@ version = 4
[[package]]
name = "ahash"
-version = "0.8.11"
+version = "0.8.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011"
+checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75"
dependencies = [
"cfg-if",
"once_cell",
@@ -153,14 +153,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185"
dependencies = [
"num-traits",
- "rand",
+ "rand 0.8.5",
]
[[package]]
name = "autocfg"
-version = "1.4.0"
+version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26"
+checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
[[package]]
name = "base16ct"
@@ -168,12 +168,6 @@ version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf"
-[[package]]
-name = "base64"
-version = "0.13.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
-
[[package]]
name = "base64"
version = "0.22.1"
@@ -182,9 +176,9 @@ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
[[package]]
name = "base64ct"
-version = "1.6.0"
+version = "1.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b"
+checksum = "55248b47b0caf0546f7988906588779981c43bb1bc9d0c44087278f80cdb44ba"
[[package]]
name = "bit-set"
@@ -218,15 +212,9 @@ dependencies = [
[[package]]
name = "bumpalo"
-version = "3.16.0"
+version = "3.19.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"
+checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43"
[[package]]
name = "bytes-lit"
@@ -237,35 +225,46 @@ dependencies = [
"num-bigint",
"proc-macro2",
"quote",
- "syn 2.0.96",
+ "syn 2.0.104",
]
[[package]]
name = "cc"
-version = "1.2.10"
+version = "1.2.29"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "13208fcbb66eaeffe09b99fffbe1af420f00a7b35aa99ad683dfc1aa76145229"
+checksum = "5c1599538de2394445747c8cf7935946e3cc27e9625f889d979bfb2aaf569362"
dependencies = [
"shlex",
]
[[package]]
name = "cfg-if"
-version = "1.0.0"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268"
+
+[[package]]
+name = "cfg_eval"
+version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+checksum = "45565fc9416b9896014f5732ac776f810ee53a66730c17e4020c3ec064a8f88f"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.104",
+]
[[package]]
name = "chrono"
-version = "0.4.39"
+version = "0.4.41"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7e36cc9d416881d2e24f9a963be5fb1cd90966419ac844274161d10488b3e825"
+checksum = "c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d"
dependencies = [
"android-tzdata",
"iana-time-zone",
"num-traits",
"serde",
- "windows-targets",
+ "windows-link",
]
[[package]]
@@ -307,7 +306,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76"
dependencies = [
"generic-array",
- "rand_core",
+ "rand_core 0.6.4",
"subtle",
"zeroize",
]
@@ -329,7 +328,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "32a2785755761f3ddc1492979ce1e48d2c00d09311c39e4466429188f3dd6501"
dependencies = [
"quote",
- "syn 2.0.96",
+ "syn 2.0.104",
]
[[package]]
@@ -356,14 +355,14 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.96",
+ "syn 2.0.104",
]
[[package]]
name = "darling"
-version = "0.20.10"
+version = "0.20.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989"
+checksum = "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee"
dependencies = [
"darling_core",
"darling_macro",
@@ -371,40 +370,40 @@ dependencies = [
[[package]]
name = "darling_core"
-version = "0.20.10"
+version = "0.20.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5"
+checksum = "0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e"
dependencies = [
"fnv",
"ident_case",
"proc-macro2",
"quote",
"strsim",
- "syn 2.0.96",
+ "syn 2.0.104",
]
[[package]]
name = "darling_macro"
-version = "0.20.10"
+version = "0.20.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806"
+checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead"
dependencies = [
"darling_core",
"quote",
- "syn 2.0.96",
+ "syn 2.0.104",
]
[[package]]
name = "data-encoding"
-version = "2.7.0"
+version = "2.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0e60eed09d8c01d3cee5b7d30acb059b76614c918fa0f992e0dd6eeb10daad6f"
+checksum = "2a2330da5de22e8a3cb63252ce2abb30116bf5265e89c0e01bc17015ce30a476"
[[package]]
name = "der"
-version = "0.7.9"
+version = "0.7.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0"
+checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb"
dependencies = [
"const-oid",
"zeroize",
@@ -412,9 +411,9 @@ dependencies = [
[[package]]
name = "deranged"
-version = "0.3.11"
+version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4"
+checksum = "9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e"
dependencies = [
"powerfmt",
"serde",
@@ -439,7 +438,7 @@ checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.96",
+ "syn 2.0.104",
]
[[package]]
@@ -460,6 +459,12 @@ version = "1.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2"
+[[package]]
+name = "dyn-clone"
+version = "1.0.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1c7a8fb8a9fbf66c1f703fe16184d10ca0ee9d23be5b4436400408ba54a95005"
+
[[package]]
name = "ecdsa"
version = "0.16.9"
@@ -491,7 +496,7 @@ checksum = "4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871"
dependencies = [
"curve25519-dalek",
"ed25519",
- "rand_core",
+ "rand_core 0.6.4",
"serde",
"sha2",
"subtle",
@@ -500,9 +505,9 @@ dependencies = [
[[package]]
name = "either"
-version = "1.13.0"
+version = "1.15.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0"
+checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719"
[[package]]
name = "elliptic-curve"
@@ -516,7 +521,7 @@ dependencies = [
"ff",
"generic-array",
"group",
- "rand_core",
+ "rand_core 0.6.4",
"sec1",
"subtle",
"zeroize",
@@ -524,18 +529,18 @@ dependencies = [
[[package]]
name = "equivalent"
-version = "1.0.1"
+version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
+checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
[[package]]
name = "errno"
-version = "0.3.12"
+version = "0.3.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cea14ef9355e3beab063703aa9dab15afd25f0667c341310c1e5274bb1d0da18"
+checksum = "778e2ac28f6c47af28e4907f13ffd1e1ddbd400980a9abd7c8df189bf578a5ad"
dependencies = [
"libc",
- "windows-sys",
+ "windows-sys 0.60.2",
]
[[package]]
@@ -546,9 +551,9 @@ checksum = "2bfcf67fea2815c2fc3b90873fae90957be12ff417335dfadc7f52927feb03b2"
[[package]]
name = "ethnum"
-version = "1.5.0"
+version = "1.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b90ca2580b73ab6a1f724b76ca11ab632df820fd6040c336200d2c1df7b3c82c"
+checksum = "ca81e6b4777c89fd810c25a4be2b1bd93ea034fbe58e6a75216a34c6b82c539b"
[[package]]
name = "fastrand"
@@ -558,11 +563,11 @@ checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be"
[[package]]
name = "ff"
-version = "0.13.0"
+version = "0.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449"
+checksum = "c0b50bfb653653f9ca9095b427bed08ab8d75a137839d9ad64eb11810d5b6393"
dependencies = [
- "rand_core",
+ "rand_core 0.6.4",
"subtle",
]
@@ -610,7 +615,7 @@ dependencies = [
name = "fungible-merkle-airdrop-example"
version = "0.4.1"
dependencies = [
- "hex-literal",
+ "hex-literal 1.0.0",
"soroban-sdk",
"stellar-access",
"stellar-contract-utils",
@@ -623,6 +628,7 @@ name = "fungible-pausable-example"
version = "0.4.1"
dependencies = [
"soroban-sdk",
+ "stellar-access",
"stellar-contract-utils",
"stellar-macros",
"stellar-tokens",
@@ -633,6 +639,7 @@ name = "fungible-token-interface-example"
version = "0.4.1"
dependencies = [
"soroban-sdk",
+ "stellar-access",
"stellar-contract-utils",
"stellar-macros",
"stellar-tokens",
@@ -651,14 +658,14 @@ dependencies = [
[[package]]
name = "getrandom"
-version = "0.2.15"
+version = "0.2.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7"
+checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592"
dependencies = [
"cfg-if",
"js-sys",
"libc",
- "wasi 0.11.0+wasi-snapshot-preview1",
+ "wasi 0.11.1+wasi-snapshot-preview1",
"wasm-bindgen",
]
@@ -681,7 +688,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63"
dependencies = [
"ff",
- "rand_core",
+ "rand_core 0.6.4",
"subtle",
]
@@ -702,9 +709,15 @@ dependencies = [
[[package]]
name = "hashbrown"
-version = "0.15.2"
+version = "0.15.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289"
+checksum = "5971ac85611da7067dbfcabef3c70ebb5606018acd9e2a3903a0da507521e0d5"
+
+[[package]]
+name = "heck"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
[[package]]
name = "hex"
@@ -721,6 +734,12 @@ version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46"
+[[package]]
+name = "hex-literal"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bcaaec4551594c969335c98c903c1397853d4198408ea609190f420500f6be71"
+
[[package]]
name = "hmac"
version = "0.12.1"
@@ -732,14 +751,15 @@ dependencies = [
[[package]]
name = "iana-time-zone"
-version = "0.1.61"
+version = "0.1.63"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220"
+checksum = "b0c919e5debc312ad217002b8048a17b7d83f80703865bbfcfebb0458b0b27d8"
dependencies = [
"android_system_properties",
"core-foundation-sys",
"iana-time-zone-haiku",
"js-sys",
+ "log",
"wasm-bindgen",
"windows-core",
]
@@ -772,12 +792,12 @@ dependencies = [
[[package]]
name = "indexmap"
-version = "2.7.1"
+version = "2.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c9c992b02b5b4c94ea26e32fe5bccb7aa7d9f390ab5c1221ff895bc7ea8b652"
+checksum = "fe4cd85333e22411419a0bcae1297d25e58c9443848b11dc6a86fefe8c78a661"
dependencies = [
"equivalent",
- "hashbrown 0.15.2",
+ "hashbrown 0.15.4",
"serde",
]
@@ -798,9 +818,9 @@ dependencies = [
[[package]]
name = "itoa"
-version = "1.0.14"
+version = "1.0.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674"
+checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c"
[[package]]
name = "js-sys"
@@ -841,15 +861,15 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
[[package]]
name = "libc"
-version = "0.2.169"
+version = "0.2.174"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a"
+checksum = "1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776"
[[package]]
name = "libm"
-version = "0.2.11"
+version = "0.2.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa"
+checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de"
[[package]]
name = "linux-raw-sys"
@@ -859,15 +879,26 @@ checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12"
[[package]]
name = "log"
-version = "0.4.25"
+version = "0.4.27"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "04cbf5b083de1c7e0222a7a51dbfdba1cbe1c6ab0b15e29fff3f6c077fd9cd9f"
+checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94"
+
+[[package]]
+name = "macro-string"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1b27834086c65ec3f9387b096d66e99f221cf081c2b738042aa252bcd41204e3"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.104",
+]
[[package]]
name = "memchr"
-version = "2.7.4"
+version = "2.7.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
+checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0"
[[package]]
name = "merkle-voting-example"
@@ -892,6 +923,7 @@ name = "nft-consecutive-example"
version = "0.4.1"
dependencies = [
"soroban-sdk",
+ "stellar-access",
"stellar-tokens",
]
@@ -900,6 +932,7 @@ name = "nft-enumerable-example"
version = "0.4.1"
dependencies = [
"soroban-sdk",
+ "stellar-access",
"stellar-macros",
"stellar-tokens",
]
@@ -919,6 +952,7 @@ name = "nft-sequential-minting-example"
version = "0.4.1"
dependencies = [
"soroban-sdk",
+ "stellar-access",
"stellar-macros",
"stellar-tokens",
]
@@ -947,7 +981,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.96",
+ "syn 2.0.104",
]
[[package]]
@@ -970,9 +1004,9 @@ dependencies = [
[[package]]
name = "once_cell"
-version = "1.20.2"
+version = "1.21.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775"
+checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
[[package]]
name = "ownable-example"
@@ -1006,6 +1040,7 @@ name = "pausable-example"
version = "0.4.1"
dependencies = [
"soroban-sdk",
+ "stellar-access",
"stellar-contract-utils",
"stellar-macros",
]
@@ -1028,21 +1063,21 @@ checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
[[package]]
name = "ppv-lite86"
-version = "0.2.20"
+version = "0.2.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04"
+checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9"
dependencies = [
"zerocopy",
]
[[package]]
name = "prettyplease"
-version = "0.2.29"
+version = "0.2.35"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6924ced06e1f7dfe3fa48d57b9f74f55d8915f5036121bef647ef4b204895fac"
+checksum = "061c1221631e079b26479d25bbf2275bfe5917ae8419cd7e34f13bfc2aa7539a"
dependencies = [
"proc-macro2",
- "syn 2.0.96",
+ "syn 2.0.104",
]
[[package]]
@@ -1056,26 +1091,26 @@ dependencies = [
[[package]]
name = "proc-macro2"
-version = "1.0.93"
+version = "1.0.95"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99"
+checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778"
dependencies = [
"unicode-ident",
]
[[package]]
name = "proptest"
-version = "1.6.0"
+version = "1.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14cae93065090804185d3b75f0bf93b8eeda30c7a9b4a33d3bdb3988d6229e50"
+checksum = "6fcdab19deb5195a31cf7726a210015ff1496ba1464fd42cb4f537b8b01b471f"
dependencies = [
"bit-set",
"bit-vec",
"bitflags",
"lazy_static",
"num-traits",
- "rand",
- "rand_chacha",
+ "rand 0.9.1",
+ "rand_chacha 0.9.0",
"rand_xorshift",
"regex-syntax",
"rusty-fork",
@@ -1091,18 +1126,18 @@ checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0"
[[package]]
name = "quote"
-version = "1.0.38"
+version = "1.0.40"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc"
+checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d"
dependencies = [
"proc-macro2",
]
[[package]]
name = "r-efi"
-version = "5.2.0"
+version = "5.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5"
+checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f"
[[package]]
name = "rand"
@@ -1111,8 +1146,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
dependencies = [
"libc",
- "rand_chacha",
- "rand_core",
+ "rand_chacha 0.3.1",
+ "rand_core 0.6.4",
+]
+
+[[package]]
+name = "rand"
+version = "0.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9fbfd9d094a40bf3ae768db9361049ace4c0e04a4fd6b359518bd7b73a73dd97"
+dependencies = [
+ "rand_chacha 0.9.0",
+ "rand_core 0.9.3",
]
[[package]]
@@ -1122,7 +1167,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
dependencies = [
"ppv-lite86",
- "rand_core",
+ "rand_core 0.6.4",
+]
+
+[[package]]
+name = "rand_chacha"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb"
+dependencies = [
+ "ppv-lite86",
+ "rand_core 0.9.3",
]
[[package]]
@@ -1131,16 +1186,45 @@ version = "0.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
dependencies = [
- "getrandom 0.2.15",
+ "getrandom 0.2.16",
+]
+
+[[package]]
+name = "rand_core"
+version = "0.9.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38"
+dependencies = [
+ "getrandom 0.3.3",
]
[[package]]
name = "rand_xorshift"
-version = "0.3.0"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "513962919efc330f829edb2535844d1b912b0fbe2ca165d613e4e8788bb05a5a"
+dependencies = [
+ "rand_core 0.9.3",
+]
+
+[[package]]
+name = "ref-cast"
+version = "1.0.24"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f"
+checksum = "4a0ae411dbe946a674d89546582cea4ba2bb8defac896622d6496f14c23ba5cf"
dependencies = [
- "rand_core",
+ "ref-cast-impl",
+]
+
+[[package]]
+name = "ref-cast-impl"
+version = "1.0.24"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1165225c21bff1f3bbce98f5a1f889949bc902d3575308cc7b0de30b4f6d27c7"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.104",
]
[[package]]
@@ -1178,14 +1262,14 @@ dependencies = [
"errno",
"libc",
"linux-raw-sys",
- "windows-sys",
+ "windows-sys 0.59.0",
]
[[package]]
name = "rustversion"
-version = "1.0.19"
+version = "1.0.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f7c45b9784283f1b2e7fb61b42047c2fd678ef0960d4f6f1eba131594cc369d4"
+checksum = "8a0d197bd2c9dc6e53b84da9556a69ba4cdfab8619eb41a8bd1cc2027a0f6b1d"
[[package]]
name = "rusty-fork"
@@ -1201,15 +1285,14 @@ dependencies = [
[[package]]
name = "ryu"
-version = "1.0.19"
+version = "1.0.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6ea1a2d0a644769cc99faa24c3ad26b379b786fe7c36fd3c546254801650e6dd"
+checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f"
[[package]]
name = "sac-admin-generic-example"
version = "0.4.1"
dependencies = [
- "ed25519-dalek",
"soroban-sdk",
"stellar-tokens",
]
@@ -1224,6 +1307,41 @@ dependencies = [
"stellar-tokens",
]
+[[package]]
+name = "schemars"
+version = "0.8.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3fbf2ae1b8bc8e02df939598064d22402220cd5bbcca1c76f7d6a310974d5615"
+dependencies = [
+ "dyn-clone",
+ "serde",
+ "serde_json",
+]
+
+[[package]]
+name = "schemars"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4cd191f9397d57d581cddd31014772520aa448f65ef991055d7f61582c65165f"
+dependencies = [
+ "dyn-clone",
+ "ref-cast",
+ "serde",
+ "serde_json",
+]
+
+[[package]]
+name = "schemars"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "82d20c4491bc164fa2f6c5d44565947a52ad80b9505d8e36f8d54c27c739fcd0"
+dependencies = [
+ "dyn-clone",
+ "ref-cast",
+ "serde",
+ "serde_json",
+]
+
[[package]]
name = "sec1"
version = "0.7.3"
@@ -1239,35 +1357,35 @@ dependencies = [
[[package]]
name = "semver"
-version = "1.0.25"
+version = "1.0.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f79dfe2d285b0488816f30e700a7438c5a73d816b5b7d3ac72fbc48b0d185e03"
+checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0"
[[package]]
name = "serde"
-version = "1.0.217"
+version = "1.0.219"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70"
+checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
-version = "1.0.217"
+version = "1.0.219"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0"
+checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.96",
+ "syn 2.0.104",
]
[[package]]
name = "serde_json"
-version = "1.0.137"
+version = "1.0.140"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "930cfb6e6abf99298aaad7d29abbef7a9999a9a8806a40088f55f0dcec03146b"
+checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373"
dependencies = [
"itoa",
"memchr",
@@ -1277,15 +1395,18 @@ dependencies = [
[[package]]
name = "serde_with"
-version = "3.12.0"
+version = "3.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d6b6f7f2fcb69f747921f79f3926bd1e203fce4fef62c268dd3abfb6d86029aa"
+checksum = "f2c45cd61fefa9db6f254525d46e392b852e0e61d9a1fd36e5bd183450a556d5"
dependencies = [
- "base64 0.22.1",
+ "base64",
"chrono",
"hex",
"indexmap 1.9.3",
- "indexmap 2.7.1",
+ "indexmap 2.10.0",
+ "schemars 0.8.22",
+ "schemars 0.9.0",
+ "schemars 1.0.4",
"serde",
"serde_derive",
"serde_json",
@@ -1295,21 +1416,21 @@ dependencies = [
[[package]]
name = "serde_with_macros"
-version = "3.12.0"
+version = "3.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8d00caa5193a3c8362ac2b73be6b9e768aa5a4b2f721d8f4b339600c3cb51f8e"
+checksum = "de90945e6565ce0d9a25098082ed4ee4002e047cb59892c318d66821e14bb30f"
dependencies = [
"darling",
"proc-macro2",
"quote",
- "syn 2.0.96",
+ "syn 2.0.104",
]
[[package]]
name = "sha2"
-version = "0.10.8"
+version = "0.10.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"
+checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283"
dependencies = [
"cfg-if",
"cpufeatures",
@@ -1339,32 +1460,32 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de"
dependencies = [
"digest",
- "rand_core",
+ "rand_core 0.6.4",
]
[[package]]
name = "smallvec"
-version = "1.13.2"
+version = "1.15.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
+checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03"
[[package]]
name = "soroban-builtin-sdk-macros"
-version = "22.1.3"
+version = "23.0.0-rc.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf2e42bf80fcdefb3aae6ff3c7101a62cf942e95320ed5b518a1705bc11c6b2f"
+checksum = "2ae7f1f1908c9cdb7740eb9bb7a467770ff26fa4c82e49fdb4de88027b5fb93c"
dependencies = [
"itertools",
"proc-macro2",
"quote",
- "syn 2.0.96",
+ "syn 2.0.104",
]
[[package]]
name = "soroban-env-common"
-version = "22.1.3"
+version = "23.0.0-rc.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "027cd856171bfd6ad2c0ffb3b7dfe55ad7080fb3050c36ad20970f80da634472"
+checksum = "6c20fd873e412036f93916c946d497216d8a997a5f8c13a342127fe0043cde49"
dependencies = [
"arbitrary",
"crate-git-revision",
@@ -1381,9 +1502,9 @@ dependencies = [
[[package]]
name = "soroban-env-guest"
-version = "22.1.3"
+version = "23.0.0-rc.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a07dda1ae5220d975979b19ad4fd56bc86ec7ec1b4b25bc1c5d403f934e592e"
+checksum = "f18662e41bcfc9914ec365c3743ac040513403f1ca2cc7bad0a7a846f179391c"
dependencies = [
"soroban-env-common",
"static_assertions",
@@ -1391,9 +1512,9 @@ dependencies = [
[[package]]
name = "soroban-env-host"
-version = "22.1.3"
+version = "23.0.0-rc.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "66e8b03a4191d485eab03f066336112b2a50541a7553179553dc838b986b94dd"
+checksum = "c1a03f55efb228e2b687276a4171291c814b7ee38d2aed926d7cb5a786bf269a"
dependencies = [
"ark-bls12-381",
"ark-ec",
@@ -1404,16 +1525,16 @@ dependencies = [
"ed25519-dalek",
"elliptic-curve",
"generic-array",
- "getrandom 0.2.15",
- "hex-literal",
+ "getrandom 0.2.16",
+ "hex-literal 0.4.1",
"hmac",
"k256",
"num-derive",
"num-integer",
"num-traits",
"p256",
- "rand",
- "rand_chacha",
+ "rand 0.8.5",
+ "rand_chacha 0.3.1",
"sec1",
"sha2",
"sha3",
@@ -1427,9 +1548,9 @@ dependencies = [
[[package]]
name = "soroban-env-macros"
-version = "22.1.3"
+version = "23.0.0-rc.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "00eff744764ade3bc480e4909e3a581a240091f3d262acdce80b41f7069b2bd9"
+checksum = "273c716dcf8797dd70517cc79af7b788934a17ced73a156bd6511f51930d4cd7"
dependencies = [
"itertools",
"proc-macro2",
@@ -1437,14 +1558,13 @@ dependencies = [
"serde",
"serde_json",
"stellar-xdr",
- "syn 2.0.96",
+ "syn 2.0.104",
]
[[package]]
name = "soroban-ledger-snapshot"
-version = "22.0.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2826e2c9d364edbb2ea112dc861077c74557bdad0a7a00487969088c7c648169"
+version = "23.0.0-rc.2.3"
+source = "git+https://github.com/ahalabs/rs-soroban-sdk?rev=4bdd847e386c8d8256ce7afef2b684899d3f189c#4bdd847e386c8d8256ce7afef2b684899d3f189c"
dependencies = [
"serde",
"serde_json",
@@ -1456,16 +1576,16 @@ dependencies = [
[[package]]
name = "soroban-sdk"
-version = "22.0.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c7ac27d7573e62b745513fa1be8dab7a09b9676a7f39db97164f1d458a344749"
+version = "23.0.0-rc.2.3"
+source = "git+https://github.com/ahalabs/rs-soroban-sdk?rev=4bdd847e386c8d8256ce7afef2b684899d3f189c#4bdd847e386c8d8256ce7afef2b684899d3f189c"
dependencies = [
"arbitrary",
"bytes-lit",
+ "crate-git-revision",
"ctor",
"derive_arbitrary",
"ed25519-dalek",
- "rand",
+ "rand 0.8.5",
"rustc_version",
"serde",
"serde_json",
@@ -1478,31 +1598,29 @@ dependencies = [
[[package]]
name = "soroban-sdk-macros"
-version = "22.0.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ef0d7d62b2584696d306b8766728971c7d0731a03a5e047f1fc68722ac8cf0c"
+version = "23.0.0-rc.2.3"
+source = "git+https://github.com/ahalabs/rs-soroban-sdk?rev=4bdd847e386c8d8256ce7afef2b684899d3f189c#4bdd847e386c8d8256ce7afef2b684899d3f189c"
dependencies = [
- "crate-git-revision",
"darling",
+ "heck",
"itertools",
+ "macro-string",
"proc-macro2",
"quote",
- "rustc_version",
"sha2",
"soroban-env-common",
"soroban-spec",
"soroban-spec-rust",
"stellar-xdr",
- "syn 2.0.96",
+ "syn 2.0.104",
]
[[package]]
name = "soroban-spec"
-version = "22.0.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4ad0867aec99770ed614fedbec7ac4591791df162ff9e548ab7ebd07cd23a9c"
+version = "23.0.0-rc.2.3"
+source = "git+https://github.com/ahalabs/rs-soroban-sdk?rev=4bdd847e386c8d8256ce7afef2b684899d3f189c#4bdd847e386c8d8256ce7afef2b684899d3f189c"
dependencies = [
- "base64 0.13.1",
+ "base64",
"stellar-xdr",
"thiserror",
"wasmparser",
@@ -1510,9 +1628,8 @@ dependencies = [
[[package]]
name = "soroban-spec-rust"
-version = "22.0.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aebe31c042adfa2885ec47b67b08fcead8707da80a3fe737eaf2a9ae1a8cfdc3"
+version = "23.0.0-rc.2.3"
+source = "git+https://github.com/ahalabs/rs-soroban-sdk?rev=4bdd847e386c8d8256ce7afef2b684899d3f189c#4bdd847e386c8d8256ce7afef2b684899d3f189c"
dependencies = [
"prettyplease",
"proc-macro2",
@@ -1520,7 +1637,7 @@ dependencies = [
"sha2",
"soroban-spec",
"stellar-xdr",
- "syn 2.0.96",
+ "syn 2.0.104",
"thiserror",
]
@@ -1532,7 +1649,7 @@ checksum = "9b21ea049bdfcfce7de5aa17f1a52ecab5f2bd599d40bd805747ef75b110ee5d"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.96",
+ "syn 2.0.104",
]
[[package]]
@@ -1576,16 +1693,19 @@ version = "0.4.1"
dependencies = [
"soroban-sdk",
"stellar-event-assertion",
+ "stellar-macros",
]
[[package]]
name = "stellar-contract-utils"
version = "0.4.1"
dependencies = [
- "hex-literal",
+ "hex-literal 1.0.0",
"proptest",
"soroban-sdk",
+ "stellar-access",
"stellar-event-assertion",
+ "stellar-macros",
]
[[package]]
@@ -1613,18 +1733,17 @@ version = "0.4.1"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.96",
+ "syn 2.0.104",
]
[[package]]
name = "stellar-strkey"
-version = "0.0.9"
+version = "0.0.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5e3aa3ed00e70082cb43febc1c2afa5056b9bb3e348bbb43d0cd0aa88a611144"
+checksum = "ee1832fb50c651ad10f734aaf5d31ca5acdfb197a6ecda64d93fcdb8885af913"
dependencies = [
"crate-git-revision",
"data-encoding",
- "thiserror",
]
[[package]]
@@ -1633,22 +1752,28 @@ version = "0.4.1"
dependencies = [
"soroban-sdk",
"soroban-test-helpers",
+ "stellar-access",
+ "stellar-contract-utils",
"stellar-event-assertion",
+ "stellar-macros",
]
[[package]]
name = "stellar-xdr"
-version = "22.1.0"
+version = "23.0.0-rc.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2ce69db907e64d1e70a3dce8d4824655d154749426a6132b25395c49136013e4"
+checksum = "632bf15309c2992c059fb499275a706f6afdfd68c690508d5d9bfa96c771477f"
dependencies = [
"arbitrary",
- "base64 0.13.1",
+ "base64",
+ "cfg_eval",
"crate-git-revision",
"escape-bytes",
+ "ethnum",
"hex",
"serde",
"serde_with",
+ "sha2",
"stellar-strkey",
]
@@ -1677,9 +1802,9 @@ dependencies = [
[[package]]
name = "syn"
-version = "2.0.96"
+version = "2.0.104"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d5d0adab1ae378d7f53bdebc67a39f1f151407ef230f0ce2883572f5d8985c80"
+checksum = "17b6f705963418cdb9927482fa304bc562ece2fdd4f616084c50b7023b435a40"
dependencies = [
"proc-macro2",
"quote",
@@ -1696,7 +1821,7 @@ dependencies = [
"getrandom 0.3.3",
"once_cell",
"rustix",
- "windows-sys",
+ "windows-sys 0.59.0",
]
[[package]]
@@ -1716,14 +1841,14 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.96",
+ "syn 2.0.104",
]
[[package]]
name = "time"
-version = "0.3.37"
+version = "0.3.41"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "35e7868883861bd0e56d9ac6efcaaca0d6d5d82a2a7ec8209ff492c07cf37b21"
+checksum = "8a7619e19bc266e0f9c5e6686659d394bc57973859340060a69221e57dbc0c40"
dependencies = [
"deranged",
"itoa",
@@ -1736,15 +1861,15 @@ dependencies = [
[[package]]
name = "time-core"
-version = "0.1.2"
+version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
+checksum = "c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c"
[[package]]
name = "time-macros"
-version = "0.2.19"
+version = "0.2.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2834e6017e3e5e4b9834939793b282bc03b37a3336245fa820e35e233e2a85de"
+checksum = "3526739392ec93fd8b359c8e98514cb3e8e021beb4e5f597b00a0221f8ed8a49"
dependencies = [
"num-conv",
"time-core",
@@ -1752,9 +1877,9 @@ dependencies = [
[[package]]
name = "typenum"
-version = "1.17.0"
+version = "1.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
+checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f"
[[package]]
name = "unarray"
@@ -1764,15 +1889,16 @@ checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94"
[[package]]
name = "unicode-ident"
-version = "1.0.16"
+version = "1.0.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a210d160f08b701c8721ba1c726c11662f877ea6b7094007e1ca9a1041945034"
+checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512"
[[package]]
name = "upgradeable-v1-example"
version = "1.0.0"
dependencies = [
"soroban-sdk",
+ "stellar-access",
"stellar-contract-utils",
"stellar-macros",
]
@@ -1782,6 +1908,7 @@ name = "upgradeable-v2-example"
version = "2.0.0"
dependencies = [
"soroban-sdk",
+ "stellar-access",
"stellar-contract-utils",
"stellar-macros",
]
@@ -1813,9 +1940,9 @@ dependencies = [
[[package]]
name = "wasi"
-version = "0.11.0+wasi-snapshot-preview1"
+version = "0.11.1+wasi-snapshot-preview1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
+checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b"
[[package]]
name = "wasi"
@@ -1848,7 +1975,7 @@ dependencies = [
"log",
"proc-macro2",
"quote",
- "syn 2.0.96",
+ "syn 2.0.104",
"wasm-bindgen-shared",
]
@@ -1870,7 +1997,7 @@ checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.96",
+ "syn 2.0.104",
"wasm-bindgen-backend",
"wasm-bindgen-shared",
]
@@ -1908,7 +2035,7 @@ version = "0.116.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a58e28b80dd8340cb07b8242ae654756161f6fc8d0038123d679b7b99964fa50"
dependencies = [
- "indexmap 2.7.1",
+ "indexmap 2.10.0",
"semver",
]
@@ -1923,11 +2050,61 @@ dependencies = [
[[package]]
name = "windows-core"
-version = "0.52.0"
+version = "0.61.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3"
+dependencies = [
+ "windows-implement",
+ "windows-interface",
+ "windows-link",
+ "windows-result",
+ "windows-strings",
+]
+
+[[package]]
+name = "windows-implement"
+version = "0.60.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.104",
+]
+
+[[package]]
+name = "windows-interface"
+version = "0.59.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.104",
+]
+
+[[package]]
+name = "windows-link"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a"
+
+[[package]]
+name = "windows-result"
+version = "0.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
+checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6"
dependencies = [
- "windows-targets",
+ "windows-link",
+]
+
+[[package]]
+name = "windows-strings"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57"
+dependencies = [
+ "windows-link",
]
[[package]]
@@ -1936,7 +2113,16 @@ version = "0.59.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
dependencies = [
- "windows-targets",
+ "windows-targets 0.52.6",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.60.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb"
+dependencies = [
+ "windows-targets 0.53.2",
]
[[package]]
@@ -1945,14 +2131,30 @@ version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
dependencies = [
- "windows_aarch64_gnullvm",
- "windows_aarch64_msvc",
- "windows_i686_gnu",
- "windows_i686_gnullvm",
- "windows_i686_msvc",
- "windows_x86_64_gnu",
- "windows_x86_64_gnullvm",
- "windows_x86_64_msvc",
+ "windows_aarch64_gnullvm 0.52.6",
+ "windows_aarch64_msvc 0.52.6",
+ "windows_i686_gnu 0.52.6",
+ "windows_i686_gnullvm 0.52.6",
+ "windows_i686_msvc 0.52.6",
+ "windows_x86_64_gnu 0.52.6",
+ "windows_x86_64_gnullvm 0.52.6",
+ "windows_x86_64_msvc 0.52.6",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.53.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c66f69fcc9ce11da9966ddb31a40968cad001c5bedeb5c2b82ede4253ab48aef"
+dependencies = [
+ "windows_aarch64_gnullvm 0.53.0",
+ "windows_aarch64_msvc 0.53.0",
+ "windows_i686_gnu 0.53.0",
+ "windows_i686_gnullvm 0.53.0",
+ "windows_i686_msvc 0.53.0",
+ "windows_x86_64_gnu 0.53.0",
+ "windows_x86_64_gnullvm 0.53.0",
+ "windows_x86_64_msvc 0.53.0",
]
[[package]]
@@ -1961,48 +2163,96 @@ version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.53.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764"
+
[[package]]
name = "windows_aarch64_msvc"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.53.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c"
+
[[package]]
name = "windows_i686_gnu"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
+[[package]]
+name = "windows_i686_gnu"
+version = "0.53.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3"
+
[[package]]
name = "windows_i686_gnullvm"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
+[[package]]
+name = "windows_i686_gnullvm"
+version = "0.53.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11"
+
[[package]]
name = "windows_i686_msvc"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
+[[package]]
+name = "windows_i686_msvc"
+version = "0.53.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d"
+
[[package]]
name = "windows_x86_64_gnu"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.53.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba"
+
[[package]]
name = "windows_x86_64_gnullvm"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.53.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57"
+
[[package]]
name = "windows_x86_64_msvc"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.53.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486"
+
[[package]]
name = "wit-bindgen-rt"
version = "0.39.0"
@@ -2014,23 +2264,22 @@ dependencies = [
[[package]]
name = "zerocopy"
-version = "0.7.35"
+version = "0.8.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0"
+checksum = "1039dd0d3c310cf05de012d8a39ff557cb0d23087fd44cad61df08fc31907a2f"
dependencies = [
- "byteorder",
"zerocopy-derive",
]
[[package]]
name = "zerocopy-derive"
-version = "0.7.35"
+version = "0.8.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e"
+checksum = "9ecf5b4cc5364572d7f4c329661bcc82724222973f2cab6f050a4e5c22f75181"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.96",
+ "syn 2.0.104",
]
[[package]]
@@ -2050,5 +2299,5 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.96",
+ "syn 2.0.104",
]
diff --git a/Cargo.toml b/Cargo.toml
index 36d0ff96..e9445d54 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -37,14 +37,14 @@ categories = ["no-std", "wasm"]
version = "0.4.1"
[workspace.dependencies]
-soroban-sdk = "22.0.8"
+soroban-sdk = { git = "https://github.com/ahalabs/rs-soroban-sdk", rev = "4bdd847e386c8d8256ce7afef2b684899d3f189c" }
proc-macro2 = "1.0"
proptest = "1"
quote = "1.0"
syn = { version = "2.0", features = ["full"] }
soroban-test-helpers = "0.2.3"
-hex-literal = "0.4.1"
-ed25519-dalek = "2.1.1"
+hex-literal = "1.0.0"
+# ed25519-dalek = "2.0.0"
# members
stellar-access = { path = "packages/access" }
diff --git a/examples/fungible-allowlist/Cargo.toml b/examples/fungible-allowlist/Cargo.toml
index 4cf40c51..807c8ecb 100644
--- a/examples/fungible-allowlist/Cargo.toml
+++ b/examples/fungible-allowlist/Cargo.toml
@@ -12,9 +12,9 @@ doctest = false
[dependencies]
soroban-sdk = { workspace = true }
-stellar-access = { workspace = true }
stellar-macros = { workspace = true }
stellar-tokens = { workspace = true }
+stellar-access = { workspace = true }
[dev-dependencies]
soroban-sdk = { workspace = true, features = ["testutils"] }
diff --git a/examples/fungible-allowlist/src/contract.rs b/examples/fungible-allowlist/src/contract.rs
index 42c8a80f..c4a75880 100644
--- a/examples/fungible-allowlist/src/contract.rs
+++ b/examples/fungible-allowlist/src/contract.rs
@@ -5,14 +5,10 @@
//! controlled token transfers by an admin who can allow or disallow specific
//! accounts.
-use soroban_sdk::{contract, contractimpl, symbol_short, Address, Env, String};
-use stellar_access::access_control::{self as access_control, AccessControl};
-use stellar_macros::{default_impl, only_role};
-use stellar_tokens::fungible::{
- allowlist::{AllowList, FungibleAllowList},
- burnable::FungibleBurnable,
- Base, FungibleToken,
-};
+use soroban_sdk::{contract, contractimpl, contracttrait, symbol_short, Address, Env, String};
+use stellar_access::AccessControl;
+use stellar_macros::only_role;
+use stellar_tokens::{FungibleAllowList, FungibleBurnable, FungibleToken};
#[contract]
pub struct ExampleContract;
@@ -20,52 +16,69 @@ pub struct ExampleContract;
#[contractimpl]
impl ExampleContract {
pub fn __constructor(e: &Env, admin: Address, manager: Address, initial_supply: i128) {
- Base::set_metadata(
+ Self::set_metadata(
e,
18,
String::from_str(e, "AllowList Token"),
String::from_str(e, "ALT"),
);
- access_control::set_admin(e, &admin);
+ Self::init_admin(e, &admin);
// create a role "manager" and grant it to `manager`
- access_control::grant_role_no_auth(e, &admin, &manager, &symbol_short!("manager"));
+ Self::grant_role_no_auth(e, &admin, &manager, &symbol_short!("manager"));
// Allow the admin to transfer tokens
- AllowList::allow_user(e, &admin);
+ Self::allow_user_no_auth(e, &admin);
// Mint initial supply to the admin
- Base::mint(e, &admin, initial_supply);
+ Self::internal_mint(e, &admin, initial_supply);
}
}
-#[default_impl]
-#[contractimpl]
+#[contracttrait]
impl FungibleToken for ExampleContract {
- type ContractType = AllowList;
-}
-#[contractimpl]
-impl FungibleAllowList for ExampleContract {
- fn allowed(e: &Env, account: Address) -> bool {
- AllowList::allowed(e, &account)
+ fn transfer(e: &Env, from: &Address, to: &Address, amount: i128) {
+ Self::assert_allowed(e, &[from, to]);
+ Self::Impl::transfer(e, from, to, amount);
}
- #[only_role(operator, "manager")]
- fn allow_user(e: &Env, user: Address, operator: Address) {
- AllowList::allow_user(e, &user)
+ fn transfer_from(e: &Env, spender: &Address, from: &Address, to: &Address, amount: i128) {
+ Self::assert_allowed(e, &[from, to]);
+ Self::Impl::transfer_from(e, spender, from, to, amount);
}
- #[only_role(operator, "manager")]
- fn disallow_user(e: &Env, user: Address, operator: Address) {
- AllowList::disallow_user(e, &user)
+ fn approve(e: &Env, owner: &Address, spender: &Address, amount: i128, live_until_ledger: u32) {
+ Self::assert_allowed(e, &[owner]);
+ Self::Impl::approve(e, owner, spender, amount, live_until_ledger);
}
}
-#[default_impl]
-#[contractimpl]
+#[contracttrait]
+impl FungibleBurnable for ExampleContract {
+ fn burn(e: &Env, from: &Address, amount: i128) {
+ Self::assert_allowed(e, &[from]);
+ Self::Impl::burn(e, from, amount);
+ }
+
+ fn burn_from(e: &Env, spender: &Address, from: &Address, amount: i128) {
+ Self::assert_allowed(e, &[from]);
+ Self::Impl::burn_from(e, spender, from, amount);
+ }
+}
+
+#[contracttrait]
impl AccessControl for ExampleContract {}
-#[default_impl]
-#[contractimpl]
-impl FungibleBurnable for ExampleContract {}
+#[contracttrait]
+impl FungibleAllowList for ExampleContract {
+ #[only_role(operator, "manager")]
+ fn allow_user(e: &Env, user: &Address, operator: &Address) {
+ Self::Impl::allow_user(e, user, operator)
+ }
+
+ #[only_role(operator, "manager")]
+ fn disallow_user(e: &Env, user: &Address, operator: &Address) {
+ Self::Impl::disallow_user(e, user, operator)
+ }
+}
diff --git a/examples/fungible-allowlist/src/test.rs b/examples/fungible-allowlist/src/test.rs
index d9db2a07..bec72165 100644
--- a/examples/fungible-allowlist/src/test.rs
+++ b/examples/fungible-allowlist/src/test.rs
@@ -25,6 +25,7 @@ fn cannot_transfer_before_allow() {
let user1 = Address::generate(&e);
let user2 = Address::generate(&e);
let initial_supply = 1_000_000;
+ e.mock_all_auths();
let client = create_client(&e, &admin, &manager, &initial_supply);
let transfer_amount = 1000;
@@ -34,7 +35,6 @@ fn cannot_transfer_before_allow() {
assert!(!client.allowed(&user2));
// Admin can't transfer to user1 initially (user1 not allowed)
- e.mock_all_auths();
client.transfer(&admin, &user1, &transfer_amount);
}
@@ -46,11 +46,10 @@ fn transfer_to_allowed_account_works() {
let user1 = Address::generate(&e);
let user2 = Address::generate(&e);
let initial_supply = 1_000_000;
+ e.mock_all_auths();
let client = create_client(&e, &admin, &manager, &initial_supply);
let transfer_amount = 1000;
- e.mock_all_auths();
-
// Verify initial state - admin is allowed, others are not
assert!(client.allowed(&admin));
assert!(!client.allowed(&user1));
@@ -74,11 +73,10 @@ fn cannot_transfer_after_disallow() {
let user1 = Address::generate(&e);
let user2 = Address::generate(&e);
let initial_supply = 1_000_000;
+ e.mock_all_auths();
let client = create_client(&e, &admin, &manager, &initial_supply);
let transfer_amount = 1000;
- e.mock_all_auths();
-
// Verify initial state - admin is allowed, others are not
assert!(client.allowed(&admin));
assert!(!client.allowed(&user1));
@@ -108,11 +106,10 @@ fn allowlist_transfer_from_override_works() {
let user1 = Address::generate(&e);
let user2 = Address::generate(&e);
let initial_supply = 1_000_000;
+ e.mock_all_auths();
let client = create_client(&e, &admin, &manager, &initial_supply);
let transfer_amount = 1000;
- e.mock_all_auths();
-
// Verify initial state - admin is allowed, others are not
assert!(client.allowed(&admin));
assert!(!client.allowed(&user1));
@@ -136,11 +133,10 @@ fn allowlist_approve_override_works() {
let user1 = Address::generate(&e);
let user2 = Address::generate(&e);
let initial_supply = 1_000_000;
+ e.mock_all_auths();
let client = create_client(&e, &admin, &manager, &initial_supply);
let transfer_amount = 1000;
- e.mock_all_auths();
-
// Verify initial state - admin is allowed, others are not
assert!(client.allowed(&admin));
assert!(!client.allowed(&user1));
diff --git a/examples/fungible-allowlist/test_snapshots/test/allowlist_approve_override_works.1.json b/examples/fungible-allowlist/test_snapshots/test/allowlist_approve_override_works.1.json
deleted file mode 100644
index 7c84b743..00000000
--- a/examples/fungible-allowlist/test_snapshots/test/allowlist_approve_override_works.1.json
+++ /dev/null
@@ -1,668 +0,0 @@
-{
- "generators": {
- "address": 5,
- "nonce": 0
- },
- "auth": [
- [],
- [],
- [],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "function_name": "allow_user",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "function_name": "approve",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- },
- {
- "u32": 1000
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary",
- "val": {
- "map": [
- {
- "key": {
- "symbol": "amount"
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- },
- {
- "key": {
- "symbol": "live_until_ledger"
- },
- "val": {
- "u32": 1000
- }
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 1000
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "Allowed"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "Allowed"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "Allowed"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "Allowed"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000000
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "manager"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "manager"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "METADATA"
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "decimals"
- },
- "val": {
- "u32": 18
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "AllowList Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "ALT"
- }
- }
- ]
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000000
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/fungible-allowlist/test_snapshots/test/allowlist_transfer_from_override_works.1.json b/examples/fungible-allowlist/test_snapshots/test/allowlist_transfer_from_override_works.1.json
deleted file mode 100644
index cad2aa87..00000000
--- a/examples/fungible-allowlist/test_snapshots/test/allowlist_transfer_from_override_works.1.json
+++ /dev/null
@@ -1,780 +0,0 @@
-{
- "generators": {
- "address": 5,
- "nonce": 0
- },
- "auth": [
- [],
- [],
- [],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "function_name": "allow_user",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "function_name": "approve",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- },
- {
- "u32": 1000
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "function_name": "transfer_from",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1033654523790656264
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1033654523790656264
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary",
- "val": {
- "map": [
- {
- "key": {
- "symbol": "amount"
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 0
- }
- }
- },
- {
- "key": {
- "symbol": "live_until_ledger"
- },
- "val": {
- "u32": 1000
- }
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 1000
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "Allowed"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "Allowed"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "Allowed"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "Allowed"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- ]
- },
- "durability": "persistent",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 999000
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "manager"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "manager"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "METADATA"
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "decimals"
- },
- "val": {
- "u32": 18
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "AllowList Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "ALT"
- }
- }
- ]
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000000
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/fungible-allowlist/test_snapshots/test/cannot_transfer_after_disallow.1.json b/examples/fungible-allowlist/test_snapshots/test/cannot_transfer_after_disallow.1.json
deleted file mode 100644
index c506154a..00000000
--- a/examples/fungible-allowlist/test_snapshots/test/cannot_transfer_after_disallow.1.json
+++ /dev/null
@@ -1,628 +0,0 @@
-{
- "generators": {
- "address": 5,
- "nonce": 0
- },
- "auth": [
- [],
- [],
- [],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "function_name": "allow_user",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "function_name": "transfer",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "function_name": "disallow_user",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1033654523790656264
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1033654523790656264
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "Allowed"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "Allowed"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 999000
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "manager"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "manager"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "METADATA"
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "decimals"
- },
- "val": {
- "u32": 18
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "AllowList Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "ALT"
- }
- }
- ]
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000000
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/fungible-allowlist/test_snapshots/test/cannot_transfer_before_allow.1.json b/examples/fungible-allowlist/test_snapshots/test/cannot_transfer_before_allow.1.json
deleted file mode 100644
index e7637e1a..00000000
--- a/examples/fungible-allowlist/test_snapshots/test/cannot_transfer_before_allow.1.json
+++ /dev/null
@@ -1,406 +0,0 @@
-{
- "generators": {
- "address": 5,
- "nonce": 0
- },
- "auth": [
- [],
- [],
- [],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "Allowed"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "Allowed"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000000
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "manager"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "manager"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "METADATA"
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "decimals"
- },
- "val": {
- "u32": 18
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "AllowList Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "ALT"
- }
- }
- ]
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000000
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/fungible-allowlist/test_snapshots/test/test_unauthorized_allow.1.json b/examples/fungible-allowlist/test_snapshots/test/test_unauthorized_allow.1.json
deleted file mode 100644
index 15a90221..00000000
--- a/examples/fungible-allowlist/test_snapshots/test/test_unauthorized_allow.1.json
+++ /dev/null
@@ -1,505 +0,0 @@
-{
- "generators": {
- "address": 4,
- "nonce": 1
- },
- "auth": [
- [],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Allowed"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Allowed"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "bool": true
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Allowed"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Allowed"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "bool": true
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000000
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "manager"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "manager"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "METADATA"
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "decimals"
- },
- "val": {
- "u32": 18
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "AllowList Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "ALT"
- }
- }
- ]
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000000
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000004",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "allow"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ],
- "data": "void"
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/examples/fungible-allowlist/test_snapshots/test/transfer_to_allowed_account_works.1.json b/examples/fungible-allowlist/test_snapshots/test/transfer_to_allowed_account_works.1.json
deleted file mode 100644
index 46bac03a..00000000
--- a/examples/fungible-allowlist/test_snapshots/test/transfer_to_allowed_account_works.1.json
+++ /dev/null
@@ -1,614 +0,0 @@
-{
- "generators": {
- "address": 5,
- "nonce": 0
- },
- "auth": [
- [],
- [],
- [],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "function_name": "allow_user",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "function_name": "transfer",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "Allowed"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "Allowed"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "Allowed"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "Allowed"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 999000
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "manager"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "manager"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "METADATA"
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "decimals"
- },
- "val": {
- "u32": 18
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "AllowList Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "ALT"
- }
- }
- ]
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000000
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/fungible-blocklist/src/contract.rs b/examples/fungible-blocklist/src/contract.rs
index d2f56d38..2f23c7fd 100644
--- a/examples/fungible-blocklist/src/contract.rs
+++ b/examples/fungible-blocklist/src/contract.rs
@@ -5,68 +5,62 @@
//! controlled token transfers by an admin who can block or unblock specific
//! accounts.
-use soroban_sdk::{contract, contracterror, contractimpl, symbol_short, Address, Env, String};
-use stellar_access::access_control::{self as access_control, AccessControl};
-use stellar_macros::{default_impl, only_role};
-use stellar_tokens::fungible::{
- blocklist::{BlockList, FungibleBlockList},
- Base, FungibleToken,
-};
+use soroban_sdk::{contract, contractimpl, contracttrait, symbol_short, Address, Env, String};
+use stellar_access::AccessControl;
+use stellar_macros::only_role;
+use stellar_tokens::{FungibleBlockList, FungibleToken};
#[contract]
pub struct ExampleContract;
-#[contracterror]
-#[derive(Copy, Clone, Debug, Eq, PartialEq, PartialOrd, Ord)]
-#[repr(u32)]
-pub enum ExampleContractError {
- Unauthorized = 1,
-}
-
#[contractimpl]
impl ExampleContract {
pub fn __constructor(e: &Env, admin: Address, manager: Address, initial_supply: i128) {
- Base::set_metadata(
+ Self::set_metadata(
e,
18,
String::from_str(e, "BlockList Token"),
String::from_str(e, "BLT"),
);
- access_control::set_admin(e, &admin);
-
+ Self::init_admin(e, &admin);
// create a role "manager" and grant it to `manager`
-
- access_control::grant_role_no_auth(e, &admin, &manager, &symbol_short!("manager"));
-
+ Self::grant_role_no_auth(e, &admin, &manager, &symbol_short!("manager"));
// Mint initial supply to the admin
- Base::mint(e, &admin, initial_supply);
+ Self::internal_mint(e, &admin, initial_supply);
}
}
-#[default_impl]
-#[contractimpl]
+#[contracttrait]
impl FungibleToken for ExampleContract {
- type ContractType = BlockList;
-}
+ fn transfer(e: &Env, from: &Address, to: &Address, amount: i128) {
+ Self::assert_not_blocked(e, &[from, to]);
+ Self::Impl::transfer(e, from, to, amount);
+ }
-#[contractimpl]
-impl FungibleBlockList for ExampleContract {
- fn blocked(e: &Env, account: Address) -> bool {
- BlockList::blocked(e, &account)
+ fn transfer_from(e: &Env, spender: &Address, from: &Address, to: &Address, amount: i128) {
+ Self::assert_not_blocked(e, &[from, to]);
+ Self::Impl::transfer_from(e, spender, from, to, amount);
}
+ fn approve(e: &Env, owner: &Address, spender: &Address, amount: i128, live_until_ledger: u32) {
+ Self::assert_not_blocked(e, &[owner]);
+ Self::Impl::approve(e, owner, spender, amount, live_until_ledger);
+ }
+}
+
+#[contracttrait]
+impl AccessControl for ExampleContract {}
+
+#[contracttrait]
+impl FungibleBlockList for ExampleContract {
#[only_role(operator, "manager")]
- fn block_user(e: &Env, user: Address, operator: Address) {
- BlockList::block_user(e, &user)
+ fn block_user(e: &Env, user: &Address, operator: &Address) {
+ Self::Impl::block_user(e, user, operator)
}
#[only_role(operator, "manager")]
- fn unblock_user(e: &Env, user: Address, operator: Address) {
- BlockList::unblock_user(e, &user)
+ fn unblock_user(e: &Env, user: &Address, operator: &Address) {
+ Self::Impl::unblock_user(e, user, operator)
}
}
-
-#[default_impl]
-#[contractimpl]
-impl AccessControl for ExampleContract {}
diff --git a/examples/fungible-blocklist/src/test.rs b/examples/fungible-blocklist/src/test.rs
index 804df7f2..07e009fd 100644
--- a/examples/fungible-blocklist/src/test.rs
+++ b/examples/fungible-blocklist/src/test.rs
@@ -24,6 +24,7 @@ fn block_unblock_works() {
let user1 = Address::generate(&e);
let user2 = Address::generate(&e);
let initial_supply = 1_000_000;
+ e.mock_all_auths();
let client = create_client(&e, &admin, &manager, &initial_supply);
// Verify initial state - no users are blocked
@@ -32,7 +33,6 @@ fn block_unblock_works() {
// Admin can transfer to user1 initially
let transfer_amount = 1000;
- e.mock_all_auths();
// Block user1
client.block_user(&user1, &manager);
@@ -56,11 +56,10 @@ fn blocked_user_cannot_approve() {
let user1 = Address::generate(&e);
let user2 = Address::generate(&e);
let initial_supply = 1_000_000;
+ e.mock_all_auths();
let client = create_client(&e, &admin, &manager, &initial_supply);
let transfer_amount = 1000;
- e.mock_all_auths();
-
// Transfer some tokens to user1
client.transfer(&admin, &user1, &transfer_amount);
assert_eq!(client.balance(&user1), transfer_amount);
@@ -81,10 +80,10 @@ fn blocklist_approve_override_works() {
let user1 = Address::generate(&e);
let user2 = Address::generate(&e);
let initial_supply = 1_000_000;
+ e.mock_all_auths();
let client = create_client(&e, &admin, &manager, &initial_supply);
- let transfer_amount = 1000;
- e.mock_all_auths();
+ let transfer_amount = 1000;
// Verify initial state - no users are blocked
assert!(!client.blocked(&user1));
@@ -109,11 +108,10 @@ fn transfer_from_blocked_user() {
let user2 = Address::generate(&e);
let user3 = Address::generate(&e);
let initial_supply = 1_000_000;
+ e.mock_all_auths();
let client = create_client(&e, &admin, &manager, &initial_supply);
let transfer_amount = 1000;
- e.mock_all_auths();
-
// Transfer some tokens to user1
client.transfer(&admin, &user1, &transfer_amount);
assert_eq!(client.balance(&user1), transfer_amount);
@@ -140,11 +138,10 @@ fn transfer_from_to_blocked_user() {
let user2 = Address::generate(&e);
let user3 = Address::generate(&e);
let initial_supply = 1_000_000;
+ e.mock_all_auths();
let client = create_client(&e, &admin, &manager, &initial_supply);
let transfer_amount = 1000;
- e.mock_all_auths();
-
// Transfer some tokens to user1
client.transfer(&admin, &user1, &transfer_amount);
assert_eq!(client.balance(&user1), transfer_amount);
@@ -170,11 +167,10 @@ fn blocklist_transfer_from_override_works() {
let user2 = Address::generate(&e);
let user3 = Address::generate(&e);
let initial_supply = 1_000_000;
+ e.mock_all_auths();
let client = create_client(&e, &admin, &manager, &initial_supply);
let transfer_amount = 1000;
- e.mock_all_auths();
-
// Verify initial state - no users are blocked
assert!(!client.blocked(&user1));
assert!(!client.blocked(&user2));
diff --git a/examples/fungible-blocklist/test_snapshots/test/block_unblock_works.1.json b/examples/fungible-blocklist/test_snapshots/test/block_unblock_works.1.json
deleted file mode 100644
index c213f75e..00000000
--- a/examples/fungible-blocklist/test_snapshots/test/block_unblock_works.1.json
+++ /dev/null
@@ -1,583 +0,0 @@
-{
- "generators": {
- "address": 5,
- "nonce": 0
- },
- "auth": [
- [],
- [],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "function_name": "block_user",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "function_name": "unblock_user",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "function_name": "transfer",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1033654523790656264
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1033654523790656264
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 999000
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "manager"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "manager"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "METADATA"
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "decimals"
- },
- "val": {
- "u32": 18
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "BlockList Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "BLT"
- }
- }
- ]
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000000
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/fungible-blocklist/test_snapshots/test/blocked_spender_cannot_transfer_from.1.json b/examples/fungible-blocklist/test_snapshots/test/blocked_spender_cannot_transfer_from.1.json
deleted file mode 100644
index ea8ff00f..00000000
--- a/examples/fungible-blocklist/test_snapshots/test/blocked_spender_cannot_transfer_from.1.json
+++ /dev/null
@@ -1,822 +0,0 @@
-{
- "generators": {
- "address": 6,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "function_name": "transfer",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "function_name": "approve",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- },
- {
- "u32": 1000
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- [],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "function_name": "transfer_from",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1033654523790656264
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1033654523790656264
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary",
- "val": {
- "map": [
- {
- "key": {
- "symbol": "amount"
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 0
- }
- }
- },
- {
- "key": {
- "symbol": "live_until_ledger"
- },
- "val": {
- "u32": 1000
- }
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 1000
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 999000
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 0
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "Blocked"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "Blocked"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "bool": true
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "manager"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "manager"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "METADATA"
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "decimals"
- },
- "val": {
- "u32": 18
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "BlockList Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "BLT"
- }
- }
- ]
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000000
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000006",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "transfer"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- }
- ],
- "data": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/examples/fungible-blocklist/test_snapshots/test/blocked_user_cannot_approve.1.json b/examples/fungible-blocklist/test_snapshots/test/blocked_user_cannot_approve.1.json
deleted file mode 100644
index 5ec65538..00000000
--- a/examples/fungible-blocklist/test_snapshots/test/blocked_user_cannot_approve.1.json
+++ /dev/null
@@ -1,569 +0,0 @@
-{
- "generators": {
- "address": 5,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "function_name": "transfer",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "function_name": "block_user",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 999000
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "Blocked"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "Blocked"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "manager"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "manager"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "METADATA"
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "decimals"
- },
- "val": {
- "u32": 18
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "BlockList Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "BLT"
- }
- }
- ]
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000000
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/fungible-blocklist/test_snapshots/test/blocklist_approve_override_works.1.json b/examples/fungible-blocklist/test_snapshots/test/blocklist_approve_override_works.1.json
deleted file mode 100644
index 2b9b1f8a..00000000
--- a/examples/fungible-blocklist/test_snapshots/test/blocklist_approve_override_works.1.json
+++ /dev/null
@@ -1,635 +0,0 @@
-{
- "generators": {
- "address": 5,
- "nonce": 0
- },
- "auth": [
- [],
- [],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "function_name": "transfer",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "function_name": "approve",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- },
- {
- "u32": 1000
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary",
- "val": {
- "map": [
- {
- "key": {
- "symbol": "amount"
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- },
- {
- "key": {
- "symbol": "live_until_ledger"
- },
- "val": {
- "u32": 1000
- }
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 1000
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 999000
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "manager"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "manager"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "METADATA"
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "decimals"
- },
- "val": {
- "u32": 18
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "BlockList Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "BLT"
- }
- }
- ]
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000000
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/fungible-blocklist/test_snapshots/test/blocklist_transfer_from_override_works.1.json b/examples/fungible-blocklist/test_snapshots/test/blocklist_transfer_from_override_works.1.json
deleted file mode 100644
index 9e191bde..00000000
--- a/examples/fungible-blocklist/test_snapshots/test/blocklist_transfer_from_override_works.1.json
+++ /dev/null
@@ -1,750 +0,0 @@
-{
- "generators": {
- "address": 6,
- "nonce": 0
- },
- "auth": [
- [],
- [],
- [],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "function_name": "transfer",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "function_name": "approve",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- },
- {
- "u32": 1000
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "function_name": "transfer_from",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1033654523790656264
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1033654523790656264
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary",
- "val": {
- "map": [
- {
- "key": {
- "symbol": "amount"
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 0
- }
- }
- },
- {
- "key": {
- "symbol": "live_until_ledger"
- },
- "val": {
- "u32": 1000
- }
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 1000
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 999000
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 0
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "manager"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "manager"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "METADATA"
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "decimals"
- },
- "val": {
- "u32": 18
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "BlockList Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "BLT"
- }
- }
- ]
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000000
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/fungible-blocklist/test_snapshots/test/test_blocklist_functionality.1.json b/examples/fungible-blocklist/test_snapshots/test/test_blocklist_functionality.1.json
deleted file mode 100644
index 4414f07d..00000000
--- a/examples/fungible-blocklist/test_snapshots/test/test_blocklist_functionality.1.json
+++ /dev/null
@@ -1,447 +0,0 @@
-{
- "generators": {
- "address": 4,
- "nonce": 0
- },
- "auth": [
- [],
- [],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "function_name": "block_user",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "function_name": "unblock_user",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "function_name": "transfer",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1033654523790656264
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1033654523790656264
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 999000
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Blocked"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Blocked"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "bool": false
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "METADATA"
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "decimals"
- },
- "val": {
- "u32": 18
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "BlockList Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "BLT"
- }
- }
- ]
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000000
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/fungible-blocklist/test_snapshots/test/test_unauthorized_block.1.json b/examples/fungible-blocklist/test_snapshots/test/test_unauthorized_block.1.json
deleted file mode 100644
index 91d31926..00000000
--- a/examples/fungible-blocklist/test_snapshots/test/test_unauthorized_block.1.json
+++ /dev/null
@@ -1,218 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 1
- },
- "auth": [
- [],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000000
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "METADATA"
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "decimals"
- },
- "val": {
- "u32": 18
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "BlockList Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "BLT"
- }
- }
- ]
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000000
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/fungible-blocklist/test_snapshots/test/transfer_from_blocked_user.1.json b/examples/fungible-blocklist/test_snapshots/test/transfer_from_blocked_user.1.json
deleted file mode 100644
index 7848e0a9..00000000
--- a/examples/fungible-blocklist/test_snapshots/test/transfer_from_blocked_user.1.json
+++ /dev/null
@@ -1,733 +0,0 @@
-{
- "generators": {
- "address": 6,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "function_name": "transfer",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "function_name": "approve",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- },
- {
- "u32": 1000
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "function_name": "block_user",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1033654523790656264
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1033654523790656264
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary",
- "val": {
- "map": [
- {
- "key": {
- "symbol": "amount"
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- },
- {
- "key": {
- "symbol": "live_until_ledger"
- },
- "val": {
- "u32": 1000
- }
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 1000
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 999000
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "Blocked"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "Blocked"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "manager"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "manager"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "METADATA"
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "decimals"
- },
- "val": {
- "u32": 18
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "BlockList Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "BLT"
- }
- }
- ]
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000000
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/fungible-blocklist/test_snapshots/test/transfer_from_to_blocked_user.1.json b/examples/fungible-blocklist/test_snapshots/test/transfer_from_to_blocked_user.1.json
deleted file mode 100644
index d82680a5..00000000
--- a/examples/fungible-blocklist/test_snapshots/test/transfer_from_to_blocked_user.1.json
+++ /dev/null
@@ -1,733 +0,0 @@
-{
- "generators": {
- "address": 6,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "function_name": "transfer",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "function_name": "approve",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- },
- {
- "u32": 1000
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "function_name": "block_user",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1033654523790656264
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1033654523790656264
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary",
- "val": {
- "map": [
- {
- "key": {
- "symbol": "amount"
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- },
- {
- "key": {
- "symbol": "live_until_ledger"
- },
- "val": {
- "u32": 1000
- }
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 1000
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 999000
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "Blocked"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "Blocked"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- }
- ]
- },
- "durability": "persistent",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "manager"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "manager"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "METADATA"
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "decimals"
- },
- "val": {
- "u32": 18
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "BlockList Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "BLT"
- }
- }
- ]
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000000
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/fungible-blocklist/test_snapshots/test/unauthorized_block_attempt_fails.1.json b/examples/fungible-blocklist/test_snapshots/test/unauthorized_block_attempt_fails.1.json
deleted file mode 100644
index c533c0c5..00000000
--- a/examples/fungible-blocklist/test_snapshots/test/unauthorized_block_attempt_fails.1.json
+++ /dev/null
@@ -1,460 +0,0 @@
-{
- "generators": {
- "address": 4,
- "nonce": 1
- },
- "auth": [
- [],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000000
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Blocked"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Blocked"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "bool": true
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "manager"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "manager"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "METADATA"
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "decimals"
- },
- "val": {
- "u32": 18
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "BlockList Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "BLT"
- }
- }
- ]
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000000
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000004",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "block"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ],
- "data": "void"
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/examples/fungible-capped/src/contract.rs b/examples/fungible-capped/src/contract.rs
index 8f5946a6..08e87bbb 100644
--- a/examples/fungible-capped/src/contract.rs
+++ b/examples/fungible-capped/src/contract.rs
@@ -7,10 +7,10 @@
//! **IMPORTANT**: this example is for demonstration purposes, and authorization
//! is not taken into consideration
-use soroban_sdk::{contract, contractimpl, Address, Env, String};
-use stellar_tokens::fungible::{
- capped::{check_cap, set_cap},
- Base, FungibleToken,
+use soroban_sdk::{contract, contractimpl, contracttrait, Address, Env};
+use stellar_tokens::{
+ fungible::capped::{check_cap, set_cap},
+ FungibleToken,
};
#[contract]
@@ -24,47 +24,9 @@ impl ExampleContract {
pub fn mint(e: &Env, account: Address, amount: i128) {
check_cap(e, amount);
- Base::mint(e, &account, amount);
+ Self::internal_mint(e, &account, amount);
}
}
-#[contractimpl]
-impl FungibleToken for ExampleContract {
- type ContractType = Base;
-
- fn total_supply(e: &Env) -> i128 {
- Self::ContractType::total_supply(e)
- }
-
- fn balance(e: &Env, account: Address) -> i128 {
- Self::ContractType::balance(e, &account)
- }
-
- fn allowance(e: &Env, owner: Address, spender: Address) -> i128 {
- Self::ContractType::allowance(e, &owner, &spender)
- }
-
- fn transfer(e: &Env, from: Address, to: Address, amount: i128) {
- Self::ContractType::transfer(e, &from, &to, amount);
- }
-
- fn transfer_from(e: &Env, spender: Address, from: Address, to: Address, amount: i128) {
- Self::ContractType::transfer_from(e, &spender, &from, &to, amount);
- }
-
- fn approve(e: &Env, owner: Address, spender: Address, amount: i128, live_until_ledger: u32) {
- Self::ContractType::approve(e, &owner, &spender, amount, live_until_ledger);
- }
-
- fn decimals(e: &Env) -> u32 {
- Self::ContractType::decimals(e)
- }
-
- fn name(e: &Env) -> String {
- Self::ContractType::name(e)
- }
-
- fn symbol(e: &Env) -> String {
- Self::ContractType::symbol(e)
- }
-}
+#[contracttrait]
+impl FungibleToken for ExampleContract {}
diff --git a/examples/fungible-capped/test_snapshots/test/mint_exact_cap.1.json b/examples/fungible-capped/test_snapshots/test/mint_exact_cap.1.json
deleted file mode 100644
index 35bdb151..00000000
--- a/examples/fungible-capped/test_snapshots/test/mint_exact_cap.1.json
+++ /dev/null
@@ -1,153 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "CAP"
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/fungible-capped/test_snapshots/test/mint_exceeds_cap.1.json b/examples/fungible-capped/test_snapshots/test/mint_exceeds_cap.1.json
deleted file mode 100644
index 39bc49e7..00000000
--- a/examples/fungible-capped/test_snapshots/test/mint_exceeds_cap.1.json
+++ /dev/null
@@ -1,88 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "CAP"
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/fungible-capped/test_snapshots/test/mint_multiple_exceeds_cap.1.json b/examples/fungible-capped/test_snapshots/test/mint_multiple_exceeds_cap.1.json
deleted file mode 100644
index 6791de77..00000000
--- a/examples/fungible-capped/test_snapshots/test/mint_multiple_exceeds_cap.1.json
+++ /dev/null
@@ -1,154 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [],
- [],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 600
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "CAP"
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 600
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/fungible-capped/test_snapshots/test/mint_under_cap.1.json b/examples/fungible-capped/test_snapshots/test/mint_under_cap.1.json
deleted file mode 100644
index 82f58197..00000000
--- a/examples/fungible-capped/test_snapshots/test/mint_under_cap.1.json
+++ /dev/null
@@ -1,153 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 500
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "CAP"
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 500
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/fungible-capped/test_snapshots/test/query_cap_works.1.json b/examples/fungible-capped/test_snapshots/test/query_cap_works.1.json
deleted file mode 100644
index 2d0a0a65..00000000
--- a/examples/fungible-capped/test_snapshots/test/query_cap_works.1.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "generators": {
- "address": 1,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/fungible-merkle-airdrop/src/test.rs b/examples/fungible-merkle-airdrop/src/test.rs
index fe26d80b..b081a19b 100644
--- a/examples/fungible-merkle-airdrop/src/test.rs
+++ b/examples/fungible-merkle-airdrop/src/test.rs
@@ -1,32 +1,30 @@
#![cfg(test)]
use hex_literal::hex;
-use soroban_sdk::{contract, contractimpl, testutils::Address as _, vec, Address, BytesN, Env};
-use stellar_macros::default_impl;
-use stellar_tokens::fungible::{Base, FungibleToken};
+use soroban_sdk::{
+ contract, contractimpl, contracttrait, testutils::Address as _, vec, Address, BytesN, Env,
+};
+use stellar_tokens::FungibleToken;
use crate::contract::{AirdropContract, AirdropContractClient};
#[contract]
pub struct TokenContract;
+#[contracttrait]
+impl FungibleToken for TokenContract {}
+
#[contractimpl]
impl TokenContract {
pub fn __constructor(e: &Env, owner: Address, initial_supply: i128) {
- Base::mint(e, &owner, initial_supply);
+ Self::internal_mint(e, &owner, initial_supply);
}
pub fn mint(e: &Env, to: Address, amount: i128) {
- Base::mint(e, &to, amount);
+ Self::internal_mint(e, &to, amount);
}
}
-#[default_impl]
-#[contractimpl]
-impl FungibleToken for TokenContract {
- type ContractType = Base;
-}
-
fn create_token_contract<'a>(e: &Env, owner: &Address) -> TokenContractClient<'a> {
let address = e.register(TokenContract, (owner, 10_000i128));
TokenContractClient::new(e, &address)
diff --git a/examples/fungible-merkle-airdrop/test_snapshots/test/test_bad_claim.1.json b/examples/fungible-merkle-airdrop/test_snapshots/test/test_bad_claim.1.json
deleted file mode 100644
index 4ea30a4e..00000000
--- a/examples/fungible-merkle-airdrop/test_snapshots/test/test_bad_claim.1.json
+++ /dev/null
@@ -1,306 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "transfer",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 9000
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 10000
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Root"
- }
- ]
- },
- "val": {
- "bytes": "11932105f1a4d0092e87cead3a543da5afd8adcff63f9a8ceb6c5db3c8135722"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TokenAddress"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/fungible-merkle-airdrop/test_snapshots/test/test_claimed_not_reset.1.json b/examples/fungible-merkle-airdrop/test_snapshots/test/test_claimed_not_reset.1.json
deleted file mode 100644
index 97541b39..00000000
--- a/examples/fungible-merkle-airdrop/test_snapshots/test/test_claimed_not_reset.1.json
+++ /dev/null
@@ -1,494 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "transfer",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 9000
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 800
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAASCQKVVBSLREPEUGPOTQZ4BC2NDBY2MW7B2LGIGFUPIY4Z3XUZRVTX"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAASCQKVVBSLREPEUGPOTQZ4BC2NDBY2MW7B2LGIGFUPIY4Z3XUZRVTX"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CCAYN4HGXBYMAREFANQKKRNCIPLXYGXT7OVXDXG6APXBGKJPKARAOHAK"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CCAYN4HGXBYMAREFANQKKRNCIPLXYGXT7OVXDXG6APXBGKJPKARAOHAK"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 10000
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Claimed"
- },
- {
- "u32": 3
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Claimed"
- },
- {
- "u32": 3
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "bool": true
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Claimed"
- },
- {
- "u32": 4
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Claimed"
- },
- {
- "u32": 4
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "bool": true
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Root"
- }
- ]
- },
- "val": {
- "bytes": "9ecccb575ce934ab36a6db174e9f521137c942422b76332b047b49f5a1a58048"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TokenAddress"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/fungible-merkle-airdrop/test_snapshots/test/test_double_claim.1.json b/examples/fungible-merkle-airdrop/test_snapshots/test/test_double_claim.1.json
deleted file mode 100644
index 8aa13838..00000000
--- a/examples/fungible-merkle-airdrop/test_snapshots/test/test_double_claim.1.json
+++ /dev/null
@@ -1,400 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "transfer",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 9000
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 900
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAASCQKVVBSLREPEUGPOTQZ4BC2NDBY2MW7B2LGIGFUPIY4Z3XUZRVTX"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAASCQKVVBSLREPEUGPOTQZ4BC2NDBY2MW7B2LGIGFUPIY4Z3XUZRVTX"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 10000
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Claimed"
- },
- {
- "u32": 3
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Claimed"
- },
- {
- "u32": 3
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "bool": true
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Root"
- }
- ]
- },
- "val": {
- "bytes": "11932105f1a4d0092e87cead3a543da5afd8adcff63f9a8ceb6c5db3c8135722"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TokenAddress"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/fungible-merkle-airdrop/test_snapshots/test/test_valid_claim.1.json b/examples/fungible-merkle-airdrop/test_snapshots/test/test_valid_claim.1.json
deleted file mode 100644
index 994a3877..00000000
--- a/examples/fungible-merkle-airdrop/test_snapshots/test/test_valid_claim.1.json
+++ /dev/null
@@ -1,401 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "transfer",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 9000
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 900
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAASCQKVVBSLREPEUGPOTQZ4BC2NDBY2MW7B2LGIGFUPIY4Z3XUZRVTX"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAASCQKVVBSLREPEUGPOTQZ4BC2NDBY2MW7B2LGIGFUPIY4Z3XUZRVTX"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 10000
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Claimed"
- },
- {
- "u32": 3
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Claimed"
- },
- {
- "u32": 3
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "bool": true
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Root"
- }
- ]
- },
- "val": {
- "bytes": "11932105f1a4d0092e87cead3a543da5afd8adcff63f9a8ceb6c5db3c8135722"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TokenAddress"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/fungible-pausable/Cargo.toml b/examples/fungible-pausable/Cargo.toml
index ba8210d3..35496a88 100644
--- a/examples/fungible-pausable/Cargo.toml
+++ b/examples/fungible-pausable/Cargo.toml
@@ -15,6 +15,7 @@ soroban-sdk = { workspace = true }
stellar-contract-utils = { workspace = true }
stellar-macros = { workspace = true }
stellar-tokens = { workspace = true }
+stellar-access = { workspace = true }
[dev-dependencies]
soroban-sdk = { workspace = true, features = ["testutils"] }
diff --git a/examples/fungible-pausable/src/contract.rs b/examples/fungible-pausable/src/contract.rs
index 2f07ac80..1a07e95b 100644
--- a/examples/fungible-pausable/src/contract.rs
+++ b/examples/fungible-pausable/src/contract.rs
@@ -9,135 +9,69 @@
//! [`stellar_fungible::fungible::FungibleToken`] and
//! [`stellar_fungible::burnable::FungibleBurnable`].
-use soroban_sdk::{
- contract, contracterror, contractimpl, panic_with_error, symbol_short, Address, Env, String,
- Symbol,
-};
-use stellar_contract_utils::pausable::{self as pausable, Pausable};
-use stellar_macros::when_not_paused;
-use stellar_tokens::{
- fungible::{burnable::FungibleBurnable, Base, FungibleToken},
- impl_token_interface,
-};
-
-pub const OWNER: Symbol = symbol_short!("OWNER");
+use soroban_sdk::{contract, contractimpl, contracttrait, Address, Env, String};
+use stellar_access::Ownable;
+use stellar_contract_utils::Pausable;
+use stellar_macros::{only_owner, when_not_paused};
+use stellar_tokens::{impl_token_interface, FungibleBurnable, FungibleToken};
#[contract]
pub struct ExampleContract;
-#[contracterror]
-#[derive(Copy, Clone, Debug, Eq, PartialEq, PartialOrd, Ord)]
-#[repr(u32)]
-pub enum ExampleContractError {
- Unauthorized = 1,
-}
-
#[contractimpl]
impl ExampleContract {
pub fn __constructor(e: &Env, owner: Address, initial_supply: i128) {
- Base::set_metadata(e, 18, String::from_str(e, "My Token"), String::from_str(e, "TKN"));
- Base::mint(e, &owner, initial_supply);
- e.storage().instance().set(&OWNER, &owner);
+ Self::set_metadata(e, 18, String::from_str(e, "My Token"), String::from_str(e, "TKN"));
+ Self::set_owner(e, &owner);
+ Self::internal_mint(e, &owner, initial_supply);
}
#[when_not_paused]
pub fn mint(e: &Env, account: Address, amount: i128) {
- // When `ownable` module is available,
- // the following checks should be equivalent to:
- // `ownable::only_owner(&e);`
- let owner: Address = e.storage().instance().get(&OWNER).expect("owner should be set");
- owner.require_auth();
-
- Base::mint(e, &account, amount);
+ Self::enforce_owner_auth(e);
+ Self::internal_mint(e, &account, amount);
}
}
-#[contractimpl]
-impl Pausable for ExampleContract {
- fn paused(e: &Env) -> bool {
- pausable::paused(e)
- }
-
- fn pause(e: &Env, caller: Address) {
- // When `ownable` module is available,
- // the following checks should be equivalent to:
- // `ownable::only_owner(&e);`
- caller.require_auth();
- let owner: Address = e.storage().instance().get(&OWNER).expect("owner should be set");
- if owner != caller {
- panic_with_error!(e, ExampleContractError::Unauthorized);
- }
-
- pausable::pause(e);
- }
-
- fn unpause(e: &Env, caller: Address) {
- // When `ownable` module is available,
- // the following checks should be equivalent to:
- // `ownable::only_owner(&e);`
- caller.require_auth();
- let owner: Address = e.storage().instance().get(&OWNER).expect("owner should be set");
- if owner != caller {
- panic_with_error!(e, ExampleContractError::Unauthorized);
- }
-
- pausable::unpause(e);
- }
-}
+#[contracttrait]
+impl Ownable for ExampleContract {}
-#[contractimpl]
+#[contracttrait]
impl FungibleToken for ExampleContract {
- type ContractType = Base;
-
- fn total_supply(e: &Env) -> i128 {
- Self::ContractType::total_supply(e)
- }
-
- fn balance(e: &Env, account: Address) -> i128 {
- Self::ContractType::balance(e, &account)
- }
-
- fn allowance(e: &Env, owner: Address, spender: Address) -> i128 {
- Self::ContractType::allowance(e, &owner, &spender)
- }
-
#[when_not_paused]
- fn transfer(e: &Env, from: Address, to: Address, amount: i128) {
- Self::ContractType::transfer(e, &from, &to, amount);
+ fn transfer(e: &Env, from: &Address, to: &Address, amount: i128) {
+ Self::Impl::transfer(e, from, to, amount);
}
#[when_not_paused]
- fn transfer_from(e: &Env, spender: Address, from: Address, to: Address, amount: i128) {
- Self::ContractType::transfer_from(e, &spender, &from, &to, amount);
- }
-
- fn approve(e: &Env, owner: Address, spender: Address, amount: i128, live_until_ledger: u32) {
- Self::ContractType::approve(e, &owner, &spender, amount, live_until_ledger);
- }
-
- fn decimals(e: &Env) -> u32 {
- Self::ContractType::decimals(e)
+ fn transfer_from(e: &Env, spender: &Address, from: &Address, to: &Address, amount: i128) {
+ Self::Impl::transfer_from(e, spender, from, to, amount);
}
+}
- fn name(e: &Env) -> String {
- Self::ContractType::name(e)
+#[contracttrait]
+impl FungibleBurnable for ExampleContract {
+ #[when_not_paused]
+ fn burn(e: &Env, from: &Address, amount: i128) {
+ Self::Impl::burn(e, from, amount)
}
- fn symbol(e: &Env) -> String {
- Self::ContractType::symbol(e)
+ #[when_not_paused]
+ fn burn_from(e: &Env, spender: &Address, from: &Address, amount: i128) {
+ Self::Impl::burn_from(e, spender, from, amount)
}
}
-#[contractimpl]
-impl FungibleBurnable for ExampleContract {
- #[when_not_paused]
- fn burn(e: &Env, from: Address, amount: i128) {
- Self::ContractType::burn(e, &from, amount)
+#[contracttrait]
+impl Pausable for ExampleContract {
+ #[only_owner]
+ fn pause(e: &Env, caller: &Address) {
+ Self::Impl::pause(e, caller);
}
- #[when_not_paused]
- fn burn_from(e: &Env, spender: Address, from: Address, amount: i128) {
- Self::ContractType::burn_from(e, &spender, &from, amount)
+ #[only_owner]
+ fn unpause(e: &Env, caller: &Address) {
+ Self::Impl::unpause(e, caller);
}
}
diff --git a/examples/fungible-pausable/test_snapshots/test/burn_fails_when_paused.1.json b/examples/fungible-pausable/test_snapshots/test/burn_fails_when_paused.1.json
deleted file mode 100644
index f83191e0..00000000
--- a/examples/fungible-pausable/test_snapshots/test/burn_fails_when_paused.1.json
+++ /dev/null
@@ -1,245 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "pause",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "METADATA"
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "decimals"
- },
- "val": {
- "u32": 18
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- },
- {
- "key": {
- "symbol": "OWNER"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Paused"
- }
- ]
- },
- "val": {
- "bool": true
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/fungible-pausable/test_snapshots/test/burn_works.1.json b/examples/fungible-pausable/test_snapshots/test/burn_works.1.json
deleted file mode 100644
index 6aa0da55..00000000
--- a/examples/fungible-pausable/test_snapshots/test/burn_works.1.json
+++ /dev/null
@@ -1,240 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "burn",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "i128": {
- "hi": 0,
- "lo": 200
- }
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 800
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "METADATA"
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "decimals"
- },
- "val": {
- "u32": 18
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- },
- {
- "key": {
- "symbol": "OWNER"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 800
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/fungible-pausable/test_snapshots/test/initial_state.1.json b/examples/fungible-pausable/test_snapshots/test/initial_state.1.json
deleted file mode 100644
index 27de0b3b..00000000
--- a/examples/fungible-pausable/test_snapshots/test/initial_state.1.json
+++ /dev/null
@@ -1,186 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [],
- [],
- [],
- [],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "METADATA"
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "decimals"
- },
- "val": {
- "u32": 18
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- },
- {
- "key": {
- "symbol": "OWNER"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/fungible-pausable/test_snapshots/test/mint_fails_when_paused.1.json b/examples/fungible-pausable/test_snapshots/test/mint_fails_when_paused.1.json
deleted file mode 100644
index f83191e0..00000000
--- a/examples/fungible-pausable/test_snapshots/test/mint_fails_when_paused.1.json
+++ /dev/null
@@ -1,245 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "pause",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "METADATA"
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "decimals"
- },
- "val": {
- "u32": 18
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- },
- {
- "key": {
- "symbol": "OWNER"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Paused"
- }
- ]
- },
- "val": {
- "bool": true
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/fungible-pausable/test_snapshots/test/mint_works.1.json b/examples/fungible-pausable/test_snapshots/test/mint_works.1.json
deleted file mode 100644
index 33107f42..00000000
--- a/examples/fungible-pausable/test_snapshots/test/mint_works.1.json
+++ /dev/null
@@ -1,240 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "mint",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "i128": {
- "hi": 0,
- "lo": 500
- }
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1500
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "METADATA"
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "decimals"
- },
- "val": {
- "u32": 18
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- },
- {
- "key": {
- "symbol": "OWNER"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1500
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/fungible-pausable/test_snapshots/test/transfer_fails_when_paused.1.json b/examples/fungible-pausable/test_snapshots/test/transfer_fails_when_paused.1.json
deleted file mode 100644
index 9e7e058e..00000000
--- a/examples/fungible-pausable/test_snapshots/test/transfer_fails_when_paused.1.json
+++ /dev/null
@@ -1,245 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "function_name": "pause",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "METADATA"
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "decimals"
- },
- "val": {
- "u32": 18
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- },
- {
- "key": {
- "symbol": "OWNER"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Paused"
- }
- ]
- },
- "val": {
- "bool": true
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/fungible-pausable/test_snapshots/test/transfer_from_fails_when_paused.1.json b/examples/fungible-pausable/test_snapshots/test/transfer_from_fails_when_paused.1.json
deleted file mode 100644
index cf2d283a..00000000
--- a/examples/fungible-pausable/test_snapshots/test/transfer_from_fails_when_paused.1.json
+++ /dev/null
@@ -1,245 +0,0 @@
-{
- "generators": {
- "address": 4,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "function_name": "pause",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "METADATA"
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "decimals"
- },
- "val": {
- "u32": 18
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- },
- {
- "key": {
- "symbol": "OWNER"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Paused"
- }
- ]
- },
- "val": {
- "bool": true
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/fungible-pausable/test_snapshots/test/transfer_from_works.1.json b/examples/fungible-pausable/test_snapshots/test/transfer_from_works.1.json
deleted file mode 100644
index 0986c0d6..00000000
--- a/examples/fungible-pausable/test_snapshots/test/transfer_from_works.1.json
+++ /dev/null
@@ -1,457 +0,0 @@
-{
- "generators": {
- "address": 4,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "function_name": "approve",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "i128": {
- "hi": 0,
- "lo": 200
- }
- },
- {
- "u32": 100
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "function_name": "transfer_from",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "i128": {
- "hi": 0,
- "lo": 200
- }
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary",
- "val": {
- "map": [
- {
- "key": {
- "symbol": "amount"
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 0
- }
- }
- },
- {
- "key": {
- "symbol": "live_until_ledger"
- },
- "val": {
- "u32": 100
- }
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 100
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 800
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 200
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "METADATA"
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "decimals"
- },
- "val": {
- "u32": 18
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- },
- {
- "key": {
- "symbol": "OWNER"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/fungible-pausable/test_snapshots/test/transfer_works.1.json b/examples/fungible-pausable/test_snapshots/test/transfer_works.1.json
deleted file mode 100644
index f9a09160..00000000
--- a/examples/fungible-pausable/test_snapshots/test/transfer_works.1.json
+++ /dev/null
@@ -1,291 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "function_name": "transfer",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 900
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "METADATA"
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "decimals"
- },
- "val": {
- "u32": 18
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- },
- {
- "key": {
- "symbol": "OWNER"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/fungible-token-interface/Cargo.toml b/examples/fungible-token-interface/Cargo.toml
index e4855660..ed90f6c6 100644
--- a/examples/fungible-token-interface/Cargo.toml
+++ b/examples/fungible-token-interface/Cargo.toml
@@ -15,6 +15,7 @@ soroban-sdk = { workspace = true }
stellar-contract-utils = { workspace = true }
stellar-macros = { workspace = true }
stellar-tokens = { workspace = true }
+stellar-access = { workspace = true }
[dev-dependencies]
soroban-sdk = { workspace = true, features = ["testutils"] }
diff --git a/examples/fungible-token-interface/src/contract.rs b/examples/fungible-token-interface/src/contract.rs
index ac34253e..e3e91e0d 100644
--- a/examples/fungible-token-interface/src/contract.rs
+++ b/examples/fungible-token-interface/src/contract.rs
@@ -1,4 +1,9 @@
//! Fungible Pausable Example Contract.
+
+//! This contract showcases how to integrate various OpenZeppelin modules to
+//! build a fully SEP-41-compliant fungible token. It includes essential
+//! features such as an emergency stop mechanism and controlled token minting by
+//! the owner.
//!
//! This contract replicates the functionality of the contract in
//! "examples/fungible-pausable", offering the same features. The key difference
@@ -14,31 +19,24 @@
//! consistency and ease of inspection/debugging.
use soroban_sdk::{
- contract, contracterror, contractimpl, panic_with_error, symbol_short, token::TokenInterface,
- Address, Env, String, Symbol,
+ contract, contractimpl, contracttrait, token::TokenInterface, Address, Env, String,
};
-use stellar_contract_utils::pausable::{self as pausable, Pausable};
-use stellar_macros::when_not_paused;
-use stellar_tokens::fungible::Base;
+use stellar_access::Ownable;
+use stellar_contract_utils::Pausable;
+use stellar_macros::{only_owner, when_not_paused};
+use stellar_tokens::{FungibleBurnable, FungibleToken};
-pub const OWNER: Symbol = symbol_short!("OWNER");
+type Base = FungibleToken!();
#[contract]
pub struct ExampleContract;
-#[contracterror]
-#[derive(Copy, Clone, Debug, Eq, PartialEq, PartialOrd, Ord)]
-#[repr(u32)]
-pub enum ExampleContractError {
- Unauthorized = 1,
-}
-
#[contractimpl]
impl ExampleContract {
pub fn __constructor(e: &Env, owner: Address, initial_supply: i128) {
+ Self::set_owner(e, &owner);
Base::set_metadata(e, 18, String::from_str(e, "My Token"), String::from_str(e, "TKN"));
- Base::mint(e, &owner, initial_supply);
- e.storage().instance().set(&OWNER, &owner);
+ Base::internal_mint(e, &owner, initial_supply);
}
/// `TokenInterface` doesn't require implementing `total_supply()` because
@@ -48,47 +46,25 @@ impl ExampleContract {
}
#[when_not_paused]
+ #[only_owner]
pub fn mint(e: &Env, account: Address, amount: i128) {
- // When `ownable` module is available,
- // the following checks should be equivalent to:
- // `ownable::only_owner(&e);`
- let owner: Address = e.storage().instance().get(&OWNER).expect("owner should be set");
- owner.require_auth();
-
- Base::mint(e, &account, amount);
+ Base::internal_mint(e, &account, amount);
}
}
-#[contractimpl]
-impl Pausable for ExampleContract {
- fn paused(e: &Env) -> bool {
- pausable::paused(e)
- }
+#[contracttrait]
+impl Ownable for ExampleContract {}
- fn pause(e: &Env, caller: Address) {
- // When `ownable` module is available,
- // the following checks should be equivalent to:
- // `ownable::only_owner(&e);`
- caller.require_auth();
- let owner: Address = e.storage().instance().get(&OWNER).expect("owner should be set");
- if owner != caller {
- panic_with_error!(e, ExampleContractError::Unauthorized);
- }
-
- pausable::pause(e);
+#[contracttrait]
+impl Pausable for ExampleContract {
+ #[only_owner]
+ fn pause(e: &Env, caller: &Address) {
+ Self::Impl::pause(e, caller);
}
- fn unpause(e: &Env, caller: Address) {
- // When `ownable` module is available,
- // the following checks should be equivalent to:
- // `ownable::only_owner(&e);`
- caller.require_auth();
- let owner: Address = e.storage().instance().get(&OWNER).expect("owner should be set");
- if owner != caller {
- panic_with_error!(e, ExampleContractError::Unauthorized);
- }
-
- pausable::unpause(e);
+ #[only_owner]
+ fn unpause(e: &Env, caller: &Address) {
+ Self::Impl::unpause(e, caller);
}
}
diff --git a/examples/fungible-token-interface/test_snapshots/test/burn_fails_when_paused.1.json b/examples/fungible-token-interface/test_snapshots/test/burn_fails_when_paused.1.json
deleted file mode 100644
index f83191e0..00000000
--- a/examples/fungible-token-interface/test_snapshots/test/burn_fails_when_paused.1.json
+++ /dev/null
@@ -1,245 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "pause",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "METADATA"
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "decimals"
- },
- "val": {
- "u32": 18
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- },
- {
- "key": {
- "symbol": "OWNER"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Paused"
- }
- ]
- },
- "val": {
- "bool": true
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/fungible-token-interface/test_snapshots/test/burn_works.1.json b/examples/fungible-token-interface/test_snapshots/test/burn_works.1.json
deleted file mode 100644
index 6aa0da55..00000000
--- a/examples/fungible-token-interface/test_snapshots/test/burn_works.1.json
+++ /dev/null
@@ -1,240 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "burn",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "i128": {
- "hi": 0,
- "lo": 200
- }
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 800
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "METADATA"
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "decimals"
- },
- "val": {
- "u32": 18
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- },
- {
- "key": {
- "symbol": "OWNER"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 800
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/fungible-token-interface/test_snapshots/test/initial_state.1.json b/examples/fungible-token-interface/test_snapshots/test/initial_state.1.json
deleted file mode 100644
index 27de0b3b..00000000
--- a/examples/fungible-token-interface/test_snapshots/test/initial_state.1.json
+++ /dev/null
@@ -1,186 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [],
- [],
- [],
- [],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "METADATA"
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "decimals"
- },
- "val": {
- "u32": 18
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- },
- {
- "key": {
- "symbol": "OWNER"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/fungible-token-interface/test_snapshots/test/mint_fails_when_paused.1.json b/examples/fungible-token-interface/test_snapshots/test/mint_fails_when_paused.1.json
deleted file mode 100644
index f83191e0..00000000
--- a/examples/fungible-token-interface/test_snapshots/test/mint_fails_when_paused.1.json
+++ /dev/null
@@ -1,245 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "pause",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "METADATA"
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "decimals"
- },
- "val": {
- "u32": 18
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- },
- {
- "key": {
- "symbol": "OWNER"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Paused"
- }
- ]
- },
- "val": {
- "bool": true
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/fungible-token-interface/test_snapshots/test/mint_works.1.json b/examples/fungible-token-interface/test_snapshots/test/mint_works.1.json
deleted file mode 100644
index 33107f42..00000000
--- a/examples/fungible-token-interface/test_snapshots/test/mint_works.1.json
+++ /dev/null
@@ -1,240 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "mint",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "i128": {
- "hi": 0,
- "lo": 500
- }
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1500
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "METADATA"
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "decimals"
- },
- "val": {
- "u32": 18
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- },
- {
- "key": {
- "symbol": "OWNER"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1500
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/fungible-token-interface/test_snapshots/test/transfer_fails_when_paused.1.json b/examples/fungible-token-interface/test_snapshots/test/transfer_fails_when_paused.1.json
deleted file mode 100644
index 9e7e058e..00000000
--- a/examples/fungible-token-interface/test_snapshots/test/transfer_fails_when_paused.1.json
+++ /dev/null
@@ -1,245 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "function_name": "pause",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "METADATA"
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "decimals"
- },
- "val": {
- "u32": 18
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- },
- {
- "key": {
- "symbol": "OWNER"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Paused"
- }
- ]
- },
- "val": {
- "bool": true
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/fungible-token-interface/test_snapshots/test/transfer_from_fails_when_paused.1.json b/examples/fungible-token-interface/test_snapshots/test/transfer_from_fails_when_paused.1.json
deleted file mode 100644
index cf2d283a..00000000
--- a/examples/fungible-token-interface/test_snapshots/test/transfer_from_fails_when_paused.1.json
+++ /dev/null
@@ -1,245 +0,0 @@
-{
- "generators": {
- "address": 4,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "function_name": "pause",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "METADATA"
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "decimals"
- },
- "val": {
- "u32": 18
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- },
- {
- "key": {
- "symbol": "OWNER"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Paused"
- }
- ]
- },
- "val": {
- "bool": true
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/fungible-token-interface/test_snapshots/test/transfer_from_works.1.json b/examples/fungible-token-interface/test_snapshots/test/transfer_from_works.1.json
deleted file mode 100644
index 0986c0d6..00000000
--- a/examples/fungible-token-interface/test_snapshots/test/transfer_from_works.1.json
+++ /dev/null
@@ -1,457 +0,0 @@
-{
- "generators": {
- "address": 4,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "function_name": "approve",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "i128": {
- "hi": 0,
- "lo": 200
- }
- },
- {
- "u32": 100
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "function_name": "transfer_from",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "i128": {
- "hi": 0,
- "lo": 200
- }
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary",
- "val": {
- "map": [
- {
- "key": {
- "symbol": "amount"
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 0
- }
- }
- },
- {
- "key": {
- "symbol": "live_until_ledger"
- },
- "val": {
- "u32": 100
- }
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 100
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 800
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 200
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "METADATA"
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "decimals"
- },
- "val": {
- "u32": 18
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- },
- {
- "key": {
- "symbol": "OWNER"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/fungible-token-interface/test_snapshots/test/transfer_works.1.json b/examples/fungible-token-interface/test_snapshots/test/transfer_works.1.json
deleted file mode 100644
index f9a09160..00000000
--- a/examples/fungible-token-interface/test_snapshots/test/transfer_works.1.json
+++ /dev/null
@@ -1,291 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "function_name": "transfer",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 900
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "METADATA"
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "decimals"
- },
- "val": {
- "u32": 18
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- },
- {
- "key": {
- "symbol": "OWNER"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/merkle-voting/test_snapshots/test/test_merkle_voting.1.json b/examples/merkle-voting/test_snapshots/test/test_merkle_voting.1.json
deleted file mode 100644
index b661ef5c..00000000
--- a/examples/merkle-voting/test_snapshots/test/test_merkle_voting.1.json
+++ /dev/null
@@ -1,213 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [],
- [],
- [],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Claimed"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Claimed"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "bool": true
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Claimed"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Claimed"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "bool": true
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Root"
- }
- ]
- },
- "val": {
- "bytes": "452f2f8b2eb60fcf7ecb25e4436f639bf0b248e72a4fbfcb15674d231b109a1a"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalVotesAgainst"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalVotesPro"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/nft-access-control/src/contract.rs b/examples/nft-access-control/src/contract.rs
index 1b33b406..ed408607 100644
--- a/examples/nft-access-control/src/contract.rs
+++ b/examples/nft-access-control/src/contract.rs
@@ -2,10 +2,10 @@
//!
//! Demonstrates how can Access Control be utilized.
-use soroban_sdk::{contract, contractimpl, vec, Address, Env, String, Vec};
-use stellar_access::access_control::{set_admin, AccessControl};
-use stellar_macros::{default_impl, has_any_role, has_role, only_admin, only_any_role, only_role};
-use stellar_tokens::non_fungible::{burnable::NonFungibleBurnable, Base, NonFungibleToken};
+use soroban_sdk::{contract, contractimpl, contracttrait, vec, Address, Env, String, Vec};
+use stellar_access::AccessControl;
+use stellar_macros::{has_any_role, has_role, only_admin, only_any_role, only_role};
+use stellar_tokens::{NonFungibleBurnable, NonFungibleToken};
#[contract]
pub struct ExampleContract;
@@ -13,8 +13,8 @@ pub struct ExampleContract;
#[contractimpl]
impl ExampleContract {
pub fn __constructor(e: &Env, admin: Address) {
- set_admin(e, &admin);
- Base::set_metadata(
+ Self::init_admin(e, &admin);
+ Self::set_metadata(
e,
String::from_str(e, "www.mytoken.com"),
String::from_str(e, "My Token"),
@@ -28,10 +28,10 @@ impl ExampleContract {
}
// we want `require_auth()` provided by the macro, since there is no
- // `require_auth()` in `Base::mint`.
+ // `require_auth()` in `Self::mint`.
#[only_role(caller, "minter")]
pub fn mint(e: &Env, caller: Address, to: Address, token_id: u32) {
- Base::mint(e, &to, token_id)
+ Self::internal_mint(e, &to, token_id)
}
// allows either minter or burner role, does not enforce `require_auth` in the
@@ -49,29 +49,25 @@ impl ExampleContract {
}
}
-#[default_impl]
-#[contractimpl]
-impl NonFungibleToken for ExampleContract {
- type ContractType = Base;
-}
+#[contracttrait]
+impl NonFungibleToken for ExampleContract {}
+
+#[contracttrait]
+impl AccessControl for ExampleContract {}
// for this contract, the `burn*` functions are only meant to be called by
// specific people with the `burner` role
-#[contractimpl]
+#[contracttrait]
impl NonFungibleBurnable for ExampleContract {
// we DON'T want `require_auth()` provided by the macro, since there is already
// `require_auth()` in `Base::burn`
#[has_role(from, "burner")]
- fn burn(e: &Env, from: Address, token_id: u32) {
- Base::burn(e, &from, token_id);
+ fn burn(e: &Env, from: &Address, token_id: u32) {
+ Self::Impl::burn(e, from, token_id);
}
#[has_role(spender, "burner")]
- fn burn_from(e: &Env, spender: Address, from: Address, token_id: u32) {
- Base::burn_from(e, &spender, &from, token_id);
+ fn burn_from(e: &Env, spender: &Address, from: &Address, token_id: u32) {
+ Self::Impl::burn_from(e, spender, from, token_id);
}
}
-
-#[default_impl]
-#[contractimpl]
-impl AccessControl for ExampleContract {}
diff --git a/examples/nft-access-control/src/test.rs b/examples/nft-access-control/src/test.rs
index 1d580839..28364f3d 100644
--- a/examples/nft-access-control/src/test.rs
+++ b/examples/nft-access-control/src/test.rs
@@ -485,7 +485,7 @@ fn burners_can_call_multi_role_action() {
}
#[test]
-#[should_panic(expected = "Account does not have any of the required roles")]
+#[should_panic(expected = "Error(Contract, #1217)")]
fn outsiders_cannot_call_multi_role_action() {
let e = Env::default();
let admin = Address::generate(&e);
@@ -530,7 +530,7 @@ fn burners_can_call_multi_role_auth_action() {
}
#[test]
-#[should_panic(expected = "Account does not have any of the required roles")]
+#[should_panic(expected = "Error(Contract, #1217)")]
fn outsiders_cannot_call_multi_role_auth_action() {
let e = Env::default();
let admin = Address::generate(&e);
diff --git a/examples/nft-access-control/test_snapshots/test/admin_can_call_admin_restricted_function.1.json b/examples/nft-access-control/test_snapshots/test/admin_can_call_admin_restricted_function.1.json
deleted file mode 100644
index 4818f871..00000000
--- a/examples/nft-access-control/test_snapshots/test/admin_can_call_admin_restricted_function.1.json
+++ /dev/null
@@ -1,206 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 1
- },
- "auth": [
- [],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "admin_restricted_function",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Metadata"
- }
- ]
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "base_uri"
- },
- "val": {
- "string": "www.mytoken.com"
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/nft-access-control/test_snapshots/test/admin_transfer_cancelled.1.json b/examples/nft-access-control/test_snapshots/test/admin_transfer_cancelled.1.json
deleted file mode 100644
index e1f5034f..00000000
--- a/examples/nft-access-control/test_snapshots/test/admin_transfer_cancelled.1.json
+++ /dev/null
@@ -1,242 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "transfer_admin_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "u32": 1000
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "transfer_admin_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "u32": 0
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Metadata"
- }
- ]
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "base_uri"
- },
- "val": {
- "string": "www.mytoken.com"
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/nft-access-control/test_snapshots/test/admin_transfer_works.1.json b/examples/nft-access-control/test_snapshots/test/admin_transfer_works.1.json
deleted file mode 100644
index 67ee0a9a..00000000
--- a/examples/nft-access-control/test_snapshots/test/admin_transfer_works.1.json
+++ /dev/null
@@ -1,555 +0,0 @@
-{
- "generators": {
- "address": 4,
- "nonce": 3
- },
- "auth": [
- [],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "transfer_admin_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "u32": 1000
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "accept_admin_transfer",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "symbol": "minter"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Metadata"
- }
- ]
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "base_uri"
- },
- "val": {
- "string": "www.mytoken.com"
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 2
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 2
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 3
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 3
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000002",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "role_granted"
- },
- {
- "symbol": "minter"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- ],
- "data": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/examples/nft-access-control/test_snapshots/test/burner_admin_can_revoke_role.1.json b/examples/nft-access-control/test_snapshots/test/burner_admin_can_revoke_role.1.json
deleted file mode 100644
index 9a157084..00000000
--- a/examples/nft-access-control/test_snapshots/test/burner_admin_can_revoke_role.1.json
+++ /dev/null
@@ -1,1562 +0,0 @@
-{
- "generators": {
- "address": 9,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "set_role_admin",
- "args": [
- {
- "symbol": "minter"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "set_role_admin",
- "args": [
- {
- "symbol": "burner"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "symbol": "minter"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- },
- {
- "symbol": "minter"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- },
- {
- "symbol": "burner"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- },
- {
- "symbol": "burner"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "revoke_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- },
- {
- "symbol": "burner"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1033654523790656264
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1033654523790656264
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4837995959683129791
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4837995959683129791
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 2
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "symbol": "burner_admin"
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "symbol": "minter_admin"
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Metadata"
- }
- ]
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "base_uri"
- },
- "val": {
- "string": "www.mytoken.com"
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 2032731177588607455
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 2032731177588607455
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4270020994084947596
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4270020994084947596
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5806905060045992000
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5806905060045992000
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 6277191135259896685
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 6277191135259896685
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 8370022561469687789
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 8370022561469687789
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/nft-access-control/test_snapshots/test/burners_can_burn.1.json b/examples/nft-access-control/test_snapshots/test/burners_can_burn.1.json
deleted file mode 100644
index 758f04c3..00000000
--- a/examples/nft-access-control/test_snapshots/test/burners_can_burn.1.json
+++ /dev/null
@@ -1,1815 +0,0 @@
-{
- "generators": {
- "address": 9,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "set_role_admin",
- "args": [
- {
- "symbol": "minter"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "set_role_admin",
- "args": [
- {
- "symbol": "burner"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "symbol": "minter"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- },
- {
- "symbol": "minter"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- },
- {
- "symbol": "burner"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- },
- {
- "symbol": "burner"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "mint",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- },
- {
- "u32": 10
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "burn",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- },
- {
- "u32": 10
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1033654523790656264
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1033654523790656264
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4837995959683129791
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4837995959683129791
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 2
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 2
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "symbol": "burner_admin"
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "symbol": "minter_admin"
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Metadata"
- }
- ]
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "base_uri"
- },
- "val": {
- "string": "www.mytoken.com"
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 2032731177588607455
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 2032731177588607455
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4270020994084947596
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4270020994084947596
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 6277191135259896685
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 6277191135259896685
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 8370022561469687789
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 8370022561469687789
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5806905060045992000
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5806905060045992000
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1194852393571756375
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1194852393571756375
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000002",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "burn"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- }
- ],
- "data": {
- "u32": 10
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/examples/nft-access-control/test_snapshots/test/burners_can_burn_from.1.json b/examples/nft-access-control/test_snapshots/test/burners_can_burn_from.1.json
deleted file mode 100644
index dd5cc875..00000000
--- a/examples/nft-access-control/test_snapshots/test/burners_can_burn_from.1.json
+++ /dev/null
@@ -1,1879 +0,0 @@
-{
- "generators": {
- "address": 9,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "set_role_admin",
- "args": [
- {
- "symbol": "minter"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "set_role_admin",
- "args": [
- {
- "symbol": "burner"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "symbol": "minter"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- },
- {
- "symbol": "minter"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- },
- {
- "symbol": "burner"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- },
- {
- "symbol": "burner"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "mint",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYON"
- },
- {
- "u32": 20
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYON",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "approve",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYON"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- },
- {
- "u32": 20
- },
- {
- "u32": 1000
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "burn_from",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYON"
- },
- {
- "u32": 20
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1033654523790656264
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1033654523790656264
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4837995959683129791
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4837995959683129791
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYON"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYON"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 2
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 2
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "symbol": "burner_admin"
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "symbol": "minter_admin"
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Metadata"
- }
- ]
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "base_uri"
- },
- "val": {
- "string": "www.mytoken.com"
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 2032731177588607455
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 2032731177588607455
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4270020994084947596
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4270020994084947596
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 6277191135259896685
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 6277191135259896685
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 8370022561469687789
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 8370022561469687789
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5806905060045992000
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5806905060045992000
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5",
- "key": {
- "ledger_key_nonce": {
- "nonce": 115220454072064130
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5",
- "key": {
- "ledger_key_nonce": {
- "nonce": 115220454072064130
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYON",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1194852393571756375
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYON",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1194852393571756375
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000002",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "burn"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYON"
- }
- ],
- "data": {
- "u32": 20
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/examples/nft-access-control/test_snapshots/test/burners_can_call_multi_role_action.1.json b/examples/nft-access-control/test_snapshots/test/burners_can_call_multi_role_action.1.json
deleted file mode 100644
index 63b04a17..00000000
--- a/examples/nft-access-control/test_snapshots/test/burners_can_call_multi_role_action.1.json
+++ /dev/null
@@ -1,1737 +0,0 @@
-{
- "generators": {
- "address": 9,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "set_role_admin",
- "args": [
- {
- "symbol": "minter"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "set_role_admin",
- "args": [
- {
- "symbol": "burner"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "symbol": "minter"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- },
- {
- "symbol": "minter"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- },
- {
- "symbol": "burner"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- },
- {
- "symbol": "burner"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "multi_role_action",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "multi_role_action",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1033654523790656264
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1033654523790656264
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4837995959683129791
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4837995959683129791
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 2
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 2
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "symbol": "burner_admin"
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "symbol": "minter_admin"
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Metadata"
- }
- ]
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "base_uri"
- },
- "val": {
- "string": "www.mytoken.com"
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 2032731177588607455
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 2032731177588607455
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4270020994084947596
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4270020994084947596
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 6277191135259896685
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 6277191135259896685
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 8370022561469687789
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 8370022561469687789
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5806905060045992000
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5806905060045992000
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1194852393571756375
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1194852393571756375
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/nft-access-control/test_snapshots/test/burners_can_call_multi_role_auth_action.1.json b/examples/nft-access-control/test_snapshots/test/burners_can_call_multi_role_auth_action.1.json
deleted file mode 100644
index 7d8c8476..00000000
--- a/examples/nft-access-control/test_snapshots/test/burners_can_call_multi_role_auth_action.1.json
+++ /dev/null
@@ -1,1685 +0,0 @@
-{
- "generators": {
- "address": 9,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "set_role_admin",
- "args": [
- {
- "symbol": "minter"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "set_role_admin",
- "args": [
- {
- "symbol": "burner"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "symbol": "minter"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- },
- {
- "symbol": "minter"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- },
- {
- "symbol": "burner"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- },
- {
- "symbol": "burner"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "multi_role_auth_action",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1033654523790656264
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1033654523790656264
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4837995959683129791
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4837995959683129791
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 2
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 2
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "symbol": "burner_admin"
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "symbol": "minter_admin"
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Metadata"
- }
- ]
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "base_uri"
- },
- "val": {
- "string": "www.mytoken.com"
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 2032731177588607455
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 2032731177588607455
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4270020994084947596
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4270020994084947596
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 6277191135259896685
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 6277191135259896685
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 8370022561469687789
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 8370022561469687789
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5806905060045992000
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5806905060045992000
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/nft-access-control/test_snapshots/test/cannot_accept_after_admin_transfer_cancelled.1.json b/examples/nft-access-control/test_snapshots/test/cannot_accept_after_admin_transfer_cancelled.1.json
deleted file mode 100644
index 0cd12522..00000000
--- a/examples/nft-access-control/test_snapshots/test/cannot_accept_after_admin_transfer_cancelled.1.json
+++ /dev/null
@@ -1,236 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "transfer_admin_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "u32": 1000
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "transfer_admin_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "u32": 0
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Metadata"
- }
- ]
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "base_uri"
- },
- "val": {
- "string": "www.mytoken.com"
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/nft-access-control/test_snapshots/test/cannot_cancel_with_invalid_pending_address.1.json b/examples/nft-access-control/test_snapshots/test/cannot_cancel_with_invalid_pending_address.1.json
deleted file mode 100644
index 0441d703..00000000
--- a/examples/nft-access-control/test_snapshots/test/cannot_cancel_with_invalid_pending_address.1.json
+++ /dev/null
@@ -1,223 +0,0 @@
-{
- "generators": {
- "address": 4,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "transfer_admin_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "u32": 1000
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "PendingAdmin"
- }
- ]
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "PendingAdmin"
- }
- ]
- },
- "durability": "temporary",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- },
- "ext": "v0"
- },
- 1000
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Metadata"
- }
- ]
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "base_uri"
- },
- "val": {
- "string": "www.mytoken.com"
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/nft-access-control/test_snapshots/test/expired_admin_transfer_panics.1.json b/examples/nft-access-control/test_snapshots/test/expired_admin_transfer_panics.1.json
deleted file mode 100644
index d4a4fb3a..00000000
--- a/examples/nft-access-control/test_snapshots/test/expired_admin_transfer_panics.1.json
+++ /dev/null
@@ -1,220 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "transfer_admin_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "u32": 2000
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 3000,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "PendingAdmin"
- }
- ]
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "PendingAdmin"
- }
- ]
- },
- "durability": "temporary",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- },
- "ext": "v0"
- },
- 2000
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Metadata"
- }
- ]
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "base_uri"
- },
- "val": {
- "string": "www.mytoken.com"
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/nft-access-control/test_snapshots/test/minter_admin_can_grant_role.1.json b/examples/nft-access-control/test_snapshots/test/minter_admin_can_grant_role.1.json
deleted file mode 100644
index a7a35281..00000000
--- a/examples/nft-access-control/test_snapshots/test/minter_admin_can_grant_role.1.json
+++ /dev/null
@@ -1,1993 +0,0 @@
-{
- "generators": {
- "address": 10,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "set_role_admin",
- "args": [
- {
- "symbol": "minter"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "set_role_admin",
- "args": [
- {
- "symbol": "burner"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "symbol": "minter"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- },
- {
- "symbol": "minter"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- },
- {
- "symbol": "burner"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- },
- {
- "symbol": "burner"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAX5"
- },
- {
- "symbol": "minter"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAX5",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "mint",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAX5"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAX5"
- },
- {
- "u32": 100
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1033654523790656264
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1033654523790656264
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4837995959683129791
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4837995959683129791
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAX5"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAX5"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAX5"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAX5"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 2
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 100
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 100
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAX5"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 2
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 2
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAX5"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 2
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 3
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "symbol": "burner_admin"
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "symbol": "minter_admin"
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Metadata"
- }
- ]
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "base_uri"
- },
- "val": {
- "string": "www.mytoken.com"
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 2032731177588607455
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 2032731177588607455
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4270020994084947596
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4270020994084947596
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5806905060045992000
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5806905060045992000
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 6277191135259896685
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 6277191135259896685
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 8370022561469687789
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 8370022561469687789
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAX5",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1194852393571756375
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAX5",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1194852393571756375
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000002",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAX5"
- }
- ],
- "data": {
- "u32": 100
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/examples/nft-access-control/test_snapshots/test/minters_can_call_multi_role_action.1.json b/examples/nft-access-control/test_snapshots/test/minters_can_call_multi_role_action.1.json
deleted file mode 100644
index 455874c0..00000000
--- a/examples/nft-access-control/test_snapshots/test/minters_can_call_multi_role_action.1.json
+++ /dev/null
@@ -1,1737 +0,0 @@
-{
- "generators": {
- "address": 9,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "set_role_admin",
- "args": [
- {
- "symbol": "minter"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "set_role_admin",
- "args": [
- {
- "symbol": "burner"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "symbol": "minter"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- },
- {
- "symbol": "minter"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- },
- {
- "symbol": "burner"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- },
- {
- "symbol": "burner"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "multi_role_action",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "multi_role_action",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1033654523790656264
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1033654523790656264
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4837995959683129791
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4837995959683129791
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 2
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 2
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "symbol": "burner_admin"
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "symbol": "minter_admin"
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Metadata"
- }
- ]
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "base_uri"
- },
- "val": {
- "string": "www.mytoken.com"
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 2032731177588607455
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 2032731177588607455
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4270020994084947596
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4270020994084947596
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 6277191135259896685
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 6277191135259896685
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 8370022561469687789
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 8370022561469687789
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5806905060045992000
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5806905060045992000
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1194852393571756375
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1194852393571756375
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/nft-access-control/test_snapshots/test/minters_can_call_multi_role_auth_action.1.json b/examples/nft-access-control/test_snapshots/test/minters_can_call_multi_role_auth_action.1.json
deleted file mode 100644
index ba65162a..00000000
--- a/examples/nft-access-control/test_snapshots/test/minters_can_call_multi_role_auth_action.1.json
+++ /dev/null
@@ -1,1685 +0,0 @@
-{
- "generators": {
- "address": 9,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "set_role_admin",
- "args": [
- {
- "symbol": "minter"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "set_role_admin",
- "args": [
- {
- "symbol": "burner"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "symbol": "minter"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- },
- {
- "symbol": "minter"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- },
- {
- "symbol": "burner"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- },
- {
- "symbol": "burner"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "multi_role_auth_action",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1033654523790656264
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1033654523790656264
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4837995959683129791
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4837995959683129791
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 2
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 2
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "symbol": "burner_admin"
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "symbol": "minter_admin"
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Metadata"
- }
- ]
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "base_uri"
- },
- "val": {
- "string": "www.mytoken.com"
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 2032731177588607455
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 2032731177588607455
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4270020994084947596
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4270020994084947596
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 6277191135259896685
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 6277191135259896685
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 8370022561469687789
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 8370022561469687789
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5806905060045992000
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5806905060045992000
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/nft-access-control/test_snapshots/test/minters_can_mint.1.json b/examples/nft-access-control/test_snapshots/test/minters_can_mint.1.json
deleted file mode 100644
index 978eae6b..00000000
--- a/examples/nft-access-control/test_snapshots/test/minters_can_mint.1.json
+++ /dev/null
@@ -1,1953 +0,0 @@
-{
- "generators": {
- "address": 9,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "set_role_admin",
- "args": [
- {
- "symbol": "minter"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "set_role_admin",
- "args": [
- {
- "symbol": "burner"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "symbol": "minter"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- },
- {
- "symbol": "minter"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- },
- {
- "symbol": "burner"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- },
- {
- "symbol": "burner"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "mint",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "u32": 1
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "mint",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- },
- {
- "u32": 2
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1033654523790656264
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1033654523790656264
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4837995959683129791
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4837995959683129791
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 2
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 2
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 2
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 2
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "symbol": "burner_admin"
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "symbol": "minter_admin"
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Metadata"
- }
- ]
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "base_uri"
- },
- "val": {
- "string": "www.mytoken.com"
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 2032731177588607455
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 2032731177588607455
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4270020994084947596
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4270020994084947596
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 6277191135259896685
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 6277191135259896685
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 8370022561469687789
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 8370022561469687789
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5806905060045992000
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5806905060045992000
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1194852393571756375
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1194852393571756375
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000002",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- }
- ],
- "data": {
- "u32": 2
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/examples/nft-access-control/test_snapshots/test/non_admin_cannot_call_admin_restricted_function.1.json b/examples/nft-access-control/test_snapshots/test/non_admin_cannot_call_admin_restricted_function.1.json
deleted file mode 100644
index b95e764a..00000000
--- a/examples/nft-access-control/test_snapshots/test/non_admin_cannot_call_admin_restricted_function.1.json
+++ /dev/null
@@ -1,159 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 1
- },
- "auth": [
- [],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Metadata"
- }
- ]
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "base_uri"
- },
- "val": {
- "string": "www.mytoken.com"
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/nft-access-control/test_snapshots/test/non_admin_cannot_cancel_transfer_admin_role.1.json b/examples/nft-access-control/test_snapshots/test/non_admin_cannot_cancel_transfer_admin_role.1.json
deleted file mode 100644
index 0d2f7a19..00000000
--- a/examples/nft-access-control/test_snapshots/test/non_admin_cannot_cancel_transfer_admin_role.1.json
+++ /dev/null
@@ -1,159 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 1
- },
- "auth": [
- [],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Metadata"
- }
- ]
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "base_uri"
- },
- "val": {
- "string": "www.mytoken.com"
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/nft-access-control/test_snapshots/test/non_admin_cannot_grant_role.1.json b/examples/nft-access-control/test_snapshots/test/non_admin_cannot_grant_role.1.json
deleted file mode 100644
index a7f3b74f..00000000
--- a/examples/nft-access-control/test_snapshots/test/non_admin_cannot_grant_role.1.json
+++ /dev/null
@@ -1,1634 +0,0 @@
-{
- "generators": {
- "address": 10,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "set_role_admin",
- "args": [
- {
- "symbol": "minter"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "set_role_admin",
- "args": [
- {
- "symbol": "burner"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "symbol": "minter"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- },
- {
- "symbol": "minter"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- },
- {
- "symbol": "burner"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- },
- {
- "symbol": "burner"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1033654523790656264
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1033654523790656264
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4837995959683129791
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4837995959683129791
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 2
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 2
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "symbol": "burner_admin"
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "symbol": "minter_admin"
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Metadata"
- }
- ]
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "base_uri"
- },
- "val": {
- "string": "www.mytoken.com"
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 2032731177588607455
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 2032731177588607455
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4270020994084947596
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4270020994084947596
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 6277191135259896685
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 6277191135259896685
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 8370022561469687789
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 8370022561469687789
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/nft-access-control/test_snapshots/test/non_admin_cannot_initiate_transfer.1.json b/examples/nft-access-control/test_snapshots/test/non_admin_cannot_initiate_transfer.1.json
deleted file mode 100644
index 0d2f7a19..00000000
--- a/examples/nft-access-control/test_snapshots/test/non_admin_cannot_initiate_transfer.1.json
+++ /dev/null
@@ -1,159 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 1
- },
- "auth": [
- [],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Metadata"
- }
- ]
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "base_uri"
- },
- "val": {
- "string": "www.mytoken.com"
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/nft-access-control/test_snapshots/test/non_admin_cannot_revoke_role.1.json b/examples/nft-access-control/test_snapshots/test/non_admin_cannot_revoke_role.1.json
deleted file mode 100644
index 93309a36..00000000
--- a/examples/nft-access-control/test_snapshots/test/non_admin_cannot_revoke_role.1.json
+++ /dev/null
@@ -1,1634 +0,0 @@
-{
- "generators": {
- "address": 9,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "set_role_admin",
- "args": [
- {
- "symbol": "minter"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "set_role_admin",
- "args": [
- {
- "symbol": "burner"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "symbol": "minter"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- },
- {
- "symbol": "minter"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- },
- {
- "symbol": "burner"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- },
- {
- "symbol": "burner"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1033654523790656264
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1033654523790656264
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4837995959683129791
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4837995959683129791
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 2
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 2
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "symbol": "burner_admin"
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "symbol": "minter_admin"
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Metadata"
- }
- ]
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "base_uri"
- },
- "val": {
- "string": "www.mytoken.com"
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 2032731177588607455
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 2032731177588607455
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4270020994084947596
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4270020994084947596
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 6277191135259896685
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 6277191135259896685
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 8370022561469687789
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 8370022561469687789
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/nft-access-control/test_snapshots/test/non_admin_cannot_set_role_admin.1.json b/examples/nft-access-control/test_snapshots/test/non_admin_cannot_set_role_admin.1.json
deleted file mode 100644
index 624aa17e..00000000
--- a/examples/nft-access-control/test_snapshots/test/non_admin_cannot_set_role_admin.1.json
+++ /dev/null
@@ -1,159 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 1
- },
- "auth": [
- [],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Metadata"
- }
- ]
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "base_uri"
- },
- "val": {
- "string": "www.mytoken.com"
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/nft-access-control/test_snapshots/test/non_burners_cannot_burn.1.json b/examples/nft-access-control/test_snapshots/test/non_burners_cannot_burn.1.json
deleted file mode 100644
index c9f4b5c7..00000000
--- a/examples/nft-access-control/test_snapshots/test/non_burners_cannot_burn.1.json
+++ /dev/null
@@ -1,1782 +0,0 @@
-{
- "generators": {
- "address": 9,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "set_role_admin",
- "args": [
- {
- "symbol": "minter"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "set_role_admin",
- "args": [
- {
- "symbol": "burner"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "symbol": "minter"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- },
- {
- "symbol": "minter"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- },
- {
- "symbol": "burner"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- },
- {
- "symbol": "burner"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "mint",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYON"
- },
- {
- "u32": 11
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1033654523790656264
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1033654523790656264
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4837995959683129791
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4837995959683129791
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYON"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYON"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 11
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 11
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYON"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 2
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 2
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "symbol": "burner_admin"
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "symbol": "minter_admin"
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Metadata"
- }
- ]
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "base_uri"
- },
- "val": {
- "string": "www.mytoken.com"
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 2032731177588607455
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 2032731177588607455
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4270020994084947596
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4270020994084947596
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 6277191135259896685
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 6277191135259896685
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 8370022561469687789
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 8370022561469687789
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5806905060045992000
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5806905060045992000
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/nft-access-control/test_snapshots/test/non_burners_cannot_burn_from.1.json b/examples/nft-access-control/test_snapshots/test/non_burners_cannot_burn_from.1.json
deleted file mode 100644
index ceb99e43..00000000
--- a/examples/nft-access-control/test_snapshots/test/non_burners_cannot_burn_from.1.json
+++ /dev/null
@@ -1,1782 +0,0 @@
-{
- "generators": {
- "address": 9,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "set_role_admin",
- "args": [
- {
- "symbol": "minter"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "set_role_admin",
- "args": [
- {
- "symbol": "burner"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "symbol": "minter"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- },
- {
- "symbol": "minter"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- },
- {
- "symbol": "burner"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- },
- {
- "symbol": "burner"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "mint",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- },
- {
- "u32": 21
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1033654523790656264
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1033654523790656264
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4837995959683129791
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4837995959683129791
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 21
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 21
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 2
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 2
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "symbol": "burner_admin"
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "symbol": "minter_admin"
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Metadata"
- }
- ]
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "base_uri"
- },
- "val": {
- "string": "www.mytoken.com"
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 2032731177588607455
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 2032731177588607455
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4270020994084947596
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4270020994084947596
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 6277191135259896685
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 6277191135259896685
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 8370022561469687789
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 8370022561469687789
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5806905060045992000
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5806905060045992000
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/nft-access-control/test_snapshots/test/non_minters_cannot_mint.1.json b/examples/nft-access-control/test_snapshots/test/non_minters_cannot_mint.1.json
deleted file mode 100644
index 93309a36..00000000
--- a/examples/nft-access-control/test_snapshots/test/non_minters_cannot_mint.1.json
+++ /dev/null
@@ -1,1634 +0,0 @@
-{
- "generators": {
- "address": 9,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "set_role_admin",
- "args": [
- {
- "symbol": "minter"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "set_role_admin",
- "args": [
- {
- "symbol": "burner"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "symbol": "minter"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- },
- {
- "symbol": "minter"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- },
- {
- "symbol": "burner"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- },
- {
- "symbol": "burner"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1033654523790656264
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1033654523790656264
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4837995959683129791
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4837995959683129791
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 2
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 2
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "symbol": "burner_admin"
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "symbol": "minter_admin"
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Metadata"
- }
- ]
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "base_uri"
- },
- "val": {
- "string": "www.mytoken.com"
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 2032731177588607455
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 2032731177588607455
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4270020994084947596
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4270020994084947596
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 6277191135259896685
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 6277191135259896685
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 8370022561469687789
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 8370022561469687789
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/nft-access-control/test_snapshots/test/non_recipient_cannot_accept_transfer.1.json b/examples/nft-access-control/test_snapshots/test/non_recipient_cannot_accept_transfer.1.json
deleted file mode 100644
index 29622ca3..00000000
--- a/examples/nft-access-control/test_snapshots/test/non_recipient_cannot_accept_transfer.1.json
+++ /dev/null
@@ -1,192 +0,0 @@
-{
- "generators": {
- "address": 4,
- "nonce": 2
- },
- "auth": [
- [],
- [],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Metadata"
- }
- ]
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "base_uri"
- },
- "val": {
- "string": "www.mytoken.com"
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/nft-access-control/test_snapshots/test/outsiders_cannot_call_multi_role_action.1.json b/examples/nft-access-control/test_snapshots/test/outsiders_cannot_call_multi_role_action.1.json
deleted file mode 100644
index 93309a36..00000000
--- a/examples/nft-access-control/test_snapshots/test/outsiders_cannot_call_multi_role_action.1.json
+++ /dev/null
@@ -1,1634 +0,0 @@
-{
- "generators": {
- "address": 9,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "set_role_admin",
- "args": [
- {
- "symbol": "minter"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "set_role_admin",
- "args": [
- {
- "symbol": "burner"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "symbol": "minter"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- },
- {
- "symbol": "minter"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- },
- {
- "symbol": "burner"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- },
- {
- "symbol": "burner"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1033654523790656264
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1033654523790656264
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4837995959683129791
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4837995959683129791
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 2
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 2
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "symbol": "burner_admin"
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "symbol": "minter_admin"
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Metadata"
- }
- ]
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "base_uri"
- },
- "val": {
- "string": "www.mytoken.com"
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 2032731177588607455
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 2032731177588607455
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4270020994084947596
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4270020994084947596
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 6277191135259896685
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 6277191135259896685
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 8370022561469687789
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 8370022561469687789
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/nft-access-control/test_snapshots/test/outsiders_cannot_call_multi_role_auth_action.1.json b/examples/nft-access-control/test_snapshots/test/outsiders_cannot_call_multi_role_auth_action.1.json
deleted file mode 100644
index 93309a36..00000000
--- a/examples/nft-access-control/test_snapshots/test/outsiders_cannot_call_multi_role_auth_action.1.json
+++ /dev/null
@@ -1,1634 +0,0 @@
-{
- "generators": {
- "address": 9,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "set_role_admin",
- "args": [
- {
- "symbol": "minter"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "set_role_admin",
- "args": [
- {
- "symbol": "burner"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "symbol": "minter"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- },
- {
- "symbol": "minter"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- },
- {
- "symbol": "burner"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- },
- {
- "symbol": "burner"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1033654523790656264
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1033654523790656264
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4837995959683129791
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4837995959683129791
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter_admin"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "burner"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 2
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "burner_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 2
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter_admin"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "burner"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "symbol": "burner_admin"
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "symbol": "minter_admin"
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Metadata"
- }
- ]
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "base_uri"
- },
- "val": {
- "string": "www.mytoken.com"
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 2032731177588607455
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 2032731177588607455
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4270020994084947596
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4270020994084947596
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 6277191135259896685
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 6277191135259896685
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 8370022561469687789
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 8370022561469687789
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/nft-consecutive/Cargo.toml b/examples/nft-consecutive/Cargo.toml
index b11bc286..71cded24 100644
--- a/examples/nft-consecutive/Cargo.toml
+++ b/examples/nft-consecutive/Cargo.toml
@@ -13,6 +13,7 @@ doctest = false
[dependencies]
soroban-sdk = { workspace = true }
stellar-tokens = { workspace = true }
+stellar-access = { workspace = true }
[dev-dependencies]
soroban-sdk = { workspace = true, features = ["testutils"] }
diff --git a/examples/nft-consecutive/src/contract.rs b/examples/nft-consecutive/src/contract.rs
index de12e21a..7631f36f 100644
--- a/examples/nft-consecutive/src/contract.rs
+++ b/examples/nft-consecutive/src/contract.rs
@@ -3,26 +3,20 @@
//! Demonstrates an example usage of the Consecutive extension, enabling
//! efficient batch minting in a single transaction.
-use soroban_sdk::{contract, contractimpl, contracttype, Address, Env, String};
-use stellar_tokens::non_fungible::{
- burnable::NonFungibleBurnable,
- consecutive::{Consecutive, NonFungibleConsecutive},
- Base, ContractOverrides, NonFungibleToken,
+use soroban_sdk::{contract, contractimpl, contracttrait, Address, Env, String};
+use stellar_access::Ownable;
+use stellar_tokens::{
+ non_fungible::consecutive::Consecutive, NonFungibleBurnable, NonFungibleToken,
};
-#[contracttype]
-pub enum DataKey {
- Owner,
-}
-
#[contract]
pub struct ExampleContract;
#[contractimpl]
impl ExampleContract {
pub fn __constructor(e: &Env, owner: Address) {
- e.storage().instance().set(&DataKey::Owner, &owner);
- Base::set_metadata(
+ Self::set_owner(e, &owner);
+ Self::set_metadata(
e,
String::from_str(e, "www.mytoken.com"),
String::from_str(e, "My Token"),
@@ -31,80 +25,16 @@ impl ExampleContract {
}
pub fn batch_mint(e: &Env, to: Address, amount: u32) -> u32 {
- let owner: Address =
- e.storage().instance().get(&DataKey::Owner).expect("owner should be set");
- owner.require_auth();
+ Self::only_owner(e);
Consecutive::batch_mint(e, &to, amount)
}
}
-// You don't have to provide the implementations for all the methods,
-// `#[default_impl]` macro does this for you. This example showcases
-// what is happening under the hood when you use `#[default_impl]` macro.
-#[contractimpl]
-impl NonFungibleToken for ExampleContract {
- type ContractType = Consecutive;
-
- fn balance(e: &Env, owner: Address) -> u32 {
- Self::ContractType::balance(e, &owner)
- }
-
- fn owner_of(e: &Env, token_id: u32) -> Address {
- Self::ContractType::owner_of(e, token_id)
- }
-
- fn transfer(e: &Env, from: Address, to: Address, token_id: u32) {
- Self::ContractType::transfer(e, &from, &to, token_id);
- }
-
- fn transfer_from(e: &Env, spender: Address, from: Address, to: Address, token_id: u32) {
- Self::ContractType::transfer_from(e, &spender, &from, &to, token_id);
- }
-
- fn approve(
- e: &Env,
- approver: Address,
- approved: Address,
- token_id: u32,
- live_until_ledger: u32,
- ) {
- Self::ContractType::approve(e, &approver, &approved, token_id, live_until_ledger);
- }
-
- fn approve_for_all(e: &Env, owner: Address, operator: Address, live_until_ledger: u32) {
- Self::ContractType::approve_for_all(e, &owner, &operator, live_until_ledger);
- }
+#[contracttrait(default = Consecutive)]
+impl NonFungibleToken for ExampleContract {}
- fn get_approved(e: &Env, token_id: u32) -> Option
{
- Self::ContractType::get_approved(e, token_id)
- }
+#[contracttrait(default = Consecutive)]
+impl NonFungibleBurnable for ExampleContract {}
- fn is_approved_for_all(e: &Env, owner: Address, operator: Address) -> bool {
- Self::ContractType::is_approved_for_all(e, &owner, &operator)
- }
-
- fn name(e: &Env) -> String {
- Self::ContractType::name(e)
- }
-
- fn symbol(e: &Env) -> String {
- Self::ContractType::symbol(e)
- }
-
- fn token_uri(e: &Env, token_id: u32) -> String {
- Self::ContractType::token_uri(e, token_id)
- }
-}
-
-impl NonFungibleConsecutive for ExampleContract {}
-
-#[contractimpl]
-impl NonFungibleBurnable for ExampleContract {
- fn burn(e: &Env, from: Address, token_id: u32) {
- Self::ContractType::burn(e, &from, token_id);
- }
-
- fn burn_from(e: &Env, spender: Address, from: Address, token_id: u32) {
- Self::ContractType::burn_from(e, &spender, &from, token_id);
- }
-}
+#[contracttrait]
+impl Ownable for ExampleContract {}
diff --git a/examples/nft-consecutive/test_snapshots/test/consecutive_batch_mint_works.1.json b/examples/nft-consecutive/test_snapshots/test/consecutive_batch_mint_works.1.json
deleted file mode 100644
index 75ba0f73..00000000
--- a/examples/nft-consecutive/test_snapshots/test/consecutive_batch_mint_works.1.json
+++ /dev/null
@@ -1,830 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "batch_mint",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "u32": 100
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "burn",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "u32": 0
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "batch_mint",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "u32": 100
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1033654523790656264
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1033654523790656264
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 199
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "BurnedToken"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "BurnedToken"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "bool": true
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 99
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 99
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 199
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 199
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "OwnershipBucket"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "OwnershipBucket"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "vec": [
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 268435456
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 16777216
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Metadata"
- }
- ]
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "base_uri"
- },
- "val": {
- "string": "www.mytoken.com"
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TokenIdCounter"
- }
- ]
- },
- "val": {
- "u32": 200
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/nft-consecutive/test_snapshots/test/consecutive_burn_works.1.json b/examples/nft-consecutive/test_snapshots/test/consecutive_burn_works.1.json
deleted file mode 100644
index 51ad879d..00000000
--- a/examples/nft-consecutive/test_snapshots/test/consecutive_burn_works.1.json
+++ /dev/null
@@ -1,729 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "batch_mint",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "u32": 100
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "burn",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "u32": 0
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 99
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "BurnedToken"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "BurnedToken"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "bool": true
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 99
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 99
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "OwnershipBucket"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "OwnershipBucket"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "vec": [
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 268435456
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Metadata"
- }
- ]
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "base_uri"
- },
- "val": {
- "string": "www.mytoken.com"
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TokenIdCounter"
- }
- ]
- },
- "val": {
- "u32": 100
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/nft-consecutive/test_snapshots/test/consecutive_transfer_override_works.1.json b/examples/nft-consecutive/test_snapshots/test/consecutive_transfer_override_works.1.json
deleted file mode 100644
index b54f9d0b..00000000
--- a/examples/nft-consecutive/test_snapshots/test/consecutive_transfer_override_works.1.json
+++ /dev/null
@@ -1,824 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "function_name": "batch_mint",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "u32": 100
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "function_name": "transfer",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "u32": 10
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 99
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 9
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 9
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 10
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 10
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 99
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 99
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "OwnershipBucket"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "OwnershipBucket"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "vec": [
- {
- "u32": 6291456
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 268435456
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Metadata"
- }
- ]
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "base_uri"
- },
- "val": {
- "string": "www.mytoken.com"
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TokenIdCounter"
- }
- ]
- },
- "val": {
- "u32": 100
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/nft-consecutive/test_snapshots/test/mint_exact_cap.1.json b/examples/nft-consecutive/test_snapshots/test/mint_exact_cap.1.json
deleted file mode 100644
index 35bdb151..00000000
--- a/examples/nft-consecutive/test_snapshots/test/mint_exact_cap.1.json
+++ /dev/null
@@ -1,153 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "CAP"
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/nft-consecutive/test_snapshots/test/mint_exceeds_cap.1.json b/examples/nft-consecutive/test_snapshots/test/mint_exceeds_cap.1.json
deleted file mode 100644
index 39bc49e7..00000000
--- a/examples/nft-consecutive/test_snapshots/test/mint_exceeds_cap.1.json
+++ /dev/null
@@ -1,88 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "CAP"
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/nft-consecutive/test_snapshots/test/mint_multiple_exceeds_cap.1.json b/examples/nft-consecutive/test_snapshots/test/mint_multiple_exceeds_cap.1.json
deleted file mode 100644
index 6791de77..00000000
--- a/examples/nft-consecutive/test_snapshots/test/mint_multiple_exceeds_cap.1.json
+++ /dev/null
@@ -1,154 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [],
- [],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 600
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "CAP"
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 600
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/nft-consecutive/test_snapshots/test/mint_under_cap.1.json b/examples/nft-consecutive/test_snapshots/test/mint_under_cap.1.json
deleted file mode 100644
index 82f58197..00000000
--- a/examples/nft-consecutive/test_snapshots/test/mint_under_cap.1.json
+++ /dev/null
@@ -1,153 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 500
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "CAP"
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 500
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/nft-consecutive/test_snapshots/test/query_cap_works.1.json b/examples/nft-consecutive/test_snapshots/test/query_cap_works.1.json
deleted file mode 100644
index 2d0a0a65..00000000
--- a/examples/nft-consecutive/test_snapshots/test/query_cap_works.1.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "generators": {
- "address": 1,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/nft-enumerable/Cargo.toml b/examples/nft-enumerable/Cargo.toml
index 8394aecc..df3d06b2 100644
--- a/examples/nft-enumerable/Cargo.toml
+++ b/examples/nft-enumerable/Cargo.toml
@@ -14,6 +14,7 @@ doctest = false
soroban-sdk = { workspace = true }
stellar-tokens = { workspace = true }
stellar-macros = { workspace = true }
+stellar-access = { workspace = true }
[dev-dependencies]
soroban-sdk = { workspace = true, features = ["testutils"] }
diff --git a/examples/nft-enumerable/src/contract.rs b/examples/nft-enumerable/src/contract.rs
index 3a2fd220..d75ee907 100644
--- a/examples/nft-enumerable/src/contract.rs
+++ b/examples/nft-enumerable/src/contract.rs
@@ -4,27 +4,20 @@
//! enumeration of all the token IDs in the contract as well as all the token
//! IDs owned by each account.
-use soroban_sdk::{contract, contractimpl, contracttype, Address, Env, String};
-use stellar_macros::default_impl;
-use stellar_tokens::non_fungible::{
- burnable::NonFungibleBurnable,
- enumerable::{Enumerable, NonFungibleEnumerable},
- Base, NonFungibleToken,
+use soroban_sdk::{contract, contractimpl, contracttrait, Address, Env, String};
+use stellar_tokens::{
+ non_fungible::enumerable::Enumerable, ownable::Ownable, NonFungibleBurnable,
+ NonFungibleEnumerable, NonFungibleToken,
};
-#[contracttype]
-pub enum DataKey {
- Owner,
-}
-
#[contract]
pub struct ExampleContract;
#[contractimpl]
impl ExampleContract {
pub fn __constructor(e: &Env, owner: Address) {
- e.storage().instance().set(&DataKey::Owner, &owner);
- Base::set_metadata(
+ Self::set_owner(e, &owner);
+ Self::set_metadata(
e,
String::from_str(e, "www.mytoken.com"),
String::from_str(e, "My Token"),
@@ -33,23 +26,19 @@ impl ExampleContract {
}
pub fn mint(e: &Env, to: Address) -> u32 {
- let owner: Address =
- e.storage().instance().get(&DataKey::Owner).expect("owner should be set");
- owner.require_auth();
+ Self::only_owner(e);
Enumerable::sequential_mint(e, &to)
}
}
-#[default_impl]
-#[contractimpl]
-impl NonFungibleToken for ExampleContract {
- type ContractType = Enumerable;
-}
+#[contracttrait(default = Enumerable)]
+impl NonFungibleToken for ExampleContract {}
-#[default_impl]
-#[contractimpl]
-impl NonFungibleEnumerable for ExampleContract {}
-
-#[default_impl]
-#[contractimpl]
+#[contracttrait(default = Enumerable)]
impl NonFungibleBurnable for ExampleContract {}
+
+#[contracttrait]
+impl Ownable for ExampleContract {}
+
+#[contracttrait]
+impl NonFungibleEnumerable for ExampleContract {}
diff --git a/examples/nft-enumerable/test_snapshots/test/enumerable_burn_works.1.json b/examples/nft-enumerable/test_snapshots/test/enumerable_burn_works.1.json
deleted file mode 100644
index d7215d0a..00000000
--- a/examples/nft-enumerable/test_snapshots/test/enumerable_burn_works.1.json
+++ /dev/null
@@ -1,615 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "mint",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "burn",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "u32": 0
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "mint",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1033654523790656264
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1033654523790656264
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokens"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokens"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokensIndex"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokensIndex"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokens"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokens"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokensIndex"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokensIndex"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Metadata"
- }
- ]
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "base_uri"
- },
- "val": {
- "string": "www.mytoken.com"
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TokenIdCounter"
- }
- ]
- },
- "val": {
- "u32": 2
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "u32": 1
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/nft-enumerable/test_snapshots/test/enumerable_transfer_override_works.1.json b/examples/nft-enumerable/test_snapshots/test/enumerable_transfer_override_works.1.json
deleted file mode 100644
index 2749b658..00000000
--- a/examples/nft-enumerable/test_snapshots/test/enumerable_transfer_override_works.1.json
+++ /dev/null
@@ -1,611 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "function_name": "mint",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "function_name": "transfer",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "u32": 0
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokens"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokens"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokensIndex"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokensIndex"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokens"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokens"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokensIndex"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokensIndex"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Metadata"
- }
- ]
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "base_uri"
- },
- "val": {
- "string": "www.mytoken.com"
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TokenIdCounter"
- }
- ]
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "u32": 1
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/nft-enumerable/test_snapshots/test/mint_exact_cap.1.json b/examples/nft-enumerable/test_snapshots/test/mint_exact_cap.1.json
deleted file mode 100644
index 35bdb151..00000000
--- a/examples/nft-enumerable/test_snapshots/test/mint_exact_cap.1.json
+++ /dev/null
@@ -1,153 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "CAP"
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/nft-enumerable/test_snapshots/test/mint_exceeds_cap.1.json b/examples/nft-enumerable/test_snapshots/test/mint_exceeds_cap.1.json
deleted file mode 100644
index 39bc49e7..00000000
--- a/examples/nft-enumerable/test_snapshots/test/mint_exceeds_cap.1.json
+++ /dev/null
@@ -1,88 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "CAP"
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/nft-enumerable/test_snapshots/test/mint_multiple_exceeds_cap.1.json b/examples/nft-enumerable/test_snapshots/test/mint_multiple_exceeds_cap.1.json
deleted file mode 100644
index 6791de77..00000000
--- a/examples/nft-enumerable/test_snapshots/test/mint_multiple_exceeds_cap.1.json
+++ /dev/null
@@ -1,154 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [],
- [],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 600
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "CAP"
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 600
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/nft-enumerable/test_snapshots/test/mint_under_cap.1.json b/examples/nft-enumerable/test_snapshots/test/mint_under_cap.1.json
deleted file mode 100644
index 82f58197..00000000
--- a/examples/nft-enumerable/test_snapshots/test/mint_under_cap.1.json
+++ /dev/null
@@ -1,153 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 500
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "CAP"
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 500
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/nft-enumerable/test_snapshots/test/query_cap_works.1.json b/examples/nft-enumerable/test_snapshots/test/query_cap_works.1.json
deleted file mode 100644
index 2d0a0a65..00000000
--- a/examples/nft-enumerable/test_snapshots/test/query_cap_works.1.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "generators": {
- "address": 1,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/nft-royalties/src/contract.rs b/examples/nft-royalties/src/contract.rs
index b0007edc..eab893c7 100644
--- a/examples/nft-royalties/src/contract.rs
+++ b/examples/nft-royalties/src/contract.rs
@@ -4,10 +4,10 @@
//! setting and querying royalty information for NFTs following the ERC2981
//! standard.
-use soroban_sdk::{contract, contractimpl, symbol_short, Address, Env, String};
-use stellar_access::access_control::{self as access_control, AccessControl};
-use stellar_macros::{default_impl, only_admin, only_role};
-use stellar_tokens::non_fungible::{royalties::NonFungibleRoyalties, Base, NonFungibleToken};
+use soroban_sdk::{contract, contractimpl, contracttrait, symbol_short, Address, Env, String};
+use stellar_access::AccessControl;
+use stellar_macros::{only_admin, only_role};
+use stellar_tokens::{NonFungibleRoyalties, NonFungibleToken};
#[contract]
pub struct ExampleContract;
@@ -15,78 +15,69 @@ pub struct ExampleContract;
#[contractimpl]
impl ExampleContract {
pub fn __constructor(e: &Env, admin: Address, manager: Address) {
- Base::set_metadata(
+ Self::set_metadata(
e,
String::from_str(e, "https://example.com/nft/"),
String::from_str(e, "Royalty NFT"),
String::from_str(e, "RNFT"),
);
- // Set default royalty for the entire collection (10%)
- Base::set_default_royalty(e, &admin, 1000);
-
- access_control::set_admin(e, &admin);
+ Self::init_admin(e, &admin);
// create a role "manager" and grant it to `manager`
- access_control::grant_role_no_auth(e, &admin, &manager, &symbol_short!("manager"));
+ Self::grant_role_no_auth(e, &admin, &manager, &symbol_short!("manager"));
+ Self::grant_role_no_auth(e, &admin, &admin, &symbol_short!("manager"));
+
+ // Set default royalty for the entire collection (10%)
+ Self::set_default_royalty(e, admin.clone(), 1000, admin);
}
#[only_admin]
pub fn mint(e: &Env, to: Address) -> u32 {
// Mint token with sequential ID
- Base::sequential_mint(e, &to)
+ Self::sequential_mint(e, &to)
}
- #[only_admin]
+ // Don't need a check here since it is done in set_token_royalty
pub fn mint_with_royalty(e: &Env, to: Address, receiver: Address, basis_points: u32) -> u32 {
// Mint token with sequential ID
- let token_id = Base::sequential_mint(e, &to);
-
+ let token_id = Self::sequential_mint(e, &to);
// Set token-specific royalty
- Base::set_token_royalty(e, token_id, &receiver, basis_points);
-
+ Self::set_token_royalty(e, token_id, receiver, basis_points, to);
token_id
}
-
- pub fn get_royalty_info(e: &Env, token_id: u32, sale_price: i128) -> (Address, i128) {
- Base::royalty_info(e, token_id, sale_price)
- }
}
-#[default_impl]
-#[contractimpl]
-impl NonFungibleToken for ExampleContract {
- type ContractType = Base;
-}
+#[contracttrait]
+impl AccessControl for ExampleContract {}
-#[contractimpl]
+#[contracttrait]
+impl NonFungibleToken for ExampleContract {}
+
+#[contracttrait]
impl NonFungibleRoyalties for ExampleContract {
#[only_role(operator, "manager")]
- fn set_default_royalty(e: &Env, receiver: Address, basis_points: u32, operator: Address) {
- Base::set_default_royalty(e, &receiver, basis_points);
+ fn set_default_royalty(e: &Env, receiver: &Address, basis_points: u32, operator: &Address) {
+ Self::Impl::set_default_royalty(e, receiver, basis_points, operator);
}
#[only_role(operator, "manager")]
fn set_token_royalty(
e: &Env,
token_id: u32,
- receiver: Address,
+ receiver: &Address,
basis_points: u32,
- operator: Address,
+ operator: &Address,
) {
- Base::set_token_royalty(e, token_id, &receiver, basis_points);
+ Self::Impl::set_token_royalty(e, token_id, receiver, basis_points, operator);
}
#[only_role(operator, "manager")]
- fn remove_token_royalty(e: &Env, token_id: u32, operator: Address) {
- Base::remove_token_royalty(e, token_id);
+ fn remove_token_royalty(e: &Env, token_id: u32, operator: &Address) {
+ Self::Impl::remove_token_royalty(e, token_id, operator);
}
fn royalty_info(e: &Env, token_id: u32, sale_price: i128) -> (Address, i128) {
- Base::royalty_info(e, token_id, sale_price)
+ Self::Impl::royalty_info(e, token_id, sale_price)
}
}
-
-#[default_impl]
-#[contractimpl]
-impl AccessControl for ExampleContract {}
diff --git a/examples/nft-royalties/src/test.rs b/examples/nft-royalties/src/test.rs
index 37ef373f..785ab0c3 100644
--- a/examples/nft-royalties/src/test.rs
+++ b/examples/nft-royalties/src/test.rs
@@ -16,15 +16,14 @@ fn test_default_royalty() {
let e = Env::default();
let admin = Address::generate(&e);
let manager = Address::generate(&e);
- let client = create_client(&e, &admin, &manager);
-
e.mock_all_auths();
+ let client = create_client(&e, &admin, &manager);
// Mint a token
let token_id = client.mint(&admin);
// Check royalty info (should use default 10%)
- let (receiver, amount) = client.get_royalty_info(&token_id, &1000);
+ let (receiver, amount) = client.royalty_info(&token_id, &1000);
assert_eq!(receiver, admin);
assert_eq!(amount, 100); // 10% of 1000
}
@@ -35,15 +34,14 @@ fn test_token_specific_royalty() {
let admin = Address::generate(&e);
let manager = Address::generate(&e);
let royalty_receiver = Address::generate(&e);
- let client = create_client(&e, &admin, &manager);
-
e.mock_all_auths();
+ let client = create_client(&e, &admin, &manager);
// Mint a token with specific royalty (5%)
let token_id = client.mint_with_royalty(&admin, &royalty_receiver, &500);
// Check royalty info
- let (receiver, amount) = client.get_royalty_info(&token_id, &2000);
+ let (receiver, amount) = client.royalty_info(&token_id, &2000);
assert_eq!(receiver, royalty_receiver);
assert_eq!(amount, 100); // 5% of 2000
@@ -51,7 +49,7 @@ fn test_token_specific_royalty() {
let regular_token_id = client.mint(&admin);
// Check royalty info for regular token
- let (receiver, amount) = client.get_royalty_info(®ular_token_id, &2000);
+ let (receiver, amount) = client.royalty_info(®ular_token_id, &2000);
assert_eq!(receiver, admin);
assert_eq!(amount, 200); // 10% of 2000
}
@@ -62,15 +60,14 @@ fn test_zero_royalty() {
let admin = Address::generate(&e);
let manager = Address::generate(&e);
let royalty_receiver = Address::generate(&e);
- let client = create_client(&e, &admin, &manager);
-
e.mock_all_auths();
+ let client = create_client(&e, &admin, &manager);
// Mint a token with zero royalty
let token_id = client.mint_with_royalty(&admin, &royalty_receiver, &0);
// Check royalty info
- let (receiver, amount) = client.get_royalty_info(&token_id, &1000);
+ let (receiver, amount) = client.royalty_info(&token_id, &1000);
assert_eq!(receiver, royalty_receiver);
assert_eq!(amount, 0); // 0% royalty
}
diff --git a/examples/nft-royalties/test_snapshots/test/test_default_royalty.1.json b/examples/nft-royalties/test_snapshots/test/test_default_royalty.1.json
deleted file mode 100644
index 7712a91e..00000000
--- a/examples/nft-royalties/test_snapshots/test/test_default_royalty.1.json
+++ /dev/null
@@ -1,484 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "function_name": "mint",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "manager"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "manager"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "DefaultRoyalty"
- }
- ]
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "basis_points"
- },
- "val": {
- "u32": 1000
- }
- },
- {
- "key": {
- "symbol": "receiver"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- }
- ]
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Metadata"
- }
- ]
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "base_uri"
- },
- "val": {
- "string": "https://example.com/nft/"
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "Royalty NFT"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "RNFT"
- }
- }
- ]
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TokenIdCounter"
- }
- ]
- },
- "val": {
- "u32": 1
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/nft-royalties/test_snapshots/test/test_token_specific_royalty.1.json b/examples/nft-royalties/test_snapshots/test/test_token_specific_royalty.1.json
deleted file mode 100644
index 3de29225..00000000
--- a/examples/nft-royalties/test_snapshots/test/test_token_specific_royalty.1.json
+++ /dev/null
@@ -1,650 +0,0 @@
-{
- "generators": {
- "address": 4,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "function_name": "mint_with_royalty",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "u32": 500
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "function_name": "mint",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 2
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "manager"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "manager"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "TokenRoyalty"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "TokenRoyalty"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "map": [
- {
- "key": {
- "symbol": "basis_points"
- },
- "val": {
- "u32": 500
- }
- },
- {
- "key": {
- "symbol": "receiver"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "DefaultRoyalty"
- }
- ]
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "basis_points"
- },
- "val": {
- "u32": 1000
- }
- },
- {
- "key": {
- "symbol": "receiver"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- }
- ]
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Metadata"
- }
- ]
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "base_uri"
- },
- "val": {
- "string": "https://example.com/nft/"
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "Royalty NFT"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "RNFT"
- }
- }
- ]
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TokenIdCounter"
- }
- ]
- },
- "val": {
- "u32": 2
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/nft-royalties/test_snapshots/test/test_zero_royalty.1.json b/examples/nft-royalties/test_snapshots/test/test_zero_royalty.1.json
deleted file mode 100644
index eb97e67e..00000000
--- a/examples/nft-royalties/test_snapshots/test/test_zero_royalty.1.json
+++ /dev/null
@@ -1,552 +0,0 @@
-{
- "generators": {
- "address": 4,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "function_name": "mint_with_royalty",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "u32": 0
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "manager"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "manager"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "TokenRoyalty"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "TokenRoyalty"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "map": [
- {
- "key": {
- "symbol": "basis_points"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "receiver"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "DefaultRoyalty"
- }
- ]
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "basis_points"
- },
- "val": {
- "u32": 1000
- }
- },
- {
- "key": {
- "symbol": "receiver"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- }
- ]
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Metadata"
- }
- ]
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "base_uri"
- },
- "val": {
- "string": "https://example.com/nft/"
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "Royalty NFT"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "RNFT"
- }
- }
- ]
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TokenIdCounter"
- }
- ]
- },
- "val": {
- "u32": 1
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/nft-sequential-minting/Cargo.toml b/examples/nft-sequential-minting/Cargo.toml
index 5fb25a71..b9c23b12 100644
--- a/examples/nft-sequential-minting/Cargo.toml
+++ b/examples/nft-sequential-minting/Cargo.toml
@@ -14,6 +14,7 @@ doctest = false
stellar-macros = { workspace = true }
soroban-sdk = { workspace = true }
stellar-tokens = { workspace = true }
+stellar-access = { workspace = true }
[dev-dependencies]
soroban-sdk = { workspace = true, features = ["testutils"] }
diff --git a/examples/nft-sequential-minting/src/contract.rs b/examples/nft-sequential-minting/src/contract.rs
index d3a8d8e5..8b196637 100644
--- a/examples/nft-sequential-minting/src/contract.rs
+++ b/examples/nft-sequential-minting/src/contract.rs
@@ -2,14 +2,9 @@
//!
//! Demonstrates an example usage of the NFT default base implementation.
-use soroban_sdk::{contract, contractimpl, contracttype, Address, Env, String};
-use stellar_macros::default_impl;
-use stellar_tokens::non_fungible::{burnable::NonFungibleBurnable, Base, NonFungibleToken};
-
-#[contracttype]
-pub enum DataKey {
- Owner,
-}
+use soroban_sdk::{contract, contractimpl, contracttrait, Address, Env, String};
+use stellar_access::Ownable;
+use stellar_tokens::{NonFungibleBurnable, NonFungibleToken};
#[contract]
pub struct ExampleContract;
@@ -17,8 +12,8 @@ pub struct ExampleContract;
#[contractimpl]
impl ExampleContract {
pub fn __constructor(e: &Env, owner: Address) {
- e.storage().instance().set(&DataKey::Owner, &owner);
- Base::set_metadata(
+ Self::set_owner(e, &owner);
+ Self::set_metadata(
e,
String::from_str(e, "www.mytoken.com"),
String::from_str(e, "My Token"),
@@ -27,19 +22,16 @@ impl ExampleContract {
}
pub fn mint(e: &Env, to: Address) -> u32 {
- let owner: Address =
- e.storage().instance().get(&DataKey::Owner).expect("owner should be set");
- owner.require_auth();
- Base::sequential_mint(e, &to)
+ Self::enforce_owner_auth(e);
+ Self::sequential_mint(e, &to)
}
}
-#[default_impl]
-#[contractimpl]
-impl NonFungibleToken for ExampleContract {
- type ContractType = Base;
-}
+#[contracttrait]
+impl NonFungibleToken for ExampleContract {}
-#[default_impl]
-#[contractimpl]
+#[contracttrait]
+impl Ownable for ExampleContract {}
+
+#[contracttrait]
impl NonFungibleBurnable for ExampleContract {}
diff --git a/examples/nft-sequential-minting/test_snapshots/test/burn_works.1.json b/examples/nft-sequential-minting/test_snapshots/test/burn_works.1.json
deleted file mode 100644
index b60c2680..00000000
--- a/examples/nft-sequential-minting/test_snapshots/test/burn_works.1.json
+++ /dev/null
@@ -1,290 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "mint",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "burn",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "u32": 0
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Metadata"
- }
- ]
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "base_uri"
- },
- "val": {
- "string": "www.mytoken.com"
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TokenIdCounter"
- }
- ]
- },
- "val": {
- "u32": 1
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/nft-sequential-minting/test_snapshots/test/mint_exact_cap.1.json b/examples/nft-sequential-minting/test_snapshots/test/mint_exact_cap.1.json
deleted file mode 100644
index 35bdb151..00000000
--- a/examples/nft-sequential-minting/test_snapshots/test/mint_exact_cap.1.json
+++ /dev/null
@@ -1,153 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "CAP"
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/nft-sequential-minting/test_snapshots/test/mint_exceeds_cap.1.json b/examples/nft-sequential-minting/test_snapshots/test/mint_exceeds_cap.1.json
deleted file mode 100644
index 39bc49e7..00000000
--- a/examples/nft-sequential-minting/test_snapshots/test/mint_exceeds_cap.1.json
+++ /dev/null
@@ -1,88 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "CAP"
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/nft-sequential-minting/test_snapshots/test/mint_multiple_exceeds_cap.1.json b/examples/nft-sequential-minting/test_snapshots/test/mint_multiple_exceeds_cap.1.json
deleted file mode 100644
index 6791de77..00000000
--- a/examples/nft-sequential-minting/test_snapshots/test/mint_multiple_exceeds_cap.1.json
+++ /dev/null
@@ -1,154 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [],
- [],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 600
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "CAP"
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 600
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/nft-sequential-minting/test_snapshots/test/mint_under_cap.1.json b/examples/nft-sequential-minting/test_snapshots/test/mint_under_cap.1.json
deleted file mode 100644
index 82f58197..00000000
--- a/examples/nft-sequential-minting/test_snapshots/test/mint_under_cap.1.json
+++ /dev/null
@@ -1,153 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 500
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "CAP"
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 500
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/nft-sequential-minting/test_snapshots/test/query_cap_works.1.json b/examples/nft-sequential-minting/test_snapshots/test/query_cap_works.1.json
deleted file mode 100644
index 2d0a0a65..00000000
--- a/examples/nft-sequential-minting/test_snapshots/test/query_cap_works.1.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "generators": {
- "address": 1,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/nft-sequential-minting/test_snapshots/test/transfer_works.1.json b/examples/nft-sequential-minting/test_snapshots/test/transfer_works.1.json
deleted file mode 100644
index 0956a926..00000000
--- a/examples/nft-sequential-minting/test_snapshots/test/transfer_works.1.json
+++ /dev/null
@@ -1,384 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "function_name": "mint",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "function_name": "transfer",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "u32": 0
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Metadata"
- }
- ]
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "base_uri"
- },
- "val": {
- "string": "www.mytoken.com"
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TokenIdCounter"
- }
- ]
- },
- "val": {
- "u32": 1
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/ownable/src/contract.rs b/examples/ownable/src/contract.rs
index 53109b94..b6dd8d36 100644
--- a/examples/ownable/src/contract.rs
+++ b/examples/ownable/src/contract.rs
@@ -3,13 +3,12 @@
//! Demonstrates an example usage of `ownable` module by
//! implementing `#[only_owner]` macro on a sensitive function.
-use soroban_sdk::{contract, contractimpl, contracttype, Address, Env};
-use stellar_access::ownable::{set_owner, Ownable};
-use stellar_macros::{default_impl, only_owner};
+use soroban_sdk::{contract, contractimpl, contracttrait, contracttype, Address, Env};
+use stellar_access::Ownable;
+use stellar_macros::only_owner;
#[contracttype]
pub enum DataKey {
- Owner,
Counter,
}
@@ -19,7 +18,7 @@ pub struct ExampleContract;
#[contractimpl]
impl ExampleContract {
pub fn __constructor(e: &Env, owner: Address) {
- set_owner(e, &owner);
+ Self::set_owner(e, &owner);
e.storage().instance().set(&DataKey::Counter, &0);
}
@@ -27,15 +26,11 @@ impl ExampleContract {
pub fn increment(e: &Env) -> i32 {
let mut counter: i32 =
e.storage().instance().get(&DataKey::Counter).expect("counter should be set");
-
counter += 1;
-
e.storage().instance().set(&DataKey::Counter, &counter);
-
counter
}
}
-#[default_impl]
-#[contractimpl]
+#[contracttrait]
impl Ownable for ExampleContract {}
diff --git a/examples/ownable/test_snapshots/test/errors_pause_unauthorized.1.json b/examples/ownable/test_snapshots/test/errors_pause_unauthorized.1.json
deleted file mode 100644
index 49089590..00000000
--- a/examples/ownable/test_snapshots/test/errors_pause_unauthorized.1.json
+++ /dev/null
@@ -1,101 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Counter"
- }
- ]
- },
- "val": {
- "i32": 0
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/ownable/test_snapshots/test/initial_state.1.json b/examples/ownable/test_snapshots/test/initial_state.1.json
deleted file mode 100644
index e4e03c7e..00000000
--- a/examples/ownable/test_snapshots/test/initial_state.1.json
+++ /dev/null
@@ -1,101 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Counter"
- }
- ]
- },
- "val": {
- "i32": 0
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/ownable/test_snapshots/test/non_owner_cannot_increment.1.json b/examples/ownable/test_snapshots/test/non_owner_cannot_increment.1.json
deleted file mode 100644
index 5e130475..00000000
--- a/examples/ownable/test_snapshots/test/non_owner_cannot_increment.1.json
+++ /dev/null
@@ -1,134 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 1
- },
- "auth": [
- [],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Counter"
- }
- ]
- },
- "val": {
- "i32": 0
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/ownable/test_snapshots/test/owner_can_increment.1.json b/examples/ownable/test_snapshots/test/owner_can_increment.1.json
deleted file mode 100644
index 19691800..00000000
--- a/examples/ownable/test_snapshots/test/owner_can_increment.1.json
+++ /dev/null
@@ -1,181 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 1
- },
- "auth": [
- [],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "increment",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Counter"
- }
- ]
- },
- "val": {
- "i32": 1
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/pausable/Cargo.toml b/examples/pausable/Cargo.toml
index 1700ecce..4df9ecc0 100644
--- a/examples/pausable/Cargo.toml
+++ b/examples/pausable/Cargo.toml
@@ -14,6 +14,7 @@ doctest = false
soroban-sdk = { workspace = true }
stellar-contract-utils = { workspace = true }
stellar-macros = { workspace = true }
+stellar-access = { workspace = true }
[dev-dependencies]
soroban-sdk = { workspace = true, features = ["testutils"] }
diff --git a/examples/pausable/src/contract.rs b/examples/pausable/src/contract.rs
index db8cee8c..64aaa5f8 100644
--- a/examples/pausable/src/contract.rs
+++ b/examples/pausable/src/contract.rs
@@ -7,23 +7,24 @@
//! Counter can be incremented only when `unpaused` and reset only when
//! `paused`.
-use soroban_sdk::{
- contract, contracterror, contractimpl, contracttype, panic_with_error, Address, Env,
-};
-use stellar_contract_utils::pausable::{self as pausable, Pausable};
-use stellar_macros::{when_not_paused, when_paused};
+use soroban_sdk::{contract, contractimpl, contracttrait, contracttype, Address, Env};
+use stellar_access::Ownable;
+use stellar_contract_utils::Pausable;
+use stellar_macros::{only_owner, when_not_paused, when_paused};
#[contracttype]
pub enum DataKey {
- Owner,
Counter,
}
-#[contracterror]
-#[derive(Copy, Clone, Debug, Eq, PartialEq, PartialOrd, Ord)]
-#[repr(u32)]
-pub enum ExampleContractError {
- Unauthorized = 1,
+impl DataKey {
+ pub fn set(&self, e: &Env, i: i32) {
+ e.storage().instance().set(self, &i);
+ }
+
+ pub fn get(&self, e: &Env) -> i32 {
+ unsafe { e.storage().instance().get(self).unwrap_unchecked() }
+ }
}
#[contract]
@@ -32,59 +33,35 @@ pub struct ExampleContract;
#[contractimpl]
impl ExampleContract {
pub fn __constructor(e: &Env, owner: Address) {
- e.storage().instance().set(&DataKey::Owner, &owner);
- e.storage().instance().set(&DataKey::Counter, &0);
+ Self::set_owner(e, &owner);
+ DataKey::Counter.set(e, 0);
}
#[when_not_paused]
pub fn increment(e: &Env) -> i32 {
- let mut counter: i32 =
- e.storage().instance().get(&DataKey::Counter).expect("counter should be set");
-
- counter += 1;
-
- e.storage().instance().set(&DataKey::Counter, &counter);
-
+ let counter = DataKey::Counter.get(e) + 1;
+ DataKey::Counter.set(e, counter);
counter
}
#[when_paused]
pub fn emergency_reset(e: &Env) {
- e.storage().instance().set(&DataKey::Counter, &0);
+ DataKey::Counter.set(e, 0);
}
}
-#[contractimpl]
-impl Pausable for ExampleContract {
- fn paused(e: &Env) -> bool {
- pausable::paused(e)
- }
+#[contracttrait]
+impl Ownable for ExampleContract {}
- fn pause(e: &Env, caller: Address) {
- // When `ownable` module is available,
- // the following checks should be equivalent to:
- // `ownable::only_owner(&e);`
- caller.require_auth();
- let owner: Address =
- e.storage().instance().get(&DataKey::Owner).expect("owner should be set");
- if owner != caller {
- panic_with_error!(e, ExampleContractError::Unauthorized);
- }
-
- pausable::pause(e);
+#[contracttrait]
+impl Pausable for ExampleContract {
+ #[only_owner]
+ fn pause(e: &Env, caller: &soroban_sdk::Address) {
+ Self::Impl::pause(e, caller)
}
- fn unpause(e: &Env, caller: Address) {
- // When `ownable` module is available,
- // the following checks should be equivalent to:
- // `ownable::only_owner(&e);`
- caller.require_auth();
- let owner: Address =
- e.storage().instance().get(&DataKey::Owner).expect("owner should be set");
- if owner != caller {
- panic_with_error!(e, ExampleContractError::Unauthorized);
- }
-
- pausable::unpause(e);
+ #[only_owner]
+ fn unpause(e: &Env, caller: &soroban_sdk::Address) {
+ Self::Impl::unpause(e, caller)
}
}
diff --git a/examples/pausable/src/test.rs b/examples/pausable/src/test.rs
index 153e9a0e..01772565 100644
--- a/examples/pausable/src/test.rs
+++ b/examples/pausable/src/test.rs
@@ -2,7 +2,10 @@
extern crate std;
-use soroban_sdk::{testutils::Address as _, Address, Env};
+use soroban_sdk::{
+ testutils::{Address as _, MockAuth, MockAuthInvoke},
+ Address, Env, IntoVal,
+};
use crate::contract::{ExampleContract, ExampleContractClient};
@@ -34,14 +37,22 @@ fn pause_works() {
}
#[test]
-#[should_panic(expected = "Error(Contract, #1)")]
+#[should_panic(expected = "Unauthorized function call for address")]
fn errors_pause_unauthorized() {
let e = Env::default();
let owner = Address::generate(&e);
let user = Address::generate(&e);
let client = create_client(&e, &owner);
- e.mock_all_auths();
+ e.mock_auths(&[MockAuth {
+ address: &user,
+ invoke: &MockAuthInvoke {
+ contract: &client.address,
+ fn_name: "pause",
+ args: (&user,).into_val(&e),
+ sub_invokes: &[],
+ },
+ }]);
client.pause(&user);
}
@@ -59,16 +70,35 @@ fn unpause_works() {
}
#[test]
-#[should_panic(expected = "Error(Contract, #1)")]
+#[should_panic(expected = "Unauthorized function call for address")]
fn errors_unpause_unauthorized() {
let e = Env::default();
let owner = Address::generate(&e);
let user = Address::generate(&e);
let client = create_client(&e, &owner);
- e.mock_all_auths();
+ e.mock_auths(&[MockAuth {
+ address: &owner,
+ invoke: &MockAuthInvoke {
+ contract: &client.address,
+ fn_name: "pause",
+ args: (&owner,).into_val(&e),
+ sub_invokes: &[],
+ },
+ }]);
client.pause(&owner);
- client.unpause(&user);
+
+ e.mock_auths(&[MockAuth {
+ address: &user,
+ invoke: &MockAuthInvoke {
+ contract: &client.address,
+ fn_name: "unpause",
+ args: (&owner,).into_val(&e),
+ sub_invokes: &[],
+ },
+ }]);
+
+ client.unpause(&owner);
}
#[test]
diff --git a/examples/pausable/test_snapshots/test/errors_decrement_when_not_paused.1.json b/examples/pausable/test_snapshots/test/errors_decrement_when_not_paused.1.json
deleted file mode 100644
index e4e03c7e..00000000
--- a/examples/pausable/test_snapshots/test/errors_decrement_when_not_paused.1.json
+++ /dev/null
@@ -1,101 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Counter"
- }
- ]
- },
- "val": {
- "i32": 0
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/pausable/test_snapshots/test/errors_emergency_reset_when_not_paused.1.json b/examples/pausable/test_snapshots/test/errors_emergency_reset_when_not_paused.1.json
deleted file mode 100644
index e4e03c7e..00000000
--- a/examples/pausable/test_snapshots/test/errors_emergency_reset_when_not_paused.1.json
+++ /dev/null
@@ -1,101 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Counter"
- }
- ]
- },
- "val": {
- "i32": 0
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/pausable/test_snapshots/test/errors_increment_when_paused.1.json b/examples/pausable/test_snapshots/test/errors_increment_when_paused.1.json
deleted file mode 100644
index c45e4d6d..00000000
--- a/examples/pausable/test_snapshots/test/errors_increment_when_paused.1.json
+++ /dev/null
@@ -1,165 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "pause",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Counter"
- }
- ]
- },
- "val": {
- "i32": 0
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Paused"
- }
- ]
- },
- "val": {
- "bool": true
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/pausable/test_snapshots/test/errors_pause_unauthorized.1.json b/examples/pausable/test_snapshots/test/errors_pause_unauthorized.1.json
deleted file mode 100644
index 49089590..00000000
--- a/examples/pausable/test_snapshots/test/errors_pause_unauthorized.1.json
+++ /dev/null
@@ -1,101 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Counter"
- }
- ]
- },
- "val": {
- "i32": 0
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/pausable/test_snapshots/test/errors_unpause_unauthorized.1.json b/examples/pausable/test_snapshots/test/errors_unpause_unauthorized.1.json
deleted file mode 100644
index 29af6cbc..00000000
--- a/examples/pausable/test_snapshots/test/errors_unpause_unauthorized.1.json
+++ /dev/null
@@ -1,165 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "function_name": "pause",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Counter"
- }
- ]
- },
- "val": {
- "i32": 0
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Paused"
- }
- ]
- },
- "val": {
- "bool": true
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/pausable/test_snapshots/test/initial_state.1.json b/examples/pausable/test_snapshots/test/initial_state.1.json
deleted file mode 100644
index 389058b9..00000000
--- a/examples/pausable/test_snapshots/test/initial_state.1.json
+++ /dev/null
@@ -1,102 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Counter"
- }
- ]
- },
- "val": {
- "i32": 1
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/pausable/test_snapshots/test/pause_works.1.json b/examples/pausable/test_snapshots/test/pause_works.1.json
deleted file mode 100644
index c45e4d6d..00000000
--- a/examples/pausable/test_snapshots/test/pause_works.1.json
+++ /dev/null
@@ -1,165 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "pause",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Counter"
- }
- ]
- },
- "val": {
- "i32": 0
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Paused"
- }
- ]
- },
- "val": {
- "bool": true
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/pausable/test_snapshots/test/test_1.1.json b/examples/pausable/test_snapshots/test/test_1.1.json
deleted file mode 100644
index b62257cc..00000000
--- a/examples/pausable/test_snapshots/test/test_1.1.json
+++ /dev/null
@@ -1,101 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Counter"
- }
- ]
- },
- "val": {
- "i32": 0
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/pausable/test_snapshots/test/test_increment_when_paused.1.json b/examples/pausable/test_snapshots/test/test_increment_when_paused.1.json
deleted file mode 100644
index 4d278236..00000000
--- a/examples/pausable/test_snapshots/test/test_increment_when_paused.1.json
+++ /dev/null
@@ -1,161 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "pause",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "PAUSED"
- },
- "val": {
- "bool": true
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Counter"
- }
- ]
- },
- "val": {
- "u32": 0
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/pausable/test_snapshots/test/test_initial_state.1.json b/examples/pausable/test_snapshots/test/test_initial_state.1.json
deleted file mode 100644
index 23c1caf9..00000000
--- a/examples/pausable/test_snapshots/test/test_initial_state.1.json
+++ /dev/null
@@ -1,102 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Counter"
- }
- ]
- },
- "val": {
- "u32": 1
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/pausable/test_snapshots/test/test_pause_errors_unauthorized.1.json b/examples/pausable/test_snapshots/test/test_pause_errors_unauthorized.1.json
deleted file mode 100644
index fd84a8cc..00000000
--- a/examples/pausable/test_snapshots/test/test_pause_errors_unauthorized.1.json
+++ /dev/null
@@ -1,101 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Counter"
- }
- ]
- },
- "val": {
- "u32": 0
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/pausable/test_snapshots/test/test_pause_works.1.json b/examples/pausable/test_snapshots/test/test_pause_works.1.json
deleted file mode 100644
index 4d278236..00000000
--- a/examples/pausable/test_snapshots/test/test_pause_works.1.json
+++ /dev/null
@@ -1,161 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "pause",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "PAUSED"
- },
- "val": {
- "bool": true
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Counter"
- }
- ]
- },
- "val": {
- "u32": 0
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/pausable/test_snapshots/test/test_unpause_errors_unauthorized.1.json b/examples/pausable/test_snapshots/test/test_unpause_errors_unauthorized.1.json
deleted file mode 100644
index 9e6b7274..00000000
--- a/examples/pausable/test_snapshots/test/test_unpause_errors_unauthorized.1.json
+++ /dev/null
@@ -1,161 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "function_name": "pause",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "PAUSED"
- },
- "val": {
- "bool": true
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Counter"
- }
- ]
- },
- "val": {
- "u32": 0
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/pausable/test_snapshots/test/test_unpause_works.1.json b/examples/pausable/test_snapshots/test/test_unpause_works.1.json
deleted file mode 100644
index 268b427d..00000000
--- a/examples/pausable/test_snapshots/test/test_unpause_works.1.json
+++ /dev/null
@@ -1,213 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "pause",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "unpause",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "PAUSED"
- },
- "val": {
- "bool": false
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Counter"
- }
- ]
- },
- "val": {
- "u32": 0
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/pausable/test_snapshots/test/unpause_works.1.json b/examples/pausable/test_snapshots/test/unpause_works.1.json
deleted file mode 100644
index e0e4ff38..00000000
--- a/examples/pausable/test_snapshots/test/unpause_works.1.json
+++ /dev/null
@@ -1,217 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "pause",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "unpause",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Counter"
- }
- ]
- },
- "val": {
- "i32": 0
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Paused"
- }
- ]
- },
- "val": {
- "bool": false
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/sac-admin-generic/Cargo.toml b/examples/sac-admin-generic/Cargo.toml
index b1067fdf..4be43888 100644
--- a/examples/sac-admin-generic/Cargo.toml
+++ b/examples/sac-admin-generic/Cargo.toml
@@ -16,4 +16,4 @@ stellar-tokens = { workspace = true }
[dev-dependencies]
soroban-sdk = { workspace = true, features = ["testutils"] }
-ed25519-dalek = { workspace = true }
+# ed25519-dalek = { workspace = true }
diff --git a/examples/sac-admin-generic/src/test.rs b/examples/sac-admin-generic/src/test.rs
index 014bf45a..205ccdb6 100644
--- a/examples/sac-admin-generic/src/test.rs
+++ b/examples/sac-admin-generic/src/test.rs
@@ -1,72 +1,73 @@
-#![cfg(test)]
-extern crate std;
+// #![cfg(test)]
+// extern crate std;
-use ed25519_dalek::{Signer, SigningKey, SECRET_KEY_LENGTH};
-use soroban_sdk::{
- auth::{Context, ContractContext},
- testutils::{Address as _, BytesN as _},
- token::StellarAssetClient,
- vec, Address, BytesN, Env, IntoVal, Symbol,
-};
+// use ed25519_dalek::{Signer, SigningKey, SECRET_KEY_LENGTH};
+// use soroban_sdk::{
+// auth::{Context, ContractContext},
+// testutils::{Address as _, BytesN as _},
+// token::StellarAssetClient,
+// vec, Address, BytesN, Env, IntoVal, Symbol,
+// };
-use crate::contract::{SACAdminGenericError, SacAdminExampleContract, Signature};
+// use crate::contract::{SACAdminGenericError, SacAdminExampleContract,
+// Signature};
-fn create_auth_context(e: &Env, contract: &Address, fn_name: Symbol, amount: i128) -> Context {
- Context::Contract(ContractContext {
- contract: contract.clone(),
- fn_name,
- args: ((), (), amount).into_val(e),
- })
-}
+// fn create_auth_context(e: &Env, contract: &Address, fn_name: Symbol, amount:
+// i128) -> Context { Context::Contract(ContractContext {
+// contract: contract.clone(),
+// fn_name,
+// args: ((), (), amount).into_val(e),
+// })
+// }
-#[test]
-fn test_sac_generic() {
- let e = Env::default();
- let issuer = Address::generate(&e);
+// #[test]
+// fn test_sac_generic() {
+// let e = Env::default();
+// let issuer = Address::generate(&e);
- let secret_key_chief: [u8; SECRET_KEY_LENGTH] = [
- 157, 97, 177, 157, 239, 253, 90, 96, 186, 132, 74, 244, 146, 236, 44, 196, 68, 73, 197,
- 105, 123, 50, 105, 25, 112, 59, 172, 3, 28, 174, 127, 96,
- ];
- let secret_key_operator: [u8; SECRET_KEY_LENGTH] = [
- 57, 7, 177, 157, 29, 253, 90, 96, 186, 132, 74, 244, 146, 236, 44, 196, 68, 73, 234, 105,
- 13, 50, 105, 25, 112, 59, 72, 3, 28, 174, 12, 34,
- ];
- // Generate signing keypairs.
- let chief = SigningKey::from_bytes(&secret_key_chief);
- let operator = SigningKey::from_bytes(&secret_key_operator);
+// let secret_key_chief: [u8; SECRET_KEY_LENGTH] = [
+// 157, 97, 177, 157, 239, 253, 90, 96, 186, 132, 74, 244, 146, 236, 44,
+// 196, 68, 73, 197, 105, 123, 50, 105, 25, 112, 59, 172, 3, 28, 174,
+// 127, 96, ];
+// let secret_key_operator: [u8; SECRET_KEY_LENGTH] = [
+// 57, 7, 177, 157, 29, 253, 90, 96, 186, 132, 74, 244, 146, 236, 44,
+// 196, 68, 73, 234, 105, 13, 50, 105, 25, 112, 59, 72, 3, 28, 174, 12,
+// 34, ];
+// // Generate signing keypairs.
+// let chief = SigningKey::from_bytes(&secret_key_chief);
+// let operator = SigningKey::from_bytes(&secret_key_operator);
- // Deploy the Stellar Asset Contract
- let sac = e.register_stellar_asset_contract_v2(issuer.clone());
- let sac_client = StellarAssetClient::new(&e, &sac.address());
+// // Deploy the Stellar Asset Contract
+// let sac = e.register_stellar_asset_contract_v2(issuer.clone());
+// let sac_client = StellarAssetClient::new(&e, &sac.address());
- // Register the account contract, passing in the two signers (public keys) to
- // the constructor.
- let new_admin = e.register(
- SacAdminExampleContract,
- (
- sac.address(),
- BytesN::from_array(&e, chief.verifying_key().as_bytes()),
- BytesN::from_array(&e, operator.verifying_key().as_bytes()),
- ),
- );
+// // Register the account contract, passing in the two signers (public
+// keys) to // the constructor.
+// let new_admin = e.register(
+// SacAdminExampleContract,
+// (
+// sac.address(),
+// BytesN::from_array(&e, chief.verifying_key().as_bytes()),
+// BytesN::from_array(&e, operator.verifying_key().as_bytes()),
+// ),
+// );
- let payload = BytesN::random(&e);
+// let payload = BytesN::random(&e);
- assert_eq!(
- e.try_invoke_contract_check_auth::(
- &new_admin,
- &payload,
- Signature {
- public_key: BytesN::from_array(&e, &operator.verifying_key().to_bytes()),
- signature: BytesN::from_array(
- &e,
- &operator.sign(payload.to_array().as_slice()).to_bytes()
- ),
- }
- .into_val(&e),
- &vec![&e, create_auth_context(&e, &sac_client.address, Symbol::new(&e, "mint"), 1000)],
- ),
- Ok(())
- );
-}
+// assert_eq!(
+// e.try_invoke_contract_check_auth::(
+// &new_admin,
+// &payload,
+// Signature {
+// public_key: BytesN::from_array(&e,
+// &operator.verifying_key().to_bytes()), signature:
+// BytesN::from_array( &e,
+// &operator.sign(payload.to_array().as_slice()).to_bytes()
+// ),
+// }
+// .into_val(&e),
+// &vec![&e, create_auth_context(&e, &sac_client.address,
+// Symbol::new(&e, "mint"), 1000)], ),
+// Ok(())
+// );
+// }
diff --git a/examples/sac-admin-generic/test_snapshots/test/test_sac_generic.1.json b/examples/sac-admin-generic/test_snapshots/test/test_sac_generic.1.json
deleted file mode 100644
index 7cce6661..00000000
--- a/examples/sac-admin-generic/test_snapshots/test/test_sac_generic.1.json
+++ /dev/null
@@ -1,336 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [
- [
- "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL",
- "function_name": "set_admin",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "account": {
- "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "account": {
- "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF",
- "balance": 0,
- "seq_num": 0,
- "num_sub_entries": 0,
- "inflation_dest": null,
- "flags": 0,
- "home_domain": "",
- "thresholds": "01010101",
- "signers": [],
- "ext": "v0"
- }
- },
- "ext": "v0"
- },
- null
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Chief"
- }
- ]
- },
- "val": {
- "bytes": "d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "MintingLimit"
- },
- {
- "bytes": "674dc47bbaa6e080e76bdc46baaa5e59a5532a02dbe9dda8a3ac4b091700757c"
- }
- ]
- },
- "val": {
- "vec": [
- {
- "i128": {
- "hi": 0,
- "lo": 1000000000
- }
- },
- {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- ]
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Operator"
- },
- {
- "bytes": "674dc47bbaa6e080e76bdc46baaa5e59a5532a02dbe9dda8a3ac4b091700757c"
- }
- ]
- },
- "val": {
- "bool": true
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Sac"
- }
- ]
- },
- "val": {
- "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL"
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": "stellar_asset",
- "storage": [
- {
- "key": {
- "symbol": "METADATA"
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "decimal"
- },
- "val": {
- "u32": 7
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "aaa:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "aaa"
- }
- }
- ]
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "AssetInfo"
- }
- ]
- },
- "val": {
- "vec": [
- {
- "symbol": "AlphaNum4"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "asset_code"
- },
- "val": {
- "string": "aaa\\0"
- }
- },
- {
- "key": {
- "symbol": "issuer"
- },
- "val": {
- "bytes": "0000000000000000000000000000000000000000000000000000000000000002"
- }
- }
- ]
- }
- ]
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 120960
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/sac-admin-wrapper/src/contract.rs b/examples/sac-admin-wrapper/src/contract.rs
index 103fbf6d..e739408b 100644
--- a/examples/sac-admin-wrapper/src/contract.rs
+++ b/examples/sac-admin-wrapper/src/contract.rs
@@ -1,46 +1,54 @@
-use soroban_sdk::{contract, contractimpl, symbol_short, Address, Env};
-use stellar_access::access_control::{self as access_control, AccessControl};
-use stellar_macros::{default_impl, only_admin, only_role};
-use stellar_tokens::fungible::{self as fungible, sac_admin_wrapper::SACAdminWrapper};
+use soroban_sdk::{contract, contractimpl, contracttrait, symbol_short, Address, Env};
+use stellar_access::AccessControl;
+use stellar_macros::{only_admin, only_role};
+use stellar_tokens::SACAdminWrapper;
#[contract]
pub struct ExampleContract;
#[contractimpl]
impl ExampleContract {
- pub fn __constructor(e: &Env, default_admin: Address, manager: Address, sac: Address) {
- access_control::set_admin(e, &default_admin);
-
- // create a role "manager" and grant it to `manager`
- access_control::grant_role_no_auth(e, &default_admin, &manager, &symbol_short!("manager"));
-
- fungible::sac_admin_wrapper::set_sac_address(e, &sac);
+ pub fn __constructor(
+ e: &Env,
+ default_admin: Address,
+ manager1: Address,
+ manager2: Address,
+ sac: Address,
+ ) {
+ Self::init_admin(e, &default_admin);
+
+ // create a role "manager" and grant it to `manager1`
+ Self::grant_role_no_auth(e, &default_admin, &manager1, &symbol_short!("manager"));
+
+ // grant it to `manager2`
+ Self::grant_role_no_auth(e, &default_admin, &manager2, &symbol_short!("manager"));
+
+ Self::set_sac_address(e, &sac);
}
}
-#[contractimpl]
+#[contracttrait]
+impl AccessControl for ExampleContract {}
+
+#[contracttrait]
impl SACAdminWrapper for ExampleContract {
#[only_admin]
- fn set_admin(e: Env, new_admin: Address, _operator: Address) {
- fungible::sac_admin_wrapper::set_admin(&e, &new_admin);
+ fn set_admin(e: &Env, new_admin: &Address, _operator: &Address) {
+ Self::Impl::set_admin(e, new_admin, _operator);
}
#[only_role(operator, "manager")]
- fn set_authorized(e: Env, id: Address, authorize: bool, operator: Address) {
- fungible::sac_admin_wrapper::set_authorized(&e, &id, authorize);
+ fn set_authorized(e: &Env, id: &Address, authorize: bool, operator: &Address) {
+ Self::Impl::set_authorized(e, id, authorize, operator);
}
#[only_role(operator, "manager")]
- fn mint(e: Env, to: Address, amount: i128, operator: Address) {
- fungible::sac_admin_wrapper::mint(&e, &to, amount);
+ fn mint(e: &Env, to: &Address, amount: i128, operator: &Address) {
+ Self::Impl::mint(e, to, amount, operator);
}
#[only_role(operator, "manager")]
- fn clawback(e: Env, from: Address, amount: i128, operator: Address) {
- fungible::sac_admin_wrapper::clawback(&e, &from, amount);
+ fn clawback(e: &Env, from: &Address, amount: i128, operator: &Address) {
+ Self::Impl::clawback(e, from, amount, operator);
}
}
-
-#[default_impl]
-#[contractimpl]
-impl AccessControl for ExampleContract {}
diff --git a/examples/sac-admin-wrapper/src/test.rs b/examples/sac-admin-wrapper/src/test.rs
index d2e386c2..83cc1191 100644
--- a/examples/sac-admin-wrapper/src/test.rs
+++ b/examples/sac-admin-wrapper/src/test.rs
@@ -16,6 +16,7 @@ fn test_sac_transfer() {
let issuer = Address::generate(&e);
let default_admin = Address::generate(&e);
let manager = Address::generate(&e);
+ let manager2 = Address::generate(&e);
let user1 = Address::generate(&e);
let user2 = Address::generate(&e);
@@ -44,7 +45,7 @@ fn test_sac_transfer() {
// Deploy the New Admin
let new_admin = e.register(
ExampleContract,
- (default_admin.clone(), manager.clone(), sac_client.address.clone()),
+ (default_admin.clone(), manager.clone(), manager2.clone(), sac_client.address.clone()),
);
let new_admin_client = ExampleContractClient::new(&e, &new_admin);
@@ -87,6 +88,7 @@ fn test_transfer_admin() {
let default_admin = Address::generate(&e);
let new_default_admin = Address::generate(&e);
let manager = Address::generate(&e);
+ let manager2 = Address::generate(&e);
// Deploy the Stellar Asset Contract
let sac = e.register_stellar_asset_contract_v2(issuer.clone());
@@ -95,7 +97,7 @@ fn test_transfer_admin() {
// Deploy the New Admin
let new_admin = e.register(
ExampleContract,
- (default_admin.clone(), manager.clone(), sac_client.address.clone()),
+ (default_admin.clone(), manager.clone(), manager2, sac_client.address.clone()),
);
let new_admin_client = ExampleContractClient::new(&e, &new_admin);
diff --git a/examples/sac-admin-wrapper/test_snapshots/test/test_sac_transfer.1.json b/examples/sac-admin-wrapper/test_snapshots/test/test_sac_transfer.1.json
deleted file mode 100644
index fe35d0b3..00000000
--- a/examples/sac-admin-wrapper/test_snapshots/test/test_sac_transfer.1.json
+++ /dev/null
@@ -1,854 +0,0 @@
-{
- "generators": {
- "address": 7,
- "nonce": 3
- },
- "auth": [
- [
- [
- "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN",
- "function_name": "set_admin",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN",
- "function_name": "mint",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- [],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN",
- "function_name": "set_admin",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM",
- "function_name": "mint",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "account": {
- "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "account": {
- "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF",
- "balance": 0,
- "seq_num": 0,
- "num_sub_entries": 0,
- "inflation_dest": null,
- "flags": 0,
- "home_domain": "",
- "thresholds": "01010101",
- "signers": [],
- "ext": "v0"
- }
- },
- "ext": "v0"
- },
- null
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 2
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 2
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 3
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 3
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "manager"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "manager"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Sac"
- }
- ]
- },
- "val": {
- "address": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN"
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "map": [
- {
- "key": {
- "symbol": "amount"
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- },
- {
- "key": {
- "symbol": "authorized"
- },
- "val": {
- "bool": true
- }
- },
- {
- "key": {
- "symbol": "clawback"
- },
- "val": {
- "bool": false
- }
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "map": [
- {
- "key": {
- "symbol": "amount"
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- },
- {
- "key": {
- "symbol": "authorized"
- },
- "val": {
- "bool": true
- }
- },
- {
- "key": {
- "symbol": "clawback"
- },
- "val": {
- "bool": false
- }
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": "stellar_asset",
- "storage": [
- {
- "key": {
- "symbol": "METADATA"
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "decimal"
- },
- "val": {
- "u32": 7
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "aaa:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "aaa"
- }
- }
- ]
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "AssetInfo"
- }
- ]
- },
- "val": {
- "vec": [
- {
- "symbol": "AlphaNum4"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "asset_code"
- },
- "val": {
- "string": "aaa\\0"
- }
- },
- {
- "key": {
- "symbol": "issuer"
- },
- "val": {
- "bytes": "0000000000000000000000000000000000000000000000000000000000000006"
- }
- }
- ]
- }
- ]
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 120960
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/sac-admin-wrapper/test_snapshots/test/test_transfer_admin.1.json b/examples/sac-admin-wrapper/test_snapshots/test/test_transfer_admin.1.json
deleted file mode 100644
index 2db27d5d..00000000
--- a/examples/sac-admin-wrapper/test_snapshots/test/test_transfer_admin.1.json
+++ /dev/null
@@ -1,676 +0,0 @@
-{
- "generators": {
- "address": 6,
- "nonce": 3
- },
- "auth": [
- [
- [
- "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL7NV",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CDLDVFKHEZ2RVB3NG4UQA4VPD3TSHV6XMHXMHP2BSGCJ2IIWVTOHGDSG",
- "function_name": "set_admin",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CDLDVFKHEZ2RVB3NG4UQA4VPD3TSHV6XMHXMHP2BSGCJ2IIWVTOHGDSG",
- "function_name": "set_admin",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- [],
- [],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "function_name": "set_admin",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "account": {
- "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL7NV"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "account": {
- "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL7NV",
- "balance": 0,
- "seq_num": 0,
- "num_sub_entries": 0,
- "inflation_dest": null,
- "flags": 0,
- "home_domain": "",
- "thresholds": "01010101",
- "signers": [],
- "ext": "v0"
- }
- },
- "ext": "v0"
- },
- null
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL7NV",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL7NV",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 3
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 3
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "manager"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "manager"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Sac"
- }
- ]
- },
- "val": {
- "address": "CDLDVFKHEZ2RVB3NG4UQA4VPD3TSHV6XMHXMHP2BSGCJ2IIWVTOHGDSG"
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CDLDVFKHEZ2RVB3NG4UQA4VPD3TSHV6XMHXMHP2BSGCJ2IIWVTOHGDSG",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CDLDVFKHEZ2RVB3NG4UQA4VPD3TSHV6XMHXMHP2BSGCJ2IIWVTOHGDSG",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": "stellar_asset",
- "storage": [
- {
- "key": {
- "symbol": "METADATA"
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "decimal"
- },
- "val": {
- "u32": 7
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "aaa:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL7NV"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "aaa"
- }
- }
- ]
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "AssetInfo"
- }
- ]
- },
- "val": {
- "vec": [
- {
- "symbol": "AlphaNum4"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "asset_code"
- },
- "val": {
- "string": "aaa\\0"
- }
- },
- {
- "key": {
- "symbol": "issuer"
- },
- "val": {
- "bytes": "0000000000000000000000000000000000000000000000000000000000000005"
- }
- }
- ]
- }
- ]
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 120960
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/upgradeable/testdata/upgradeable_v1_example.wasm b/examples/upgradeable/testdata/upgradeable_v1_example.wasm
index eaba88b7..f7bac20b 100755
Binary files a/examples/upgradeable/testdata/upgradeable_v1_example.wasm and b/examples/upgradeable/testdata/upgradeable_v1_example.wasm differ
diff --git a/examples/upgradeable/testdata/upgradeable_v2_example.wasm b/examples/upgradeable/testdata/upgradeable_v2_example.wasm
index 7863f5f9..818e9363 100755
Binary files a/examples/upgradeable/testdata/upgradeable_v2_example.wasm and b/examples/upgradeable/testdata/upgradeable_v2_example.wasm differ
diff --git a/examples/upgradeable/upgrader/src/contract.rs b/examples/upgradeable/upgrader/src/contract.rs
index 0075c709..13c855bb 100644
--- a/examples/upgradeable/upgrader/src/contract.rs
+++ b/examples/upgradeable/upgrader/src/contract.rs
@@ -1,40 +1,23 @@
/// Helper contract to perform upgrade+migrate in a single transaction.
-use soroban_sdk::{contract, contractimpl, symbol_short, Address, BytesN, Env, Symbol, Val};
-use stellar_access::ownable;
+use soroban_sdk::{contract, contractimpl, Address, BytesN, Env};
+use stellar_access::Ownable;
use stellar_contract_utils::upgradeable::UpgradeableClient;
use stellar_macros::only_owner;
-pub const MIGRATE: Symbol = symbol_short!("migrate");
-
#[contract]
pub struct Upgrader;
+#[soroban_sdk::contracttrait]
+impl Ownable for Upgrader {}
+
#[contractimpl]
impl Upgrader {
pub fn __constructor(e: &Env, owner: Address) {
- ownable::set_owner(e, &owner);
+ Self::set_owner(e, &owner);
}
#[only_owner]
- pub fn upgrade(e: &Env, contract_address: Address, operator: Address, wasm_hash: BytesN<32>) {
- let contract_client = UpgradeableClient::new(e, &contract_address);
-
- contract_client.upgrade(&wasm_hash, &operator);
- }
-
- #[only_owner]
- pub fn upgrade_and_migrate(
- e: &Env,
- contract_address: Address,
- operator: Address,
- wasm_hash: BytesN<32>,
- migration_data: soroban_sdk::Vec,
- ) {
- let contract_client = UpgradeableClient::new(e, &contract_address);
-
- contract_client.upgrade(&wasm_hash, &operator);
- // The types of the arguments to the migrate function are unknown to this
- // contract, so we need to call it with invoke_contract.
- e.invoke_contract::<()>(&contract_address, &MIGRATE, migration_data);
+ pub fn upgrade(e: &Env, contract_address: Address, wasm_hash: BytesN<32>) {
+ UpgradeableClient::new(e, &contract_address).upgrade(&wasm_hash);
}
}
diff --git a/examples/upgradeable/upgrader/src/test.rs b/examples/upgradeable/upgrader/src/test.rs
index bc47a440..2397e616 100644
--- a/examples/upgradeable/upgrader/src/test.rs
+++ b/examples/upgradeable/upgrader/src/test.rs
@@ -3,7 +3,7 @@
extern crate std;
use contract_v2::Data;
-use soroban_sdk::{testutils::Address as _, Address, BytesN, Env, TryIntoVal};
+use soroban_sdk::{testutils::Address as _, Address, BytesN, Env};
use crate::contract::{Upgrader, UpgraderClient};
@@ -12,7 +12,6 @@ mod contract_v1 {
}
mod contract_v2 {
- use crate::test::MigrationData;
soroban_sdk::contractimport!(file = "../testdata/upgradeable_v2_example.wasm");
}
@@ -21,8 +20,6 @@ fn install_new_wasm(e: &Env) -> BytesN<32> {
e.deployer().upload_contract_wasm(contract_v2::WASM)
}
-type MigrationData = Data;
-
#[test]
fn test_upgrade_with_upgrader() {
let e = Env::default();
@@ -35,16 +32,13 @@ fn test_upgrade_with_upgrader() {
let upgrader_client = UpgraderClient::new(&e, &upgrader);
let new_wasm_hash = install_new_wasm(&e);
- let data = Data { num1: 12, num2: 34 };
- upgrader_client.upgrade_and_migrate(
- &contract_id,
- &admin,
- &new_wasm_hash,
- &soroban_sdk::vec![&e, data.try_into_val(&e).unwrap(), admin.try_into_val(&e).unwrap()],
- );
+ upgrader_client.upgrade(&contract_id, &new_wasm_hash);
+ let data = Data { num1: 12, num2: 34 };
let client_v2 = contract_v2::Client::new(&e, &contract_id);
+ client_v2.set_data(&data);
- assert!(client_v2.try_migrate(&Data { num1: 12, num2: 34 }, &admin).is_err());
+ // ensure migrate can't be invoked again
+ assert_eq!(data, client_v2.get_data());
}
diff --git a/examples/upgradeable/upgrader/test_snapshots/test/test_upgrade_with_upgrader.1.json b/examples/upgradeable/upgrader/test_snapshots/test/test_upgrade_with_upgrader.1.json
deleted file mode 100644
index 16bd07d5..00000000
--- a/examples/upgradeable/upgrader/test_snapshots/test/test_upgrade_with_upgrader.1.json
+++ /dev/null
@@ -1,409 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "function_name": "upgrade_and_migrate",
- "args": [
- {
- "address": "CBRIAA73VOIKPZYM5G3LGPF3NGCFXLR3IW22MKEYJAB3QBOMTUTRCASK"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "bytes": "47f1a27bf1f96a04f86f74b568df02d9d101cb4b9073dc68234dcfa6460eed9e"
- },
- {
- "vec": [
- {
- "map": [
- {
- "key": {
- "symbol": "num1"
- },
- "val": {
- "u32": 12
- }
- },
- {
- "key": {
- "symbol": "num2"
- },
- "val": {
- "u32": 34
- }
- }
- ]
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- }
- ]
- }
- },
- "sub_invocations": [
- {
- "function": {
- "contract_fn": {
- "contract_address": "CBRIAA73VOIKPZYM5G3LGPF3NGCFXLR3IW22MKEYJAB3QBOMTUTRCASK",
- "function_name": "upgrade",
- "args": [
- {
- "bytes": "47f1a27bf1f96a04f86f74b568df02d9d101cb4b9073dc68234dcfa6460eed9e"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- }
- },
- "sub_invocations": []
- },
- {
- "function": {
- "contract_fn": {
- "contract_address": "CBRIAA73VOIKPZYM5G3LGPF3NGCFXLR3IW22MKEYJAB3QBOMTUTRCASK",
- "function_name": "migrate",
- "args": [
- {
- "map": [
- {
- "key": {
- "symbol": "num1"
- },
- "val": {
- "u32": 12
- }
- },
- {
- "key": {
- "symbol": "num2"
- },
- "val": {
- "u32": 34
- }
- }
- ]
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- }
- ]
- ],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CBRIAA73VOIKPZYM5G3LGPF3NGCFXLR3IW22MKEYJAB3QBOMTUTRCASK",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CBRIAA73VOIKPZYM5G3LGPF3NGCFXLR3IW22MKEYJAB3QBOMTUTRCASK",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "47f1a27bf1f96a04f86f74b568df02d9d101cb4b9073dc68234dcfa6460eed9e"
- },
- "storage": [
- {
- "key": {
- "symbol": "DATA_KEY"
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "num1"
- },
- "val": {
- "u32": 12
- }
- },
- {
- "key": {
- "symbol": "num2"
- },
- "val": {
- "u32": 34
- }
- }
- ]
- }
- },
- {
- "key": {
- "symbol": "MIGRATING"
- },
- "val": {
- "bool": false
- }
- },
- {
- "key": {
- "symbol": "OWNER"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "47f1a27bf1f96a04f86f74b568df02d9d101cb4b9073dc68234dcfa6460eed9e"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": {
- "v1": {
- "ext": "v0",
- "cost_inputs": {
- "ext": "v0",
- "n_instructions": 225,
- "n_functions": 12,
- "n_globals": 3,
- "n_table_entries": 0,
- "n_types": 9,
- "n_data_segments": 1,
- "n_elem_segments": 0,
- "n_imports": 10,
- "n_exports": 6,
- "n_data_segment_bytes": 24
- }
- }
- },
- "hash": "47f1a27bf1f96a04f86f74b568df02d9d101cb4b9073dc68234dcfa6460eed9e",
- "code": "0061736d0100000001300960017e017e60027e7e017e60047e7e7e7e017e60037e7e7e017e60017e0060017e017f60000060017f0060027e7e00023d0a016101300000017801300001016201380000016c01360000016d01610002016d01390003016c01300001016c01310001017801350000016c015f0003030d0c04050006040107010806060605030100110619037f01418080c0000b7f00419880c0000b7f0041a080c0000b073d06066d656d6f727902000775706772616465000f076d6967726174650011015f00150a5f5f646174615f656e6403010b5f5f686561705f6261736503020aea040c6401017e20001080808080001a02400240428ebad0cca803108b80808000450d00428ebad0cca803108c80808000220142ff018342cd00510d01000b108d80808000000b0240200020011081808080004200520d000f0b428380808010108e80808000000b0f00200042021086808080004201510b0c00200042021087808080000b0900109480808000000b0b0020001088808080001a0b53000240200042ff018342c800520d0020001082808080004280808080708342808080808004520d00200142ff018342cd00520d002001108a80808000410110908080800020001083808080001a42020f0b000b1900428ea499eac7e9c9a8182000ad42ff01831092808080000bc00202027f037e23808080800041106b2202248080808000410021030240034020034110460d01200220036a4202370300200341086a21030c000b0b0240200042ff018342cc00520d002000418880c08000ad42208642048422042002ad22054220864204844284808080201084808080001a2002290300220042ff01834204520d002002290308220642ff01834204520d00200142ff018342cd00520d002001108a8080800002400240428ea499eac7e9c9a818108b80808000450d00428ea499eac7e9c9a818108c80808000a741ff01710e020001020b4283808080e00d108e80808000000b20022006428480808070833703082002200042848080807083370300428ec890abc0f9b11e200420054220864204844284808080201085808080001092808080004100109080808000200241106a24808080800042020f0b000b0f002000200142021089808080001a0b0300000b0900109380808000000b02000b0b210100418080c0000b186e756d316e756d320000100004000000040010000400000000bf030e636f6e7472616374737065637630000000040000000000000000000000144578616d706c65436f6e74726163744572726f7200000001000000000000000c556e617574686f72697a65640000000100000001000000000000000000000004446174610000000200000000000000046e756d310000000400000000000000046e756d3200000004000000000000000000000007757067726164650000000002000000000000000d6e65775f7761736d5f68617368000000000003ee0000002000000000000000086f70657261746f7200000013000000000000000000000000000000076d6967726174650000000002000000000000000e6d6967726174696f6e5f646174610000000007d00000000d4d6967726174696f6e4461746100000000000000000000086f70657261746f720000001300000000000000040000000000000000000000105570677261646561626c654572726f7200000001000000415768656e206d6967726174696f6e20697320617474656d7074656420627574206e6f7420616c6c6f7765642064756520746f20757067726164652073746174652e000000000000134d6967726174696f6e4e6f74416c6c6f776564000000006e008b010e636f6e74726163746d6574617630000000000000000662696e766572000000000005322e302e300000000000000000000005727376657200000000000006312e38362e3000000000000000000008727373646b7665720000002f32322e302e36233063343764636661313837303639643234316631316662303832373330663636376235356538303200001e11636f6e7472616374656e766d6574617630000000000000001600000000"
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "d451e854533a92b9f97c2e0dd857d0f0ec0717c77adf0ef4ce4015fc54e37884"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": {
- "v1": {
- "ext": "v0",
- "cost_inputs": {
- "ext": "v0",
- "n_instructions": 99,
- "n_functions": 9,
- "n_globals": 3,
- "n_table_entries": 0,
- "n_types": 6,
- "n_data_segments": 0,
- "n_elem_segments": 0,
- "n_imports": 8,
- "n_exports": 6,
- "n_data_segment_bytes": 0
- }
- }
- },
- "hash": "d451e854533a92b9f97c2e0dd857d0f0ec0717c77adf0ef4ce4015fc54e37884",
- "code": "0061736d01000000011f0660017e017e60027e7e017e60037e7e7e017e6000017e60027e7e00600000023108016201380000016101300000016c01300001016c01310001017801300001016c01360000017801350000016c015f0002030a0901030405050005050505030100100619037f01418080c0000b7f00418080c0000b7f00418080c0000b074306066d656d6f72790200077570677261646500080d5f5f636f6e7374727563746f72000d015f00100a5f5f646174615f656e6403010b5f5f686561705f6261736503020a980209ad0101017e024002400240200042ff018342c800520d0020001080808080004280808080708342808080808004520d00200142ff018342cd00520d0020011081808080001a108980808000220242021082808080004201520d0120024202108380808000220242ff018342cd00520d002001200210848080800050450d02428ea499eac7e9c9a8184201108a8080800020001085808080001a42020f0b000b108b80808000000b108c80808000000b0900428ebad0cca8030b0f002000200142021087808080001a0b0900108f80808000000b0f004283808080101086808080001a0b22000240200042ff018342cd00510d00000b1089808080002000108a8080800042020b0300000b0900108e80808000000b02000b00df020e636f6e7472616374737065637630000000040000000000000000000000144578616d706c65436f6e74726163744572726f7200000001000000000000000c556e617574686f72697a656400000001000000000000000000000007757067726164650000000002000000000000000d6e65775f7761736d5f68617368000000000003ee0000002000000000000000086f70657261746f72000000130000000000000000000000000000000d5f5f636f6e7374727563746f7200000000000001000000000000000561646d696e0000000000001300000000000000040000000000000000000000105570677261646561626c654572726f7200000001000000415768656e206d6967726174696f6e20697320617474656d7074656420627574206e6f7420616c6c6f7765642064756520746f20757067726164652073746174652e000000000000134d6967726174696f6e4e6f74416c6c6f776564000000006e008b010e636f6e74726163746d6574617630000000000000000662696e766572000000000005312e302e300000000000000000000005727376657200000000000006312e38362e3000000000000000000008727373646b7665720000002f32322e302e36233063343764636661313837303639643234316631316662303832373330663636376235356538303200001e11636f6e7472616374656e766d6574617630000000000000001600000000"
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/upgradeable/v1/Cargo.toml b/examples/upgradeable/v1/Cargo.toml
index 9c2940e3..d35d09e0 100644
--- a/examples/upgradeable/v1/Cargo.toml
+++ b/examples/upgradeable/v1/Cargo.toml
@@ -14,6 +14,7 @@ doctest = false
soroban-sdk = { workspace = true }
stellar-contract-utils = { workspace = true }
stellar-macros = { workspace = true }
+stellar-access = { workspace = true }
[dev-dependencies]
soroban-sdk = { workspace = true, features = ["testutils"] }
diff --git a/examples/upgradeable/v1/src/contract.rs b/examples/upgradeable/v1/src/contract.rs
index bad9055f..88d8b6d6 100644
--- a/examples/upgradeable/v1/src/contract.rs
+++ b/examples/upgradeable/v1/src/contract.rs
@@ -2,38 +2,16 @@
/// macro. It only implements `UpgradeableInternal` and the derive macro do the
/// rest of the job. The goal is to upgrade this "v1" contract with the contract
/// in "v2".
-use soroban_sdk::{
- contract, contracterror, contractimpl, panic_with_error, symbol_short, Address, Env, Symbol,
-};
-use stellar_contract_utils::upgradeable::UpgradeableInternal;
-use stellar_macros::Upgradeable;
+use soroban_sdk::{contract, contractimpl, Address, Env};
+use stellar_contract_utils::Upgradeable;
-pub const OWNER: Symbol = symbol_short!("OWNER");
-
-#[contracterror]
-#[derive(Copy, Clone, Debug, Eq, PartialEq, PartialOrd, Ord)]
-#[repr(u32)]
-pub enum ExampleContractError {
- Unauthorized = 1,
-}
-
-#[derive(Upgradeable)]
#[contract]
+#[derive(Upgradeable)]
pub struct ExampleContract;
#[contractimpl]
impl ExampleContract {
pub fn __constructor(e: &Env, admin: Address) {
- e.storage().instance().set(&OWNER, &admin);
- }
-}
-
-impl UpgradeableInternal for ExampleContract {
- fn _require_auth(e: &Env, operator: &Address) {
- operator.require_auth();
- let owner = e.storage().instance().get::<_, Address>(&OWNER).unwrap();
- if *operator != owner {
- panic_with_error!(e, ExampleContractError::Unauthorized)
- }
+ Self::set_owner(e, &admin);
}
}
diff --git a/examples/upgradeable/v1/src/test.rs b/examples/upgradeable/v1/src/test.rs
index 0a8abbb8..8b4e603f 100644
--- a/examples/upgradeable/v1/src/test.rs
+++ b/examples/upgradeable/v1/src/test.rs
@@ -8,8 +8,6 @@ use soroban_sdk::{testutils::Address as _, Address, BytesN, Env};
use crate::contract::{ExampleContract, ExampleContractClient};
mod contract_v2 {
- use crate::test::MigrationData;
-
soroban_sdk::contractimport!(file = "../testdata/upgradeable_v2_example.wasm");
}
@@ -17,8 +15,6 @@ fn install_new_wasm(e: &Env) -> BytesN<32> {
e.deployer().upload_contract_wasm(contract_v2::WASM)
}
-type MigrationData = Data;
-
#[test]
fn test_upgrade() {
let env = Env::default();
@@ -32,12 +28,13 @@ fn test_upgrade() {
// install the new wasm and upgrade
let new_wasm_hash = install_new_wasm(&env);
- client_v1.upgrade(&new_wasm_hash, &admin);
+ client_v1.upgrade(&new_wasm_hash);
// init the upgraded client and migrate
let client_v2 = contract_v2::Client::new(&env, &address);
- client_v2.migrate(&Data { num1: 12, num2: 34 }, &admin);
+ let data = Data { num1: 12, num2: 34 };
+ client_v2.set_data(&data);
// ensure migrate can't be invoked again
- assert!(client_v2.try_migrate(&Data { num1: 12, num2: 34 }, &admin).is_err());
+ assert_eq!(data, client_v2.get_data());
}
diff --git a/examples/upgradeable/v1/test_snapshots/test/test_upgrade.1.json b/examples/upgradeable/v1/test_snapshots/test/test_upgrade.1.json
deleted file mode 100644
index c3110b4d..00000000
--- a/examples/upgradeable/v1/test_snapshots/test/test_upgrade.1.json
+++ /dev/null
@@ -1,283 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "upgrade",
- "args": [
- {
- "bytes": "47f1a27bf1f96a04f86f74b568df02d9d101cb4b9073dc68234dcfa6460eed9e"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "migrate",
- "args": [
- {
- "map": [
- {
- "key": {
- "symbol": "num1"
- },
- "val": {
- "u32": 12
- }
- },
- {
- "key": {
- "symbol": "num2"
- },
- "val": {
- "u32": 34
- }
- }
- ]
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "47f1a27bf1f96a04f86f74b568df02d9d101cb4b9073dc68234dcfa6460eed9e"
- },
- "storage": [
- {
- "key": {
- "symbol": "DATA_KEY"
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "num1"
- },
- "val": {
- "u32": 12
- }
- },
- {
- "key": {
- "symbol": "num2"
- },
- "val": {
- "u32": 34
- }
- }
- ]
- }
- },
- {
- "key": {
- "symbol": "MIGRATING"
- },
- "val": {
- "bool": false
- }
- },
- {
- "key": {
- "symbol": "OWNER"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "47f1a27bf1f96a04f86f74b568df02d9d101cb4b9073dc68234dcfa6460eed9e"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": {
- "v1": {
- "ext": "v0",
- "cost_inputs": {
- "ext": "v0",
- "n_instructions": 225,
- "n_functions": 12,
- "n_globals": 3,
- "n_table_entries": 0,
- "n_types": 9,
- "n_data_segments": 1,
- "n_elem_segments": 0,
- "n_imports": 10,
- "n_exports": 6,
- "n_data_segment_bytes": 24
- }
- }
- },
- "hash": "47f1a27bf1f96a04f86f74b568df02d9d101cb4b9073dc68234dcfa6460eed9e",
- "code": "0061736d0100000001300960017e017e60027e7e017e60047e7e7e7e017e60037e7e7e017e60017e0060017e017f60000060017f0060027e7e00023d0a016101300000017801300001016201380000016c01360000016d01610002016d01390003016c01300001016c01310001017801350000016c015f0003030d0c04050006040107010806060605030100110619037f01418080c0000b7f00419880c0000b7f0041a080c0000b073d06066d656d6f727902000775706772616465000f076d6967726174650011015f00150a5f5f646174615f656e6403010b5f5f686561705f6261736503020aea040c6401017e20001080808080001a02400240428ebad0cca803108b80808000450d00428ebad0cca803108c80808000220142ff018342cd00510d01000b108d80808000000b0240200020011081808080004200520d000f0b428380808010108e80808000000b0f00200042021086808080004201510b0c00200042021087808080000b0900109480808000000b0b0020001088808080001a0b53000240200042ff018342c800520d0020001082808080004280808080708342808080808004520d00200142ff018342cd00520d002001108a80808000410110908080800020001083808080001a42020f0b000b1900428ea499eac7e9c9a8182000ad42ff01831092808080000bc00202027f037e23808080800041106b2202248080808000410021030240034020034110460d01200220036a4202370300200341086a21030c000b0b0240200042ff018342cc00520d002000418880c08000ad42208642048422042002ad22054220864204844284808080201084808080001a2002290300220042ff01834204520d002002290308220642ff01834204520d00200142ff018342cd00520d002001108a8080800002400240428ea499eac7e9c9a818108b80808000450d00428ea499eac7e9c9a818108c80808000a741ff01710e020001020b4283808080e00d108e80808000000b20022006428480808070833703082002200042848080807083370300428ec890abc0f9b11e200420054220864204844284808080201085808080001092808080004100109080808000200241106a24808080800042020f0b000b0f002000200142021089808080001a0b0300000b0900109380808000000b02000b0b210100418080c0000b186e756d316e756d320000100004000000040010000400000000bf030e636f6e7472616374737065637630000000040000000000000000000000144578616d706c65436f6e74726163744572726f7200000001000000000000000c556e617574686f72697a65640000000100000001000000000000000000000004446174610000000200000000000000046e756d310000000400000000000000046e756d3200000004000000000000000000000007757067726164650000000002000000000000000d6e65775f7761736d5f68617368000000000003ee0000002000000000000000086f70657261746f7200000013000000000000000000000000000000076d6967726174650000000002000000000000000e6d6967726174696f6e5f646174610000000007d00000000d4d6967726174696f6e4461746100000000000000000000086f70657261746f720000001300000000000000040000000000000000000000105570677261646561626c654572726f7200000001000000415768656e206d6967726174696f6e20697320617474656d7074656420627574206e6f7420616c6c6f7765642064756520746f20757067726164652073746174652e000000000000134d6967726174696f6e4e6f74416c6c6f776564000000006e008b010e636f6e74726163746d6574617630000000000000000662696e766572000000000005322e302e300000000000000000000005727376657200000000000006312e38362e3000000000000000000008727373646b7665720000002f32322e302e36233063343764636661313837303639643234316631316662303832373330663636376235356538303200001e11636f6e7472616374656e766d6574617630000000000000001600000000"
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/examples/upgradeable/v2/Cargo.toml b/examples/upgradeable/v2/Cargo.toml
index a70f96a6..6fc7269a 100644
--- a/examples/upgradeable/v2/Cargo.toml
+++ b/examples/upgradeable/v2/Cargo.toml
@@ -14,6 +14,7 @@ doctest = false
soroban-sdk = { workspace = true }
stellar-contract-utils = { workspace = true }
stellar-macros = { workspace = true }
+stellar-access = { workspace = true }
[dev-dependencies]
soroban-sdk = { workspace = true, features = ["testutils"] }
diff --git a/examples/upgradeable/v2/src/contract.rs b/examples/upgradeable/v2/src/contract.rs
index 83d8a1ad..864f9b4b 100644
--- a/examples/upgradeable/v2/src/contract.rs
+++ b/examples/upgradeable/v2/src/contract.rs
@@ -3,14 +3,11 @@
/// time we want to do a migration after the upgrade. That's why we derive
/// `UpgradeableMigratable`. For it to work, we implement
/// `UpgradeableMigratableInternal` with the custom migration logic.
-use soroban_sdk::{
- contract, contracterror, contracttype, panic_with_error, symbol_short, Address, Env, Symbol,
-};
-use stellar_contract_utils::upgradeable::UpgradeableMigratableInternal;
-use stellar_macros::UpgradeableMigratable;
+use soroban_sdk::{contract, contracterror, contractimpl, contracttype, symbol_short, Env, Symbol};
+use stellar_contract_utils::Upgradeable;
+use stellar_macros::only_owner;
-pub const DATA_KEY: Symbol = symbol_short!("DATA_KEY");
-pub const OWNER: Symbol = symbol_short!("OWNER");
+pub const DATA_KEY: &Symbol = &symbol_short!("DATA_KEY");
#[contracterror]
#[derive(Copy, Clone, Debug, Eq, PartialEq, PartialOrd, Ord)]
@@ -25,22 +22,18 @@ pub struct Data {
pub num2: u32,
}
-#[derive(UpgradeableMigratable)]
+#[derive(Upgradeable)]
#[contract]
pub struct ExampleContract;
-impl UpgradeableMigratableInternal for ExampleContract {
- type MigrationData = Data;
-
- fn _require_auth(e: &Env, operator: &Address) {
- operator.require_auth();
- let owner = e.storage().instance().get::<_, Address>(&OWNER).unwrap();
- if *operator != owner {
- panic_with_error!(e, ExampleContractError::Unauthorized)
- }
+#[contractimpl]
+impl ExampleContract {
+ #[only_owner]
+ pub fn set_data(env: Env, data: Data) {
+ env.storage().persistent().set(DATA_KEY, &data);
}
- fn _migrate(e: &Env, data: &Self::MigrationData) {
- e.storage().instance().set(&DATA_KEY, data);
+ pub fn get_data(env: Env) -> Data {
+ env.storage().persistent().get(DATA_KEY).unwrap()
}
}
diff --git a/packages/access/Cargo.toml b/packages/access/Cargo.toml
index 6d0bea5b..a6c9ef28 100644
--- a/packages/access/Cargo.toml
+++ b/packages/access/Cargo.toml
@@ -14,6 +14,7 @@ doctest = false
[dependencies]
soroban-sdk = { workspace = true }
+stellar-macros = { workspace = true }
[dev-dependencies]
soroban-sdk = { workspace = true, features = ["testutils"] }
diff --git a/packages/access/src/access_control/mod.rs b/packages/access/src/access_control/mod.rs
index 03cb86e3..f76dc49a 100644
--- a/packages/access/src/access_control/mod.rs
+++ b/packages/access/src/access_control/mod.rs
@@ -90,17 +90,11 @@ mod storage;
mod test;
-use soroban_sdk::{contracterror, Address, Env, Symbol};
+use soroban_sdk::{assert_with_error, contracterror, contracttrait, Address, Env, Symbol};
-pub use crate::access_control::storage::{
- accept_admin_transfer, add_to_role_enumeration, enforce_admin_auth,
- ensure_if_admin_or_admin_role, ensure_role, get_admin, get_role_admin, get_role_member,
- get_role_member_count, grant_role, grant_role_no_auth, has_role, remove_from_role_enumeration,
- remove_role_accounts_count_no_auth, remove_role_admin_no_auth, renounce_admin, renounce_role,
- revoke_role, revoke_role_no_auth, set_admin, set_role_admin, set_role_admin_no_auth,
- transfer_admin_role, AccessControlStorageKey,
-};
+pub use crate::access_control::storage::{AccessControlStorageKey, AccessControler};
+#[contracttrait(default = AccessControler)]
pub trait AccessControl {
/// Returns `Some(index)` if the account has the specified role,
/// where `index` is the position of the account for that role,
@@ -112,7 +106,8 @@ pub trait AccessControl {
/// * `e` - Access to Soroban environment.
/// * `account` - The account to check.
/// * `role` - The role to check for.
- fn has_role(e: &Env, account: Address, role: Symbol) -> Option;
+ fn has_role(e: &Env, account: &soroban_sdk::Address, role: &soroban_sdk::Symbol)
+ -> Option;
/// Returns the total number of accounts that have the specified role.
/// If the role does not exist, returns 0.
@@ -121,7 +116,7 @@ pub trait AccessControl {
///
/// * `e` - Access to Soroban environment.
/// * `role` - The role to get the count for.
- fn get_role_member_count(e: &Env, role: Symbol) -> u32;
+ fn get_role_member_count(e: &Env, role: &soroban_sdk::Symbol) -> u32;
/// Returns the account at the specified index for a given role.
///
@@ -142,7 +137,7 @@ pub trait AccessControl {
///
/// * [`AccessControlError::IndexOutOfBounds`] - If the index is out of
/// bounds for the role's member list.
- fn get_role_member(e: &Env, role: Symbol, index: u32) -> Address;
+ fn get_role_member(e: &Env, role: &soroban_sdk::Symbol, index: u32) -> Address;
/// Returns the admin role for a specific role.
/// If no admin role is explicitly set, returns `None`.
@@ -151,7 +146,7 @@ pub trait AccessControl {
///
/// * `e` - Access to Soroban environment.
/// * `role` - The role to query the admin role for.
- fn get_role_admin(e: &Env, role: Symbol) -> Option;
+ fn get_role_admin(e: &Env, role: &soroban_sdk::Symbol) -> Option;
/// Returns the admin account.
///
@@ -179,7 +174,7 @@ pub trait AccessControl {
///
/// * topics - `["role_granted", role: Symbol, account: Address]`
/// * data - `[caller: Address]`
- fn grant_role(e: &Env, caller: Address, account: Address, role: Symbol);
+ fn grant_role(e: &Env, caller: &Address, account: &Address, role: &soroban_sdk::Symbol);
/// Revokes a role from an account.
/// To revoke your own role, please use [`AccessControl::renounce_role()`]
@@ -205,7 +200,7 @@ pub trait AccessControl {
///
/// * topics - `["role_revoked", role: Symbol, account: Address]`
/// * data - `[caller: Address]`
- fn revoke_role(e: &Env, caller: Address, account: Address, role: Symbol);
+ fn revoke_role(e: &Env, caller: &Address, account: &Address, role: &soroban_sdk::Symbol);
/// Allows an account to renounce a role assigned to itself.
/// Users can only renounce roles for their own account.
@@ -227,7 +222,7 @@ pub trait AccessControl {
///
/// * topics - `["role_revoked", role: Symbol, account: Address]`
/// * data - `[caller: Address]`
- fn renounce_role(e: &Env, caller: Address, role: Symbol);
+ fn renounce_role(e: &Env, caller: &Address, role: &soroban_sdk::Symbol);
/// Initiates the admin role transfer.
/// Admin privileges for the current admin are not revoked until the
@@ -263,7 +258,7 @@ pub trait AccessControl {
/// # Notes
///
/// * Authorization for the current admin is required.
- fn transfer_admin_role(e: &Env, new_admin: Address, live_until_ledger: u32);
+ fn transfer_admin_role(e: &Env, new_admin: &Address, live_until_ledger: u32);
/// Completes the 2-step admin transfer.
///
@@ -303,7 +298,7 @@ pub trait AccessControl {
/// # Notes
///
/// * Authorization for the current admin is required.
- fn set_role_admin(e: &Env, role: Symbol, admin_role: Symbol);
+ fn set_role_admin(e: &Env, role: &soroban_sdk::Symbol, admin_role: &soroban_sdk::Symbol);
/// Allows the current admin to renounce their role, making the contract
/// permanently admin-less. This is useful for decentralization purposes
@@ -327,6 +322,97 @@ pub trait AccessControl {
///
/// * Authorization for the current admin is required.
fn renounce_admin(e: &Env);
+
+ #[internal]
+ fn init_admin(e: &Env, admin: &soroban_sdk::Address);
+
+ #[internal]
+ fn enforce_admin_auth(e: &Env) {
+ let Some(admin) = Self::get_admin(e) else {
+ soroban_sdk::panic_with_error!(e, AccessControlError::AdminNotSet);
+ };
+ admin.require_auth();
+ }
+
+ /// Ensures that the caller has the specified role.
+ /// This function is used to check if an account has a specific role.
+ /// The main purpose of this function is to act as a helper for the
+ /// `#[has_role]` macro.
+ ///
+ /// # Arguments
+ ///
+ /// * `e` - Access to Soroban environment.
+ /// * `caller` - The address of the caller to check the role for.
+ /// * `role` - The role to check for.
+ ///
+ /// # Errors
+ ///
+ /// * [`AccessControlError::Unauthorized`] - If the caller does not have the
+ /// specified role.
+ #[internal]
+ fn ensure_role(e: &Env, caller: &soroban_sdk::Address, role: &soroban_sdk::Symbol) {
+ if Self::has_role(e, caller, role).is_none() {
+ soroban_sdk::panic_with_error!(e, AccessControlError::Unauthorized);
+ }
+ }
+
+ #[internal]
+ fn ensure_if_admin_or_admin_role(
+ e: &Env,
+ caller: &soroban_sdk::Address,
+ role: &soroban_sdk::Symbol,
+ ) {
+ // Check if caller is contract admin (if one is set)
+ let is_admin = match Self::get_admin(e) {
+ Some(admin) => caller == &admin,
+ None => false,
+ };
+
+ // Check if caller has admin role for the specified role
+ let is_admin_role = match Self::get_role_admin(e, role) {
+ Some(admin_role) => Self::has_role(e, caller, &admin_role).is_some(),
+ None => false,
+ };
+
+ if !is_admin && !is_admin_role {
+ soroban_sdk::panic_with_error!(e, AccessControlError::Unauthorized);
+ }
+ }
+
+ #[internal]
+ fn grant_role_no_auth(e: &Env, caller: &Address, account: &Address, role: &Symbol);
+
+ #[internal]
+ fn remove_role_accounts_count_no_auth(e: &Env, role: &Symbol);
+
+ /// Removes the admin role for a specified role without performing
+ /// authorization checks.
+ ///
+ /// # Arguments
+ ///
+ /// * `role` - The role to remove the admin for.
+ ///
+ /// # Security Warning
+ ///
+ /// **IMPORTANT**: This function bypasses authorization checks and should
+ /// only be used:
+ /// - In admin functions that implement their own authorization logic
+ /// - When cleaning up unused roles
+ #[internal]
+ fn remove_role_admin_no_auth(e: &Env, role: &Symbol);
+
+ #[internal]
+ fn assert_has_any_role(e: &Env, caller: &Address, roles: &[&str]) {
+ assert_with_error!(
+ e,
+ roles.iter().any(|role| Self::has_role(
+ e,
+ caller,
+ &soroban_sdk::Symbol::new(e, role)).is_some()
+ ),
+ AccessControlError::RoleNotHeld
+ );
+ }
}
// ################## ERRORS ##################
diff --git a/packages/access/src/access_control/storage.rs b/packages/access/src/access_control/storage.rs
index 532522ac..5c1709e2 100644
--- a/packages/access/src/access_control/storage.rs
+++ b/packages/access/src/access_control/storage.rs
@@ -3,8 +3,8 @@ use soroban_sdk::{contracttype, panic_with_error, Address, Env, Symbol};
use crate::{
access_control::{
emit_admin_renounced, emit_admin_transfer_completed, emit_admin_transfer_initiated,
- emit_role_admin_changed, emit_role_granted, emit_role_revoked, AccessControlError,
- ROLE_EXTEND_AMOUNT, ROLE_TTL_THRESHOLD,
+ emit_role_admin_changed, emit_role_granted, emit_role_revoked, AccessControl,
+ AccessControlError, ROLE_EXTEND_AMOUNT, ROLE_TTL_THRESHOLD,
},
role_transfer::{accept_transfer, transfer_role},
};
@@ -27,6 +27,111 @@ pub enum AccessControlStorageKey {
PendingAdmin,
}
+pub struct AccessControler;
+
+impl AccessControl for AccessControler {
+ type Impl = Self;
+
+ fn has_role(
+ e: &Env,
+ account: &soroban_sdk::Address,
+ role: &soroban_sdk::Symbol,
+ ) -> Option {
+ has_role(e, account, role)
+ }
+
+ fn get_role_member_count(e: &Env, role: &soroban_sdk::Symbol) -> u32 {
+ get_role_member_count(e, role)
+ }
+
+ fn get_role_member(e: &Env, role: &soroban_sdk::Symbol, index: u32) -> Address {
+ get_role_member(e, role, index)
+ }
+
+ fn get_role_admin(e: &Env, role: &soroban_sdk::Symbol) -> Option {
+ get_role_admin(e, role)
+ }
+
+ fn get_admin(e: &Env) -> Option {
+ get_admin(e)
+ }
+
+ fn grant_role(e: &Env, caller: &Address, account: &Address, role: &soroban_sdk::Symbol) {
+ grant_role(e, caller, account, role)
+ }
+
+ fn revoke_role(e: &Env, caller: &Address, account: &Address, role: &soroban_sdk::Symbol) {
+ revoke_role(e, caller, account, role)
+ }
+
+ fn renounce_role(e: &Env, caller: &Address, role: &soroban_sdk::Symbol) {
+ renounce_role(e, caller, role)
+ }
+
+ fn transfer_admin_role(e: &Env, new_admin: &Address, live_until_ledger: u32) {
+ transfer_admin_role(e, new_admin, live_until_ledger)
+ }
+
+ fn accept_admin_transfer(e: &Env) {
+ accept_admin_transfer(e)
+ }
+
+ fn set_role_admin(e: &Env, role: &soroban_sdk::Symbol, admin_role: &soroban_sdk::Symbol) {
+ set_role_admin(e, role, admin_role)
+ }
+
+ fn renounce_admin(e: &Env) {
+ renounce_admin(e)
+ }
+
+ fn init_admin(e: &Env, admin: &soroban_sdk::Address) {
+ set_admin(e, admin);
+ }
+
+ fn enforce_admin_auth(e: &Env) {
+ let Some(admin) = Self::get_admin(e) else {
+ soroban_sdk::panic_with_error!(e, AccessControlError::AdminNotSet);
+ };
+ admin.require_auth();
+ }
+
+ fn ensure_role(e: &Env, caller: &soroban_sdk::Address, role: &soroban_sdk::Symbol) {
+ if Self::has_role(e, caller, role).is_none() {
+ soroban_sdk::panic_with_error!(e, AccessControlError::Unauthorized);
+ }
+ }
+
+ fn ensure_if_admin_or_admin_role(
+ e: &Env,
+ caller: &soroban_sdk::Address,
+ role: &soroban_sdk::Symbol,
+ ) {
+ let is_admin = match Self::get_admin(e) {
+ Some(admin) => caller == &admin,
+ None => false,
+ };
+ let is_admin_role = match Self::get_role_admin(e, role) {
+ Some(admin_role) => Self::has_role(e, caller, &admin_role).is_some(),
+ None => false,
+ };
+ if !is_admin && !is_admin_role {
+ soroban_sdk::panic_with_error!(e, AccessControlError::Unauthorized);
+ }
+ }
+
+ fn grant_role_no_auth(e: &Env, caller: &Address, account: &Address, role: &Symbol) {
+ grant_role_no_auth(e, caller, account, role)
+ }
+
+ fn remove_role_accounts_count_no_auth(e: &Env, role: &Symbol) {
+ remove_role_accounts_count_no_auth(e, role)
+ }
+
+ fn remove_role_admin_no_auth(e: &Env, role: &Symbol) {
+ remove_role_admin_no_auth(e, role)
+ }
+}
+
// ################## QUERY STATE ##################
/// Returns `Some(index)` if the account has the specified role,
@@ -492,20 +597,6 @@ pub fn set_role_admin_no_auth(e: &Env, role: &Symbol, admin_role: &Symbol) {
emit_role_admin_changed(e, role, &previous_admin_role, admin_role);
}
-/// Removes the admin role for a specified role without performing authorization
-/// checks.
-///
-/// # Arguments
-///
-/// * `e` - Access to Soroban environment.
-/// * `role` - The role to remove the admin for.
-///
-/// # Security Warning
-///
-/// **IMPORTANT**: This function bypasses authorization checks and should only
-/// be used:
-/// - In admin functions that implement their own authorization logic
-/// - When cleaning up unused roles
pub fn remove_role_admin_no_auth(e: &Env, role: &Symbol) {
let key = AccessControlStorageKey::RoleAdmin(role.clone());
@@ -579,27 +670,6 @@ pub fn ensure_if_admin_or_admin_role(e: &Env, caller: &Address, role: &Symbol) {
}
}
-/// Ensures that the caller has the specified role.
-/// This function is used to check if an account has a specific role.
-/// The main purpose of this function is to act as a helper for the
-/// `#[has_role]` macro.
-///
-/// # Arguments
-///
-/// * `e` - Access to Soroban environment.
-/// * `caller` - The address of the caller to check the role for.
-/// * `role` - The role to check for.
-///
-/// # Errors
-///
-/// * [`AccessControlError::Unauthorized`] - If the caller does not have the
-/// specified role.
-pub fn ensure_role(e: &Env, caller: &Address, role: &Symbol) {
- if has_role(e, caller, role).is_none() {
- panic_with_error!(e, AccessControlError::Unauthorized);
- }
-}
-
/// Retrieves the admin from storage, enforces authorization,
/// and returns the admin address.
///
diff --git a/packages/access/src/access_control/test.rs b/packages/access/src/access_control/test.rs
index f0898050..54683801 100644
--- a/packages/access/src/access_control/test.rs
+++ b/packages/access/src/access_control/test.rs
@@ -5,7 +5,7 @@ extern crate std;
use soroban_sdk::{contract, symbol_short, testutils::Address as _, Address, Env, Symbol};
use stellar_event_assertion::EventAssertion;
-use crate::access_control::{
+use crate::access_control::storage::{
accept_admin_transfer, add_to_role_enumeration, ensure_if_admin_or_admin_role, get_admin,
get_role_admin, get_role_member, get_role_member_count, grant_role, grant_role_no_auth,
has_role, remove_from_role_enumeration, remove_role_accounts_count_no_auth,
diff --git a/packages/access/src/lib.rs b/packages/access/src/lib.rs
index ccd91d3e..d5254795 100644
--- a/packages/access/src/lib.rs
+++ b/packages/access/src/lib.rs
@@ -3,3 +3,6 @@
pub mod access_control;
pub mod ownable;
pub mod role_transfer;
+
+pub use access_control::{AccessControl, AccessControler};
+pub use ownable::{Ownable, Owner};
diff --git a/packages/access/src/ownable/mod.rs b/packages/access/src/ownable/mod.rs
index 88a75b8c..ab111ff0 100644
--- a/packages/access/src/ownable/mod.rs
+++ b/packages/access/src/ownable/mod.rs
@@ -34,17 +34,15 @@ mod storage;
mod test;
-use soroban_sdk::{contracterror, Address, Env, Symbol};
+use soroban_sdk::{contracterror, contracttrait, panic_with_error, Address, Env, Symbol};
-pub use crate::ownable::storage::{
- accept_ownership, enforce_owner_auth, get_owner, renounce_ownership, set_owner,
- transfer_ownership, OwnableStorageKey,
-};
+pub use crate::ownable::storage::{OwnableStorageKey, Owner};
/// A trait for managing contract ownership using a 2-step transfer pattern.
///
/// Provides functions to query ownership, initiate a transfer, or renounce
/// ownership.
+#[contracttrait(default = Owner)]
pub trait Ownable {
/// Returns `Some(Address)` if ownership is set, or `None` if ownership has
/// been renounced.
@@ -52,7 +50,7 @@ pub trait Ownable {
/// # Arguments
///
/// * `e` - Access to the Soroban environment.
- fn get_owner(e: &Env) -> Option;
+ fn get_owner(e: &Env) -> Option;
/// Initiates a 2-step ownership transfer to a new address.
///
@@ -80,7 +78,7 @@ pub trait Ownable {
/// # Notes
///
/// * Authorization for the current owner is required.
- fn transfer_ownership(e: &Env, new_owner: Address, live_until_ledger: u32);
+ fn transfer_ownership(e: &Env, new_owner: &soroban_sdk::Address, live_until_ledger: u32);
/// Accepts a pending ownership transfer.
///
@@ -118,6 +116,51 @@ pub trait Ownable {
///
/// * Authorization for the current owner is required.
fn renounce_ownership(e: &Env);
+
+ /// Enforces authorization from the current owner.
+ ///
+ /// This is used internally by the `#[only_owner]` macro expansion to gate
+ /// access.
+ ///
+ /// # Arguments
+ ///
+ /// * `e` - Access to the Soroban environment.
+ ///
+ /// # Errors
+ ///
+ /// * [`OwnableError::OwnerNotSet`] - If the owner is not set.
+ #[internal]
+ fn only_owner(e: &soroban_sdk::Env) {
+ let Some(owner) = Self::get_owner(e) else {
+ panic_with_error!(e, OwnableError::OwnerNotSet);
+ };
+ owner.require_auth()
+ }
+
+ #[internal]
+ fn enforce_owner_auth(e: &soroban_sdk::Env) -> Address {
+ let Some(owner) = Self::get_owner(e) else {
+ panic_with_error!(e, OwnableError::OwnerNotSet);
+ };
+ owner.require_auth();
+ owner
+ }
+
+ /// Sets owner role.
+ ///
+ /// # Arguments
+ ///
+ /// * `e` - Access to Soroban environment.
+ /// * `owner` - The account to grant the owner privilege.
+ ///
+ /// # Errors
+ ///
+ /// * [`OwnableError::OwnerAlreadySet`] - If the owner is already set.
+ ///
+ /// **IMPORTANT**: this function lacks authorization checks.
+ /// It is expected to call this function only in the constructor!
+ #[internal]
+ fn set_owner(e: &soroban_sdk::Env, owner: &soroban_sdk::Address);
}
// ################## ERRORS ##################
diff --git a/packages/access/src/ownable/storage.rs b/packages/access/src/ownable/storage.rs
index 333700ec..ec956bbb 100644
--- a/packages/access/src/ownable/storage.rs
+++ b/packages/access/src/ownable/storage.rs
@@ -15,148 +15,46 @@ pub enum OwnableStorageKey {
PendingOwner,
}
-// ################## QUERY STATE ##################
+pub struct Owner;
-/// Returns `Some(Address)` if ownership is set, or `None` if ownership has been
-/// renounced or has never been set.
-///
-/// # Arguments
-///
-/// * `e` - Access to the Soroban environment.
-pub fn get_owner(e: &Env) -> Option {
- e.storage().instance().get::<_, Address>(&OwnableStorageKey::Owner)
-}
-
-// ################## CHANGE STATE ##################
+impl super::Ownable for Owner {
+ type Impl = Self;
-/// Sets owner role.
-///
-/// # Arguments
-///
-/// * `e` - Access to Soroban environment.
-/// * `owner` - The account to grant the owner privilege.
-///
-/// # Errors
-///
-/// * [`OwnableError::OwnerAlreadySet`] - If the owner is already set.
-///
-/// **IMPORTANT**: this function lacks authorization checks.
-/// It is expected to call this function only in the constructor!
-pub fn set_owner(e: &Env, owner: &Address) {
- // Check if owner is already set
- if e.storage().instance().has(&OwnableStorageKey::Owner) {
- panic_with_error!(e, OwnableError::OwnerAlreadySet);
+ fn get_owner(e: &Env) -> Option {
+ e.storage().instance().get(&OwnableStorageKey::Owner)
}
- e.storage().instance().set(&OwnableStorageKey::Owner, &owner);
-}
-/// Initiates a 2-step ownership transfer to a new owner.
-///
-/// # Arguments
-///
-/// * `e` - Access to the Soroban environment.
-/// * `new_owner` - The proposed new owner.
-/// * `live_until_ledger` - Ledger number until which the new owner can accept.
-/// A value of `0` cancels any pending transfer.
-///
-/// # Errors
-///
-/// * refer to [`transfer_role`] errors.
-/// * refer to [`enforce_owner_auth`] errors.
-///
-///
-/// # Events
-///
-/// * topics - `["ownership_transfer"]`
-/// * data - `[old_owner: Address, new_owner: Address]`
-///
-/// # Notes
-///
-/// * Authorization for the current owner is required.
-pub fn transfer_ownership(e: &Env, new_owner: &Address, live_until_ledger: u32) {
- let owner = enforce_owner_auth(e);
+ fn transfer_ownership(e: &Env, new_owner: &Address, live_until_ledger: u32) {
+ let owner = Self::enforce_owner_auth(e);
- transfer_role(e, new_owner, &OwnableStorageKey::PendingOwner, live_until_ledger);
+ transfer_role(e, new_owner, &OwnableStorageKey::PendingOwner, live_until_ledger);
- emit_ownership_transfer(e, &owner, new_owner, live_until_ledger);
-}
+ emit_ownership_transfer(e, &owner, new_owner, live_until_ledger);
+ }
-/// Completes the 2-step ownership transfer process.
-///
-/// # Arguments
-///
-/// * `e` - Access to the Soroban environment.
-///
-/// # Errors
-///
-/// * refer to [`accept_transfer`] errors.
-///
-/// # Events
-///
-/// * topics - `["ownership_transfer_completed"]`
-/// * data - `[new_owner: Address]`
-///
-/// # Notes
-///
-/// * Authorization for the pending owner is required.
-pub fn accept_ownership(e: &Env) {
- let new_owner = accept_transfer(e, &OwnableStorageKey::Owner, &OwnableStorageKey::PendingOwner);
+ fn accept_ownership(e: &Env) {
+ let new_owner =
+ accept_transfer(e, &OwnableStorageKey::Owner, &OwnableStorageKey::PendingOwner);
+ emit_ownership_transfer_completed(e, &new_owner);
+ }
- emit_ownership_transfer_completed(e, &new_owner);
-}
+ fn renounce_ownership(e: &Env) {
+ let owner = Self::enforce_owner_auth(e);
+ let key = OwnableStorageKey::PendingOwner;
-/// Renounces ownership of the contract.
-///
-/// Once renounced, no one will have privileged access via `#[only_owner]`.
-///
-/// # Arguments
-///
-/// * `e` - Access to the Soroban environment.
-///
-/// # Errors
-///
-/// * [`OwnableError::TransferInProgress`] - If there is a pending ownership
-/// transfer.
-/// * refer to [`enforce_owner_auth`] errors.
-///
-/// # Events
-///
-/// * topics - `["ownership_renounced"]`
-/// * data - `[old_owner: Address]`
-///
-/// # Notes
-///
-/// * Authorization for the current owner is required.
-pub fn renounce_ownership(e: &Env) {
- let owner = enforce_owner_auth(e);
- let key = OwnableStorageKey::PendingOwner;
+ if e.storage().temporary().get::<_, Address>(&key).is_some() {
+ panic_with_error!(e, OwnableError::TransferInProgress);
+ }
- if e.storage().temporary().get::<_, Address>(&key).is_some() {
- panic_with_error!(e, OwnableError::TransferInProgress);
+ e.storage().instance().remove(&OwnableStorageKey::Owner);
+ emit_ownership_renounced(e, &owner);
}
- e.storage().instance().remove(&OwnableStorageKey::Owner);
- emit_ownership_renounced(e, &owner);
-}
-
-// ################## LOW-LEVEL HELPERS ##################
-
-/// Enforces authorization from the current owner.
-///
-/// This is used internally by the `#[only_owner]` macro expansion to gate
-/// access.
-///
-/// # Arguments
-///
-/// * `e` - Access to the Soroban environment.
-///
-/// # Errors
-///
-/// * [`OwnableError::OwnerNotSet`] - If the owner is not set.
-pub fn enforce_owner_auth(e: &Env) -> Address {
- let Some(owner) = get_owner(e) else {
- panic_with_error!(e, OwnableError::OwnerNotSet);
- };
- owner.require_auth();
- owner
+ fn set_owner(e: &Env, owner: &Address) {
+ // Check if owner is already set
+ if e.storage().instance().has(&OwnableStorageKey::Owner) {
+ panic_with_error!(e, OwnableError::OwnerAlreadySet);
+ }
+ e.storage().instance().set(&OwnableStorageKey::Owner, &owner);
+ }
}
diff --git a/packages/access/src/ownable/test.rs b/packages/access/src/ownable/test.rs
index d6a9eb5c..eaba01f4 100644
--- a/packages/access/src/ownable/test.rs
+++ b/packages/access/src/ownable/test.rs
@@ -5,10 +5,7 @@ extern crate std;
use soroban_sdk::{contract, testutils::Address as _, Address, Env};
use stellar_event_assertion::EventAssertion;
-use crate::ownable::{
- accept_ownership, enforce_owner_auth, get_owner, renounce_ownership, set_owner,
- transfer_ownership, OwnableStorageKey,
-};
+use crate::ownable::{Ownable, OwnableStorageKey, Owner};
#[contract]
struct MockContract;
@@ -23,11 +20,11 @@ fn transfer_ownership_sets_pending() {
e.mock_all_auths();
e.as_contract(&contract, || {
- set_owner(&e, &owner);
+ Owner::set_owner(&e, &owner);
});
e.as_contract(&contract, || {
- transfer_ownership(&e, &new_owner, 1000);
+ Owner::transfer_ownership(&e, &new_owner, 1000);
let pending: Option =
e.storage().temporary().get(&OwnableStorageKey::PendingOwner);
@@ -47,12 +44,12 @@ fn accept_ownership_completes_transfer() {
let contract = e.register(MockContract, ());
e.as_contract(&contract, || {
- set_owner(&e, &old_owner);
+ Owner::set_owner(&e, &old_owner);
e.storage().temporary().set(&OwnableStorageKey::PendingOwner, &new_owner);
- accept_ownership(&e);
+ Owner::accept_ownership(&e);
- let stored_owner = get_owner(&e);
+ let stored_owner = Owner::get_owner(&e);
assert_eq!(stored_owner, Some(new_owner));
let assert = EventAssertion::new(&e, contract.clone());
@@ -67,15 +64,15 @@ fn renounce_ownership_removes_owner() {
let contract = e.register(MockContract, ());
e.as_contract(&contract, || {
- set_owner(&e, &owner);
+ Owner::set_owner(&e, &owner);
});
e.mock_all_auths();
e.as_contract(&contract, || {
- renounce_ownership(&e);
+ Owner::renounce_ownership(&e);
- assert_eq!(get_owner(&e), None);
+ assert_eq!(Owner::get_owner(&e), None);
let assert = EventAssertion::new(&e, contract.clone());
assert.assert_event_count(1);
@@ -89,13 +86,13 @@ fn enforce_owner_auth_works() {
let contract = e.register(MockContract, ());
e.as_contract(&contract, || {
- set_owner(&e, &owner);
+ Owner::set_owner(&e, &owner);
});
e.mock_all_auths();
e.as_contract(&contract, || {
- enforce_owner_auth(&e);
+ Owner::enforce_owner_auth(&e);
});
}
@@ -107,19 +104,19 @@ fn enforce_owner_auth_panics_if_renounced() {
let contract = e.register(MockContract, ());
e.as_contract(&contract, || {
- set_owner(&e, &owner);
+ Owner::set_owner(&e, &owner);
});
e.mock_all_auths();
e.as_contract(&contract, || {
- renounce_ownership(&e);
+ Owner::renounce_ownership(&e);
- assert_eq!(get_owner(&e), None);
+ assert_eq!(Owner::get_owner(&e), None);
});
e.as_contract(&contract, || {
- enforce_owner_auth(&e);
+ Owner::enforce_owner_auth(&e);
});
}
@@ -132,14 +129,14 @@ fn renounce_fails_if_pending_transfer_exists() {
let contract = e.register(MockContract, ());
e.as_contract(&contract, || {
- set_owner(&e, &owner);
+ Owner::set_owner(&e, &owner);
e.storage().temporary().set(&OwnableStorageKey::PendingOwner, &pending);
});
e.mock_all_auths();
e.as_contract(&contract, || {
- renounce_ownership(&e);
+ Owner::renounce_ownership(&e);
});
}
@@ -154,13 +151,13 @@ fn set_owner_when_already_set_panics() {
e.as_contract(&contract, || {
// Set owner for the first time - should succeed
- set_owner(&e, &owner1);
+ Owner::set_owner(&e, &owner1);
// Verify owner is set correctly
- let current_owner = get_owner(&e).unwrap();
+ let current_owner = Owner::get_owner(&e).unwrap();
assert_eq!(current_owner, owner1);
// Try to set owner again - should panic with OwnerAlreadySet error
- set_owner(&e, &owner2);
+ Owner::set_owner(&e, &owner2);
});
}
diff --git a/packages/access/test_snapshots/access_control/test/add_to_role_enumeration_works.1.json b/packages/access/test_snapshots/access_control/test/add_to_role_enumeration_works.1.json
deleted file mode 100644
index b65b90a8..00000000
--- a/packages/access/test_snapshots/access_control/test/add_to_role_enumeration_works.1.json
+++ /dev/null
@@ -1,251 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "symbol": "user"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "symbol": "user"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "user"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "user"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "user"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "user"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/access/test_snapshots/access_control/test/admin_functions_work.1.json b/packages/access/test_snapshots/access_control/test/admin_functions_work.1.json
deleted file mode 100644
index f10281d0..00000000
--- a/packages/access/test_snapshots/access_control/test/admin_functions_work.1.json
+++ /dev/null
@@ -1,256 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "user"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "user"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "role_revoked"
- },
- {
- "symbol": "user"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ],
- "data": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/access/test_snapshots/access_control/test/admin_transfer_cancel_works.1.json b/packages/access/test_snapshots/access_control/test/admin_transfer_cancel_works.1.json
deleted file mode 100644
index 96679797..00000000
--- a/packages/access/test_snapshots/access_control/test/admin_transfer_cancel_works.1.json
+++ /dev/null
@@ -1,216 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "admin_transfer_initiated"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "vec": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "u32": 0
- }
- ]
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/access/test_snapshots/access_control/test/admin_transfer_fails_when_no_admin_set.1.json b/packages/access/test_snapshots/access_control/test/admin_transfer_fails_when_no_admin_set.1.json
deleted file mode 100644
index 99a7604a..00000000
--- a/packages/access/test_snapshots/access_control/test/admin_transfer_fails_when_no_admin_set.1.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/access/test_snapshots/access_control/test/admin_transfer_works_with_admin_auth.1.json b/packages/access/test_snapshots/access_control/test/admin_transfer_works_with_admin_auth.1.json
deleted file mode 100644
index cf9cf1d2..00000000
--- a/packages/access/test_snapshots/access_control/test/admin_transfer_works_with_admin_auth.1.json
+++ /dev/null
@@ -1,209 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "admin_transfer_completed"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ],
- "data": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/access/test_snapshots/access_control/test/ensure_if_admin_or_admin_role_allows_role_admin_without_contract_admin.1.json b/packages/access/test_snapshots/access_control/test/ensure_if_admin_or_admin_role_allows_role_admin_without_contract_admin.1.json
deleted file mode 100644
index e4533fe1..00000000
--- a/packages/access/test_snapshots/access_control/test/ensure_if_admin_or_admin_role_allows_role_admin_without_contract_admin.1.json
+++ /dev/null
@@ -1,353 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "manager"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "manager"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "user"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "user"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "symbol": "manager"
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "role_admin_changed"
- },
- {
- "symbol": "user"
- }
- ],
- "data": {
- "vec": [
- {
- "symbol": ""
- },
- {
- "symbol": "manager"
- }
- ]
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "role_granted"
- },
- {
- "symbol": "manager"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/access/test_snapshots/access_control/test/get_admin_with_no_admin_set_works.1.json b/packages/access/test_snapshots/access_control/test/get_admin_with_no_admin_set_works.1.json
deleted file mode 100644
index a90f00a8..00000000
--- a/packages/access/test_snapshots/access_control/test/get_admin_with_no_admin_set_works.1.json
+++ /dev/null
@@ -1,76 +0,0 @@
-{
- "generators": {
- "address": 1,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/access/test_snapshots/access_control/test/get_role_admin_returns_none_when_not_set.1.json b/packages/access/test_snapshots/access_control/test/get_role_admin_returns_none_when_not_set.1.json
deleted file mode 100644
index 54b7bf7a..00000000
--- a/packages/access/test_snapshots/access_control/test/get_role_admin_returns_none_when_not_set.1.json
+++ /dev/null
@@ -1,89 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/access/test_snapshots/access_control/test/get_role_admin_returns_some_when_set.1.json b/packages/access/test_snapshots/access_control/test/get_role_admin_returns_some_when_set.1.json
deleted file mode 100644
index 6c3d0e0b..00000000
--- a/packages/access/test_snapshots/access_control/test/get_role_admin_returns_some_when_set.1.json
+++ /dev/null
@@ -1,212 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "user"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "user"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "symbol": "admin"
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "role_admin_changed"
- },
- {
- "symbol": "user"
- }
- ],
- "data": {
- "vec": [
- {
- "symbol": ""
- },
- {
- "symbol": "admin"
- }
- ]
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/access/test_snapshots/access_control/test/get_role_member_count_for_nonexistent_role_returns_zero.1.json b/packages/access/test_snapshots/access_control/test/get_role_member_count_for_nonexistent_role_returns_zero.1.json
deleted file mode 100644
index 54b7bf7a..00000000
--- a/packages/access/test_snapshots/access_control/test/get_role_member_count_for_nonexistent_role_returns_zero.1.json
+++ /dev/null
@@ -1,89 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/access/test_snapshots/access_control/test/get_role_member_with_out_of_bounds_index_panics.1.json b/packages/access/test_snapshots/access_control/test/get_role_member_with_out_of_bounds_index_panics.1.json
deleted file mode 100644
index f2a9fd8d..00000000
--- a/packages/access/test_snapshots/access_control/test/get_role_member_with_out_of_bounds_index_panics.1.json
+++ /dev/null
@@ -1,310 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "symbol": "user"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "symbol": "user"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "user"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "user"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "user"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "user"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "role_granted"
- },
- {
- "symbol": "user"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ],
- "data": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/access/test_snapshots/access_control/test/remove_from_role_enumeration_for_last_account_works.1.json b/packages/access/test_snapshots/access_control/test/remove_from_role_enumeration_for_last_account_works.1.json
deleted file mode 100644
index d86de33d..00000000
--- a/packages/access/test_snapshots/access_control/test/remove_from_role_enumeration_for_last_account_works.1.json
+++ /dev/null
@@ -1,121 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "user"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "user"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/access/test_snapshots/access_control/test/remove_from_role_enumeration_with_account_not_in_role_panics.1.json b/packages/access/test_snapshots/access_control/test/remove_from_role_enumeration_with_account_not_in_role_panics.1.json
deleted file mode 100644
index 9581a8d8..00000000
--- a/packages/access/test_snapshots/access_control/test/remove_from_role_enumeration_with_account_not_in_role_panics.1.json
+++ /dev/null
@@ -1,250 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "symbol": "user"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "symbol": "user"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "user"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "user"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "user"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "user"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/access/test_snapshots/access_control/test/remove_from_role_enumeration_with_nonexistent_role_panics.1.json b/packages/access/test_snapshots/access_control/test/remove_from_role_enumeration_with_nonexistent_role_panics.1.json
deleted file mode 100644
index 99a7604a..00000000
--- a/packages/access/test_snapshots/access_control/test/remove_from_role_enumeration_with_nonexistent_role_panics.1.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/access/test_snapshots/access_control/test/remove_from_role_enumeration_works.1.json b/packages/access/test_snapshots/access_control/test/remove_from_role_enumeration_works.1.json
deleted file mode 100644
index 1ac5d157..00000000
--- a/packages/access/test_snapshots/access_control/test/remove_from_role_enumeration_works.1.json
+++ /dev/null
@@ -1,251 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "symbol": "user"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "symbol": "user"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "user"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "user"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "user"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "user"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/access/test_snapshots/access_control/test/remove_role_accounts_count_no_auth_does_not_remove_nonzero_count.1.json b/packages/access/test_snapshots/access_control/test/remove_role_accounts_count_no_auth_does_not_remove_nonzero_count.1.json
deleted file mode 100644
index 3e36fdf6..00000000
--- a/packages/access/test_snapshots/access_control/test/remove_role_accounts_count_no_auth_does_not_remove_nonzero_count.1.json
+++ /dev/null
@@ -1,250 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "symbol": "user"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "symbol": "user"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "user"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "user"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "user"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "user"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/access/test_snapshots/access_control/test/remove_role_accounts_count_no_auth_panics_with_nonexistent_role.1.json b/packages/access/test_snapshots/access_control/test/remove_role_accounts_count_no_auth_panics_with_nonexistent_role.1.json
deleted file mode 100644
index 2d0a0a65..00000000
--- a/packages/access/test_snapshots/access_control/test/remove_role_accounts_count_no_auth_panics_with_nonexistent_role.1.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "generators": {
- "address": 1,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/access/test_snapshots/access_control/test/remove_role_accounts_count_no_auth_works.1.json b/packages/access/test_snapshots/access_control/test/remove_role_accounts_count_no_auth_works.1.json
deleted file mode 100644
index 56557491..00000000
--- a/packages/access/test_snapshots/access_control/test/remove_role_accounts_count_no_auth_works.1.json
+++ /dev/null
@@ -1,76 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/access/test_snapshots/access_control/test/remove_role_admin_no_auth_panics_with_nonexistent_role.1.json b/packages/access/test_snapshots/access_control/test/remove_role_admin_no_auth_panics_with_nonexistent_role.1.json
deleted file mode 100644
index 2d0a0a65..00000000
--- a/packages/access/test_snapshots/access_control/test/remove_role_admin_no_auth_panics_with_nonexistent_role.1.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "generators": {
- "address": 1,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/access/test_snapshots/access_control/test/remove_role_admin_no_auth_works.1.json b/packages/access/test_snapshots/access_control/test/remove_role_admin_no_auth_works.1.json
deleted file mode 100644
index eaf744d2..00000000
--- a/packages/access/test_snapshots/access_control/test/remove_role_admin_no_auth_works.1.json
+++ /dev/null
@@ -1,167 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "role_admin_changed"
- },
- {
- "symbol": "user"
- }
- ],
- "data": {
- "vec": [
- {
- "symbol": ""
- },
- {
- "symbol": "admin"
- }
- ]
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/access/test_snapshots/access_control/test/renounce_admin_fails_when_no_admin_set.1.json b/packages/access/test_snapshots/access_control/test/renounce_admin_fails_when_no_admin_set.1.json
deleted file mode 100644
index 2d0a0a65..00000000
--- a/packages/access/test_snapshots/access_control/test/renounce_admin_fails_when_no_admin_set.1.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "generators": {
- "address": 1,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/access/test_snapshots/access_control/test/renounce_admin_works.1.json b/packages/access/test_snapshots/access_control/test/renounce_admin_works.1.json
deleted file mode 100644
index 8adad84d..00000000
--- a/packages/access/test_snapshots/access_control/test/renounce_admin_works.1.json
+++ /dev/null
@@ -1,145 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": []
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "admin_renounced"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": "void"
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/access/test_snapshots/access_control/test/renounce_nonexistent_role_panics.1.json b/packages/access/test_snapshots/access_control/test/renounce_nonexistent_role_panics.1.json
deleted file mode 100644
index f3d2d6d5..00000000
--- a/packages/access/test_snapshots/access_control/test/renounce_nonexistent_role_panics.1.json
+++ /dev/null
@@ -1,108 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/access/test_snapshots/access_control/test/renounce_role_works.1.json b/packages/access/test_snapshots/access_control/test/renounce_role_works.1.json
deleted file mode 100644
index 75357c8c..00000000
--- a/packages/access/test_snapshots/access_control/test/renounce_role_works.1.json
+++ /dev/null
@@ -1,280 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ],
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "user"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "user"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "role_granted"
- },
- {
- "symbol": "user"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ],
- "data": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "role_revoked"
- },
- {
- "symbol": "user"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ],
- "data": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/access/test_snapshots/access_control/test/role_admin_management_works.1.json b/packages/access/test_snapshots/access_control/test/role_admin_management_works.1.json
deleted file mode 100644
index 3ebd1884..00000000
--- a/packages/access/test_snapshots/access_control/test/role_admin_management_works.1.json
+++ /dev/null
@@ -1,570 +0,0 @@
-{
- "generators": {
- "address": 4,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ],
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "manager"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "manager"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "manager"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "user"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "user"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "user"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAdmin"
- },
- {
- "symbol": "user"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "symbol": "manager"
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1033654523790656264
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1033654523790656264
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4837995959683129791
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 4837995959683129791
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "role_revoked"
- },
- {
- "symbol": "user"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- ],
- "data": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/access/test_snapshots/access_control/test/role_management_works.1.json b/packages/access/test_snapshots/access_control/test/role_management_works.1.json
deleted file mode 100644
index 17ad9901..00000000
--- a/packages/access/test_snapshots/access_control/test/role_management_works.1.json
+++ /dev/null
@@ -1,434 +0,0 @@
-{
- "generators": {
- "address": 4,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "symbol": "user"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "symbol": "user"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "user"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "user"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "user"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "user"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 1555200
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1033654523790656264
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1033654523790656264
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "role_revoked"
- },
- {
- "symbol": "user"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ],
- "data": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/access/test_snapshots/access_control/test/set_admin_when_already_set_panics.1.json b/packages/access/test_snapshots/access_control/test/set_admin_when_already_set_panics.1.json
deleted file mode 100644
index 129890fa..00000000
--- a/packages/access/test_snapshots/access_control/test/set_admin_when_already_set_panics.1.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/access/test_snapshots/access_control/test/unauthorized_role_grant_panics.1.json b/packages/access/test_snapshots/access_control/test/unauthorized_role_grant_panics.1.json
deleted file mode 100644
index 215e010a..00000000
--- a/packages/access/test_snapshots/access_control/test/unauthorized_role_grant_panics.1.json
+++ /dev/null
@@ -1,108 +0,0 @@
-{
- "generators": {
- "address": 4,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/access/test_snapshots/access_control/test/unauthorized_role_revoke_panics.1.json b/packages/access/test_snapshots/access_control/test/unauthorized_role_revoke_panics.1.json
deleted file mode 100644
index e97174f2..00000000
--- a/packages/access/test_snapshots/access_control/test/unauthorized_role_revoke_panics.1.json
+++ /dev/null
@@ -1,343 +0,0 @@
-{
- "generators": {
- "address": 4,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "symbol": "user"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "symbol": "user"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "user"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "user"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "user"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "user"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "role_granted"
- },
- {
- "symbol": "user"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ],
- "data": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/access/test_snapshots/ownable/test/accept_ownership_completes_transfer.1.json b/packages/access/test_snapshots/ownable/test/accept_ownership_completes_transfer.1.json
deleted file mode 100644
index f5effbbd..00000000
--- a/packages/access/test_snapshots/ownable/test/accept_ownership_completes_transfer.1.json
+++ /dev/null
@@ -1,157 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000003",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "ownership_transfer_completed"
- }
- ],
- "data": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/access/test_snapshots/ownable/test/enforce_owner_auth_panics_if_renounced.1.json b/packages/access/test_snapshots/ownable/test/enforce_owner_auth_panics_if_renounced.1.json
deleted file mode 100644
index 2381df91..00000000
--- a/packages/access/test_snapshots/ownable/test/enforce_owner_auth_panics_if_renounced.1.json
+++ /dev/null
@@ -1,124 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": []
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/access/test_snapshots/ownable/test/enforce_owner_auth_works.1.json b/packages/access/test_snapshots/ownable/test/enforce_owner_auth_works.1.json
deleted file mode 100644
index 9464039a..00000000
--- a/packages/access/test_snapshots/ownable/test/enforce_owner_auth_works.1.json
+++ /dev/null
@@ -1,137 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/access/test_snapshots/ownable/test/renounce_fails_if_pending_transfer_exists.1.json b/packages/access/test_snapshots/ownable/test/renounce_fails_if_pending_transfer_exists.1.json
deleted file mode 100644
index 0e90a8a4..00000000
--- a/packages/access/test_snapshots/ownable/test/renounce_fails_if_pending_transfer_exists.1.json
+++ /dev/null
@@ -1,161 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "PendingOwner"
- }
- ]
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "PendingOwner"
- }
- ]
- },
- "durability": "temporary",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 15
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/access/test_snapshots/ownable/test/renounce_ownership_removes_owner.1.json b/packages/access/test_snapshots/ownable/test/renounce_ownership_removes_owner.1.json
deleted file mode 100644
index 2f9fafb3..00000000
--- a/packages/access/test_snapshots/ownable/test/renounce_ownership_removes_owner.1.json
+++ /dev/null
@@ -1,145 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": []
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000002",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "ownership_renounced"
- }
- ],
- "data": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/access/test_snapshots/ownable/test/set_owner_when_already_set_panics.1.json b/packages/access/test_snapshots/ownable/test/set_owner_when_already_set_panics.1.json
deleted file mode 100644
index 129890fa..00000000
--- a/packages/access/test_snapshots/ownable/test/set_owner_when_already_set_panics.1.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/access/test_snapshots/ownable/test/transfer_ownership_sets_pending.1.json b/packages/access/test_snapshots/ownable/test/transfer_ownership_sets_pending.1.json
deleted file mode 100644
index 2e959484..00000000
--- a/packages/access/test_snapshots/ownable/test/transfer_ownership_sets_pending.1.json
+++ /dev/null
@@ -1,207 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "PendingOwner"
- }
- ]
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "PendingOwner"
- }
- ]
- },
- "durability": "temporary",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 1000
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000003",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "ownership_transfer"
- }
- ],
- "data": {
- "vec": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "u32": 1000
- }
- ]
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/access/test_snapshots/role_transfer/test/accept_transfer_with_no_pending_transfer_panics.1.json b/packages/access/test_snapshots/role_transfer/test/accept_transfer_with_no_pending_transfer_panics.1.json
deleted file mode 100644
index 99a7604a..00000000
--- a/packages/access/test_snapshots/role_transfer/test/accept_transfer_with_no_pending_transfer_panics.1.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/access/test_snapshots/role_transfer/test/cancel_transfer_when_there_is_no_pending_transfer_panics.1.json b/packages/access/test_snapshots/role_transfer/test/cancel_transfer_when_there_is_no_pending_transfer_panics.1.json
deleted file mode 100644
index 129890fa..00000000
--- a/packages/access/test_snapshots/role_transfer/test/cancel_transfer_when_there_is_no_pending_transfer_panics.1.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/access/test_snapshots/role_transfer/test/cannot_cancel_with_invalid_pending_address.1.json b/packages/access/test_snapshots/role_transfer/test/cannot_cancel_with_invalid_pending_address.1.json
deleted file mode 100644
index 38253f41..00000000
--- a/packages/access/test_snapshots/role_transfer/test/cannot_cancel_with_invalid_pending_address.1.json
+++ /dev/null
@@ -1,128 +0,0 @@
-{
- "generators": {
- "address": 4,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "PendingAdmin"
- }
- ]
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "PendingAdmin"
- }
- ]
- },
- "durability": "temporary",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- },
- "ext": "v0"
- },
- 1000
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/access/test_snapshots/role_transfer/test/role_transfer_cancel_works.1.json b/packages/access/test_snapshots/role_transfer/test/role_transfer_cancel_works.1.json
deleted file mode 100644
index e811a086..00000000
--- a/packages/access/test_snapshots/role_transfer/test/role_transfer_cancel_works.1.json
+++ /dev/null
@@ -1,90 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/access/test_snapshots/role_transfer/test/role_transfer_works.1.json b/packages/access/test_snapshots/role_transfer/test/role_transfer_works.1.json
deleted file mode 100644
index 172f198d..00000000
--- a/packages/access/test_snapshots/role_transfer/test/role_transfer_works.1.json
+++ /dev/null
@@ -1,136 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/access/test_snapshots/role_transfer/test/transfer_with_invalid_live_until_ledger_panics.1.json b/packages/access/test_snapshots/role_transfer/test/transfer_with_invalid_live_until_ledger_panics.1.json
deleted file mode 100644
index 0469b2db..00000000
--- a/packages/access/test_snapshots/role_transfer/test/transfer_with_invalid_live_until_ledger_panics.1.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 1000,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/contract-utils/Cargo.toml b/packages/contract-utils/Cargo.toml
index 7a532d01..aca8aea0 100644
--- a/packages/contract-utils/Cargo.toml
+++ b/packages/contract-utils/Cargo.toml
@@ -14,6 +14,8 @@ doctest = false
[dependencies]
soroban-sdk = { workspace = true }
+stellar-macros = { workspace = true }
+stellar-access = { workspace = true }
[dev-dependencies]
soroban-sdk = { workspace = true, features = ["testutils"] }
diff --git a/packages/contract-utils/src/lib.rs b/packages/contract-utils/src/lib.rs
index 837d79d3..21b1282a 100644
--- a/packages/contract-utils/src/lib.rs
+++ b/packages/contract-utils/src/lib.rs
@@ -4,3 +4,7 @@ pub mod crypto;
pub mod merkle_distributor;
pub mod pausable;
pub mod upgradeable;
+
+pub use pausable::{Pausable, PausableDefault};
+pub use stellar_macros::Upgradeable;
+// pub use upgradeable::{Upgradeable, UpgradeableClient};
diff --git a/packages/contract-utils/src/pausable/mod.rs b/packages/contract-utils/src/pausable/mod.rs
index 489a1010..f1fff725 100644
--- a/packages/contract-utils/src/pausable/mod.rs
+++ b/packages/contract-utils/src/pausable/mod.rs
@@ -51,19 +51,20 @@ mod storage;
mod test;
-use soroban_sdk::{contracterror, symbol_short, Address, Env};
+use soroban_sdk::{contracterror, contracttrait, panic_with_error, symbol_short, Env};
-pub use crate::pausable::storage::{pause, paused, unpause, when_not_paused, when_paused};
+pub use crate::pausable::storage::{
+ pause, paused, unpause, when_not_paused, when_paused, PausableDefault,
+};
+#[contracttrait(default = PausableDefault)]
pub trait Pausable {
/// Returns true if the contract is paused, and false otherwise.
///
/// # Arguments
///
/// * `e` - Access to Soroban environment.
- fn paused(e: &Env) -> bool {
- crate::pausable::paused(e)
- }
+ fn paused(e: &Env) -> bool;
/// Triggers `Paused` state.
///
@@ -92,7 +93,7 @@ pub trait Pausable {
/// intentionally lacks authorization controls. If you want to restrict
/// who can `pause` the contract, you MUST implement proper
/// authorization in your contract.
- fn pause(e: &Env, caller: Address);
+ fn pause(e: &Env, caller: &soroban_sdk::Address);
/// Triggers `Unpaused` state.
///
@@ -121,7 +122,43 @@ pub trait Pausable {
/// intentionally lacks authorization controls. If you want to restrict
/// who can `unpause` the contract, you MUST implement proper
/// authorization in your contract.
- fn unpause(e: &Env, caller: Address);
+ fn unpause(e: &Env, caller: &soroban_sdk::Address);
+
+ /// Helper to make a function callable only when the contract is NOT paused.
+ ///
+ /// # Arguments
+ ///
+ /// * `e` - Access to Soroban environment.
+ ///
+ /// # Errors
+ ///
+ /// * [`PausableError::EnforcedPause`] - Occurs when the contract is already
+ /// in `Paused` state.
+ #[internal]
+ fn when_not_paused(e: &Env) {
+ if Self::paused(e) {
+ panic_with_error!(e, PausableError::EnforcedPause);
+ }
+ }
+
+ /// Helper to make a function callable only when the contract is paused.
+ ///
+ /// # Arguments
+ ///
+ /// * `e` - Access to Soroban environment.
+ ///
+ /// # Errors
+ ///
+ /// * [`PausableError::ExpectedPause`] - Occurs when the contract is already
+ /// in `Unpaused` state.
+ #[internal]
+ fn when_paused(e: &Env) {
+ if !Self::paused(e) {
+ {
+ e.panic_with_error(PausableError::ExpectedPause);
+ };
+ }
+ }
}
// ################## ERRORS ##################
diff --git a/packages/contract-utils/src/pausable/storage.rs b/packages/contract-utils/src/pausable/storage.rs
index 45dd4efd..5714c79f 100644
--- a/packages/contract-utils/src/pausable/storage.rs
+++ b/packages/contract-utils/src/pausable/storage.rs
@@ -1,5 +1,6 @@
use soroban_sdk::{contracttype, panic_with_error, Env};
+use super::Pausable;
use crate::pausable::{emit_paused, emit_unpaused, PausableError};
/// Storage key for the pausable state
@@ -9,6 +10,39 @@ pub enum PausableStorageKey {
Paused,
}
+pub struct PausableDefault;
+
+impl Pausable for PausableDefault {
+ type Impl = Self;
+
+ /// Returns true if the contract is paused, and false otherwise.
+ ///
+ /// # Arguments
+ ///
+ /// * `e` - Access to Soroban environment.
+ fn paused(e: &Env) -> bool {
+ paused(e)
+ }
+
+ /// Triggers `Paused` state.
+ ///
+ /// # Arguments
+ ///
+ /// * `e` - Access to Soroban environment.
+ fn pause(e: &Env, _caller: &soroban_sdk::Address) {
+ pause(e);
+ }
+
+ /// Triggers `Unpaused` state.
+ ///
+ /// # Arguments
+ ///
+ /// * `e` - Access to Soroban environment.
+ fn unpause(e: &Env, _caller: &soroban_sdk::Address) {
+ unpause(e);
+ }
+}
+
/// Returns true if the contract is paused, and false otherwise.
///
/// # Arguments
diff --git a/packages/contract-utils/src/upgradeable/mod.rs b/packages/contract-utils/src/upgradeable/mod.rs
index ea3513d4..6a41b14e 100644
--- a/packages/contract-utils/src/upgradeable/mod.rs
+++ b/packages/contract-utils/src/upgradeable/mod.rs
@@ -76,11 +76,8 @@ mod storage;
mod test;
-use soroban_sdk::{contractclient, contracterror, Address, BytesN, Env, FromVal, Val};
-
-pub use crate::upgradeable::storage::{
- can_complete_migration, complete_migration, enable_migration, ensure_can_complete_migration,
-};
+use soroban_sdk::{contractclient, BytesN, Env};
+use stellar_access::Ownable;
/// High-level trait for contract upgrades.
///
@@ -99,7 +96,8 @@ pub use crate::upgradeable::storage::{
/// - Provide access control by implementing [`UpgradeableInternal`] with
/// your custom logic
#[contractclient(name = "UpgradeableClient")]
-pub trait Upgradeable {
+// #[soroban_sdk::contracttrait(no_impl = true)]
+pub trait Upgradeable: Ownable {
/// Upgrades the contract by setting a new WASM bytecode. The
/// contract will only be upgraded after the invocation has
/// successfully completed.
@@ -110,94 +108,8 @@ pub trait Upgradeable {
/// * `new_wasm_hash` - A 32-byte hash identifying the new WASM blob,
/// uploaded to the ledger.
/// * `operator` - The authorized address performing the upgrade.
- fn upgrade(e: &Env, new_wasm_hash: BytesN<32>, operator: Address);
-}
-
-/// Trait to be implemented for a custom upgrade authorization mechanism.
-/// Requires defining access control logic for who can upgrade the contract.
-pub trait UpgradeableInternal {
- /// Ensures the `operator` has signed and is authorized to perform the
- /// upgrade.
- ///
- /// This must be implemented by the consuming contract.
- ///
- /// # Arguments
- ///
- /// * `e` - The Soroban environment.
- /// * `operator` - The address attempting the upgrade. Can be G-account, or
- /// another contract (C-account) such as timelock or governor.
- fn _require_auth(e: &Env, operator: &Address);
-}
-
-/// High-level trait for a combination of upgrade and migration logic in
-/// upgradeable contracts.
-///
-/// This trait defines the external entry points for applying both, an upgrade
-/// and a migration. It is recommended to be used only as part of the
-/// lightweight upgrade framework provided in this module.
-///
-/// When using the framework, this trait is automatically derived with
-/// `#[derive(UpgradeableMigratable)]`, and should NOT be manually implemented.
-/// Instead, the contract must define access control via `_require_auth` and
-/// provide its custom migration logic by implementing
-/// `UpgradeableMigratableInternal`.
-pub trait UpgradeableMigratable: UpgradeableMigratableInternal {
- /// Upgrades the contract by setting a new WASM bytecode. The
- /// contract will only be upgraded after the invocation has
- /// successfully completed.
- ///
- /// # Arguments
- ///
- /// * `e` - Access to Soroban environment.
- /// * `new_wasm_hash` - A 32-byte hash identifying the new WASM blob,
- /// uploaded to the ledger.
- /// * `operator` - The authorized address performing the upgrade and the
- /// migration.
- fn upgrade(e: &Env, new_wasm_hash: BytesN<32>, operator: Address);
-
- /// Entry point to handle a contract migration.
- ///
- /// # Arguments
- ///
- /// * `e` - The Soroban environment.
- /// * `migration_data` - Arbitrary data passed to the migration logic.
- /// * `operator` - The authorized address performing the upgrade and the
- /// migration.
- fn migrate(e: &Env, migration_data: Self::MigrationData, operator: Address);
-}
-
-/// Trait to be implemented for custom migration. Requires defining access
-/// control and custom business logic for a migration after an upgrade.
-pub trait UpgradeableMigratableInternal {
- /// Type representing structured data needed during migration.
- type MigrationData: FromVal;
-
- /// Applies migration logic using the given data.
- ///
- /// # Arguments
- ///
- /// * `e` - The Soroban environment.
- /// * `migration_data` - Migration-specific input data.
- fn _migrate(e: &Env, migration_data: &Self::MigrationData);
-
- /// Ensures the `operator` has signed and is authorized to perform the
- /// upgrade and the migration.
- ///
- /// This must be implemented by the consuming contract.
- ///
- /// # Arguments
- ///
- /// * `e` - The Soroban environment.
- /// * `operator` - The address attempting the upgrade and the migration. Can
- /// be a G-account, or another contract (C-account) such as timelock or
- /// governor.
- fn _require_auth(e: &Env, operator: &Address);
-}
-
-#[contracterror]
-#[derive(Copy, Clone, Debug, Eq, PartialEq, PartialOrd, Ord)]
-#[repr(u32)]
-pub enum UpgradeableError {
- /// When migration is attempted but not allowed due to upgrade state.
- MigrationNotAllowed = 1100,
+ fn upgrade(e: &Env, new_wasm_hash: BytesN<32>) {
+ Self::only_owner(e);
+ e.deployer().update_current_contract_wasm(new_wasm_hash);
+ }
}
diff --git a/packages/contract-utils/src/upgradeable/storage.rs b/packages/contract-utils/src/upgradeable/storage.rs
index b25dfecb..122db2ba 100644
--- a/packages/contract-utils/src/upgradeable/storage.rs
+++ b/packages/contract-utils/src/upgradeable/storage.rs
@@ -1,47 +1,47 @@
-use soroban_sdk::{panic_with_error, symbol_short, Env, Symbol};
+// use soroban_sdk::{panic_with_error, symbol_short, Env, Symbol};
-use crate::upgradeable::UpgradeableError;
+// use crate::upgradeable::UpgradeableError;
-pub const MIGRATING: Symbol = symbol_short!("MIGRATING");
+// pub const MIGRATING: Symbol = symbol_short!("MIGRATING");
-/// Sets the `MIGRATING` state to `true`, enabling migration process.
-///
-/// # Arguments
-///
-/// * `e` - The Soroban environment.
-pub fn enable_migration(e: &Env) {
- e.storage().instance().set(&MIGRATING, &true);
-}
+// /// Sets the `MIGRATING` state to `true`, enabling migration process.
+// ///
+// /// # Arguments
+// ///
+// /// * `e` - The Soroban environment.
+// pub fn enable_migration(e: &Env) {
+// e.storage().instance().set(&MIGRATING, &true);
+// }
-/// Returns `true` if completing migration is allowed.
-///
-/// # Arguments
-///
-/// * `e` - The Soroban environment.
-pub fn can_complete_migration(e: &Env) -> bool {
- e.storage().instance().get::<_, bool>(&MIGRATING).unwrap_or(false)
-}
+// /// Returns `true` if completing migration is allowed.
+// ///
+// /// # Arguments
+// ///
+// /// * `e` - The Soroban environment.
+// pub fn can_complete_migration(e: &Env) -> bool {
+// e.storage().instance().get::<_, bool>(&MIGRATING).unwrap_or(false)
+// }
-/// Sets the `MIGRATING` state to `false`, completing the migration process.
-///
-/// # Arguments
-///
-/// * `e` - The Soroban environment.
-pub fn complete_migration(e: &Env) {
- e.storage().instance().set(&MIGRATING, &false);
-}
+// /// Sets the `MIGRATING` state to `false`, completing the migration process.
+// ///
+// /// # Arguments
+// ///
+// /// * `e` - The Soroban environment.
+// pub fn complete_migration(e: &Env) {
+// e.storage().instance().set(&MIGRATING, &false);
+// }
-/// Ensures that completing migration is allowed, otherwise panics.
-///
-/// # Arguments
-///
-/// * `e` - The Soroban environment.
-///
-/// # Errors
-///
-/// * [`UpgradeableError::MigrationNotAllowed`] - If `MIGRATING` is `false`.
-pub fn ensure_can_complete_migration(e: &Env) {
- if !can_complete_migration(e) {
- panic_with_error!(e, UpgradeableError::MigrationNotAllowed)
- }
-}
+// /// Ensures that completing migration is allowed, otherwise panics.
+// ///
+// /// # Arguments
+// ///
+// /// * `e` - The Soroban environment.
+// ///
+// /// # Errors
+// ///
+// /// * [`UpgradeableError::MigrationNotAllowed`] - If `MIGRATING` is `false`.
+// pub fn ensure_can_complete_migration(e: &Env) {
+// if !can_complete_migration(e) {
+// panic_with_error!(e, UpgradeableError::MigrationNotAllowed)
+// }
+// }
diff --git a/packages/contract-utils/src/upgradeable/test.rs b/packages/contract-utils/src/upgradeable/test.rs
index 2840b682..91fd02a4 100644
--- a/packages/contract-utils/src/upgradeable/test.rs
+++ b/packages/contract-utils/src/upgradeable/test.rs
@@ -1,38 +1,38 @@
-#![cfg(test)]
+// #![cfg(test)]
-use soroban_sdk::{contract, Env};
+// use soroban_sdk::{contract, Env};
-use crate::upgradeable::storage::{
- can_complete_migration, complete_migration, enable_migration, ensure_can_complete_migration,
-};
+// use crate::upgradeable::storage::{
+// can_complete_migration, complete_migration, enable_migration,
+// ensure_can_complete_migration, };
-#[contract]
-struct MockContract;
+// #[contract]
+// struct MockContract;
-#[test]
-fn upgrade_flow_works() {
- let e = Env::default();
- let address = e.register(MockContract, ());
+// #[test]
+// fn upgrade_flow_works() {
+// let e = Env::default();
+// let address = e.register(MockContract, ());
- e.as_contract(&address, || {
- assert!(!can_complete_migration(&e));
+// e.as_contract(&address, || {
+// assert!(!can_complete_migration(&e));
- enable_migration(&e);
- assert!(can_complete_migration(&e));
+// enable_migration(&e);
+// assert!(can_complete_migration(&e));
- complete_migration(&e);
- assert!(!can_complete_migration(&e));
- });
-}
+// complete_migration(&e);
+// assert!(!can_complete_migration(&e));
+// });
+// }
-#[test]
-#[should_panic(expected = "Error(Contract, #1100)")]
-fn upgrade_ensure_can_complete_migration_panics_if_not_migrating() {
- let e = Env::default();
- let address = e.register(MockContract, ());
+// #[test]
+// #[should_panic(expected = "Error(Contract, #1100)")]
+// fn upgrade_ensure_can_complete_migration_panics_if_not_migrating() {
+// let e = Env::default();
+// let address = e.register(MockContract, ());
- e.as_contract(&address, || {
- complete_migration(&e);
- ensure_can_complete_migration(&e);
- });
-}
+// e.as_contract(&address, || {
+// complete_migration(&e);
+// ensure_can_complete_migration(&e);
+// });
+// }
diff --git a/packages/contract-utils/test_snapshots/merkle_distributor/test/test_claim_already_claimed_index_fails.1.json b/packages/contract-utils/test_snapshots/merkle_distributor/test/test_claim_already_claimed_index_fails.1.json
deleted file mode 100644
index 78579b8f..00000000
--- a/packages/contract-utils/test_snapshots/merkle_distributor/test/test_claim_already_claimed_index_fails.1.json
+++ /dev/null
@@ -1,161 +0,0 @@
-{
- "generators": {
- "address": 1,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Claimed"
- },
- {
- "u32": 3
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Claimed"
- },
- {
- "u32": 3
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "bool": true
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "set_root"
- }
- ],
- "data": {
- "bytes": "11932105f1a4d0092e87cead3a543da5afd8adcff63f9a8ceb6c5db3c8135722"
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "set_claimed"
- }
- ],
- "data": {
- "u32": 3
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/contract-utils/test_snapshots/merkle_distributor/test/test_root_not_set_fails.1.json b/packages/contract-utils/test_snapshots/merkle_distributor/test/test_root_not_set_fails.1.json
deleted file mode 100644
index 99a7604a..00000000
--- a/packages/contract-utils/test_snapshots/merkle_distributor/test/test_root_not_set_fails.1.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/contract-utils/test_snapshots/merkle_distributor/test/test_set_root_and_successful_claim_emits_events.1.json b/packages/contract-utils/test_snapshots/merkle_distributor/test/test_set_root_and_successful_claim_emits_events.1.json
deleted file mode 100644
index ff81fe15..00000000
--- a/packages/contract-utils/test_snapshots/merkle_distributor/test/test_set_root_and_successful_claim_emits_events.1.json
+++ /dev/null
@@ -1,175 +0,0 @@
-{
- "generators": {
- "address": 1,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Claimed"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Claimed"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "bool": true
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Root"
- }
- ]
- },
- "val": {
- "bytes": "0808080808080808080808080808080808080808080808080808080808080808"
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "set_root"
- }
- ],
- "data": {
- "bytes": "0808080808080808080808080808080808080808080808080808080808080808"
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "set_claimed"
- }
- ],
- "data": {
- "u32": 1
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/contract-utils/test_snapshots/merkle_distributor/test/test_unsorted_claim_already_claimed_index_fails.1.json b/packages/contract-utils/test_snapshots/merkle_distributor/test/test_unsorted_claim_already_claimed_index_fails.1.json
deleted file mode 100644
index a9dca09c..00000000
--- a/packages/contract-utils/test_snapshots/merkle_distributor/test/test_unsorted_claim_already_claimed_index_fails.1.json
+++ /dev/null
@@ -1,161 +0,0 @@
-{
- "generators": {
- "address": 1,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Claimed"
- },
- {
- "u32": 3
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Claimed"
- },
- {
- "u32": 3
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "bool": true
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "set_root"
- }
- ],
- "data": {
- "bytes": "103d1530956325ffc0b01abc52b7b3bedecf9a0b013553e864e3cecddf3bea2d"
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "set_claimed"
- }
- ],
- "data": {
- "u32": 3
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/contract-utils/test_snapshots/merkle_distributor/test/test_unsorted_root_not_set_fails.1.json b/packages/contract-utils/test_snapshots/merkle_distributor/test/test_unsorted_root_not_set_fails.1.json
deleted file mode 100644
index 99a7604a..00000000
--- a/packages/contract-utils/test_snapshots/merkle_distributor/test/test_unsorted_root_not_set_fails.1.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/contract-utils/test_snapshots/merkle_distributor/test/test_unsorted_valid_merkle_proof_succeeds.1.json b/packages/contract-utils/test_snapshots/merkle_distributor/test/test_unsorted_valid_merkle_proof_succeeds.1.json
deleted file mode 100644
index 45b4cfcb..00000000
--- a/packages/contract-utils/test_snapshots/merkle_distributor/test/test_unsorted_valid_merkle_proof_succeeds.1.json
+++ /dev/null
@@ -1,175 +0,0 @@
-{
- "generators": {
- "address": 1,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Claimed"
- },
- {
- "u32": 3
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Claimed"
- },
- {
- "u32": 3
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "bool": true
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Root"
- }
- ]
- },
- "val": {
- "bytes": "103d1530956325ffc0b01abc52b7b3bedecf9a0b013553e864e3cecddf3bea2d"
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "set_root"
- }
- ],
- "data": {
- "bytes": "103d1530956325ffc0b01abc52b7b3bedecf9a0b013553e864e3cecddf3bea2d"
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "set_claimed"
- }
- ],
- "data": {
- "u32": 3
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/contract-utils/test_snapshots/merkle_distributor/test/test_unsorted_verify_with_invalid_proof_fails.1.json b/packages/contract-utils/test_snapshots/merkle_distributor/test/test_unsorted_verify_with_invalid_proof_fails.1.json
deleted file mode 100644
index fddde901..00000000
--- a/packages/contract-utils/test_snapshots/merkle_distributor/test/test_unsorted_verify_with_invalid_proof_fails.1.json
+++ /dev/null
@@ -1,96 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "set_root"
- }
- ],
- "data": {
- "bytes": "103d1530956325ffc0b01abc52b7b3bedecf9a0b013553e864e3cecddf3bea2d"
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/contract-utils/test_snapshots/merkle_distributor/test/test_valid_merkle_proof_succeeds.1.json b/packages/contract-utils/test_snapshots/merkle_distributor/test/test_valid_merkle_proof_succeeds.1.json
deleted file mode 100644
index ee37e99d..00000000
--- a/packages/contract-utils/test_snapshots/merkle_distributor/test/test_valid_merkle_proof_succeeds.1.json
+++ /dev/null
@@ -1,175 +0,0 @@
-{
- "generators": {
- "address": 1,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Claimed"
- },
- {
- "u32": 3
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Claimed"
- },
- {
- "u32": 3
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "bool": true
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Root"
- }
- ]
- },
- "val": {
- "bytes": "11932105f1a4d0092e87cead3a543da5afd8adcff63f9a8ceb6c5db3c8135722"
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "set_root"
- }
- ],
- "data": {
- "bytes": "11932105f1a4d0092e87cead3a543da5afd8adcff63f9a8ceb6c5db3c8135722"
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "set_claimed"
- }
- ],
- "data": {
- "u32": 3
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/contract-utils/test_snapshots/merkle_distributor/test/test_verify_with_invalid_proof_fails.1.json b/packages/contract-utils/test_snapshots/merkle_distributor/test/test_verify_with_invalid_proof_fails.1.json
deleted file mode 100644
index 206aac8d..00000000
--- a/packages/contract-utils/test_snapshots/merkle_distributor/test/test_verify_with_invalid_proof_fails.1.json
+++ /dev/null
@@ -1,96 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "set_root"
- }
- ],
- "data": {
- "bytes": "11932105f1a4d0092e87cead3a543da5afd8adcff63f9a8ceb6c5db3c8135722"
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/contract-utils/test_snapshots/pausable/test/errors_pause_when_paused.1.json b/packages/contract-utils/test_snapshots/pausable/test/errors_pause_when_paused.1.json
deleted file mode 100644
index 2d0a0a65..00000000
--- a/packages/contract-utils/test_snapshots/pausable/test/errors_pause_when_paused.1.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "generators": {
- "address": 1,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/contract-utils/test_snapshots/pausable/test/errors_unpause_when_not_paused.1.json b/packages/contract-utils/test_snapshots/pausable/test/errors_unpause_when_not_paused.1.json
deleted file mode 100644
index 2d0a0a65..00000000
--- a/packages/contract-utils/test_snapshots/pausable/test/errors_unpause_when_not_paused.1.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "generators": {
- "address": 1,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/contract-utils/test_snapshots/pausable/test/initial_state.1.json b/packages/contract-utils/test_snapshots/pausable/test/initial_state.1.json
deleted file mode 100644
index a90f00a8..00000000
--- a/packages/contract-utils/test_snapshots/pausable/test/initial_state.1.json
+++ /dev/null
@@ -1,76 +0,0 @@
-{
- "generators": {
- "address": 1,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/contract-utils/test_snapshots/pausable/test/pause_works.1.json b/packages/contract-utils/test_snapshots/pausable/test/pause_works.1.json
deleted file mode 100644
index 035040bf..00000000
--- a/packages/contract-utils/test_snapshots/pausable/test/pause_works.1.json
+++ /dev/null
@@ -1,108 +0,0 @@
-{
- "generators": {
- "address": 1,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Paused"
- }
- ]
- },
- "val": {
- "bool": true
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "paused"
- }
- ],
- "data": "void"
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/contract-utils/test_snapshots/pausable/test/unpause_works.1.json b/packages/contract-utils/test_snapshots/pausable/test/unpause_works.1.json
deleted file mode 100644
index 3c83474e..00000000
--- a/packages/contract-utils/test_snapshots/pausable/test/unpause_works.1.json
+++ /dev/null
@@ -1,108 +0,0 @@
-{
- "generators": {
- "address": 1,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Paused"
- }
- ]
- },
- "val": {
- "bool": false
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "unpaused"
- }
- ],
- "data": "void"
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/contract-utils/test_snapshots/pausable/test/when_not_paused_works.1.json b/packages/contract-utils/test_snapshots/pausable/test/when_not_paused_works.1.json
deleted file mode 100644
index a90f00a8..00000000
--- a/packages/contract-utils/test_snapshots/pausable/test/when_not_paused_works.1.json
+++ /dev/null
@@ -1,76 +0,0 @@
-{
- "generators": {
- "address": 1,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/contract-utils/test_snapshots/pausable/test/when_paused_works.1.json b/packages/contract-utils/test_snapshots/pausable/test/when_paused_works.1.json
deleted file mode 100644
index 035040bf..00000000
--- a/packages/contract-utils/test_snapshots/pausable/test/when_paused_works.1.json
+++ /dev/null
@@ -1,108 +0,0 @@
-{
- "generators": {
- "address": 1,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Paused"
- }
- ]
- },
- "val": {
- "bool": true
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "paused"
- }
- ],
- "data": "void"
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/contract-utils/test_snapshots/upgradeable/test/upgrade_ensure_can_complete_migration_panics_if_not_migrating.1.json b/packages/contract-utils/test_snapshots/upgradeable/test/upgrade_ensure_can_complete_migration_panics_if_not_migrating.1.json
deleted file mode 100644
index 2d0a0a65..00000000
--- a/packages/contract-utils/test_snapshots/upgradeable/test/upgrade_ensure_can_complete_migration_panics_if_not_migrating.1.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "generators": {
- "address": 1,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/contract-utils/test_snapshots/upgradeable/test/upgrade_flow_works.1.json b/packages/contract-utils/test_snapshots/upgradeable/test/upgrade_flow_works.1.json
deleted file mode 100644
index 8276f8f3..00000000
--- a/packages/contract-utils/test_snapshots/upgradeable/test/upgrade_flow_works.1.json
+++ /dev/null
@@ -1,85 +0,0 @@
-{
- "generators": {
- "address": 1,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "MIGRATING"
- },
- "val": {
- "bool": false
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/macros/src/access_control.rs b/packages/macros/src/access_control.rs
index 91d6a79b..fbb5c426 100644
--- a/packages/macros/src/access_control.rs
+++ b/packages/macros/src/access_control.rs
@@ -1,23 +1,20 @@
-use proc_macro::TokenStream;
-use quote::quote;
+use proc_macro2::TokenStream;
+use quote::{quote, ToTokens};
use syn::{
bracketed,
parse::{Parse, ParseStream},
- parse_macro_input, FnArg, Ident, ItemFn, LitStr, Pat, Token, Type,
+ parse_quote, FnArg, Ident, ItemFn, LitStr, Pat, Token, Type,
};
-use crate::parse_env_arg;
+use crate::{helpers::FunctionInsert, parse_env_arg};
/// Helper function that generates the role check code for both has_role and
/// only_role macros. If require_auth is true, it also adds the
/// account.require_auth() call.
-pub fn generate_role_check(
- args: TokenStream,
- input: TokenStream,
- require_auth: bool,
-) -> TokenStream {
- let args = parse_macro_input!(args as HasRoleArgs);
- let input_fn = parse_macro_input!(input as ItemFn);
+pub fn generate_role_check(args: HasRoleArgs, input: syn::Item, require_auth: bool) -> TokenStream {
+ let syn::Item::Fn(mut input_fn) = input.clone() else {
+ return input.into_token_stream();
+ };
let param_name = args.param;
let role_str = args.role;
@@ -30,34 +27,18 @@ pub fn generate_role_check(
quote! { param_name }
};
- let fn_attrs = &input_fn.attrs;
- let fn_vis = &input_fn.vis;
- let fn_sig = &input_fn.sig;
- let fn_block = &input_fn.block;
-
let env_arg = parse_env_arg(&input_fn);
- let auth_check = if require_auth {
- quote! { #param_name.require_auth(); }
- } else {
- quote! {}
- };
-
- let expanded = quote! {
- #(#fn_attrs)*
- #fn_vis #fn_sig {
- stellar_access::access_control::ensure_role(#env_arg, #param_reference, &soroban_sdk::Symbol::new(#env_arg, #role_str));
+ let auth_check = require_auth.then(|| quote! { #param_name.require_auth(); });
+ input_fn.insert_stmts_to_token_stream(parse_quote! {
+ Self::ensure_role(#env_arg, #param_reference, &soroban_sdk::Symbol::new(#env_arg, #role_str));
#auth_check
- #fn_block
- }
- };
-
- TokenStream::from(expanded)
+ })
}
-struct HasRoleArgs {
- param: Ident,
- role: LitStr,
+pub struct HasRoleArgs {
+ pub(crate) param: Ident,
+ pub(crate) role: LitStr,
}
impl Parse for HasRoleArgs {
@@ -69,9 +50,9 @@ impl Parse for HasRoleArgs {
}
}
-struct HasAnyRoleArgs {
- param: Ident,
- roles: Vec,
+pub struct HasAnyRoleArgs {
+ pub(crate) param: Ident,
+ pub(crate) roles: Vec,
}
impl Parse for HasAnyRoleArgs {
@@ -143,12 +124,13 @@ fn panic_type(param_name: &Ident) -> ! {
/// macro. If require_auth is true, it also adds the account.require_auth()
/// call.
pub fn generate_any_role_check(
- args: TokenStream,
- input: TokenStream,
+ args: HasAnyRoleArgs,
+ input: syn::Item,
require_auth: bool,
) -> TokenStream {
- let args = parse_macro_input!(args as HasAnyRoleArgs);
- let input_fn = parse_macro_input!(input as ItemFn);
+ let syn::Item::Fn(mut input_fn) = input.clone() else {
+ return input.into_token_stream();
+ };
let param_name = args.param;
let roles = args.roles;
@@ -161,34 +143,16 @@ pub fn generate_any_role_check(
quote! { param_name }
};
- let fn_attrs = &input_fn.attrs;
- let fn_vis = &input_fn.vis;
- let fn_sig = &input_fn.sig;
- let fn_block = &input_fn.block;
-
let env_arg = parse_env_arg(&input_fn);
- let auth_check = if require_auth {
+ let auth_check = require_auth.then(|| {
quote! { #param_name.require_auth(); }
- } else {
- quote! {}
- };
-
- let combined_checks = quote! {
- let has_any_role = [#(#roles),*].iter().any(|role| stellar_access::access_control::has_role(#env_arg, #param_reference, &soroban_sdk::Symbol::new(#env_arg, role)).is_some());
- if !has_any_role {
- panic!("Account does not have any of the required roles");
- }
- };
-
- let expanded = quote! {
- #(#fn_attrs)*
- #fn_vis #fn_sig {
- #combined_checks
- #auth_check
- #fn_block
- }
- };
-
- TokenStream::from(expanded)
+ });
+
+ input_fn
+ .insert_stmts_to_token_stream(parse_quote! {
+ Self::assert_has_any_role(#env_arg, #param_reference, &[#(#roles),*]);
+ #auth_check
+ })
+ .into()
}
diff --git a/packages/macros/src/helpers.rs b/packages/macros/src/helpers.rs
index 2b67021c..4e7253a3 100644
--- a/packages/macros/src/helpers.rs
+++ b/packages/macros/src/helpers.rs
@@ -3,13 +3,12 @@
//! macros.
use proc_macro2::TokenStream;
-use quote::quote;
+use quote::{quote, ToTokens};
use syn::{FnArg, Ident, ItemFn, Pat, PatType, Type, TypePath};
/// Parses the environment argument from the function signature
pub fn parse_env_arg(input_fn: &ItemFn) -> TokenStream {
let (env_ident, is_ref) = check_env_arg(input_fn);
-
if is_ref {
quote! { #env_ident }
} else {
@@ -55,42 +54,109 @@ fn check_env_arg(input_fn: &ItemFn) -> (Ident, bool) {
fn check_is_env(path: &TypePath, fn_name: &Ident) {
let is_env = path.path.segments.last().map(|seg| seg.ident == "Env").unwrap_or(false);
-
if !is_env {
panic!("first argument of function '{fn_name}' must be Env or &Env",);
}
}
-/// Generates a function that enforces authorization for a specific role
-///
-/// This function is used by macros like `only_owner` and `only_admin` to
-/// generate code that checks authorization before executing the function body.
-///
-/// # Arguments
-///
-/// * `input_fn` - The function to wrap with authorization check
-/// * `auth_check_func` - The function to be called to enforce authorization
-/// (e.g., `stellar_access::ownable::enforce_owner_auth`)
-///
-/// # Returns
-///
-/// A TokenStream containing the function with authorization check added
-pub fn generate_auth_check(input_fn: &ItemFn, auth_check_func: TokenStream) -> TokenStream {
+pub fn insert_check(input_fn: syn::Item, auth_check_func: TokenStream) -> TokenStream {
+ let syn::Item::Fn(mut input_fn) = input_fn else { return input_fn.to_token_stream() };
// Get the environment parameter
- let env_param = parse_env_arg(input_fn);
-
- // Extract function components
- let fn_attrs = &input_fn.attrs;
- let fn_vis = &input_fn.vis;
- let fn_sig = &input_fn.sig;
- let fn_block = &input_fn.block;
-
- // Generate the expanded function with authorization check
- quote! {
- #(#fn_attrs)*
- #fn_vis #fn_sig {
- #auth_check_func(#env_param);
- #fn_block
- }
+ let env_param = parse_env_arg(&input_fn);
+
+ input_fn.insert_stmts_to_token_stream(syn::parse_quote! {
+ #auth_check_func(#env_param);
+ })
+}
+
+pub trait FunctionInsert: ToTokens {
+ fn insert_stmts(&mut self, stmts: Vec);
+
+ fn insert_stmts_to_token_stream(&mut self, stmts: Vec) -> TokenStream {
+ self.insert_stmts(stmts);
+ self.to_token_stream()
+ }
+}
+
+impl FunctionInsert for ItemFn {
+ fn insert_stmts(&mut self, stmts: Vec) {
+ self.block.stmts.splice(0..0, stmts);
+ }
+}
+
+#[cfg(test)]
+mod test {
+ use syn::parse_quote;
+
+ use super::*;
+ use crate::{generate_any_role_check, HasAnyRoleArgs};
+
+ #[test]
+ fn only_admin() {
+ let auth_check_func = quote! { Self::enforce_admin_auth };
+ let input_fn = parse_quote! {
+ fn my_function(e: &Env) {
+ my_code();
+ }
+ };
+
+ let result = insert_check(input_fn, auth_check_func);
+ assert_eq!(
+ result.to_string(),
+ quote! {
+ fn my_function(e: &Env) {
+ Self::enforce_admin_auth(e);
+ my_code();
+ }
+ }
+ .to_string()
+ );
+ }
+
+ #[test]
+ fn test_insert_check() {
+ let auth_check_func = quote! { auth_check };
+ let input_fn = parse_quote! {
+ pub fn my_function(env: &Env) {
+ my_code();
+ }
+ };
+ let result = insert_check(input_fn, auth_check_func);
+ assert_eq!(
+ result.to_string(),
+ quote! {
+ pub fn my_function(env: &Env) {
+ auth_check(env);
+ my_code();
+ }
+ }
+ .to_string()
+ );
+ }
+
+ #[test]
+ fn has_any_role() {
+ let args = HasAnyRoleArgs {
+ param: parse_quote!(caller),
+ roles: vec![parse_quote!("admin"), parse_quote!("user")],
+ };
+ let input_fn = parse_quote! {
+ pub fn multi_role_action(e: &Env, caller: Address) -> String {
+ caller.require_auth();
+ String::from_str(e, "multi_role_action_success")
+ }
+ };
+ let result = generate_any_role_check(args, input_fn, false);
+ assert_eq!(
+ result.to_string(),
+ quote! {
+ pub fn multi_role_action(e: &Env, caller: Address) -> String {
+ Self::assert_has_any_role(e, &caller, &["admin", "user"]);
+ caller.require_auth();
+ String::from_str(e, "multi_role_action_success")
+ }
+ }
+ .to_string()
+ );
}
}
diff --git a/packages/macros/src/lib.rs b/packages/macros/src/lib.rs
index bf87eb23..67207926 100644
--- a/packages/macros/src/lib.rs
+++ b/packages/macros/src/lib.rs
@@ -1,18 +1,18 @@
mod access_control;
mod default_impl_macro;
mod helpers;
-mod pausable;
mod upgradeable;
use access_control::{generate_any_role_check, generate_role_check};
use default_impl_macro::generate_default_impl;
use helpers::*;
-use pausable::generate_pause_check;
use proc_macro::TokenStream;
use quote::quote;
-use syn::{parse_macro_input, DeriveInput, ItemFn};
+use syn::{parse_macro_input, DeriveInput, Item};
use upgradeable::*;
+use crate::access_control::{HasAnyRoleArgs, HasRoleArgs};
+
/* DEFAULT_IMPL_MACRO */
/// Generates the missing default implementations for the traits provided by
@@ -75,7 +75,6 @@ use upgradeable::*;
#[proc_macro_attribute]
pub fn default_impl(attrs: TokenStream, item: TokenStream) -> TokenStream {
assert!(attrs.is_empty(), "This macro does not accept any arguments");
-
generate_default_impl(item)
}
@@ -104,14 +103,10 @@ pub fn default_impl(attrs: TokenStream, item: TokenStream) -> TokenStream {
#[proc_macro_attribute]
pub fn only_admin(attrs: TokenStream, input: TokenStream) -> TokenStream {
assert!(attrs.is_empty(), "This macro does not accept any arguments");
-
- let input_fn = parse_macro_input!(input as ItemFn);
-
+ let input_fn = parse_macro_input!(input as Item);
// Generate the function with the admin authorization check
- let auth_check_path = quote! { stellar_access::access_control::enforce_admin_auth };
- let expanded = generate_auth_check(&input_fn, auth_check_path);
-
- TokenStream::from(expanded)
+ let auth_check_path = quote! { Self::enforce_admin_auth };
+ insert_check(input_fn, auth_check_path).into()
}
/// A procedural macro that ensures the parameter has the specified role.
@@ -151,7 +146,12 @@ pub fn only_admin(attrs: TokenStream, input: TokenStream) -> TokenStream {
/// ```
#[proc_macro_attribute]
pub fn has_role(args: TokenStream, input: TokenStream) -> TokenStream {
- generate_role_check(args, input, false)
+ generate_role_check(
+ parse_macro_input!(args as HasRoleArgs),
+ parse_macro_input!(input as Item),
+ false,
+ )
+ .into()
}
/// A procedural macro that ensures the parameter has the specified role and
@@ -187,7 +187,12 @@ pub fn has_role(args: TokenStream, input: TokenStream) -> TokenStream {
/// ```
#[proc_macro_attribute]
pub fn only_role(args: TokenStream, input: TokenStream) -> TokenStream {
- generate_role_check(args, input, true)
+ generate_role_check(
+ parse_macro_input!(args as HasRoleArgs),
+ parse_macro_input!(input as Item),
+ true,
+ )
+ .into()
}
/// A procedural macro that ensures the parameter has any of the specified
@@ -218,7 +223,12 @@ pub fn only_role(args: TokenStream, input: TokenStream) -> TokenStream {
/// roles.
#[proc_macro_attribute]
pub fn has_any_role(args: TokenStream, input: TokenStream) -> TokenStream {
- generate_any_role_check(args, input, false)
+ generate_any_role_check(
+ parse_macro_input!(args as HasAnyRoleArgs),
+ parse_macro_input!(input as Item),
+ false,
+ )
+ .into()
}
/// A procedural macro that ensures the parameter has any of the specified roles
@@ -243,7 +253,12 @@ pub fn has_any_role(args: TokenStream, input: TokenStream) -> TokenStream {
/// roles and requires authorization from the account.
#[proc_macro_attribute]
pub fn only_any_role(args: TokenStream, input: TokenStream) -> TokenStream {
- generate_any_role_check(args, input, true)
+ generate_any_role_check(
+ parse_macro_input!(args as HasAnyRoleArgs),
+ parse_macro_input!(input as Item),
+ true,
+ )
+ .into()
}
/// A procedural macro that retrieves the owner from storage and requires
@@ -271,14 +286,7 @@ pub fn only_any_role(args: TokenStream, input: TokenStream) -> TokenStream {
#[proc_macro_attribute]
pub fn only_owner(attrs: TokenStream, input: TokenStream) -> TokenStream {
assert!(attrs.is_empty(), "This macro does not accept any arguments");
-
- let input_fn = parse_macro_input!(input as ItemFn);
-
- // Generate the function with the owner authorization check
- let auth_check_path = quote! { stellar_access::ownable::enforce_owner_auth };
- let expanded = generate_auth_check(&input_fn, auth_check_path);
-
- TokenStream::from(expanded)
+ insert_check(parse_macro_input!(input as Item), quote! { Self::enforce_owner_auth}).into()
}
/// Adds a pause check at the beginning of the function that ensures the
@@ -304,8 +312,7 @@ pub fn only_owner(attrs: TokenStream, input: TokenStream) -> TokenStream {
#[proc_macro_attribute]
pub fn when_not_paused(attrs: TokenStream, item: TokenStream) -> TokenStream {
assert!(attrs.is_empty(), "This macro does not accept any arguments");
-
- generate_pause_check(item, "when_not_paused")
+ insert_check(parse_macro_input!(item as Item), quote! { Self::when_not_paused}).into()
}
/* PAUSABLE MACROS */
@@ -333,8 +340,7 @@ pub fn when_not_paused(attrs: TokenStream, item: TokenStream) -> TokenStream {
#[proc_macro_attribute]
pub fn when_paused(attrs: TokenStream, item: TokenStream) -> TokenStream {
assert!(attrs.is_empty(), "This macro does not accept any arguments");
-
- generate_pause_check(item, "when_paused")
+ insert_check(parse_macro_input!(item as Item), quote! { Self::when_paused}).into()
}
/* UPGRADEABLE MACROS */
@@ -396,13 +402,5 @@ pub fn when_paused(attrs: TokenStream, item: TokenStream) -> TokenStream {
#[proc_macro_derive(Upgradeable)]
pub fn upgradeable_derive(input: TokenStream) -> TokenStream {
let input = parse_macro_input!(input as DeriveInput);
-
derive_upgradeable(&input).into()
}
-
-#[proc_macro_derive(UpgradeableMigratable)]
-pub fn upgradeable_migratable_derive(input: TokenStream) -> TokenStream {
- let input = parse_macro_input!(input as DeriveInput);
-
- derive_upgradeable_migratable(&input).into()
-}
diff --git a/packages/macros/src/pausable.rs b/packages/macros/src/pausable.rs
deleted file mode 100644
index 3b161fb3..00000000
--- a/packages/macros/src/pausable.rs
+++ /dev/null
@@ -1,27 +0,0 @@
-use proc_macro::TokenStream;
-use quote::quote;
-use syn::{parse_macro_input, ItemFn};
-
-use crate::parse_env_arg;
-
-pub fn generate_pause_check(item: TokenStream, check_fn: &str) -> TokenStream {
- let input_fn = parse_macro_input!(item as ItemFn);
- let env_arg = parse_env_arg(&input_fn);
-
- let fn_vis = &input_fn.vis;
- let fn_sig = &input_fn.sig;
- let fn_block = &input_fn.block;
- let fn_attrs = &input_fn.attrs;
-
- let check_ident = syn::Ident::new(check_fn, proc_macro2::Span::call_site());
- let output = quote! {
- #(#fn_attrs)* // retain other macros
- #fn_vis #fn_sig {
- stellar_contract_utils::pausable::#check_ident(#env_arg);
-
- #fn_block
- }
- };
-
- output.into()
-}
diff --git a/packages/macros/src/upgradeable.rs b/packages/macros/src/upgradeable.rs
index b95d78ad..bcd3d4f3 100644
--- a/packages/macros/src/upgradeable.rs
+++ b/packages/macros/src/upgradeable.rs
@@ -26,92 +26,18 @@ pub fn derive_upgradeable(input: &DeriveInput) -> TokenStream {
let name = &input.ident;
let binver = set_binver_from_env();
-
quote! {
- use stellar_contract_utils::upgradeable::Upgradeable as _;
-
+ use stellar_access::Ownable;
#binver
+ impl stellar_contract_utils::upgradeable::Upgradeable for #name {}
- #[soroban_sdk::contractimpl]
- impl stellar_contract_utils::upgradeable::Upgradeable for #name {
- fn upgrade(
- e: &soroban_sdk::Env, new_wasm_hash: soroban_sdk::BytesN<32>, operator: soroban_sdk::Address
- ) {
- Self::_require_auth(e, &operator);
-
- // Set the flag in case the next contract version needs to perform a migration
- // i.e. when the current version is `Upgradeable` only,
- // while the next one becomes `UpgradeableMigratable`.
- stellar_contract_utils::upgradeable::enable_migration(e);
-
- e.deployer().update_current_contract_wasm(new_wasm_hash);
- }
- }
- }
-}
-
-/// Procedural macro implementation for `#[derive(UpgradeableMigratable)]`.
-///
-/// This function generates the implementation of the `UpgradeableMigratable`
-/// trait for a given contract type, wiring up the migration and rollback logic
-/// based on the `UpgradeableMigratableInternal` trait implementation provided
-/// by the user.
-///
-/// # Behavior
-///
-/// - Implements `upgrade` and `migrate` functions with access control
-/// (`_require_auth`).
-/// - Sets the current crate version as `"binver"` metadata using
-/// `soroban_sdk::contractmeta!`. Gets the crate version via the env variable
-/// `CARGO_PKG_VERSION` which corresponds to the "version" attribute in
-/// Cargo.toml. If no such attribute or if it is "0.0.0", skips this step.
-/// - Throws a compile-time error if `UpgradeableMigratableInternal` is not
-/// implemented.
-///
-/// # Example
-/// ```ignore,rust
-/// #[derive(UpgradeableMigratable)]
-/// pub struct MyContract;
-/// ```
-///
-/// **Warning:** This derive macro should only be used on contracts that have
-/// previously used either `#[derive(Upgradeable)]` or
-/// `#[derive(UpgradeableMigratable)]`. The migration function depends on an
-/// internal flag set by calling
-/// `stellar_contract_utils::upgradeable::enable_migration()`.
-pub fn derive_upgradeable_migratable(input: &DeriveInput) -> proc_macro2::TokenStream {
- let name = &input.ident;
-
- let binver = set_binver_from_env();
-
- quote! {
- use stellar_contract_utils::upgradeable::UpgradeableMigratable as _;
-
- #binver
-
- type MigrationData = <#name as stellar_contract_utils::upgradeable::UpgradeableMigratableInternal>::MigrationData;
+ #[soroban_sdk::contracttrait]
+ impl Ownable for #name {}
#[soroban_sdk::contractimpl]
- impl stellar_contract_utils::upgradeable::UpgradeableMigratable for #name {
-
- fn upgrade(
- e: &soroban_sdk::Env, new_wasm_hash: soroban_sdk::BytesN<32>, operator: soroban_sdk::Address
- ) {
- Self::_require_auth(e, &operator);
-
- stellar_contract_utils::upgradeable::enable_migration(e);
-
- e.deployer().update_current_contract_wasm(new_wasm_hash);
- }
-
- fn migrate(e: &soroban_sdk::Env, migration_data: MigrationData, operator: soroban_sdk::Address) {
- Self::_require_auth(e, &operator);
-
- stellar_contract_utils::upgradeable::ensure_can_complete_migration(e);
-
- Self::_migrate(e, &migration_data);
-
- stellar_contract_utils::upgradeable::complete_migration(e);
+ impl #name {
+ pub fn upgrade(e: &soroban_sdk::Env, new_wasm_hash: soroban_sdk::BytesN<32>) {
+ ::upgrade(e, new_wasm_hash);
}
}
}
diff --git a/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_enumerable_burn.1.json b/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_enumerable_burn.1.json
deleted file mode 100644
index 6bd29177..00000000
--- a/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_enumerable_burn.1.json
+++ /dev/null
@@ -1,411 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "burn",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "u32": 0
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- [],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokens"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokens"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokensIndex"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokensIndex"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Metadata"
- }
- ]
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "base_uri"
- },
- "val": {
- "string": "www.mytoken.com"
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TokenIdCounter"
- }
- ]
- },
- "val": {
- "u32": 2
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "u32": 1
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_enumerable_get_owner_token_id.1.json b/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_enumerable_get_owner_token_id.1.json
deleted file mode 100644
index b005767c..00000000
--- a/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_enumerable_get_owner_token_id.1.json
+++ /dev/null
@@ -1,489 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "burn",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "u32": 10
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- [],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokens"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokens"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 11
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokensIndex"
- },
- {
- "u32": 11
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokensIndex"
- },
- {
- "u32": 11
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 11
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 11
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokens"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokens"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 11
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokensIndex"
- },
- {
- "u32": 11
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokensIndex"
- },
- {
- "u32": 11
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Metadata"
- }
- ]
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "base_uri"
- },
- "val": {
- "string": "www.mytoken.com"
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "u32": 1
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_enumerable_get_token_id.1.json b/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_enumerable_get_token_id.1.json
deleted file mode 100644
index 4497f223..00000000
--- a/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_enumerable_get_token_id.1.json
+++ /dev/null
@@ -1,489 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "burn",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "u32": 10
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- [],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokens"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokens"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 11
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokensIndex"
- },
- {
- "u32": 11
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokensIndex"
- },
- {
- "u32": 11
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 11
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 11
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokens"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokens"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 11
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokensIndex"
- },
- {
- "u32": 11
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokensIndex"
- },
- {
- "u32": 11
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Metadata"
- }
- ]
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "base_uri"
- },
- "val": {
- "string": "www.mytoken.com"
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "u32": 1
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_enumerable_total_supply.1.json b/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_enumerable_total_supply.1.json
deleted file mode 100644
index b1a11093..00000000
--- a/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_enumerable_total_supply.1.json
+++ /dev/null
@@ -1,534 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "function_name": "transfer",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "u32": 10
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokens"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokens"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 10
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokensIndex"
- },
- {
- "u32": 10
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokensIndex"
- },
- {
- "u32": 10
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 10
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 10
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokens"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokens"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 10
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokensIndex"
- },
- {
- "u32": 10
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokensIndex"
- },
- {
- "u32": 10
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Metadata"
- }
- ]
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "base_uri"
- },
- "val": {
- "string": "www.mytoken.com"
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "u32": 1
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_enumerable_transfer.1.json b/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_enumerable_transfer.1.json
deleted file mode 100644
index a66331d7..00000000
--- a/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_enumerable_transfer.1.json
+++ /dev/null
@@ -1,458 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "function_name": "transfer",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "u32": 0
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokens"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokens"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokensIndex"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokensIndex"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Metadata"
- }
- ]
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "base_uri"
- },
- "val": {
- "string": "www.mytoken.com"
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TokenIdCounter"
- }
- ]
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "u32": 1
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_fungible_allowance.1.json b/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_fungible_allowance.1.json
deleted file mode 100644
index 9f0f6faa..00000000
--- a/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_fungible_allowance.1.json
+++ /dev/null
@@ -1,451 +0,0 @@
-{
- "generators": {
- "address": 4,
- "nonce": 0
- },
- "auth": [
- [],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "function_name": "approve",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- },
- {
- "u32": 1000
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "function_name": "transfer_from",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "i128": {
- "hi": 0,
- "lo": 30
- }
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary",
- "val": {
- "map": [
- {
- "key": {
- "symbol": "amount"
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 20
- }
- }
- },
- {
- "key": {
- "symbol": "live_until_ledger"
- },
- "val": {
- "u32": 1000
- }
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 1000
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 70
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 30
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "METADATA"
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "decimals"
- },
- "val": {
- "u32": 7
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_fungible_approve.1.json b/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_fungible_approve.1.json
deleted file mode 100644
index c7b2d5b2..00000000
--- a/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_fungible_approve.1.json
+++ /dev/null
@@ -1,337 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "function_name": "approve",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- },
- {
- "u32": 1000
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary",
- "val": {
- "map": [
- {
- "key": {
- "symbol": "amount"
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- }
- },
- {
- "key": {
- "symbol": "live_until_ledger"
- },
- "val": {
- "u32": 1000
- }
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 1000
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "METADATA"
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "decimals"
- },
- "val": {
- "u32": 7
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_fungible_balance.1.json b/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_fungible_balance.1.json
deleted file mode 100644
index 5d9a7cf3..00000000
--- a/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_fungible_balance.1.json
+++ /dev/null
@@ -1,174 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "METADATA"
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "decimals"
- },
- "val": {
- "u32": 7
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_fungible_burnable_burn.1.json b/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_fungible_burnable_burn.1.json
deleted file mode 100644
index 6512c6ee..00000000
--- a/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_fungible_burnable_burn.1.json
+++ /dev/null
@@ -1,233 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "burn",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "METADATA"
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "decimals"
- },
- "val": {
- "u32": 7
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_fungible_burnable_burn_from.1.json b/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_fungible_burnable_burn_from.1.json
deleted file mode 100644
index db55ebda..00000000
--- a/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_fungible_burnable_burn_from.1.json
+++ /dev/null
@@ -1,400 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "function_name": "approve",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- },
- {
- "u32": 1000
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "function_name": "burn_from",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "i128": {
- "hi": 0,
- "lo": 30
- }
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary",
- "val": {
- "map": [
- {
- "key": {
- "symbol": "amount"
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 20
- }
- }
- },
- {
- "key": {
- "symbol": "live_until_ledger"
- },
- "val": {
- "u32": 1000
- }
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 1000
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 70
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "METADATA"
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "decimals"
- },
- "val": {
- "u32": 7
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 70
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_fungible_grant_role.1.json b/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_fungible_grant_role.1.json
deleted file mode 100644
index 5ce9642c..00000000
--- a/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_fungible_grant_role.1.json
+++ /dev/null
@@ -1,381 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "grant_role",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "symbol": "minter"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "HasRole"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccounts"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "role"
- },
- "val": {
- "symbol": "minter"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "RoleAccountsCount"
- },
- {
- "symbol": "minter"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "METADATA"
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "decimals"
- },
- "val": {
- "u32": 7
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000002",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "role_granted"
- },
- {
- "symbol": "minter"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ],
- "data": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_fungible_metadata.1.json b/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_fungible_metadata.1.json
deleted file mode 100644
index 452d6c8c..00000000
--- a/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_fungible_metadata.1.json
+++ /dev/null
@@ -1,112 +0,0 @@
-{
- "generators": {
- "address": 1,
- "nonce": 0
- },
- "auth": [
- [],
- [],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "METADATA"
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "decimals"
- },
- "val": {
- "u32": 7
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_fungible_mint.1.json b/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_fungible_mint.1.json
deleted file mode 100644
index 96c17d99..00000000
--- a/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_fungible_mint.1.json
+++ /dev/null
@@ -1,122 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "METADATA"
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "decimals"
- },
- "val": {
- "u32": 7
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_fungible_total_supply.1.json b/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_fungible_total_supply.1.json
deleted file mode 100644
index aefdccf9..00000000
--- a/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_fungible_total_supply.1.json
+++ /dev/null
@@ -1,174 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "METADATA"
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "decimals"
- },
- "val": {
- "u32": 7
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_fungible_transfer.1.json b/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_fungible_transfer.1.json
deleted file mode 100644
index 68aa538b..00000000
--- a/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_fungible_transfer.1.json
+++ /dev/null
@@ -1,284 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "function_name": "transfer",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "METADATA"
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "decimals"
- },
- "val": {
- "u32": 7
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_fungible_transfer_from.1.json b/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_fungible_transfer_from.1.json
deleted file mode 100644
index 1ff9f947..00000000
--- a/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_fungible_transfer_from.1.json
+++ /dev/null
@@ -1,450 +0,0 @@
-{
- "generators": {
- "address": 4,
- "nonce": 0
- },
- "auth": [
- [],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "function_name": "approve",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- },
- {
- "u32": 1000
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "function_name": "transfer_from",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "i128": {
- "hi": 0,
- "lo": 30
- }
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary",
- "val": {
- "map": [
- {
- "key": {
- "symbol": "amount"
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 20
- }
- }
- },
- {
- "key": {
- "symbol": "live_until_ledger"
- },
- "val": {
- "u32": 1000
- }
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 1000
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 70
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 30
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "METADATA"
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "decimals"
- },
- "val": {
- "u32": 7
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_non_fungible_approve.1.json b/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_non_fungible_approve.1.json
deleted file mode 100644
index a8469cbb..00000000
--- a/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_non_fungible_approve.1.json
+++ /dev/null
@@ -1,328 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "function_name": "approve",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "u32": 10
- },
- {
- "u32": 1000
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Approval"
- },
- {
- "u32": 10
- }
- ]
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Approval"
- },
- {
- "u32": 10
- }
- ]
- },
- "durability": "temporary",
- "val": {
- "map": [
- {
- "key": {
- "symbol": "approved"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- },
- {
- "key": {
- "symbol": "live_until_ledger"
- },
- "val": {
- "u32": 1000
- }
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 1000
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 10
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 10
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Metadata"
- }
- ]
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "base_uri"
- },
- "val": {
- "string": "www.mytoken.com/"
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_non_fungible_approve_for_all.1.json b/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_non_fungible_approve_for_all.1.json
deleted file mode 100644
index ce5baafb..00000000
--- a/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_non_fungible_approve_for_all.1.json
+++ /dev/null
@@ -1,223 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "function_name": "approve_for_all",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "u32": 1000
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "ApprovalForAll"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "ApprovalForAll"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "temporary",
- "val": {
- "u32": 1000
- }
- }
- },
- "ext": "v0"
- },
- 1000
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Metadata"
- }
- ]
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "base_uri"
- },
- "val": {
- "string": "www.mytoken.com/"
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_non_fungible_balance.1.json b/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_non_fungible_balance.1.json
deleted file mode 100644
index c736df78..00000000
--- a/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_non_fungible_balance.1.json
+++ /dev/null
@@ -1,205 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 10
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 10
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Metadata"
- }
- ]
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "base_uri"
- },
- "val": {
- "string": "www.mytoken.com/"
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_non_fungible_burnable_burn.1.json b/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_non_fungible_burnable_burn.1.json
deleted file mode 100644
index 63e1eef4..00000000
--- a/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_non_fungible_burnable_burn.1.json
+++ /dev/null
@@ -1,215 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "burn",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "u32": 10
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Metadata"
- }
- ]
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "base_uri"
- },
- "val": {
- "string": "www.mytoken.com"
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_non_fungible_burnable_burn_from.1.json b/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_non_fungible_burnable_burn_from.1.json
deleted file mode 100644
index 0b3ce1f3..00000000
--- a/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_non_fungible_burnable_burn_from.1.json
+++ /dev/null
@@ -1,279 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "function_name": "approve",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "u32": 10
- },
- {
- "u32": 1000
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "function_name": "burn_from",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "u32": 10
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Metadata"
- }
- ]
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "base_uri"
- },
- "val": {
- "string": "www.mytoken.com"
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_non_fungible_metadata.1.json b/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_non_fungible_metadata.1.json
deleted file mode 100644
index cac87187..00000000
--- a/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_non_fungible_metadata.1.json
+++ /dev/null
@@ -1,207 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [],
- [],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Metadata"
- }
- ]
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "base_uri"
- },
- "val": {
- "string": "www.mytoken.com/"
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_non_fungible_owner_of.1.json b/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_non_fungible_owner_of.1.json
deleted file mode 100644
index cc550eff..00000000
--- a/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_non_fungible_owner_of.1.json
+++ /dev/null
@@ -1,205 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 10
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 10
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Metadata"
- }
- ]
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "base_uri"
- },
- "val": {
- "string": "www.mytoken.com/"
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_non_fungible_transfer.1.json b/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_non_fungible_transfer.1.json
deleted file mode 100644
index 69fe7b42..00000000
--- a/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_non_fungible_transfer.1.json
+++ /dev/null
@@ -1,310 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "function_name": "transfer",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "u32": 10
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 10
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 10
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Metadata"
- }
- ]
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "base_uri"
- },
- "val": {
- "string": "www.mytoken.com/"
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_non_fungible_transfer_from.1.json b/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_non_fungible_transfer_from.1.json
deleted file mode 100644
index 03414bec..00000000
--- a/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_non_fungible_transfer_from.1.json
+++ /dev/null
@@ -1,374 +0,0 @@
-{
- "generators": {
- "address": 4,
- "nonce": 0
- },
- "auth": [
- [],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "function_name": "approve",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "u32": 10
- },
- {
- "u32": 1000
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "function_name": "transfer_from",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "u32": 10
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 10
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 10
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Metadata"
- }
- ]
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "base_uri"
- },
- "val": {
- "string": "www.mytoken.com/"
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_ownable.1.json b/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_ownable.1.json
deleted file mode 100644
index 1fb6c96c..00000000
--- a/packages/test-utils/default-impl-macro-test/test_snapshots/default_impl_ownable.1.json
+++ /dev/null
@@ -1,269 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "function_name": "mint",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- },
- {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "METADATA"
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "decimals"
- },
- "val": {
- "u32": 7
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TKN"
- }
- }
- ]
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000002",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ],
- "data": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/test-utils/default-impl-macro-test/tests/access_control.rs b/packages/test-utils/default-impl-macro-test/tests/access_control.rs
index a443eec1..b906b06d 100644
--- a/packages/test-utils/default-impl-macro-test/tests/access_control.rs
+++ b/packages/test-utils/default-impl-macro-test/tests/access_control.rs
@@ -1,41 +1,32 @@
use soroban_sdk::{
- contract, contractimpl, contracttype, testutils::Address as _, Address, Env, String, Symbol,
+ contract, contractimpl, contracttrait, testutils::Address as _, Address, Env, String, Symbol,
};
-use stellar_access::access_control::{set_admin, AccessControl};
-use stellar_macros::{default_impl, has_role};
-use stellar_tokens::fungible::{Base, FungibleToken};
-
-#[contracttype]
-pub enum DataKey {
- Admin,
-}
+use stellar_access::AccessControl;
+use stellar_macros::has_role;
+use stellar_tokens::FungibleToken;
#[contract]
pub struct ExampleContract;
+#[contracttrait]
+impl FungibleToken for ExampleContract {}
+
+#[contracttrait]
+impl AccessControl for ExampleContract {}
+
#[contractimpl]
impl ExampleContract {
pub fn __constructor(e: &Env, owner: Address) {
- set_admin(e, &owner);
- Base::set_metadata(e, 7, String::from_str(e, "My Token"), String::from_str(e, "TKN"));
+ Self::init_admin(e, &owner);
+ Self::set_metadata(e, 7, String::from_str(e, "My Token"), String::from_str(e, "TKN"));
}
#[has_role(caller, "minter")]
pub fn mint(e: &Env, caller: Address, to: Address, amount: i128) {
- Base::mint(e, &to, amount);
+ Self::internal_mint(e, &to, amount);
}
}
-#[default_impl]
-#[contractimpl]
-impl FungibleToken for ExampleContract {
- type ContractType = Base;
-}
-
-#[default_impl]
-#[contractimpl]
-impl AccessControl for ExampleContract {}
-
fn create_client<'a>(e: &Env, owner: &Address) -> ExampleContractClient<'a> {
let address = e.register(ExampleContract, (owner,));
ExampleContractClient::new(e, &address)
diff --git a/packages/test-utils/default-impl-macro-test/tests/fungible.rs b/packages/test-utils/default-impl-macro-test/tests/fungible.rs
index 52e63644..b9d56069 100644
--- a/packages/test-utils/default-impl-macro-test/tests/fungible.rs
+++ b/packages/test-utils/default-impl-macro-test/tests/fungible.rs
@@ -1,27 +1,25 @@
-use soroban_sdk::{contract, contractimpl, testutils::Address as _, Address, Env, String};
-use stellar_macros::default_impl;
-use stellar_tokens::fungible::{Base, FungibleToken};
+use soroban_sdk::{
+ contract, contractimpl, contracttrait, testutils::Address as _, Address, Env, String,
+};
+use stellar_tokens::FungibleToken;
#[contract]
pub struct ExampleContract;
+#[contracttrait]
+impl FungibleToken for ExampleContract {}
+
#[contractimpl]
impl ExampleContract {
pub fn __constructor(e: &Env) {
- Base::set_metadata(e, 7, String::from_str(e, "My Token"), String::from_str(e, "TKN"));
+ Self::set_metadata(e, 7, String::from_str(e, "My Token"), String::from_str(e, "TKN"));
}
pub fn mint(e: &Env, to: Address, amount: i128) {
- Base::mint(e, &to, amount);
+ Self::internal_mint(e, &to, amount);
}
}
-#[default_impl]
-#[contractimpl]
-impl FungibleToken for ExampleContract {
- type ContractType = Base;
-}
-
fn create_client<'a>(e: &Env) -> ExampleContractClient<'a> {
let address = e.register(ExampleContract, ());
ExampleContractClient::new(e, &address)
diff --git a/packages/test-utils/default-impl-macro-test/tests/fungible_burnable.rs b/packages/test-utils/default-impl-macro-test/tests/fungible_burnable.rs
index 5e1772ff..c9d05008 100644
--- a/packages/test-utils/default-impl-macro-test/tests/fungible_burnable.rs
+++ b/packages/test-utils/default-impl-macro-test/tests/fungible_burnable.rs
@@ -1,31 +1,28 @@
-use soroban_sdk::{contract, contractimpl, testutils::Address as _, Address, Env, String};
-use stellar_macros::default_impl;
-use stellar_tokens::fungible::{burnable::FungibleBurnable, Base, FungibleToken};
+use soroban_sdk::{
+ contract, contractimpl, contracttrait, testutils::Address as _, Address, Env, String,
+};
+use stellar_tokens::{FungibleBurnable, FungibleToken};
#[contract]
pub struct ExampleContract;
+#[contracttrait]
+impl FungibleToken for ExampleContract {}
+
+#[contracttrait]
+impl FungibleBurnable for ExampleContract {}
+
#[contractimpl]
impl ExampleContract {
pub fn __constructor(e: &Env) {
- Base::set_metadata(e, 7, String::from_str(e, "My Token"), String::from_str(e, "TKN"));
+ Self::set_metadata(e, 7, String::from_str(e, "My Token"), String::from_str(e, "TKN"));
}
pub fn mint(e: &Env, to: Address, amount: i128) {
- Base::mint(e, &to, amount);
+ Self::internal_mint(e, &to, amount);
}
}
-#[default_impl]
-#[contractimpl]
-impl FungibleToken for ExampleContract {
- type ContractType = Base;
-}
-
-#[default_impl]
-#[contractimpl]
-impl FungibleBurnable for ExampleContract {}
-
fn create_client<'a>(e: &Env) -> ExampleContractClient<'a> {
let address = e.register(ExampleContract, ());
ExampleContractClient::new(e, &address)
diff --git a/packages/test-utils/default-impl-macro-test/tests/non_fungible.rs b/packages/test-utils/default-impl-macro-test/tests/non_fungible.rs
index 2a71ee8a..0c4c090b 100644
--- a/packages/test-utils/default-impl-macro-test/tests/non_fungible.rs
+++ b/packages/test-utils/default-impl-macro-test/tests/non_fungible.rs
@@ -1,14 +1,18 @@
-use soroban_sdk::{contract, contractimpl, testutils::Address as _, Address, Env, String};
-use stellar_macros::default_impl;
-use stellar_tokens::non_fungible::{Base, NonFungibleToken};
+use soroban_sdk::{
+ contract, contractimpl, contracttrait, testutils::Address as _, Address, Env, String,
+};
+use stellar_tokens::NonFungibleToken;
#[contract]
pub struct ExampleContract;
+#[contracttrait]
+impl NonFungibleToken for ExampleContract {}
+
#[contractimpl]
impl ExampleContract {
pub fn __constructor(e: &Env) {
- Base::set_metadata(
+ Self::set_metadata(
e,
String::from_str(e, "www.mytoken.com/"),
String::from_str(e, "My Token"),
@@ -17,16 +21,10 @@ impl ExampleContract {
}
pub fn mint(e: &Env, to: Address, token_id: u32) {
- Base::mint(e, &to, token_id);
+ Self::internal_mint(e, &to, token_id);
}
}
-#[default_impl]
-#[contractimpl]
-impl NonFungibleToken for ExampleContract {
- type ContractType = Base;
-}
-
fn create_client<'a>(e: &Env) -> ExampleContractClient<'a> {
let address = e.register(ExampleContract, ());
ExampleContractClient::new(e, &address)
diff --git a/packages/test-utils/default-impl-macro-test/tests/non_fungible_burnable.rs b/packages/test-utils/default-impl-macro-test/tests/non_fungible_burnable.rs
index 7dcb5f4f..57b4409e 100644
--- a/packages/test-utils/default-impl-macro-test/tests/non_fungible_burnable.rs
+++ b/packages/test-utils/default-impl-macro-test/tests/non_fungible_burnable.rs
@@ -7,17 +7,24 @@
//! **IMPORTANT**: This example is for demonstration purposes, and access
//! control to sensitive operations is not taken into consideration!
-use soroban_sdk::{contract, contractimpl, testutils::Address as _, Address, Env, String};
-use stellar_macros::default_impl;
-use stellar_tokens::non_fungible::{burnable::NonFungibleBurnable, Base, NonFungibleToken};
+use soroban_sdk::{
+ contract, contractimpl, contracttrait, testutils::Address as _, Address, Env, String,
+};
+use stellar_tokens::{NonFungibleBurnable, NonFungibleToken};
#[contract]
pub struct ExampleContract;
+#[contracttrait]
+impl NonFungibleToken for ExampleContract {}
+
+#[contracttrait]
+impl NonFungibleBurnable for ExampleContract {}
+
#[contractimpl]
impl ExampleContract {
pub fn __constructor(e: &Env) {
- Base::set_metadata(
+ Self::set_metadata(
e,
String::from_str(e, "www.mytoken.com"),
String::from_str(e, "My Token"),
@@ -26,20 +33,10 @@ impl ExampleContract {
}
pub fn mint(e: &Env, to: Address, token_id: u32) {
- Base::mint(e, &to, token_id);
+ Self::internal_mint(e, &to, token_id);
}
}
-#[default_impl]
-#[contractimpl]
-impl NonFungibleToken for ExampleContract {
- type ContractType = Base;
-}
-
-#[default_impl]
-#[contractimpl]
-impl NonFungibleBurnable for ExampleContract {}
-
fn create_client<'a>(e: &Env) -> ExampleContractClient<'a> {
let address = e.register(ExampleContract, ());
ExampleContractClient::new(e, &address)
diff --git a/packages/test-utils/default-impl-macro-test/tests/non_fungible_enumerable.rs b/packages/test-utils/default-impl-macro-test/tests/non_fungible_enumerable.rs
index fe6bb078..e5bfcd04 100644
--- a/packages/test-utils/default-impl-macro-test/tests/non_fungible_enumerable.rs
+++ b/packages/test-utils/default-impl-macro-test/tests/non_fungible_enumerable.rs
@@ -1,17 +1,23 @@
-use soroban_sdk::{contract, contractimpl, testutils::Address as _, Address, Env, String};
-use stellar_macros::default_impl;
-use stellar_tokens::non_fungible::{
- enumerable::{Enumerable, NonFungibleEnumerable},
- Base, NonFungibleToken,
+use soroban_sdk::{
+ contract, contractimpl, contracttrait, testutils::Address as _, Address, Env, String,
+};
+use stellar_tokens::{
+ non_fungible::enumerable::Enumerable, NonFungibleEnumerable, NonFungibleToken,
};
#[contract]
pub struct ExampleContract;
+#[contracttrait(default = Enumerable)]
+impl NonFungibleToken for ExampleContract {}
+
+#[contracttrait]
+impl NonFungibleEnumerable for ExampleContract {}
+
#[contractimpl]
impl ExampleContract {
pub fn __constructor(e: &Env) {
- Base::set_metadata(
+ Self::set_metadata(
e,
String::from_str(e, "www.mytoken.com"),
String::from_str(e, "My Token"),
@@ -24,16 +30,6 @@ impl ExampleContract {
}
}
-#[default_impl]
-#[contractimpl]
-impl NonFungibleToken for ExampleContract {
- type ContractType = Enumerable;
-}
-
-#[default_impl]
-#[contractimpl]
-impl NonFungibleEnumerable for ExampleContract {}
-
fn create_client<'a>(e: &Env) -> ExampleContractClient<'a> {
let address = e.register(ExampleContract, ());
ExampleContractClient::new(e, &address)
diff --git a/packages/test-utils/default-impl-macro-test/tests/ownable.rs b/packages/test-utils/default-impl-macro-test/tests/ownable.rs
index 14876039..0e2f98e2 100644
--- a/packages/test-utils/default-impl-macro-test/tests/ownable.rs
+++ b/packages/test-utils/default-impl-macro-test/tests/ownable.rs
@@ -1,9 +1,10 @@
use soroban_sdk::{
- contract, contractimpl, contracttype, testutils::Address as _, Address, Env, String,
+ contract, contractimpl, contracttrait, contracttype, testutils::Address as _, Address, Env,
+ String,
};
-use stellar_access::ownable::{set_owner, Ownable};
-use stellar_macros::{default_impl, only_owner};
-use stellar_tokens::fungible::{Base, FungibleToken};
+use stellar_access::Ownable;
+use stellar_macros::only_owner;
+use stellar_tokens::FungibleToken;
#[contracttype]
pub enum DataKey {
@@ -13,29 +14,25 @@ pub enum DataKey {
#[contract]
pub struct ExampleContract;
+#[contracttrait]
+impl FungibleToken for ExampleContract {}
+
+#[contracttrait]
+impl Ownable for ExampleContract {}
+
#[contractimpl]
impl ExampleContract {
pub fn __constructor(e: &Env, owner: Address) {
- set_owner(e, &owner);
- Base::set_metadata(e, 7, String::from_str(e, "My Token"), String::from_str(e, "TKN"));
+ Self::set_owner(e, &owner);
+ Self::set_metadata(e, 7, String::from_str(e, "My Token"), String::from_str(e, "TKN"));
}
#[only_owner]
pub fn mint(e: &Env, to: Address, amount: i128) {
- Base::mint(e, &to, amount);
+ Self::internal_mint(e, &to, amount);
}
}
-#[default_impl]
-#[contractimpl]
-impl FungibleToken for ExampleContract {
- type ContractType = Base;
-}
-
-#[default_impl]
-#[contractimpl]
-impl Ownable for ExampleContract {}
-
fn create_client<'a>(e: &Env, owner: &Address) -> ExampleContractClient<'a> {
let address = e.register(ExampleContract, (owner,));
ExampleContractClient::new(e, &address)
@@ -45,7 +42,7 @@ fn create_client<'a>(e: &Env, owner: &Address) -> ExampleContractClient<'a> {
fn default_impl_ownable() {
let e = Env::default();
let owner = Address::generate(&e);
- let client = create_client(&e, &owner);
+ let client: ExampleContractClient<'_> = create_client(&e, &owner);
e.mock_all_auths();
diff --git a/packages/tokens/Cargo.toml b/packages/tokens/Cargo.toml
index 1aee33f2..fe428bc0 100644
--- a/packages/tokens/Cargo.toml
+++ b/packages/tokens/Cargo.toml
@@ -13,6 +13,9 @@ doctest = false
[dependencies]
soroban-sdk = { workspace = true }
+stellar-contract-utils = { workspace = true }
+stellar-access = { workspace = true }
+stellar-macros = { workspace = true }
[dev-dependencies]
soroban-sdk = { workspace = true, features = ["testutils"] }
diff --git a/packages/tokens/src/fungible/extensions/allowlist/mod.rs b/packages/tokens/src/fungible/extensions/allowlist/mod.rs
index fcb68edd..b695c9bd 100644
--- a/packages/tokens/src/fungible/extensions/allowlist/mod.rs
+++ b/packages/tokens/src/fungible/extensions/allowlist/mod.rs
@@ -1,13 +1,11 @@
-pub mod storage;
+mod storage;
#[cfg(test)]
mod test;
-use soroban_sdk::{symbol_short, Address, Env};
+use soroban_sdk::{assert_with_error, symbol_short, Address, Env};
pub use storage::AllowList;
-use crate::fungible::FungibleToken;
-
/// AllowList Trait for Fungible Token
///
/// The `FungibleAllowList` trait extends the `FungibleToken` trait to
@@ -29,14 +27,15 @@ use crate::fungible::FungibleToken;
/// However, this parameter is omitted from the module functions, defined in
/// "storage.rs", because the authorizations are to be handled in the access
/// control helpers or directly implemented.
-pub trait FungibleAllowList: FungibleToken {
+#[soroban_sdk::contracttrait(default = AllowList)]
+pub trait FungibleAllowList {
/// Returns the allowed status of an account.
///
/// # Arguments
///
/// * `e` - Access to the Soroban environment.
/// * `account` - The address to check the allowed status for.
- fn allowed(e: &Env, account: Address) -> bool;
+ fn allowed(e: &Env, account: &soroban_sdk::Address) -> bool;
/// Allows a user to receive and transfer tokens.
///
@@ -50,7 +49,7 @@ pub trait FungibleAllowList: FungibleToken {
///
/// * topics - `["allow", user: Address]`
/// * data - `[]`
- fn allow_user(e: &Env, user: Address, operator: Address);
+ fn allow_user(e: &Env, user: &soroban_sdk::Address, operator: &soroban_sdk::Address);
/// Disallows a user from receiving and transferring tokens.
///
@@ -64,7 +63,19 @@ pub trait FungibleAllowList: FungibleToken {
///
/// * topics - `["disallow", user: Address]`
/// * data - `[]`
- fn disallow_user(e: &Env, user: Address, operator: Address);
+ fn disallow_user(e: &Env, user: &soroban_sdk::Address, operator: &soroban_sdk::Address);
+
+ #[internal]
+ fn assert_allowed(e: &Env, users: &[&Address]) {
+ assert_with_error!(
+ e,
+ users.iter().all(|user| Self::allowed(e, user)),
+ crate::FungibleTokenError::UserNotAllowed
+ )
+ }
+
+ #[internal]
+ fn allow_user_no_auth(e: &Env, user: &soroban_sdk::Address);
}
// ################## EVENTS ##################
diff --git a/packages/tokens/src/fungible/extensions/allowlist/storage.rs b/packages/tokens/src/fungible/extensions/allowlist/storage.rs
index 4182712d..85d35815 100644
--- a/packages/tokens/src/fungible/extensions/allowlist/storage.rs
+++ b/packages/tokens/src/fungible/extensions/allowlist/storage.rs
@@ -1,27 +1,12 @@
-use soroban_sdk::{contracttype, panic_with_error, Address, Env};
+use soroban_sdk::{contracttype, Address, Env};
use crate::fungible::{
extensions::allowlist::{emit_user_allowed, emit_user_disallowed},
- overrides::{Base, ContractOverrides},
- FungibleTokenError, ALLOW_BLOCK_EXTEND_AMOUNT, ALLOW_BLOCK_TTL_THRESHOLD,
+ ALLOW_BLOCK_EXTEND_AMOUNT, ALLOW_BLOCK_TTL_THRESHOLD,
};
pub struct AllowList;
-impl ContractOverrides for AllowList {
- fn transfer(e: &Env, from: &Address, to: &Address, amount: i128) {
- AllowList::transfer(e, from, to, amount);
- }
-
- fn transfer_from(e: &Env, spender: &Address, from: &Address, to: &Address, amount: i128) {
- AllowList::transfer_from(e, spender, from, to, amount);
- }
-
- fn approve(e: &Env, owner: &Address, spender: &Address, amount: i128, live_until_ledger: u32) {
- AllowList::approve(e, owner, spender, amount, live_until_ledger);
- }
-}
-
/// Storage keys for the data associated with the allowlist extension
#[contracttype]
pub enum AllowListStorageKey {
@@ -29,16 +14,10 @@ pub enum AllowListStorageKey {
Allowed(Address),
}
-impl AllowList {
- // ################## QUERY STATE ##################
+impl super::FungibleAllowList for AllowList {
+ type Impl = Self;
- /// Returns the allowed status of an account.
- ///
- /// # Arguments
- ///
- /// * `e` - Access to the Soroban environment.
- /// * `account` - The address to check the allowed status for.
- pub fn allowed(e: &Env, account: &Address) -> bool {
+ fn allowed(e: &Env, account: &Address) -> bool {
let key = AllowListStorageKey::Allowed(account.clone());
if e.storage().persistent().has(&key) {
e.storage().persistent().extend_ttl(
@@ -52,64 +31,11 @@ impl AllowList {
}
}
- // ################## CHANGE STATE ##################
-
- /// Allows a user to receive and transfer tokens.
- ///
- /// # Arguments
- ///
- /// * `e` - Access to the Soroban environment.
- /// * `user` - The address to allow.
- ///
- /// # Events
- ///
- /// * topics - `["allow", user: Address]`
- /// * data - `[]`
- ///
- /// # Security Warning
- ///
- /// **IMPORTANT**: This function bypasses authorization checks and should
- /// only be used:
- /// - During contract initialization/construction
- /// - In admin functions that implement their own authorization logic
- ///
- /// Using this function in public-facing methods creates significant
- /// security risks as it could allow unauthorized allowlist
- /// modifications.
- pub fn allow_user(e: &Env, user: &Address) {
- let key = AllowListStorageKey::Allowed(user.clone());
-
- // if the user is not allowed, allow them
- if !e.storage().persistent().has(&key) {
- e.storage().persistent().set(&key, &());
-
- emit_user_allowed(e, user);
- }
+ fn allow_user(e: &Env, user: &Address, _operator: &Address) {
+ Self::allow_user_no_auth(e, user);
}
- /// Disallows a user from receiving and transferring tokens.
- ///
- /// # Arguments
- ///
- /// * `e` - Access to the Soroban environment.
- /// * `user` - The address to disallow.
- ///
- /// # Events
- ///
- /// * topics - `["disallow", user: Address]`
- /// * data - `[]`
- ///
- /// # Security Warning
- ///
- /// **IMPORTANT**: This function bypasses authorization checks and should
- /// only be used:
- /// - During contract initialization/construction
- /// - In admin functions that implement their own authorization logic
- ///
- /// Using this function in public-facing methods creates significant
- /// security risks as it could allow unauthorized allowlist
- /// modifications.
- pub fn disallow_user(e: &Env, user: &Address) {
+ fn disallow_user(e: &Env, user: &Address, _operator: &Address) {
let key = AllowListStorageKey::Allowed(user.clone());
// if the user is currently allowed, disallow them
@@ -120,107 +46,14 @@ impl AllowList {
}
}
- // ################## OVERRIDDEN FUNCTIONS ##################
-
- /// Transfers `amount` of tokens from `from` to `to`.
- ///
- /// # Arguments
- ///
- /// * `e` - Access to Soroban environment.
- /// * `from` - The address holding the tokens.
- /// * `to` - The address receiving the transferred tokens.
- /// * `amount` - The amount of tokens to be transferred.
- ///
- /// # Errors
- ///
- /// * [`FungibleTokenError::UserNotAllowed`] - When either `from` or `to` is
- /// not allowed.
- /// * Also refer to [`Base::transfer`] errors.
- pub fn transfer(e: &Env, from: &Address, to: &Address, amount: i128) {
- if !AllowList::allowed(e, from) || !AllowList::allowed(e, to) {
- panic_with_error!(e, FungibleTokenError::UserNotAllowed);
- }
- Base::transfer(e, from, to, amount);
- }
-
- /// Transfers `amount` of tokens from `from` to `to` using the
- /// allowance mechanism. `amount` is then deducted from `spender`s
- /// allowance.
- ///
- /// # Arguments
- ///
- /// * `e` - Access to Soroban environment.
- /// * `spender` - The address authorizing the transfer, and having its
- /// allowance consumed during the transfer.
- /// * `from` - The address holding the tokens which will be transferred.
- /// * `to` - The address receiving the transferred tokens.
- /// * `amount` - The amount of tokens to be transferred.
- ///
- /// # Errors
- ///
- /// * [`FungibleTokenError::UserNotAllowed`] - When either `from`, or `to`
- /// is not allowed.
- /// * Also refer to [`Base::transfer_from`] errors.
- pub fn transfer_from(e: &Env, spender: &Address, from: &Address, to: &Address, amount: i128) {
- if !AllowList::allowed(e, from) || !AllowList::allowed(e, to) {
- panic_with_error!(e, FungibleTokenError::UserNotAllowed);
- }
-
- Base::transfer_from(e, spender, from, to, amount);
- }
-
- /// Sets the amount of tokens a `spender` is allowed to spend on behalf of
- /// an `owner`. Overrides any existing allowance set between `spender`
- /// and `owner`.
- ///
- /// # Arguments
- ///
- /// * `e` - Access to Soroban environment.
- /// * `owner` - The address holding the tokens.
- /// * `spender` - The address authorized to spend the tokens.
- /// * `amount` - The amount of tokens made available to `spender`.
- /// * `live_until_ledger` - The ledger number at which the allowance
- /// expires.
- ///
- /// # Errors
- ///
- /// * [`FungibleTokenError::UserNotAllowed`] - When `owner` is not allowed.
- /// * Also refer to [`Base::approve`] errors.
- pub fn approve(
- e: &Env,
- owner: &Address,
- spender: &Address,
- amount: i128,
- live_until_ledger: u32,
- ) {
- if !AllowList::allowed(e, owner) {
- panic_with_error!(e, FungibleTokenError::UserNotAllowed);
- }
-
- Base::approve(e, owner, spender, amount, live_until_ledger);
- }
+ fn allow_user_no_auth(e: &Env, user: &soroban_sdk::Address) {
+ let key = AllowListStorageKey::Allowed(user.clone());
- /// This is a wrapper around [`Base::burn()`] to enable
- /// the compatibility across [`crate::fungible::burnable::FungibleBurnable`]
- /// with [`crate::fungible::allowlist::FungibleAllowList`]
- ///
- /// Please refer to [`Base::burn`] for the inline documentation.
- pub fn burn(e: &Env, from: &Address, amount: i128) {
- if !AllowList::allowed(e, from) {
- panic_with_error!(e, FungibleTokenError::UserNotAllowed);
- }
- Base::burn(e, from, amount);
- }
+ // if the user is not allowed, allow them
+ if !e.storage().persistent().has(&key) {
+ e.storage().persistent().set(&key, &());
- /// This is a wrapper around [`Base::burn_from()`] to enable
- /// the compatibility across [`crate::fungible::burnable::FungibleBurnable`]
- /// with [`crate::fungible::allowlist::FungibleAllowList`]
- ///
- /// Please refer to [`Base::burn_from`] for the inline documentation.
- pub fn burn_from(e: &Env, spender: &Address, from: &Address, amount: i128) {
- if !AllowList::allowed(e, from) {
- panic_with_error!(e, FungibleTokenError::UserNotAllowed);
+ emit_user_allowed(e, user);
}
- Base::burn_from(e, spender, from, amount);
}
}
diff --git a/packages/tokens/src/fungible/extensions/allowlist/test.rs b/packages/tokens/src/fungible/extensions/allowlist/test.rs
index 408f58d4..d20b279b 100644
--- a/packages/tokens/src/fungible/extensions/allowlist/test.rs
+++ b/packages/tokens/src/fungible/extensions/allowlist/test.rs
@@ -2,11 +2,54 @@ extern crate std;
use soroban_sdk::{contract, testutils::Address as _, Address, Env};
-use crate::fungible::{extensions::allowlist::storage::AllowList, Base};
+use crate::fungible::{
+ extensions::{
+ allowlist::{AllowList, FungibleAllowList},
+ burnable::FungibleBurnable,
+ },
+ FTBase, FungibleToken,
+};
+
+impl FungibleToken for MockContract {
+ type Impl = FTBase;
+
+ fn transfer(e: &Env, from: &Address, to: &Address, amount: i128) {
+ Self::assert_allowed(e, &[from, to]);
+ Self::Impl::transfer(e, from, to, amount);
+ }
+
+ fn transfer_from(e: &Env, spender: &Address, from: &Address, to: &Address, amount: i128) {
+ Self::assert_allowed(e, &[from, to]);
+ Self::Impl::transfer_from(e, spender, from, to, amount);
+ }
+
+ fn approve(e: &Env, owner: &Address, spender: &Address, amount: i128, live_until_ledger: u32) {
+ Self::assert_allowed(e, &[owner]);
+ Self::Impl::approve(e, owner, spender, amount, live_until_ledger);
+ }
+}
+
+impl FungibleBurnable for MockContract {
+ type Impl = FTBase;
+
+ fn burn(e: &Env, from: &Address, amount: i128) {
+ Self::assert_allowed(e, &[from]);
+ Self::Impl::burn(e, from, amount);
+ }
+
+ fn burn_from(e: &Env, spender: &Address, from: &Address, amount: i128) {
+ Self::assert_allowed(e, &[from]);
+ Self::Impl::burn_from(e, spender, from, amount);
+ }
+}
#[contract]
struct MockContract;
+impl FungibleAllowList for MockContract {
+ type Impl = AllowList;
+}
+
#[test]
fn allow_user_works() {
let e = Env::default();
@@ -16,13 +59,13 @@ fn allow_user_works() {
e.as_contract(&address, || {
// Check initial state
- assert!(!AllowList::allowed(&e, &user));
+ assert!(!MockContract::allowed(&e, &user));
// Allow user
- AllowList::allow_user(&e, &user);
+ MockContract::allow_user(&e, &user, &user);
// Verify user is allowed
- assert!(AllowList::allowed(&e, &user));
+ assert!(MockContract::allowed(&e, &user));
});
}
@@ -35,16 +78,16 @@ fn disallow_user_works() {
e.as_contract(&address, || {
// Allow user first
- AllowList::allow_user(&e, &user);
- assert!(AllowList::allowed(&e, &user));
+ MockContract::allow_user(&e, &user, &user);
+ assert!(MockContract::allowed(&e, &user));
});
e.as_contract(&address, || {
// Disallow user
- AllowList::disallow_user(&e, &user);
+ AllowList::disallow_user(&e, &user, &user);
// Verify user is not allowed
- assert!(!AllowList::allowed(&e, &user));
+ assert!(!MockContract::allowed(&e, &user));
});
}
@@ -58,18 +101,18 @@ fn transfer_with_allowed_users_works() {
e.as_contract(&address, || {
// Allow both users
- AllowList::allow_user(&e, &user1);
- AllowList::allow_user(&e, &user2);
+ MockContract::allow_user(&e, &user1, &user1);
+ MockContract::allow_user(&e, &user2, &user1);
// Mint tokens to user1
- Base::mint(&e, &user1, 100);
+ MockContract::internal_mint(&e, &user1, 100);
// Transfer tokens from user1 to user2
- AllowList::transfer(&e, &user1, &user2, 50);
+ MockContract::transfer(&e, &user1, &user2, 50);
// Verify balances
- assert_eq!(Base::balance(&e, &user1), 50);
- assert_eq!(Base::balance(&e, &user2), 50);
+ assert_eq!(MockContract::balance(&e, &user1), 50);
+ assert_eq!(MockContract::balance(&e, &user2), 50);
});
}
@@ -82,16 +125,16 @@ fn allowlist_burn_override_works() {
e.as_contract(&address, || {
// Allow user first
- AllowList::allow_user(&e, &user);
+ MockContract::allow_user(&e, &user, &user);
// Mint tokens to user
- Base::mint(&e, &user, 100);
+ MockContract::internal_mint(&e, &user, 100);
// Burn tokens from user
- AllowList::burn(&e, &user, 50);
+ MockContract::burn(&e, &user, 50);
// Verify balance
- assert_eq!(Base::balance(&e, &user), 50);
+ assert_eq!(MockContract::balance(&e, &user), 50);
});
}
@@ -105,19 +148,19 @@ fn allowlist_burn_from_override_works() {
e.as_contract(&address, || {
// Allow user1 first
- AllowList::allow_user(&e, &user1);
+ MockContract::allow_user(&e, &user1, &user1);
// Mint tokens to user1
- Base::mint(&e, &user1, 100);
+ MockContract::internal_mint(&e, &user1, 100);
// Allow user2 to burn tokens from user1
- Base::approve(&e, &user1, &user2, 50, 100);
+ MockContract::approve(&e, &user1, &user2, 50, 100);
// Burn tokens from user1 by user2
- AllowList::burn_from(&e, &user2, &user1, 50);
+ MockContract::burn_from(&e, &user2, &user1, 50);
// Verify balance
- assert_eq!(Base::balance(&e, &user1), 50);
+ assert_eq!(MockContract::balance(&e, &user1), 50);
});
}
@@ -132,13 +175,13 @@ fn transfer_with_sender_not_allowed_panics() {
e.as_contract(&address, || {
// Allow only user2
- AllowList::allow_user(&e, &user2);
+ MockContract::allow_user(&e, &user2, &user1);
// Mint tokens to user1
- Base::mint(&e, &user1, 100);
+ MockContract::internal_mint(&e, &user1, 100);
// Try to transfer tokens from user1 (not allowed) to user2
- AllowList::transfer(&e, &user1, &user2, 50);
+ MockContract::transfer(&e, &user1, &user2, 50);
});
}
@@ -153,13 +196,13 @@ fn transfer_with_receiver_not_allowed_panics() {
e.as_contract(&address, || {
// Allow only user1
- AllowList::allow_user(&e, &user1);
+ MockContract::allow_user(&e, &user1, &user1);
// Mint tokens to user1
- Base::mint(&e, &user1, 100);
+ MockContract::internal_mint(&e, &user1, 100);
// Try to transfer tokens from user1 to user2 (not allowed)
- AllowList::transfer(&e, &user1, &user2, 50);
+ MockContract::transfer(&e, &user1, &user2, 50);
});
}
@@ -174,7 +217,7 @@ fn approve_with_owner_not_allowed_panics() {
e.as_contract(&address, || {
// Try to approve tokens from user1 (not allowed) to user2 (not allowed)
- AllowList::approve(&e, &user1, &user2, 50, 100);
+ MockContract::approve(&e, &user1, &user2, 50, 100);
});
}
@@ -188,10 +231,10 @@ fn burn_with_not_allowed_panics() {
e.as_contract(&address, || {
// Mint tokens to user
- Base::mint(&e, &user, 100);
+ MockContract::internal_mint(&e, &user, 100);
// Try to burn tokens from user (not allowed)
- AllowList::burn(&e, &user, 50);
+ MockContract::burn(&e, &user, 50);
});
}
@@ -206,12 +249,12 @@ fn burn_from_with_not_allowed_panics() {
e.as_contract(&address, || {
// Mint tokens to user1
- Base::mint(&e, &user1, 100);
+ MockContract::internal_mint(&e, &user1, 100);
// Allow user2 to burn tokens from user1
- Base::approve(&e, &user1, &user2, 50, 100);
+ MockContract::approve(&e, &user1, &user2, 50, 100);
// Try to burn tokens from user1 by user2 (not allowed)
- AllowList::burn_from(&e, &user2, &user1, 50);
+ MockContract::burn_from(&e, &user2, &user1, 50);
});
}
diff --git a/packages/tokens/src/fungible/extensions/blocklist/mod.rs b/packages/tokens/src/fungible/extensions/blocklist/mod.rs
index ceabded1..732efaf4 100644
--- a/packages/tokens/src/fungible/extensions/blocklist/mod.rs
+++ b/packages/tokens/src/fungible/extensions/blocklist/mod.rs
@@ -1,12 +1,10 @@
-pub mod storage;
+mod storage;
#[cfg(test)]
mod test;
-use soroban_sdk::{symbol_short, Address, Env};
-pub use storage::BlockList;
-
-use crate::fungible::FungibleToken;
+use soroban_sdk::{assert_with_error, symbol_short, Address, Env};
+pub use storage::*;
/// BlockList Trait for Fungible Token
///
@@ -29,20 +27,19 @@ use crate::fungible::FungibleToken;
/// However, this parameter is omitted from the module functions, defined in
/// "storage.rs", because the authorizations are to be handled in the access
/// control helpers or directly implemented.
-pub trait FungibleBlockList: FungibleToken {
+#[soroban_sdk::contracttrait(default = BlockList)]
+pub trait FungibleBlockList {
/// Returns the blocked status of an account.
///
/// # Arguments
///
- /// * `e` - Access to the Soroban environment.
/// * `account` - The address to check the blocked status for.
- fn blocked(e: &Env, account: Address) -> bool;
+ fn blocked(e: &Env, account: &soroban_sdk::Address) -> bool;
/// Blocks a user from receiving and transferring tokens.
///
/// # Arguments
///
- /// * `e` - Access to the Soroban environment.
/// * `user` - The address to block.
/// * `operator` - The address authorizing the invocation.
///
@@ -50,13 +47,12 @@ pub trait FungibleBlockList: FungibleToken {
///
/// * topics - `["block", user: Address]`
/// * data - `[]`
- fn block_user(e: &Env, user: Address, operator: Address);
+ fn block_user(e: &Env, user: &soroban_sdk::Address, operator: &soroban_sdk::Address);
/// Unblocks a user, allowing them to receive and transfer tokens.
///
/// # Arguments
///
- /// * `e` - Access to the Soroban environment.
/// * `user` - The address to unblock.
/// * `operator` - The address authorizing the invocation.
///
@@ -64,7 +60,25 @@ pub trait FungibleBlockList: FungibleToken {
///
/// * topics - `["unblock", user: Address]`
/// * data - `[]`
- fn unblock_user(e: &Env, user: Address, operator: Address);
+ fn unblock_user(e: &Env, user: &soroban_sdk::Address, operator: &soroban_sdk::Address);
+
+ /// Asserts that the provided users are not blocked.
+ ///
+ /// # Panics
+ /// If any of the provided users are blocked with error
+ /// [`crate::FungibleTokenError::UserBlocked`]
+ ///
+ /// # Arguments
+ ///
+ /// * `users` - The addresses to check if blocked.
+ #[internal]
+ fn assert_not_blocked(e: &Env, users: &[&soroban_sdk::Address]) {
+ assert_with_error!(
+ e,
+ users.iter().all(|u| !Self::blocked(e, u)),
+ crate::FungibleTokenError::UserBlocked
+ );
+ }
}
// ################## EVENTS ##################
diff --git a/packages/tokens/src/fungible/extensions/blocklist/storage.rs b/packages/tokens/src/fungible/extensions/blocklist/storage.rs
index 89dfead5..e8eb8a3c 100644
--- a/packages/tokens/src/fungible/extensions/blocklist/storage.rs
+++ b/packages/tokens/src/fungible/extensions/blocklist/storage.rs
@@ -1,36 +1,14 @@
-use soroban_sdk::{contracttype, panic_with_error, Address, Env};
+use soroban_sdk::{contracttype, Address, Env};
use crate::fungible::{
extensions::blocklist::{emit_user_blocked, emit_user_unblocked},
- overrides::{Base, ContractOverrides},
- FungibleTokenError, ALLOW_BLOCK_EXTEND_AMOUNT, ALLOW_BLOCK_TTL_THRESHOLD,
+ ALLOW_BLOCK_EXTEND_AMOUNT, ALLOW_BLOCK_TTL_THRESHOLD,
};
pub struct BlockList;
-impl ContractOverrides for BlockList {
- fn transfer(e: &Env, from: &Address, to: &Address, amount: i128) {
- BlockList::transfer(e, from, to, amount);
- }
-
- fn transfer_from(e: &Env, spender: &Address, from: &Address, to: &Address, amount: i128) {
- BlockList::transfer_from(e, spender, from, to, amount);
- }
-
- fn approve(e: &Env, owner: &Address, spender: &Address, amount: i128, live_until_ledger: u32) {
- BlockList::approve(e, owner, spender, amount, live_until_ledger);
- }
-}
-
-/// Storage keys for the data associated with the blocklist extension
-#[contracttype]
-pub enum BlockListStorageKey {
- /// Stores the blocked status of an account
- Blocked(Address),
-}
-
-impl BlockList {
- // ################## QUERY STATE ##################
+impl super::FungibleBlockList for BlockList {
+ type Impl = Self;
/// Returns the blocked status of an account.
///
@@ -38,7 +16,7 @@ impl BlockList {
///
/// * `e` - Access to the Soroban environment.
/// * `account` - The address to check the blocked status for.
- pub fn blocked(e: &Env, account: &Address) -> bool {
+ fn blocked(e: &Env, account: &Address) -> bool {
let key = BlockListStorageKey::Blocked(account.clone());
if e.storage().persistent().has(&key) {
e.storage().persistent().extend_ttl(
@@ -52,31 +30,13 @@ impl BlockList {
}
}
- // ################## CHANGE STATE ##################
-
/// Blocks a user from receiving and transferring tokens.
///
/// # Arguments
///
/// * `e` - Access to the Soroban environment.
/// * `user` - The address to block.
- ///
- /// # Events
- ///
- /// * topics - `["block", user: Address]`
- /// * data - `[]`
- ///
- /// # Security Warning
- ///
- /// **IMPORTANT**: This function bypasses authorization checks and should
- /// only be used:
- /// - During contract initialization/construction
- /// - In admin functions that implement their own authorization logic
- ///
- /// Using this function in public-facing methods creates significant
- /// security risks as it could allow unauthorized blocklist
- /// modifications.
- pub fn block_user(e: &Env, user: &Address) {
+ fn block_user(e: &Env, user: &Address, _operator: &Address) {
let key = BlockListStorageKey::Blocked(user.clone());
// if the user is not blocked, block them
@@ -93,137 +53,20 @@ impl BlockList {
///
/// * `e` - Access to the Soroban environment.
/// * `user` - The address to unblock.
- ///
- /// # Events
- ///
- /// * topics - `["unblock", user: Address]`
- /// * data - `[]`
- ///
- /// # Security Warning
- ///
- /// **IMPORTANT**: This function bypasses authorization checks and should
- /// only be used:
- /// - During contract initialization/construction
- /// - In admin functions that implement their own authorization logic
- ///
- /// Using this function in public-facing methods creates significant
- /// security risks as it could allow unauthorized blocklist
- /// modifications.
- pub fn unblock_user(e: &Env, user: &Address) {
+ fn unblock_user(e: &Env, user: &Address, _operator: &Address) {
let key = BlockListStorageKey::Blocked(user.clone());
// if the user is currently blocked, unblock them
if e.storage().persistent().has(&key) {
e.storage().persistent().remove(&key);
-
emit_user_unblocked(e, user);
}
}
+}
- // ################## OVERRIDDEN FUNCTIONS ##################
-
- /// Transfers `amount` of tokens from `from` to `to`.
- ///
- /// # Arguments
- ///
- /// * `e` - Access to Soroban environment.
- /// * `from` - The address holding the tokens.
- /// * `to` - The address receiving the transferred tokens.
- /// * `amount` - The amount of tokens to be transferred.
- ///
- /// # Errors
- ///
- /// * [`FungibleTokenError::UserBlocked`] - When either `from` or `to` is
- /// blocked.
- /// * Also refer to [`Base::transfer`] errors.
- pub fn transfer(e: &Env, from: &Address, to: &Address, amount: i128) {
- if BlockList::blocked(e, from) || BlockList::blocked(e, to) {
- panic_with_error!(e, FungibleTokenError::UserBlocked);
- }
-
- Base::transfer(e, from, to, amount);
- }
-
- /// Transfers `amount` of tokens from `from` to `to` using the
- /// allowance mechanism. `amount` is then deducted from `spender`s
- /// allowance.
- ///
- /// # Arguments
- ///
- /// * `e` - Access to Soroban environment.
- /// * `spender` - The address authorizing the transfer, and having its
- /// allowance consumed during the transfer.
- /// * `from` - The address holding the tokens which will be transferred.
- /// * `to` - The address receiving the transferred tokens.
- /// * `amount` - The amount of tokens to be transferred.
- ///
- /// # Errors
- ///
- /// * [`FungibleTokenError::UserBlocked`] - When either `from`, or `to` is
- /// blocked.
- /// * Also refer to [`Base::transfer_from`] errors.
- pub fn transfer_from(e: &Env, spender: &Address, from: &Address, to: &Address, amount: i128) {
- if BlockList::blocked(e, from) || BlockList::blocked(e, to) {
- panic_with_error!(e, FungibleTokenError::UserBlocked);
- }
-
- Base::transfer_from(e, spender, from, to, amount);
- }
-
- /// Sets the amount of tokens a `spender` is allowed to spend on behalf of
- /// an `owner`. Overrides any existing allowance set between `spender`
- /// and `owner`.
- ///
- /// # Arguments
- ///
- /// * `e` - Access to Soroban environment.
- /// * `owner` - The address holding the tokens.
- /// * `spender` - The address authorized to spend the tokens.
- /// * `amount` - The amount of tokens made available to `spender`.
- /// * `live_until_ledger` - The ledger number at which the allowance
- /// expires.
- ///
- /// # Errors
- ///
- /// * [`FungibleTokenError::UserBlocked`] - When `owner` is blocked.
- /// * Also refer to [`Base::approve`] errors.
- pub fn approve(
- e: &Env,
- owner: &Address,
- spender: &Address,
- amount: i128,
- live_until_ledger: u32,
- ) {
- if BlockList::blocked(e, owner) {
- panic_with_error!(e, FungibleTokenError::UserBlocked);
- }
-
- Base::approve(e, owner, spender, amount, live_until_ledger);
- }
-
- /// This is a wrapper around [`Base::burn()`] to enable
- /// the compatibility across [`crate::fungible::burnable::FungibleBurnable`]
- /// with [`crate::fungible::blocklist::FungibleBlockList`]
- ///
- /// Please refer to [`Base::burn`] for the inline documentation.
- pub fn burn(e: &Env, from: &Address, amount: i128) {
- if BlockList::blocked(e, from) {
- panic_with_error!(e, FungibleTokenError::UserBlocked);
- }
-
- Base::burn(e, from, amount);
- }
-
- /// This is a wrapper around [`Base::burn_from()`] to enable
- /// the compatibility across [`crate::fungible::burnable::FungibleBurnable`]
- /// with [`crate::fungible::blocklist::FungibleBlockList`]
- ///
- /// Please refer to [`Base::burn_from`] for the inline documentation.
- pub fn burn_from(e: &Env, spender: &Address, from: &Address, amount: i128) {
- if BlockList::blocked(e, from) {
- panic_with_error!(e, FungibleTokenError::UserBlocked);
- }
-
- Base::burn_from(e, spender, from, amount);
- }
+/// Storage keys for the data associated with the blocklist extension
+#[contracttype]
+pub enum BlockListStorageKey {
+ /// Stores the blocked status of an account
+ Blocked(Address),
}
diff --git a/packages/tokens/src/fungible/extensions/blocklist/test.rs b/packages/tokens/src/fungible/extensions/blocklist/test.rs
index ac177858..74e308dc 100644
--- a/packages/tokens/src/fungible/extensions/blocklist/test.rs
+++ b/packages/tokens/src/fungible/extensions/blocklist/test.rs
@@ -2,11 +2,52 @@ extern crate std;
use soroban_sdk::{contract, testutils::Address as _, Address, Env};
-use crate::fungible::{extensions::blocklist::storage::BlockList, Base};
+use super::FungibleBlockList;
+use crate::fungible::{
+ extensions::{blocklist::storage::BlockList, burnable::FungibleBurnable},
+ FTBase, FungibleToken,
+};
#[contract]
struct MockContract;
+impl FungibleBlockList for MockContract {
+ type Impl = BlockList;
+}
+
+impl FungibleBurnable for MockContract {
+ type Impl = FTBase;
+
+ fn burn(e: &Env, from: &Address, amount: i128) {
+ Self::assert_not_blocked(e, &[from]);
+ Self::Impl::burn(e, from, amount);
+ }
+
+ fn burn_from(e: &Env, spender: &Address, from: &Address, amount: i128) {
+ Self::assert_not_blocked(e, &[from]);
+ Self::Impl::burn_from(e, spender, from, amount);
+ }
+}
+
+impl FungibleToken for MockContract {
+ type Impl = FTBase;
+
+ fn transfer(e: &Env, from: &Address, to: &Address, amount: i128) {
+ Self::assert_not_blocked(e, &[from, to]);
+ Self::Impl::transfer(e, from, to, amount);
+ }
+
+ fn transfer_from(e: &Env, spender: &Address, from: &Address, to: &Address, amount: i128) {
+ Self::assert_not_blocked(e, &[from, to]);
+ Self::Impl::transfer_from(e, spender, from, to, amount);
+ }
+
+ fn approve(e: &Env, owner: &Address, spender: &Address, amount: i128, live_until_ledger: u32) {
+ Self::assert_not_blocked(e, &[owner]);
+ Self::Impl::approve(e, owner, spender, amount, live_until_ledger);
+ }
+}
+
#[test]
fn block_user_works() {
let e = Env::default();
@@ -16,13 +57,13 @@ fn block_user_works() {
e.as_contract(&address, || {
// Check initial state
- assert!(!BlockList::blocked(&e, &user));
+ assert!(!MockContract::blocked(&e, &user));
// Block user
- BlockList::block_user(&e, &user);
+ MockContract::block_user(&e, &user, &user);
// Verify user is blocked
- assert!(BlockList::blocked(&e, &user));
+ assert!(MockContract::blocked(&e, &user));
});
}
@@ -35,14 +76,14 @@ fn unblock_user_works() {
e.as_contract(&address, || {
// Block user first
- BlockList::block_user(&e, &user);
- assert!(BlockList::blocked(&e, &user));
+ MockContract::block_user(&e, &user, &user);
+ assert!(MockContract::blocked(&e, &user));
// Unblock user
- BlockList::unblock_user(&e, &user);
+ MockContract::unblock_user(&e, &user, &user);
// Verify user is not blocked
- assert!(!BlockList::blocked(&e, &user));
+ assert!(!MockContract::blocked(&e, &user));
});
}
@@ -56,14 +97,14 @@ fn transfer_with_unblocked_users_works() {
e.as_contract(&address, || {
// Mint tokens to user1
- Base::mint(&e, &user1, 100);
+ MockContract::internal_mint(&e, &user1, 100);
// Transfer tokens from user1 to user2
- BlockList::transfer(&e, &user1, &user2, 50);
+ MockContract::transfer(&e, &user1, &user2, 50);
// Verify balances
- assert_eq!(Base::balance(&e, &user1), 50);
- assert_eq!(Base::balance(&e, &user2), 50);
+ assert_eq!(MockContract::balance(&e, &user1), 50);
+ assert_eq!(MockContract::balance(&e, &user2), 50);
});
}
@@ -76,13 +117,13 @@ fn blocklist_burn_override_works() {
e.as_contract(&address, || {
// Mint tokens to user
- Base::mint(&e, &user, 100);
+ MockContract::internal_mint(&e, &user, 100);
// Burn tokens from user
- BlockList::burn(&e, &user, 50);
+ MockContract::burn(&e, &user, 50);
// Verify balance
- assert_eq!(Base::balance(&e, &user), 50);
+ assert_eq!(MockContract::balance(&e, &user), 50);
});
}
@@ -96,16 +137,16 @@ fn blocklist_burn_from_override_works() {
e.as_contract(&address, || {
// Mint tokens to user1
- Base::mint(&e, &user1, 100);
+ MockContract::internal_mint(&e, &user1, 100);
// Allow user2 to burn tokens from user1
- Base::approve(&e, &user1, &user2, 50, 100);
+ MockContract::approve(&e, &user1, &user2, 50, 100);
// Burn tokens from user1 by user2
- BlockList::burn_from(&e, &user2, &user1, 50);
+ MockContract::burn_from(&e, &user2, &user1, 50);
// Verify balance
- assert_eq!(Base::balance(&e, &user1), 50);
+ assert_eq!(MockContract::balance(&e, &user1), 50);
});
}
@@ -120,13 +161,13 @@ fn transfer_with_sender_blocked_panics() {
e.as_contract(&address, || {
// Block user1
- BlockList::block_user(&e, &user1);
+ MockContract::block_user(&e, &user1, &user1);
// Mint tokens to user1
- Base::mint(&e, &user1, 100);
+ MockContract::internal_mint(&e, &user1, 100);
// Try to transfer tokens from user1 (blocked) to user2
- BlockList::transfer(&e, &user1, &user2, 50);
+ MockContract::transfer(&e, &user1, &user2, 50);
});
}
@@ -141,13 +182,13 @@ fn transfer_with_receiver_blocked_panics() {
e.as_contract(&address, || {
// Block user2
- BlockList::block_user(&e, &user2);
+ MockContract::block_user(&e, &user2, &user2);
// Mint tokens to user1
- Base::mint(&e, &user1, 100);
+ MockContract::internal_mint(&e, &user1, 100);
// Try to transfer tokens from user1 to user2 (blocked)
- BlockList::transfer(&e, &user1, &user2, 50);
+ MockContract::transfer(&e, &user1, &user2, 50);
});
}
@@ -162,10 +203,10 @@ fn approve_with_owner_blocked_panics() {
e.as_contract(&address, || {
// Block user1
- BlockList::block_user(&e, &user1);
+ MockContract::block_user(&e, &user1, &user1);
// Try to approve tokens from user1 (blocked) to user2
- BlockList::approve(&e, &user1, &user2, 50, 100);
+ MockContract::approve(&e, &user1, &user2, 50, 100);
});
}
@@ -179,13 +220,13 @@ fn burn_with_blocked_user_panics() {
e.as_contract(&address, || {
// Block user
- BlockList::block_user(&e, &user);
+ MockContract::block_user(&e, &user, &user);
// Mint tokens to user
- Base::mint(&e, &user, 100);
+ MockContract::internal_mint(&e, &user, 100);
// Try to burn tokens from user (blocked)
- BlockList::burn(&e, &user, 50);
+ MockContract::burn(&e, &user, 50);
});
}
@@ -200,15 +241,15 @@ fn burn_from_with_blocked_user_panics() {
e.as_contract(&address, || {
// Block user1
- BlockList::block_user(&e, &user1);
+ MockContract::block_user(&e, &user1, &user1);
// Mint tokens to user1
- Base::mint(&e, &user1, 100);
+ MockContract::internal_mint(&e, &user1, 100);
// Allow user2 to burn tokens from user1
- Base::approve(&e, &user1, &user2, 50, 100);
+ MockContract::approve(&e, &user1, &user2, 50, 100);
// Try to burn tokens from user1 by user2 (blocked)
- BlockList::burn_from(&e, &user2, &user1, 50);
+ MockContract::burn_from(&e, &user2, &user1, 50);
});
}
diff --git a/packages/tokens/src/fungible/extensions/burnable/mod.rs b/packages/tokens/src/fungible/extensions/burnable/mod.rs
index 8acc53b4..f5e51a67 100644
--- a/packages/tokens/src/fungible/extensions/burnable/mod.rs
+++ b/packages/tokens/src/fungible/extensions/burnable/mod.rs
@@ -2,9 +2,7 @@ mod storage;
mod test;
-use soroban_sdk::{symbol_short, Address, Env};
-
-use crate::fungible::FungibleToken;
+use soroban_sdk::{symbol_short, Env};
/// Burnable Trait for Fungible Token
///
@@ -19,13 +17,13 @@ use crate::fungible::FungibleToken;
/// Excluding the `burn` functionality from the `[FungibleToken]` trait
/// is a deliberate design choice to accommodate flexibility and customization
/// for various smart contract use cases.
-pub trait FungibleBurnable: FungibleToken {
+#[soroban_sdk::contracttrait(default = FTBase)]
+pub trait FungibleBurnable {
/// Destroys `amount` of tokens from `from`. Updates the total
/// supply accordingly.
///
/// # Arguments
///
- /// * `e` - Access to the Soroban environment.
/// * `from` - The account whose tokens are destroyed.
/// * `amount` - The amount of tokens to burn.
///
@@ -40,14 +38,13 @@ pub trait FungibleBurnable: FungibleToken {
///
/// * topics - `["burn", from: Address]`
/// * data - `[amount: i128]`
- fn burn(e: &Env, from: Address, amount: i128);
+ fn burn(e: &Env, from: &soroban_sdk::Address, amount: i128);
/// Destroys `amount` of tokens from `from`. Updates the total
/// supply accordingly.
///
/// # Arguments
///
- /// * `e` - Access to the Soroban environment.
/// * `spender` - The address authorized to burn the tokens.
/// * `from` - The account whose tokens are destroyed.
/// * `amount` - The amount of tokens to burn.
@@ -65,7 +62,12 @@ pub trait FungibleBurnable: FungibleToken {
///
/// * topics - `["burn", from: Address]`
/// * data - `[amount: i128]`
- fn burn_from(e: &Env, spender: Address, from: Address, amount: i128);
+ fn burn_from(
+ e: &Env,
+ spender: &soroban_sdk::Address,
+ from: &soroban_sdk::Address,
+ amount: i128,
+ );
}
// ################## EVENTS ##################
@@ -82,7 +84,7 @@ pub trait FungibleBurnable: FungibleToken {
///
/// * topics - `["burn", from: Address]`
/// * data - `[amount: i128]`
-pub fn emit_burn(e: &Env, from: &Address, amount: i128) {
+pub fn emit_burn(e: &Env, from: &soroban_sdk::Address, amount: i128) {
let topics = (symbol_short!("burn"), from);
e.events().publish(topics, amount)
}
diff --git a/packages/tokens/src/fungible/extensions/burnable/storage.rs b/packages/tokens/src/fungible/extensions/burnable/storage.rs
index 88cf8573..2e3c1fcf 100644
--- a/packages/tokens/src/fungible/extensions/burnable/storage.rs
+++ b/packages/tokens/src/fungible/extensions/burnable/storage.rs
@@ -1,8 +1,10 @@
use soroban_sdk::{Address, Env};
-use crate::fungible::{extensions::burnable::emit_burn, Base};
+use crate::fungible::{extensions::burnable::emit_burn, FTBase};
+
+impl super::FungibleBurnable for FTBase {
+ type Impl = FTBase;
-impl Base {
/// Destroys `amount` of tokens from `from`. Updates the total
/// supply accordingly.
///
@@ -14,7 +16,7 @@ impl Base {
///
/// # Errors
///
- /// * refer to [`Base::update`] errors.
+ /// * refer to [`FTBase::update`] errors.
///
/// # Events
///
@@ -24,9 +26,9 @@ impl Base {
/// # Notes
///
/// Authorization for `from` is required.
- pub fn burn(e: &Env, from: &Address, amount: i128) {
+ fn burn(e: &Env, from: &Address, amount: i128) {
from.require_auth();
- Base::update(e, Some(from), None, amount);
+ FTBase::update(e, Some(from), None, amount);
emit_burn(e, from, amount);
}
@@ -44,8 +46,8 @@ impl Base {
///
/// # Errors
///
- /// * refer to [`Base::spend_allowance`] errors.
- /// * refer to [`Base::update`] errors.
+ /// * refer to [`FTBase::spend_allowance`] errors.
+ /// * refer to [`FTBase::update`] errors.
///
/// # Events
///
@@ -55,10 +57,10 @@ impl Base {
/// # Notes
///
/// Authorization for `spender` is required.
- pub fn burn_from(e: &Env, spender: &Address, from: &Address, amount: i128) {
+ fn burn_from(e: &Env, spender: &Address, from: &Address, amount: i128) {
spender.require_auth();
- Base::spend_allowance(e, from, spender, amount);
- Base::update(e, Some(from), None, amount);
+ FTBase::spend_allowance(e, from, spender, amount);
+ FTBase::update(e, Some(from), None, amount);
emit_burn(e, from, amount);
}
}
diff --git a/packages/tokens/src/fungible/extensions/burnable/test.rs b/packages/tokens/src/fungible/extensions/burnable/test.rs
index 556eaace..581071d5 100644
--- a/packages/tokens/src/fungible/extensions/burnable/test.rs
+++ b/packages/tokens/src/fungible/extensions/burnable/test.rs
@@ -5,7 +5,8 @@ extern crate std;
use soroban_sdk::{contract, testutils::Address as _, Address, Env};
use stellar_event_assertion::EventAssertion;
-use crate::fungible::Base;
+use super::FungibleBurnable;
+use crate::fungible::{FTBase, FungibleToken};
#[contract]
struct MockContract;
@@ -17,10 +18,10 @@ fn burn_works() {
let address = e.register(MockContract, ());
let account = Address::generate(&e);
e.as_contract(&address, || {
- Base::mint(&e, &account, 100);
- Base::burn(&e, &account, 50);
- assert_eq!(Base::balance(&e, &account), 50);
- assert_eq!(Base::total_supply(&e), 50);
+ FTBase::internal_mint(&e, &account, 100);
+ FTBase::burn(&e, &account, 50);
+ assert_eq!(FTBase::balance(&e, &account), 50);
+ assert_eq!(FTBase::total_supply(&e), 50);
let mut event_assert = EventAssertion::new(&e, address.clone());
event_assert.assert_event_count(2);
@@ -37,12 +38,12 @@ fn burn_with_allowance_works() {
let owner = Address::generate(&e);
let spender = Address::generate(&e);
e.as_contract(&address, || {
- Base::mint(&e, &owner, 100);
- Base::approve(&e, &owner, &spender, 30, 1000);
- Base::burn_from(&e, &spender, &owner, 30);
- assert_eq!(Base::balance(&e, &owner), 70);
- assert_eq!(Base::balance(&e, &spender), 0);
- assert_eq!(Base::total_supply(&e), 70);
+ FTBase::internal_mint(&e, &owner, 100);
+ FTBase::approve(&e, &owner, &spender, 30, 1000);
+ FTBase::burn_from(&e, &spender, &owner, 30);
+ assert_eq!(FTBase::balance(&e, &owner), 70);
+ assert_eq!(FTBase::balance(&e, &spender), 0);
+ assert_eq!(FTBase::total_supply(&e), 70);
let mut event_assert = EventAssertion::new(&e, address.clone());
event_assert.assert_event_count(3);
@@ -60,10 +61,10 @@ fn burn_with_insufficient_balance_panics() {
let address = e.register(MockContract, ());
let account = Address::generate(&e);
e.as_contract(&address, || {
- Base::mint(&e, &account, 100);
- assert_eq!(Base::balance(&e, &account), 100);
- assert_eq!(Base::total_supply(&e), 100);
- Base::burn(&e, &account, 101);
+ FTBase::internal_mint(&e, &account, 100);
+ assert_eq!(FTBase::balance(&e, &account), 100);
+ assert_eq!(FTBase::total_supply(&e), 100);
+ FTBase::burn(&e, &account, 101);
});
}
@@ -76,10 +77,10 @@ fn burn_with_no_allowance_panics() {
let owner = Address::generate(&e);
let spender = Address::generate(&e);
e.as_contract(&address, || {
- Base::mint(&e, &owner, 100);
- assert_eq!(Base::balance(&e, &owner), 100);
- assert_eq!(Base::total_supply(&e), 100);
- Base::burn_from(&e, &spender, &owner, 50);
+ FTBase::internal_mint(&e, &owner, 100);
+ assert_eq!(FTBase::balance(&e, &owner), 100);
+ assert_eq!(FTBase::total_supply(&e), 100);
+ FTBase::burn_from(&e, &spender, &owner, 50);
});
}
@@ -92,11 +93,11 @@ fn burn_with_insufficient_allowance_panics() {
let owner = Address::generate(&e);
let spender = Address::generate(&e);
e.as_contract(&address, || {
- Base::mint(&e, &owner, 100);
- Base::approve(&e, &owner, &spender, 50, 100);
- assert_eq!(Base::allowance(&e, &owner, &spender), 50);
- assert_eq!(Base::balance(&e, &owner), 100);
- assert_eq!(Base::total_supply(&e), 100);
- Base::burn_from(&e, &spender, &owner, 60);
+ FTBase::internal_mint(&e, &owner, 100);
+ FTBase::approve(&e, &owner, &spender, 50, 100);
+ assert_eq!(FTBase::allowance(&e, &owner, &spender), 50);
+ assert_eq!(FTBase::balance(&e, &owner), 100);
+ assert_eq!(FTBase::total_supply(&e), 100);
+ FTBase::burn_from(&e, &spender, &owner, 60);
});
}
diff --git a/packages/tokens/src/fungible/extensions/capped/test.rs b/packages/tokens/src/fungible/extensions/capped/test.rs
index 80941cda..527f65e7 100644
--- a/packages/tokens/src/fungible/extensions/capped/test.rs
+++ b/packages/tokens/src/fungible/extensions/capped/test.rs
@@ -6,7 +6,7 @@ use soroban_sdk::{contract, testutils::Address as _, Address, Env};
use crate::fungible::{
extensions::capped::{check_cap, query_cap, set_cap},
- Base,
+ FTBase, FungibleToken,
};
#[contract]
@@ -22,10 +22,10 @@ fn test_mint_under_cap() {
set_cap(&e, 1000);
check_cap(&e, 500);
- Base::mint(&e, &user, 500);
+ FTBase::internal_mint(&e, &user, 500);
- assert_eq!(Base::balance(&e, &user), 500);
- assert_eq!(Base::total_supply(&e), 500);
+ assert_eq!(FTBase::balance(&e, &user), 500);
+ assert_eq!(FTBase::total_supply(&e), 500);
});
}
@@ -39,10 +39,10 @@ fn test_mint_exact_cap() {
set_cap(&e, 1000);
check_cap(&e, 1000);
- Base::mint(&e, &user, 1000);
+ FTBase::internal_mint(&e, &user, 1000);
- assert_eq!(Base::balance(&e, &user), 1000);
- assert_eq!(Base::total_supply(&e), 1000);
+ assert_eq!(FTBase::balance(&e, &user), 1000);
+ assert_eq!(FTBase::total_supply(&e), 1000);
});
}
@@ -57,7 +57,7 @@ fn test_mint_exceeds_cap() {
set_cap(&e, 1000);
check_cap(&e, 1001);
- Base::mint(&e, &user, 1001); // This should panic
+ FTBase::internal_mint(&e, &user, 1001); // This should panic
});
}
@@ -73,14 +73,14 @@ fn test_mint_multiple_exceeds_cap() {
// Mint 600 tokens first
check_cap(&e, 600);
- Base::mint(&e, &user, 600);
+ FTBase::internal_mint(&e, &user, 600);
- assert_eq!(Base::balance(&e, &user), 600);
- assert_eq!(Base::total_supply(&e), 600);
+ assert_eq!(FTBase::balance(&e, &user), 600);
+ assert_eq!(FTBase::total_supply(&e), 600);
// Attempt to mint 500 more tokens (would exceed cap)
check_cap(&e, 500);
- Base::mint(&e, &user, 500); // This should panic
+ FTBase::internal_mint(&e, &user, 500); // This should panic
});
}
@@ -93,7 +93,7 @@ fn test_check_cap_overflows() {
e.as_contract(&contract_address, || {
set_cap(&e, i128::MAX);
- Base::mint(&e, &user, i128::MAX);
+ FTBase::internal_mint(&e, &user, i128::MAX);
check_cap(&e, 1); // should overflow
});
diff --git a/packages/tokens/src/fungible/impl_token_interface_macro.rs b/packages/tokens/src/fungible/impl_token_interface_macro.rs
index b55cddfe..9c196aae 100644
--- a/packages/tokens/src/fungible/impl_token_interface_macro.rs
+++ b/packages/tokens/src/fungible/impl_token_interface_macro.rs
@@ -6,11 +6,10 @@ macro_rules! impl_token_interface {
($contract:ty) => {
impl soroban_sdk::token::TokenInterface for $contract
where
- $contract: stellar_tokens::fungible::FungibleToken
- + stellar_tokens::fungible::burnable::FungibleBurnable,
+ $contract: stellar_tokens::FungibleToken + stellar_tokens::FungibleBurnable,
{
fn balance(env: soroban_sdk::Env, id: soroban_sdk::Address) -> i128 {
- ::ContractType::balance(&env, &id)
+ ::balance(&env, &id)
}
fn transfer(
@@ -19,7 +18,7 @@ macro_rules! impl_token_interface {
to: soroban_sdk::Address,
amount: i128,
) {
- ::ContractType::transfer(&env, &from, &to, amount)
+ ::transfer(&env, &from, &to, amount)
}
fn transfer_from(
@@ -29,13 +28,11 @@ macro_rules! impl_token_interface {
to: soroban_sdk::Address,
amount: i128,
) {
- ::ContractType::transfer_from(
- &env, &spender, &from, &to, amount,
- )
+ ::transfer_from(&env, &spender, &from, &to, amount)
}
fn burn(env: soroban_sdk::Env, from: soroban_sdk::Address, amount: i128) {
- ::ContractType::burn(&env, &from, amount)
+ ::burn(&env, &from, amount)
}
fn burn_from(
@@ -44,7 +41,7 @@ macro_rules! impl_token_interface {
from: soroban_sdk::Address,
amount: i128,
) {
- ::ContractType::burn_from(&env, &spender, &from, amount)
+ ::burn_from(&env, &spender, &from, amount)
}
fn allowance(
@@ -52,7 +49,7 @@ macro_rules! impl_token_interface {
from: soroban_sdk::Address,
spender: soroban_sdk::Address,
) -> i128 {
- ::ContractType::allowance(&env, &from, &spender)
+ ::allowance(&env, &from, &spender)
}
fn approve(
@@ -62,25 +59,19 @@ macro_rules! impl_token_interface {
amount: i128,
live_until_ledger: u32,
) {
- ::ContractType::approve(
- &env,
- &from,
- &spender,
- amount,
- live_until_ledger,
- )
+ ::approve(&env, &from, &spender, amount, live_until_ledger)
}
fn decimals(env: soroban_sdk::Env) -> u32 {
- ::ContractType::decimals(&env)
+ ::decimals(&env)
}
fn name(env: soroban_sdk::Env) -> soroban_sdk::String {
- ::ContractType::name(&env)
+ ::name(&env)
}
fn symbol(env: soroban_sdk::Env) -> soroban_sdk::String {
- ::ContractType::symbol(&env)
+ ::symbol(&env)
}
}
};
diff --git a/packages/tokens/src/fungible/mod.rs b/packages/tokens/src/fungible/mod.rs
index 7306c7e1..a9dd25db 100644
--- a/packages/tokens/src/fungible/mod.rs
+++ b/packages/tokens/src/fungible/mod.rs
@@ -69,16 +69,14 @@
mod extensions;
mod impl_token_interface_macro;
-mod overrides;
mod storage;
mod utils;
mod test;
pub use extensions::{allowlist, blocklist, burnable, capped};
-pub use overrides::{Base, ContractOverrides};
-use soroban_sdk::{contracterror, symbol_short, Address, Env, String};
-pub use storage::{AllowanceData, AllowanceKey, StorageKey};
+use soroban_sdk::{contracterror, contracttrait, symbol_short, Address, Env};
+pub use storage::{AllowanceData, AllowanceKey, FTBase, StorageKey};
pub use utils::{sac_admin_generic, sac_admin_wrapper};
/// Vanilla Fungible Token Trait
@@ -97,7 +95,7 @@ pub use utils::{sac_admin_generic, sac_admin_wrapper};
/// as a method in this trait because it is not a part of the SEP-41 standard,
/// the function signature may change depending on the implementation.
///
-/// We do provide a function [`crate::fungible::Base::mint`] for minting to
+/// We do provide a function [`crate::fungible::FTBase::mint`] for minting to
/// cover the general use case.
///
/// # Notes
@@ -122,8 +120,8 @@ pub use utils::{sac_admin_generic, sac_admin_wrapper};
/// ```
///
/// This trait is implemented for the following Contract Types:
-/// * [`crate::fungible::Base`] (covering the vanilla case, and compatible with
-/// [`crate::fungible::burnable::FungibleBurnable`]) trait
+/// * [`crate::fungible::FTBase`] (covering the vanilla case, and compatible
+/// with [`crate::fungible::burnable::FungibleBurnable`]) trait
/// * [`crate::fungible::allowlist::AllowList`] (enabling the compatibility and
/// overrides for [`crate::fungible::allowlist::FungibleAllowList`]) trait,
/// incompatible with [`crate::fungible::blocklist::BlockList`] trait.
@@ -131,20 +129,14 @@ pub use utils::{sac_admin_generic, sac_admin_wrapper};
/// overrides for [`crate::fungible::blocklist::FungibleBlockList`]) trait,
/// incompatible with [`crate::fungible::allowlist::AllowList`] trait.
///
-/// You can find the default implementations of this trait for `Base`,
+/// You can find the default implementations of this trait for `FTBase`,
/// `Allowlist`, and `Blocklist` by navigating to:
/// `ContractType::{method_name}`. For example, if you want to find how
/// [`FungibleToken::transfer`] is implemented for the `Allowlist` contract
/// type, you can find it using
/// [`crate::fungible::allowlist::AllowList::transfer`].
+#[contracttrait(default = FTBase)]
pub trait FungibleToken {
- /// Helper type that allows us to override some of the functionality of the
- /// base trait based on the extensions implemented. You should use
- /// [`crate::fungible::Base`] as the type if you are not using
- /// [`crate::fungible::allowlist::AllowList`] or
- /// [`crate::fungible::blocklist::BlockList`] extensions.
- type ContractType: ContractOverrides;
-
/// Returns the total amount of tokens in circulation.
///
/// # Arguments
@@ -158,7 +150,7 @@ pub trait FungibleToken {
///
/// * `e` - Access to the Soroban environment.
/// * `account` - The address for which the balance is being queried.
- fn balance(e: &Env, account: Address) -> i128;
+ fn balance(e: &Env, account: &soroban_sdk::Address) -> i128;
/// Returns the amount of tokens a `spender` is allowed to spend on behalf
/// of an `owner`.
@@ -168,7 +160,7 @@ pub trait FungibleToken {
/// * `e` - Access to Soroban environment.
/// * `owner` - The address holding the tokens.
/// * `spender` - The address authorized to spend the tokens.
- fn allowance(e: &Env, owner: Address, spender: Address) -> i128;
+ fn allowance(e: &Env, owner: &soroban_sdk::Address, spender: &soroban_sdk::Address) -> i128;
/// Transfers `amount` of tokens from `from` to `to`.
///
@@ -189,7 +181,7 @@ pub trait FungibleToken {
///
/// * topics - `["transfer", from: Address, to: Address]`
/// * data - `[amount: i128]`
- fn transfer(e: &Env, from: Address, to: Address, amount: i128);
+ fn transfer(e: &Env, from: &soroban_sdk::Address, to: &soroban_sdk::Address, amount: i128);
/// Transfers `amount` of tokens from `from` to `to` using the
/// allowance mechanism. `amount` is then deducted from `spender`
@@ -216,7 +208,13 @@ pub trait FungibleToken {
///
/// * topics - `["transfer", from: Address, to: Address]`
/// * data - `[amount: i128]`
- fn transfer_from(e: &Env, spender: Address, from: Address, to: Address, amount: i128);
+ fn transfer_from(
+ e: &Env,
+ spender: &soroban_sdk::Address,
+ from: &soroban_sdk::Address,
+ to: &soroban_sdk::Address,
+ amount: i128,
+ );
/// Sets the amount of tokens a `spender` is allowed to spend on behalf of
/// an `owner`. Overrides any existing allowance set between `spender` and
@@ -242,7 +240,13 @@ pub trait FungibleToken {
///
/// * topics - `["approve", from: Address, spender: Address]`
/// * data - `[amount: i128, live_until_ledger: u32]`
- fn approve(e: &Env, owner: Address, spender: Address, amount: i128, live_until_ledger: u32);
+ fn approve(
+ e: &Env,
+ owner: &soroban_sdk::Address,
+ spender: &soroban_sdk::Address,
+ amount: i128,
+ live_until_ledger: u32,
+ );
/// Returns the number of decimals used to represent amounts of this token.
///
@@ -256,14 +260,69 @@ pub trait FungibleToken {
/// # Arguments
///
/// * `e` - Access to Soroban environment.
- fn name(e: &Env) -> String;
+ fn name(e: &Env) -> soroban_sdk::String;
/// Returns the symbol for this token.
///
/// # Arguments
///
/// * `e` - Access to Soroban environment.
- fn symbol(e: &Env) -> String;
+ fn symbol(e: &Env) -> soroban_sdk::String;
+
+ // ### Internal Methods ###
+
+ /// Creates `amount` of tokens and assigns them to `to`. Updates
+ /// the total supply accordingly.
+ ///
+ /// # Arguments
+ ///
+ /// * `e` - Access to the Soroban environment.
+ /// * `to` - The address receiving the new tokens.
+ /// * `amount` - The amount of tokens to mint.
+ ///
+ /// # Errors
+ ///
+ /// refer to [`update`] errors.
+ ///
+ /// # Events
+ ///
+ /// * topics - `["mint", to: Address]`
+ /// * data - `[amount: i128]`
+ ///
+ /// # Security Warning
+ ///
+ /// ⚠️ SECURITY RISK: This function has NO AUTHORIZATION CONTROLS ⚠️
+ ///
+ /// It is the responsibility of the implementer to establish appropriate
+ /// access controls to ensure that only authorized accounts can execute
+ /// minting operations. Failure to implement proper authorization could
+ /// lead to security vulnerabilities and unauthorized token creation.
+ ///
+ /// You probably want to do something like this (pseudo-code):
+ ///
+ /// ```ignore
+ /// let admin = read_administrator(e);
+ /// admin.require_auth();
+ /// ```
+ #[internal]
+ fn internal_mint(e: &Env, to: &soroban_sdk::Address, amount: i128);
+
+ /// Sets the token metadata such as decimals, name and symbol.
+ ///
+ /// # Arguments
+ ///
+ /// * `e` - Access to the Soroban environment.
+ /// * `decimals` - The number of decimals.
+ /// * `name` - The name of the token.
+ /// * `symbol` - The symbol of the token.
+ ///
+ /// # Notes
+ ///
+ /// **IMPORTANT**: This function lacks authorization controls. You want to
+ /// invoke it most likely from a constructor or from another function with
+ /// admin-only authorization.
+ #[internal]
+ fn set_metadata(e: &Env, decimals: u32, name: soroban_sdk::String, symbol: soroban_sdk::String);
}
// ################## ERRORS ##################
diff --git a/packages/tokens/src/fungible/overrides.rs b/packages/tokens/src/fungible/overrides.rs
deleted file mode 100644
index 93a621de..00000000
--- a/packages/tokens/src/fungible/overrides.rs
+++ /dev/null
@@ -1,103 +0,0 @@
-use soroban_sdk::{Address, Env, String};
-
-/// Based on the extension, some default behavior of
-/// [`crate::fungible::FungibleToken`] might have to be overridden. This is a
-/// helper trait that allows us this override mechanism that favors the DevX.
-///
-/// One can also override the `FungibleToken` trait directly, but the reason
-/// we have another helper trait for the same methods, is to provide the default
-/// implementations in an easier way for the developers.
-///
-/// The way to provide different default implementations for different
-/// extensions is by implementing the trait for different types (unit structs).
-/// The problem is, `FungibleToken` trait has to be implemented for the smart
-/// contract (which is another struct) by the developers. So, we need a level
-/// of abstraction by introducing an associated type, which will grant
-/// `FungibleToken` trait the ability to switch between different default
-/// implementations by calling the methods on this associated type.
-///
-/// By introducing this abstraction, we allow the developers to implement
-/// every method of the `FungibleToken` trait using
-/// `Self::ContractType::{function_name}`, which will in turn use either the
-/// overridden or the base variant according to the extension, provided by the
-/// `ContractOverrides` trait implementation for the respective `ContractType`.
-///
-/// Example:
-///
-/// ```rust
-/// impl FungibleToken for ExampleContract {
-/// type ContractType = Base;
-///
-/// fn balance(e: &Env, account: Address) -> i128 {
-/// Self::ContractType::balance(e, &account)
-/// }
-///
-/// fn transfer(e: &Env, from: Address, to: Address, amount: i128) {
-/// Self::ContractType::transfer(e, &from, &to, amount);
-/// }
-///
-/// /* and so on */
-/// }
-/// ```
-///
-/// or the type can be used directly (in this case `Base`)
-/// instead of referring to it as `Self::ContractType`:
-///
-/// ```rust
-/// impl FungibleToken for ExampleContract {
-/// type ContractType = Base;
-///
-/// fn balance(e: &Env, account: Address) -> i128 {
-/// Base::balance(e, &account)
-/// }
-///
-/// fn transfer(e: &Env, from: Address, to: Address, amount: i128) {
-/// Base::transfer(e, &from, &to, amount);
-/// }
-///
-/// /* and so on */
-/// }
-/// ```
-pub trait ContractOverrides {
- fn total_supply(e: &Env) -> i128 {
- Base::total_supply(e)
- }
-
- fn balance(e: &Env, account: &Address) -> i128 {
- Base::balance(e, account)
- }
-
- fn allowance(e: &Env, owner: &Address, spender: &Address) -> i128 {
- Base::allowance(e, owner, spender)
- }
-
- fn transfer(e: &Env, from: &Address, to: &Address, amount: i128) {
- Base::transfer(e, from, to, amount);
- }
-
- fn transfer_from(e: &Env, spender: &Address, from: &Address, to: &Address, amount: i128) {
- Base::transfer_from(e, spender, from, to, amount);
- }
-
- fn approve(e: &Env, owner: &Address, spender: &Address, amount: i128, live_until_ledger: u32) {
- Base::approve(e, owner, spender, amount, live_until_ledger);
- }
-
- fn decimals(e: &Env) -> u32 {
- Base::decimals(e)
- }
-
- fn name(e: &Env) -> String {
- Base::name(e)
- }
-
- fn symbol(e: &Env) -> String {
- Base::symbol(e)
- }
-}
-
-/// Default marker type
-pub struct Base;
-
-// No override required for the `Base` contract type.
-impl ContractOverrides for Base {}
diff --git a/packages/tokens/src/fungible/storage.rs b/packages/tokens/src/fungible/storage.rs
index d890c685..74732b26 100644
--- a/packages/tokens/src/fungible/storage.rs
+++ b/packages/tokens/src/fungible/storage.rs
@@ -1,7 +1,8 @@
use soroban_sdk::{contracttype, panic_with_error, symbol_short, Address, Env, String, Symbol};
+use super::FungibleToken;
use crate::fungible::{
- emit_approve, emit_mint, emit_transfer, Base, FungibleTokenError, BALANCE_EXTEND_AMOUNT,
+ emit_approve, emit_mint, emit_transfer, FungibleTokenError, BALANCE_EXTEND_AMOUNT,
BALANCE_TTL_THRESHOLD,
};
@@ -39,27 +40,16 @@ pub struct Metadata {
pub symbol: String,
}
-impl Base {
- // ################## QUERY STATE ##################
+pub struct FTBase;
- /// Returns the total amount of tokens in circulation. If no supply is
- /// recorded, it defaults to `0`.
- ///
- /// # Arguments
- ///
- /// * `e` - Access to the Soroban environment.
- pub fn total_supply(e: &Env) -> i128 {
+impl FungibleToken for FTBase {
+ type Impl = Self;
+
+ fn total_supply(e: &Env) -> i128 {
e.storage().instance().get(&StorageKey::TotalSupply).unwrap_or(0)
}
- /// Returns the amount of tokens held by `account`. Defaults to `0` if no
- /// balance is stored.
- ///
- /// # Arguments
- ///
- /// * `e` - Access to the Soroban environment.
- /// * `account` - The address for which the balance is being queried.
- pub fn balance(e: &Env, account: &Address) -> i128 {
+ fn balance(e: &Env, account: &Address) -> i128 {
let key = StorageKey::Balance(account.clone());
if let Some(balance) = e.storage().persistent().get::<_, i128>(&key) {
e.storage().persistent().extend_ttl(&key, BALANCE_TTL_THRESHOLD, BALANCE_EXTEND_AMOUNT);
@@ -69,6 +59,57 @@ impl Base {
}
}
+ fn allowance(e: &Env, owner: &Address, spender: &Address) -> i128 {
+ let AllowanceData { amount, live_until_ledger } = Self::allowance_data(e, owner, spender);
+ if live_until_ledger < e.ledger().sequence() {
+ return 0;
+ }
+ amount
+ }
+
+ fn transfer(e: &Env, from: &Address, to: &Address, amount: i128) {
+ from.require_auth();
+ Self::update(e, Some(from), Some(to), amount);
+ emit_transfer(e, from, to, amount);
+ }
+
+ fn transfer_from(e: &Env, spender: &Address, from: &Address, to: &Address, amount: i128) {
+ spender.require_auth();
+ Self::spend_allowance(e, from, spender, amount);
+ Self::update(e, Some(from), Some(to), amount);
+ emit_transfer(e, from, to, amount);
+ }
+
+ fn approve(e: &Env, owner: &Address, spender: &Address, amount: i128, live_until_ledger: u32) {
+ owner.require_auth();
+ Self::set_allowance(e, owner, spender, amount, live_until_ledger);
+ emit_approve(e, owner, spender, amount, live_until_ledger);
+ }
+
+ fn decimals(e: &Env) -> u32 {
+ Self::get_metadata(e).decimals
+ }
+
+ fn name(e: &Env) -> String {
+ Self::get_metadata(e).name
+ }
+
+ fn symbol(e: &Env) -> String {
+ Self::get_metadata(e).symbol
+ }
+
+ fn set_metadata(e: &Env, decimals: u32, name: String, symbol: String) {
+ let metadata = Metadata { decimals, name, symbol };
+ e.storage().instance().set(&METADATA_KEY, &metadata);
+ }
+
+ fn internal_mint(e: &Env, to: &Address, amount: i128) {
+ Self::update(e, None, Some(to), amount);
+ emit_mint(e, to, amount);
+ }
+}
+
+impl FTBase {
/// Returns the amount of tokens a `spender` is allowed to spend on behalf
/// of an `owner` and the ledger number at which this allowance expires.
/// Both values default to `0`.
@@ -92,29 +133,6 @@ impl Base {
.unwrap_or(AllowanceData { amount: 0, live_until_ledger: 0 })
}
- /// Returns the amount of tokens a `spender` is allowed to spend on behalf
- /// of an `owner`.
- ///
- /// # Arguments
- ///
- /// * `e` - Access to Soroban environment.
- /// * `owner` - The address holding the tokens.
- /// * `spender` - The address authorized to spend the tokens.
- ///
- /// # Notes
- ///
- /// An allowance entry where `live_until_ledger` is less than the current
- /// ledger number is treated as an allowance with amount `0`.
- pub fn allowance(e: &Env, owner: &Address, spender: &Address) -> i128 {
- let allowance = Base::allowance_data(e, owner, spender);
-
- if allowance.live_until_ledger < e.ledger().sequence() {
- return 0;
- }
-
- allowance.amount
- }
-
/// Returns the token metadata such as decimals, name and symbol.
///
/// # Arguments
@@ -132,88 +150,6 @@ impl Base {
.unwrap_or_else(|| panic_with_error!(e, FungibleTokenError::UnsetMetadata))
}
- /// Returns the token decimals.
- ///
- /// # Arguments
- ///
- /// * `e` - Access to the Soroban environment.
- ///
- /// # Errors
- ///
- /// * refer to [`Base::get_metadata`] errors.
- pub fn decimals(e: &Env) -> u32 {
- Base::get_metadata(e).decimals
- }
-
- /// Returns the token name.
- ///
- /// # Arguments
- ///
- /// * `e` - Access to the Soroban environment.
- ///
- /// # Errors
- ///
- /// * refer to [`Base::get_metadata`] errors.
- pub fn name(e: &Env) -> String {
- Base::get_metadata(e).name
- }
-
- /// Returns the token symbol.
- ///
- /// # Arguments
- ///
- /// * `e` - Access to the Soroban environment.
- ///
- /// # Errors
- ///
- /// * refer to [`Base::get_metadata`] errors.
- pub fn symbol(e: &Env) -> String {
- Base::get_metadata(e).symbol
- }
-
- // ################## CHANGE STATE ##################
-
- /// Sets the amount of tokens a `spender` is allowed to spend on behalf of
- /// an `owner`. Overrides any existing allowance set between `spender`
- /// and `owner`.
- ///
- /// # Arguments
- ///
- /// * `e` - Access to Soroban environment.
- /// * `owner` - The address holding the tokens.
- /// * `spender` - The address authorized to spend the tokens.
- /// * `amount` - The amount of tokens made available to `spender`.
- /// * `live_until_ledger` - The ledger number at which the allowance
- /// expires.
- ///
- /// # Errors
- ///
- /// * refer to [`Base::set_allowance`] errors.
- ///
- /// # Events
- ///
- /// * topics - `["approve", from: Address, spender: Address]`
- /// * data - `[amount: i128, live_until_ledger: u32]`
- ///
- /// # Notes
- ///
- /// * Authorization for `owner` is required.
- /// * Allowance is implicitly timebound by the maximum allowed storage TTL
- /// value which is a network parameter, i.e. one cannot set an allowance
- /// for a longer period. This behavior closely mirrors the functioning of
- /// the "Stellar Asset Contract" implementation for consistency reasons.
- pub fn approve(
- e: &Env,
- owner: &Address,
- spender: &Address,
- amount: i128,
- live_until_ledger: u32,
- ) {
- owner.require_auth();
- Base::set_allowance(e, owner, spender, amount, live_until_ledger);
- emit_approve(e, owner, spender, amount, live_until_ledger);
- }
-
/// Sets the amount of tokens a `spender` is allowed to spend on behalf of
/// an `owner`. Overrides any existing allowance set between `spender`
/// and `owner`. Doesn't handle authorization, nor event emission.
@@ -296,7 +232,7 @@ impl Base {
/// * [`FungibleTokenError::InsufficientAllowance`] - When attempting to
/// transfer more tokens than `spender` current allowance.
/// * [`FungibleTokenError::LessThanZero`] - Occurs when `amount < 0`.
- /// * also refer to [`Base::set_allowance`] errors.
+ /// * also refer to [`FTBase::set_allowance`] errors.
///
/// # Notes
///
@@ -307,14 +243,14 @@ impl Base {
panic_with_error!(e, FungibleTokenError::LessThanZero)
}
- let allowance = Base::allowance_data(e, owner, spender);
+ let allowance = FTBase::allowance_data(e, owner, spender);
if allowance.amount < amount {
panic_with_error!(e, FungibleTokenError::InsufficientAllowance);
}
if amount > 0 {
- Base::set_allowance(
+ FTBase::set_allowance(
e,
owner,
spender,
@@ -324,66 +260,6 @@ impl Base {
}
}
- /// Transfers `amount` of tokens from `from` to `to`.
- ///
- /// # Arguments
- ///
- /// * `e` - Access to Soroban environment.
- /// * `from` - The address holding the tokens.
- /// * `to` - The address receiving the transferred tokens.
- /// * `amount` - The amount of tokens to be transferred.
- ///
- /// # Errors
- ///
- /// * refer to [`Base::update`] errors.
- ///
- /// # Events
- ///
- /// * topics - `["transfer", from: Address, to: Address]`
- /// * data - `[amount: i128]`
- ///
- /// # Notes
- ///
- /// Authorization for `from` is required.
- pub fn transfer(e: &Env, from: &Address, to: &Address, amount: i128) {
- from.require_auth();
- Base::update(e, Some(from), Some(to), amount);
- emit_transfer(e, from, to, amount);
- }
-
- /// Transfers `amount` of tokens from `from` to `to` using the
- /// allowance mechanism. `amount` is then deducted from `spender`s
- /// allowance.
- ///
- /// # Arguments
- ///
- /// * `e` - Access to Soroban environment.
- /// * `spender` - The address authorizing the transfer, and having its
- /// allowance consumed during the transfer.
- /// * `from` - The address holding the tokens which will be transferred.
- /// * `to` - The address receiving the transferred tokens.
- /// * `amount` - The amount of tokens to be transferred.
- ///
- /// # Errors
- ///
- /// * refer to [`Base::spend_allowance`] errors.
- /// * refer to [`Base::update`] errors.
- ///
- /// # Events
- ///
- /// * topics - `["transfer", from: Address, to: Address]`
- /// * data - `[amount: i128]`
- ///
- /// # Notes
- ///
- /// Authorization for `spender` is required.
- pub fn transfer_from(e: &Env, spender: &Address, from: &Address, to: &Address, amount: i128) {
- spender.require_auth();
- Base::spend_allowance(e, from, spender, amount);
- Base::update(e, Some(from), Some(to), amount);
- emit_transfer(e, from, to, amount);
- }
-
/// Transfers `amount` of tokens from `from` to `to` or alternatively
/// mints (or burns) tokens if `from` (or `to`) is `None`. Updates the total
/// supply accordingly.
@@ -411,7 +287,7 @@ impl Base {
panic_with_error!(e, FungibleTokenError::LessThanZero);
}
if let Some(account) = from {
- let mut from_balance = Base::balance(e, account);
+ let mut from_balance = FTBase::balance(e, account);
if from_balance < amount {
panic_with_error!(e, FungibleTokenError::InsufficientBalance);
}
@@ -420,7 +296,7 @@ impl Base {
e.storage().persistent().set(&StorageKey::Balance(account.clone()), &from_balance);
} else {
// `from` is None, so we're minting tokens.
- let total_supply = Base::total_supply(e);
+ let total_supply = FTBase::total_supply(e);
let Some(new_total_supply) = total_supply.checked_add(amount) else {
panic_with_error!(e, FungibleTokenError::MathOverflow);
};
@@ -429,72 +305,15 @@ impl Base {
if let Some(account) = to {
// NOTE: can't overflow because balance + amount is at most total_supply.
- let to_balance = Base::balance(e, account) + amount;
+ let to_balance = FTBase::balance(e, account) + amount;
e.storage().persistent().set(&StorageKey::Balance(account.clone()), &to_balance);
} else {
// `to` is None, so we're burning tokens.
// NOTE: can't overflow because amount <= total_supply or amount <= from_balance
// <= total_supply.
- let total_supply = Base::total_supply(e) - amount;
+ let total_supply = FTBase::total_supply(e) - amount;
e.storage().instance().set(&StorageKey::TotalSupply, &total_supply);
}
}
-
- /// Creates `amount` of tokens and assigns them to `to`. Updates
- /// the total supply accordingly.
- ///
- /// # Arguments
- ///
- /// * `e` - Access to the Soroban environment.
- /// * `to` - The address receiving the new tokens.
- /// * `amount` - The amount of tokens to mint.
- ///
- /// # Errors
- ///
- /// refer to [`Base::update`] errors.
- ///
- /// # Events
- ///
- /// * topics - `["mint", to: Address]`
- /// * data - `[amount: i128]`
- ///
- /// # Security Warning
- ///
- /// ⚠️ SECURITY RISK: This function has NO AUTHORIZATION CONTROLS ⚠️
- ///
- /// It is the responsibility of the implementer to establish appropriate
- /// access controls to ensure that only authorized accounts can execute
- /// minting operations. Failure to implement proper authorization could
- /// lead to security vulnerabilities and unauthorized token creation.
- ///
- /// You probably want to do something like this (pseudo-code):
- ///
- /// ```ignore
- /// let admin = read_administrator(e);
- /// admin.require_auth();
- /// ```
- pub fn mint(e: &Env, to: &Address, amount: i128) {
- Base::update(e, None, Some(to), amount);
- emit_mint(e, to, amount);
- }
-
- /// Sets the token metadata such as decimals, name and symbol.
- ///
- /// # Arguments
- ///
- /// * `e` - Access to the Soroban environment.
- /// * `decimals` - The number of decimals.
- /// * `name` - The name of the token.
- /// * `symbol` - The symbol of the token.
- ///
- /// # Notes
- ///
- /// **IMPORTANT**: This function lacks authorization controls. You want to
- /// invoke it most likely from a constructor or from another function with
- /// admin-only authorization.
- pub fn set_metadata(e: &Env, decimals: u32, name: String, symbol: String) {
- let metadata = Metadata { decimals, name, symbol };
- e.storage().instance().set(&METADATA_KEY, &metadata);
- }
}
diff --git a/packages/tokens/src/fungible/test.rs b/packages/tokens/src/fungible/test.rs
index fb6aa459..16ffad26 100644
--- a/packages/tokens/src/fungible/test.rs
+++ b/packages/tokens/src/fungible/test.rs
@@ -2,19 +2,19 @@
extern crate std;
-#[allow(unused_imports)]
use soroban_sdk::{
contract, symbol_short,
testutils::{
storage::{Instance, Persistent},
- Address as _, AuthorizedFunction, Events, Ledger,
+ Address as _, Events, Ledger,
},
vec, Address, Env, IntoVal, String,
};
use stellar_event_assertion::EventAssertion;
use crate::fungible::{
- Base, StorageKey, BALANCE_EXTEND_AMOUNT, INSTANCE_EXTEND_AMOUNT, INSTANCE_TTL_THRESHOLD,
+ burnable::FungibleBurnable, FTBase, FungibleToken, StorageKey, BALANCE_EXTEND_AMOUNT,
+ INSTANCE_EXTEND_AMOUNT, INSTANCE_TTL_THRESHOLD,
};
#[contract]
@@ -26,8 +26,8 @@ fn initial_state() {
let address = e.register(MockContract, ());
let account = Address::generate(&e);
e.as_contract(&address, || {
- assert_eq!(Base::total_supply(&e), 0);
- assert_eq!(Base::balance(&e, &account), 0);
+ assert_eq!(FTBase::total_supply(&e), 0);
+ assert_eq!(FTBase::balance(&e, &account), 0);
});
}
@@ -69,8 +69,8 @@ fn approve_with_event() {
e.as_contract(&address, || {
let allowance_data = (50, 1000);
- Base::approve(&e, &owner, &spender, allowance_data.0, allowance_data.1);
- let allowance_val = Base::allowance(&e, &owner, &spender);
+ FTBase::approve(&e, &owner, &spender, allowance_data.0, allowance_data.1);
+ let allowance_val = FTBase::allowance(&e, &owner, &spender);
assert_eq!(allowance_val, 50);
let events = e.events().all();
@@ -103,10 +103,10 @@ fn approve_handles_expiry() {
let spender = Address::generate(&e);
e.as_contract(&address, || {
- Base::approve(&e, &owner, &spender, 50, 2);
+ FTBase::approve(&e, &owner, &spender, 50, 2);
e.ledger().set_sequence_number(3);
- let expired_allowance = Base::allowance(&e, &owner, &spender);
+ let expired_allowance = FTBase::allowance(&e, &owner, &spender);
assert_eq!(expired_allowance, 0);
});
}
@@ -120,11 +120,11 @@ fn spend_allowance_reduces_amount() {
let spender = Address::generate(&e);
e.as_contract(&address, || {
- Base::approve(&e, &owner, &spender, 50, 1000);
+ FTBase::approve(&e, &owner, &spender, 50, 1000);
- Base::spend_allowance(&e, &owner, &spender, 20);
+ FTBase::spend_allowance(&e, &owner, &spender, 20);
- let updated_allowance = Base::allowance(&e, &owner, &spender);
+ let updated_allowance = FTBase::allowance(&e, &owner, &spender);
assert_eq!(updated_allowance, 30);
});
}
@@ -139,8 +139,8 @@ fn spend_allowance_insufficient_allowance_fails() {
let spender = Address::generate(&e);
e.as_contract(&address, || {
- Base::approve(&e, &owner, &spender, 10, 1000);
- Base::spend_allowance(&e, &owner, &spender, 20);
+ FTBase::approve(&e, &owner, &spender, 10, 1000);
+ FTBase::spend_allowance(&e, &owner, &spender, 20);
});
}
@@ -153,7 +153,7 @@ fn spend_allowance_invalid_amount_fails() {
let spender = Address::generate(&e);
e.as_contract(&address, || {
- Base::spend_allowance(&e, &owner, &spender, -1);
+ FTBase::spend_allowance(&e, &owner, &spender, -1);
});
}
@@ -167,7 +167,7 @@ fn set_allowance_with_expired_ledger_fails() {
e.as_contract(&address, || {
e.ledger().set_sequence_number(10);
- Base::set_allowance(&e, &owner, &spender, 50, 5);
+ FTBase::set_allowance(&e, &owner, &spender, 50, 5);
});
}
@@ -181,7 +181,7 @@ fn set_allowance_with_greater_than_max_ledger_fails() {
e.as_contract(&address, || {
let ttl = e.storage().max_ttl() + 1;
- Base::set_allowance(&e, &owner, &spender, 50, ttl);
+ FTBase::set_allowance(&e, &owner, &spender, 50, ttl);
});
}
@@ -194,7 +194,7 @@ fn set_allowance_with_neg_amount_fails() {
let spender = Address::generate(&e);
e.as_contract(&address, || {
- Base::set_allowance(&e, &owner, &spender, -1, 5);
+ FTBase::set_allowance(&e, &owner, &spender, -1, 5);
});
}
@@ -207,14 +207,14 @@ fn set_allowance_with_zero_amount() {
let spender = Address::generate(&e);
e.as_contract(&address, || {
- Base::set_allowance(&e, &owner, &spender, 0, 5);
- let allowance_val = Base::allowance(&e, &owner, &spender);
+ FTBase::set_allowance(&e, &owner, &spender, 0, 5);
+ let allowance_val = FTBase::allowance(&e, &owner, &spender);
assert_eq!(allowance_val, 0);
// should pass for a past ledger
e.ledger().set_sequence_number(10);
- Base::set_allowance(&e, &owner2, &spender, 0, 5);
- let allowance_val = Base::allowance(&e, &owner2, &spender);
+ FTBase::set_allowance(&e, &owner2, &spender, 0, 5);
+ let allowance_val = FTBase::allowance(&e, &owner2, &spender);
assert_eq!(allowance_val, 0);
});
}
@@ -228,10 +228,10 @@ fn transfer_works() {
let recipient = Address::generate(&e);
e.as_contract(&address, || {
- Base::mint(&e, &from, 100);
- Base::transfer(&e, &from, &recipient, 50);
- assert_eq!(Base::balance(&e, &from), 50);
- assert_eq!(Base::balance(&e, &recipient), 50);
+ FTBase::internal_mint(&e, &from, 100);
+ FTBase::transfer(&e, &from, &recipient, 50);
+ assert_eq!(FTBase::balance(&e, &from), 50);
+ assert_eq!(FTBase::balance(&e, &recipient), 50);
let mut event_assert = EventAssertion::new(&e, address.clone());
event_assert.assert_event_count(2);
@@ -249,9 +249,9 @@ fn transfer_zero_works() {
let recipient = Address::generate(&e);
e.as_contract(&address, || {
- Base::transfer(&e, &from, &recipient, 0);
- assert_eq!(Base::balance(&e, &from), 0);
- assert_eq!(Base::balance(&e, &recipient), 0);
+ FTBase::transfer(&e, &from, &recipient, 0);
+ assert_eq!(FTBase::balance(&e, &from), 0);
+ assert_eq!(FTBase::balance(&e, &recipient), 0);
let events = e.events().all();
assert_eq!(events.len(), 1);
@@ -267,7 +267,7 @@ fn extend_balance_ttl_thru_transfer() {
let recipient = Address::generate(&e);
e.as_contract(&address, || {
- Base::mint(&e, &from, 100);
+ FTBase::internal_mint(&e, &from, 100);
let key = StorageKey::Balance(from.clone());
@@ -275,7 +275,7 @@ fn extend_balance_ttl_thru_transfer() {
e.ledger().with_mut(|l| {
l.sequence_number += ttl;
});
- Base::transfer(&e, &from, &recipient, 50);
+ FTBase::transfer(&e, &from, &recipient, 50);
let ttl = e.storage().persistent().get_ttl(&key);
assert_eq!(ttl, BALANCE_EXTEND_AMOUNT);
});
@@ -291,17 +291,17 @@ fn approve_and_transfer_from() {
let recipient = Address::generate(&e);
e.as_contract(&address, || {
- Base::mint(&e, &owner, 100);
- Base::approve(&e, &owner, &spender, 50, 1000);
+ FTBase::internal_mint(&e, &owner, 100);
+ FTBase::approve(&e, &owner, &spender, 50, 1000);
- let allowance_val = Base::allowance(&e, &owner, &spender);
+ let allowance_val = FTBase::allowance(&e, &owner, &spender);
assert_eq!(allowance_val, 50);
- Base::transfer_from(&e, &spender, &owner, &recipient, 30);
- assert_eq!(Base::balance(&e, &owner), 70);
- assert_eq!(Base::balance(&e, &recipient), 30);
+ FTBase::transfer_from(&e, &spender, &owner, &recipient, 30);
+ assert_eq!(FTBase::balance(&e, &owner), 70);
+ assert_eq!(FTBase::balance(&e, &recipient), 30);
- let updated_allowance = Base::allowance(&e, &owner, &spender);
+ let updated_allowance = FTBase::allowance(&e, &owner, &spender);
assert_eq!(updated_allowance, 20);
let mut event_assert = EventAssertion::new(&e, address.clone());
@@ -322,8 +322,8 @@ fn transfer_insufficient_balance_fails() {
let recipient = Address::generate(&e);
e.as_contract(&address, || {
- Base::mint(&e, &from, 50);
- Base::transfer(&e, &from, &recipient, 100);
+ FTBase::internal_mint(&e, &from, 50);
+ FTBase::transfer(&e, &from, &recipient, 100);
});
}
@@ -338,9 +338,9 @@ fn transfer_from_insufficient_allowance_fails() {
let recipient = Address::generate(&e);
e.as_contract(&address, || {
- Base::mint(&e, &owner, 100);
- Base::approve(&e, &owner, &spender, 30, 1000);
- Base::transfer_from(&e, &spender, &owner, &recipient, 50);
+ FTBase::internal_mint(&e, &owner, 100);
+ FTBase::approve(&e, &owner, &spender, 30, 1000);
+ FTBase::transfer_from(&e, &spender, &owner, &recipient, 50);
});
}
@@ -352,10 +352,10 @@ fn update_transfers_between_accounts() {
let to = Address::generate(&e);
e.as_contract(&address, || {
- Base::mint(&e, &from, 100);
- Base::update(&e, Some(&from), Some(&to), 50);
- assert_eq!(Base::balance(&e, &from), 50);
- assert_eq!(Base::balance(&e, &to), 50);
+ FTBase::internal_mint(&e, &from, 100);
+ FTBase::update(&e, Some(&from), Some(&to), 50);
+ assert_eq!(FTBase::balance(&e, &from), 50);
+ assert_eq!(FTBase::balance(&e, &to), 50);
});
}
@@ -366,9 +366,9 @@ fn update_mints_tokens() {
let to = Address::generate(&e);
e.as_contract(&address, || {
- Base::update(&e, None, Some(&to), 100);
- assert_eq!(Base::balance(&e, &to), 100);
- assert_eq!(Base::total_supply(&e), 100);
+ FTBase::update(&e, None, Some(&to), 100);
+ assert_eq!(FTBase::balance(&e, &to), 100);
+ assert_eq!(FTBase::total_supply(&e), 100);
});
}
@@ -379,10 +379,10 @@ fn update_burns_tokens() {
let from = Address::generate(&e);
e.as_contract(&address, || {
- Base::mint(&e, &from, 100);
- Base::update(&e, Some(&from), None, 50);
- assert_eq!(Base::balance(&e, &from), 50);
- assert_eq!(Base::total_supply(&e), 50);
+ FTBase::internal_mint(&e, &from, 100);
+ FTBase::update(&e, Some(&from), None, 50);
+ assert_eq!(FTBase::balance(&e, &from), 50);
+ assert_eq!(FTBase::total_supply(&e), 50);
});
}
@@ -395,7 +395,7 @@ fn update_with_invalid_amount_panics() {
let to = Address::generate(&e);
e.as_contract(&address, || {
- Base::update(&e, Some(&from), Some(&to), -1);
+ FTBase::update(&e, Some(&from), Some(&to), -1);
});
}
@@ -407,8 +407,8 @@ fn update_overflow_panics() {
let account = Address::generate(&e);
e.as_contract(&address, || {
- Base::mint(&e, &account, i128::MAX);
- Base::update(&e, None, Some(&account), 1);
+ FTBase::internal_mint(&e, &account, i128::MAX);
+ FTBase::update(&e, None, Some(&account), 1);
});
}
@@ -421,8 +421,8 @@ fn update_with_insufficient_balance_panics() {
let to = Address::generate(&e);
e.as_contract(&address, || {
- Base::mint(&e, &from, 50);
- Base::update(&e, Some(&from), Some(&to), 100);
+ FTBase::internal_mint(&e, &from, 50);
+ FTBase::update(&e, Some(&from), Some(&to), 100);
});
}
@@ -442,7 +442,7 @@ fn approve_requires_auth() {
let expiration_ledger = 1000;
e.as_contract(&address, || {
- Base::approve(&e, &owner, &spender, amount, expiration_ledger);
+ FTBase::approve(&e, &owner, &spender, amount, expiration_ledger);
});
let auths = e.auths();
@@ -475,8 +475,8 @@ fn transfer_requires_auth() {
let amount = 100;
e.as_contract(&address, || {
- Base::mint(&e, &from, amount);
- Base::transfer(&e, &from, &to, amount);
+ FTBase::internal_mint(&e, &from, amount);
+ FTBase::transfer(&e, &from, &to, amount);
});
let auths = e.auths();
@@ -504,9 +504,9 @@ fn transfer_from_requires_auth() {
let amount = 50;
e.as_contract(&address, || {
- Base::mint(&e, &owner, 100);
- Base::approve(&e, &owner, &spender, amount, 1000);
- Base::transfer_from(&e, &spender, &owner, &recipient, amount);
+ FTBase::internal_mint(&e, &owner, 100);
+ FTBase::approve(&e, &owner, &spender, amount, 1000);
+ FTBase::transfer_from(&e, &spender, &owner, &recipient, amount);
});
let auths = e.auths();
@@ -556,8 +556,8 @@ fn burn_requires_auth() {
let amount = 50;
e.as_contract(&address, || {
- Base::mint(&e, &from, 100);
- Base::burn(&e, &from, amount);
+ FTBase::internal_mint(&e, &from, 100);
+ FTBase::burn(&e, &from, amount);
});
let auths = e.auths();
@@ -584,9 +584,9 @@ fn burn_from_requires_auth() {
let amount = 50;
e.as_contract(&address, || {
- Base::mint(&e, &owner, 100);
- Base::approve(&e, &owner, &spender, amount, 1000);
- Base::burn_from(&e, &spender, &owner, amount);
+ FTBase::internal_mint(&e, &owner, 100);
+ FTBase::approve(&e, &owner, &spender, amount, 1000);
+ FTBase::burn_from(&e, &spender, &owner, amount);
});
let auths = e.auths();
@@ -633,9 +633,9 @@ fn mint_works() {
let address = e.register(MockContract, ());
let account = Address::generate(&e);
e.as_contract(&address, || {
- Base::mint(&e, &account, 100);
- assert_eq!(Base::balance(&e, &account), 100);
- assert_eq!(Base::total_supply(&e), 100);
+ FTBase::internal_mint(&e, &account, 100);
+ assert_eq!(FTBase::balance(&e, &account), 100);
+ assert_eq!(FTBase::total_supply(&e), 100);
let mut event_assert = EventAssertion::new(&e, address.clone());
event_assert.assert_event_count(1);
@@ -662,8 +662,8 @@ fn mint_base_implementation_has_no_auth() {
// This should NOT panic even without authorization
e.as_contract(&address, || {
- Base::mint(&e, &account, 100);
- assert_eq!(Base::balance(&e, &account), 100);
+ FTBase::internal_mint(&e, &account, 100);
+ assert_eq!(FTBase::balance(&e, &account), 100);
});
}
@@ -677,11 +677,11 @@ fn set_and_get_metadata() {
let test_name = String::from_str(&e, "Test Token");
let test_symbol = String::from_str(&e, "TEST");
- Base::set_metadata(&e, test_decimals, test_name.clone(), test_symbol.clone());
+ FTBase::set_metadata(&e, test_decimals, test_name.clone(), test_symbol.clone());
- assert_eq!(Base::decimals(&e), test_decimals);
- assert_eq!(Base::name(&e), test_name);
- assert_eq!(Base::symbol(&e), test_symbol);
+ assert_eq!(FTBase::decimals(&e), test_decimals);
+ assert_eq!(FTBase::name(&e), test_name);
+ assert_eq!(FTBase::symbol(&e), test_symbol);
});
}
@@ -692,7 +692,7 @@ fn get_unset_metadata() {
let address = e.register(MockContract, ());
e.as_contract(&address, || {
- Base::decimals(&e);
+ FTBase::decimals(&e);
});
}
@@ -702,22 +702,22 @@ fn metadata_update() {
let address = e.register(MockContract, ());
e.as_contract(&address, || {
- Base::set_metadata(
+ FTBase::set_metadata(
&e,
6,
String::from_str(&e, "Initial Name"),
String::from_str(&e, "INI"),
);
- Base::set_metadata(
+ FTBase::set_metadata(
&e,
8,
String::from_str(&e, "Updated Name"),
String::from_str(&e, "UPD"),
);
- assert_eq!(Base::decimals(&e), 8);
- assert_eq!(Base::name(&e), String::from_str(&e, "Updated Name"));
- assert_eq!(Base::symbol(&e), String::from_str(&e, "UPD"));
+ assert_eq!(FTBase::decimals(&e), 8);
+ assert_eq!(FTBase::name(&e), String::from_str(&e, "Updated Name"));
+ assert_eq!(FTBase::symbol(&e), String::from_str(&e, "UPD"));
});
}
diff --git a/packages/tokens/src/fungible/utils/sac_admin_wrapper/mod.rs b/packages/tokens/src/fungible/utils/sac_admin_wrapper/mod.rs
index a1fd3b57..f1450fbd 100644
--- a/packages/tokens/src/fungible/utils/sac_admin_wrapper/mod.rs
+++ b/packages/tokens/src/fungible/utils/sac_admin_wrapper/mod.rs
@@ -72,14 +72,18 @@
mod storage;
pub use storage::{
clawback, get_sac_address, get_sac_client, mint, set_admin, set_authorized, set_sac_address,
+ DefaultSacAdminWrapper, SACAdminWrapperDataKey,
};
mod test;
-use soroban_sdk::{Address, Env};
+use soroban_sdk::Env;
/// A trait to be implemented on a wrapper contract, serving as an administrator
/// for a SAC.
+#[soroban_sdk::contracttrait(
+ default = DefaultSacAdminWrapper,
+)]
pub trait SACAdminWrapper {
/// Sets the administrator to the specified address `new_admin`.
///
@@ -92,11 +96,13 @@ pub trait SACAdminWrapper {
///
/// # Notes
///
- /// We recommend using [`crate::fungible::sac_admin_wrapper::set_admin`]
- /// when implementing this function in conjunction with
- /// `stellar_ownable` or `stellar_access_control` crates. Otherwise,
- /// authorizations MUST be diligently checked.
- fn set_admin(e: Env, new_admin: Address, operator: Address);
+ /// We recommend using [`crate::sac_admin_wrapper::set_admin()`] when
+ /// implementing this function in conjunction with `stellar_ownable` or
+ /// `stellar_access_control` crates. Otherwise, authorizations MUST be
+ /// diligently checked.
+ fn set_admin(e: &Env, new_admin: &soroban_sdk::Address, _operator: &soroban_sdk::Address) {
+ Self::get_sac_client(e).set_admin(new_admin);
+ }
/// Sets whether the account is authorized to use its balance. If
/// `authorized` is true, `id` should be able to use its balance.
@@ -115,7 +121,14 @@ pub trait SACAdminWrapper {
/// implementing this function in conjunction with `stellar_ownable` or
/// `stellar_access_control` crates. Otherwise, authorizations MUST be
/// diligently checked.
- fn set_authorized(e: Env, id: Address, authorize: bool, operator: Address);
+ fn set_authorized(
+ e: &Env,
+ id: &soroban_sdk::Address,
+ authorize: bool,
+ _operator: &soroban_sdk::Address,
+ ) {
+ Self::get_sac_client(e).set_authorized(id, &authorize);
+ }
/// Mints `amount` to `to`.
///
@@ -132,7 +145,9 @@ pub trait SACAdminWrapper {
/// implementing this function in conjunction with `stellar_ownable` or
/// `stellar_access_control` crates. Otherwise, authorizations MUST be
/// diligently checked.
- fn mint(e: Env, to: Address, amount: i128, operator: Address);
+ fn mint(e: &Env, to: &soroban_sdk::Address, amount: i128, _operator: &soroban_sdk::Address) {
+ Self::get_sac_client(e).mint(to, &amount);
+ }
/// Clawback `amount` from `from` account. `amount` is burned in the
/// clawback process.
@@ -147,9 +162,27 @@ pub trait SACAdminWrapper {
///
/// # Notes
///
- /// We recommend using [`crate::fungible::sac_admin_wrapper::clawback`]
- /// when implementing this function in conjunction with
- /// `stellar_ownable` or `stellar_access_control` crates. Otherwise,
- /// authorizations MUST be diligently checked.
- fn clawback(e: Env, from: Address, amount: i128, operator: Address);
+ /// We recommend using [`crate::sac_admin_wrapper::clawback()`] when
+ /// implementing this function in conjunction with `stellar_ownable` or
+ /// `stellar_access_control` crates. Otherwise, authorizations MUST be
+ /// diligently checked.
+ fn clawback(
+ e: &Env,
+ from: &soroban_sdk::Address,
+ amount: i128,
+ _operator: &soroban_sdk::Address,
+ ) {
+ Self::get_sac_client(e).clawback(from, &amount);
+ }
+
+ #[internal]
+ fn get_sac_client<'a>(e: &Env) -> soroban_sdk::token::StellarAssetClient<'a> {
+ soroban_sdk::token::StellarAssetClient::new(e, &Self::get_sac_address(e))
+ }
+
+ #[internal]
+ fn get_sac_address(e: &Env) -> soroban_sdk::Address;
+
+ #[internal]
+ fn set_sac_address(e: &Env, sac_address: &soroban_sdk::Address);
}
diff --git a/packages/tokens/src/fungible/utils/sac_admin_wrapper/storage.rs b/packages/tokens/src/fungible/utils/sac_admin_wrapper/storage.rs
index cf292771..79ae1e30 100644
--- a/packages/tokens/src/fungible/utils/sac_admin_wrapper/storage.rs
+++ b/packages/tokens/src/fungible/utils/sac_admin_wrapper/storage.rs
@@ -1,6 +1,7 @@
use soroban_sdk::{contracttype, panic_with_error, token::StellarAssetClient, Address, Env};
-use crate::fungible::FungibleTokenError;
+use super::SACAdminWrapper;
+use crate::FungibleTokenError;
/// Storage key for accessing the SAC address
#[contracttype]
@@ -8,6 +9,20 @@ pub enum SACAdminWrapperDataKey {
Sac,
}
+pub struct DefaultSacAdminWrapper;
+
+impl SACAdminWrapper for DefaultSacAdminWrapper {
+ type Impl = Self;
+
+ fn get_sac_address(e: &Env) -> soroban_sdk::Address {
+ get_sac_address(e)
+ }
+
+ fn set_sac_address(e: &Env, sac_address: &Address) {
+ set_sac_address(e, sac_address);
+ }
+}
+
// ################## QUERY STATE ##################
/// Returns the stored SAC address.
diff --git a/packages/tokens/src/lib.rs b/packages/tokens/src/lib.rs
index 0af1eb7c..726d7be5 100644
--- a/packages/tokens/src/lib.rs
+++ b/packages/tokens/src/lib.rs
@@ -15,3 +15,22 @@
pub mod fungible;
pub mod non_fungible;
+
+pub use fungible::{
+ allowlist::{AllowList, FungibleAllowList},
+ blocklist::{BlockList, FungibleBlockList},
+ burnable::FungibleBurnable,
+ sac_admin_wrapper::{DefaultSacAdminWrapper, SACAdminWrapper},
+ FTBase, FungibleToken, FungibleTokenError,
+};
+pub use non_fungible::{
+ burnable::NonFungibleBurnable,
+ consecutive::Consecutive,
+ enumerable::{Enumerable, NonFungibleEnumerable},
+ royalties::NonFungibleRoyalties,
+ NFTBase, NonFungibleToken,
+};
+
+pub mod ownable {
+ pub use stellar_access::Ownable;
+}
diff --git a/packages/tokens/src/non_fungible/extensions/burnable/mod.rs b/packages/tokens/src/non_fungible/extensions/burnable/mod.rs
index 7530483c..baebe991 100644
--- a/packages/tokens/src/non_fungible/extensions/burnable/mod.rs
+++ b/packages/tokens/src/non_fungible/extensions/burnable/mod.rs
@@ -1,9 +1,8 @@
mod storage;
-use crate::non_fungible::NonFungibleToken;
mod test;
-use soroban_sdk::{symbol_short, Address, Env};
+use soroban_sdk::{contracttrait, symbol_short, Address, Env};
/// Burnable Trait for Non-Fungible Token
///
@@ -17,50 +16,52 @@ use soroban_sdk::{symbol_short, Address, Env};
/// contract use cases.
///
/// `storage.rs` file of this module provides the `NonFungibelBurnable` trait
-/// implementation for the `Base` contract type. For other contract types (eg.
-/// `Enumerable`, `Consecutive`), the overrides of the `NonFungibleBurnable`
-/// trait methods can be found in their respective `storage.rs` file.
+/// implementation for the `NFTBase` contract type. For other contract types
+/// (eg. `Enumerable`, `Consecutive`), the overrides of the
+/// `NonFungibleBurnable` trait methods can be found in their respective
+/// `storage.rs` file.
///
/// This approach lets us to implement the `NonFungibleBurnable` trait in a very
-/// flexible way based on the `ContractType` associated type from
+/// flexible way based on the `Impl` associated type from
/// `NonFungibleToken`:
///
/// ```ignore
-/// impl NonFungibleBurnable for ExampleContract {
-/// fn burn(e: &Env, from: Address, token_id: u32) {
-/// Self::ContractType::burn(e, &from, token_id);
-/// }
+/// #[contracttrait]
+/// impl NonFungibleBurnable for ExampleContract {}
+/// // Uses `NFTBase` as the default
///
-/// fn burn_from(e: &Env, spender: Address, from: Address, token_id: u32) {
-/// Self::ContractType::burn_from(e, &spender, &from, token_id);
-/// }
+/// #[contracttrait]
+/// impl NonFungibleBurnable for ExampleContract {
+/// type Impl = Enumerable;
/// }
+///
/// ```
///
/// # Notes
///
-/// `#[contractimpl]` macro requires even the default implementations to be
-/// present under its scope. To not confuse the developers, we did not provide
-/// the default implementations here, but we are providing a macro to generate
-/// the default implementations for you.
+/// `#[contracttrait]` macro provides a default implementation and generates a
+/// `#[contractimpl]` with all the trait's methods forwarding them to
+/// `MyContract`.
///
/// When implementing [`NonFungibleBurnable`] trait for your Smart Contract,
/// you can follow the below example:
///
+/// ## Example
+///
/// ```ignore
-/// #[default_impl] // **IMPORTANT**: place this above `#[contractimpl]`
-/// #[contractimpl]
+/// #[contracttrait]
/// impl NonFungibleBurnable for MyContract {
/// /* your overrides here (you don't have to put anything here if you don't want to override anything) */
-/// /* and the macro will generate all the missing default implementations for you */
+/// // Can also provide a different default implementation
+/// type Impl = Enumerable; // Or Consectutive
/// }
/// ```
-pub trait NonFungibleBurnable: NonFungibleToken {
+#[contracttrait(default = NFTBase)]
+pub trait NonFungibleBurnable {
/// Destroys the token with `token_id` from `from`.
///
/// # Arguments
///
- /// * `e` - Access to the Soroban environment.
/// * `from` - The account whose token is destroyed.
/// * `token_id` - The identifier of the token to burn.
///
@@ -75,14 +76,13 @@ pub trait NonFungibleBurnable: NonFungibleToken {
///
/// * topics - `["burn", from: Address]`
/// * data - `[token_id: u32]`
- fn burn(e: &Env, from: Address, token_id: u32);
+ fn burn(e: &Env, from: &soroban_sdk::Address, token_id: u32);
/// Destroys the token with `token_id` from `from`, by using `spender`s
/// approval.
///
/// # Arguments
///
- /// * `e` - Access to the Soroban environment.
/// * `spender` - The account that is allowed to burn the token on behalf of
/// the owner.
/// * `from` - The account whose token is destroyed.
@@ -101,7 +101,12 @@ pub trait NonFungibleBurnable: NonFungibleToken {
///
/// * topics - `["burn", from: Address]`
/// * data - `[token_id: u32]`
- fn burn_from(e: &Env, spender: Address, from: Address, token_id: u32);
+ fn burn_from(
+ e: &Env,
+ spender: &soroban_sdk::Address,
+ from: &soroban_sdk::Address,
+ token_id: u32,
+ );
}
// ################## EVENTS ##################
diff --git a/packages/tokens/src/non_fungible/extensions/burnable/storage.rs b/packages/tokens/src/non_fungible/extensions/burnable/storage.rs
index 4d2a82da..16abd3f4 100644
--- a/packages/tokens/src/non_fungible/extensions/burnable/storage.rs
+++ b/packages/tokens/src/non_fungible/extensions/burnable/storage.rs
@@ -1,63 +1,22 @@
use soroban_sdk::{Address, Env};
-use crate::non_fungible::{burnable::emit_burn, Base};
+use crate::non_fungible::{
+ burnable::NonFungibleBurnable, extensions::burnable::emit_burn, NFTBase,
+};
-impl Base {
- /// Destroys the token with `token_id` from `from`, ensuring ownership
- /// checks, and emits a `burn` event.
- ///
- /// # Arguments
- ///
- /// * `e` - Access to the Soroban environment.
- /// * `from` - The account whose token is destroyed.
- /// * `token_id` - The identifier of the token to burn.
- ///
- /// # Errors
- ///
- /// * refer to [`Base::update`] errors.
- ///
- /// # Events
- ///
- /// * topics - `["burn", from: Address]`
- /// * data - `[token_id: u32]`
- ///
- /// # Notes
- ///
- /// Authorization for `from` is required.
- pub fn burn(e: &Env, from: &Address, token_id: u32) {
+impl NonFungibleBurnable for NFTBase {
+ type Impl = Self;
+
+ fn burn(e: &Env, from: &Address, token_id: u32) {
from.require_auth();
- Base::update(e, Some(from), None, token_id);
+ Self::update(e, Some(from), None, token_id);
emit_burn(e, from, token_id);
}
- /// Destroys the token with `token_id` from `from`, ensuring ownership
- /// and approval checks, and emits a `burn` event.
- ///
- /// # Arguments
- ///
- /// * `e` - Access to the Soroban environment.
- /// * `spender` - The account that is allowed to burn the token on behalf of
- /// the owner.
- /// * `from` - The account whose token is destroyed.
- /// * `token_id` - The identifier of the token to burn.
- ///
- /// # Errors
- ///
- /// * refer to [`Base::check_spender_approval`] errors.
- /// * refer to [`Base::update`] errors.
- ///
- /// # Events
- ///
- /// * topics - `["burn", from: Address]`
- /// * data - `[token_id: u32]`
- ///
- /// # Notes
- ///
- /// Authorization for `spender` is required.
- pub fn burn_from(e: &Env, spender: &Address, from: &Address, token_id: u32) {
+ fn burn_from(e: &Env, spender: &Address, from: &Address, token_id: u32) {
spender.require_auth();
- Base::check_spender_approval(e, spender, from, token_id);
- Base::update(e, Some(from), None, token_id);
+ Self::check_spender_approval(e, spender, from, token_id);
+ Self::update(e, Some(from), None, token_id);
emit_burn(e, from, token_id);
}
}
diff --git a/packages/tokens/src/non_fungible/extensions/burnable/test.rs b/packages/tokens/src/non_fungible/extensions/burnable/test.rs
index ffb47de9..3a4a85d7 100644
--- a/packages/tokens/src/non_fungible/extensions/burnable/test.rs
+++ b/packages/tokens/src/non_fungible/extensions/burnable/test.rs
@@ -5,7 +5,8 @@ extern crate std;
use soroban_sdk::{contract, testutils::Address as _, Address, Env};
use stellar_event_assertion::EventAssertion;
-use crate::non_fungible::Base;
+use super::NonFungibleBurnable;
+use crate::{non_fungible::NonFungibleToken, NFTBase};
#[contract]
struct MockContract;
@@ -18,11 +19,11 @@ fn burn_works() {
let owner = Address::generate(&e);
e.as_contract(&address, || {
- let token_id = Base::sequential_mint(&e, &owner);
+ let token_id = NFTBase::sequential_mint(&e, &owner);
- Base::burn(&e, &owner, token_id);
+ NFTBase::burn(&e, &owner, token_id);
- assert!(Base::balance(&e, &owner) == 0);
+ assert!(NFTBase::balance(&e, &owner) == 0);
let mut event_assert = EventAssertion::new(&e, address.clone());
event_assert.assert_event_count(2);
@@ -40,12 +41,12 @@ fn burn_from_with_approve_works() {
let spender = Address::generate(&e);
e.as_contract(&address, || {
- let token_id = Base::sequential_mint(&e, &owner);
+ let token_id = NFTBase::sequential_mint(&e, &owner);
- Base::approve(&e, &owner, &spender, token_id, 1000);
- Base::burn_from(&e, &spender, &owner, token_id);
+ NFTBase::approve(&e, &owner, &spender, token_id, 1000);
+ NFTBase::burn_from(&e, &spender, &owner, token_id);
- assert!(Base::balance(&e, &owner) == 0);
+ assert!(NFTBase::balance(&e, &owner) == 0);
let mut event_assert = EventAssertion::new(&e, address.clone());
event_assert.assert_event_count(3);
@@ -64,13 +65,13 @@ fn burn_from_with_operator_works() {
let operator = Address::generate(&e);
e.as_contract(&address, || {
- let token_id = Base::sequential_mint(&e, &owner);
+ let token_id = NFTBase::sequential_mint(&e, &owner);
- Base::approve_for_all(&e, &owner, &operator, 1000);
+ NFTBase::approve_for_all(&e, &owner, &operator, 1000);
- Base::burn_from(&e, &operator, &owner, token_id);
+ NFTBase::burn_from(&e, &operator, &owner, token_id);
- assert!(Base::balance(&e, &owner) == 0);
+ assert!(NFTBase::balance(&e, &owner) == 0);
let mut event_assert = EventAssertion::new(&e, address.clone());
event_assert.assert_event_count(3);
@@ -88,11 +89,11 @@ fn burn_from_with_owner_works() {
let owner = Address::generate(&e);
e.as_contract(&address, || {
- let token_id = Base::sequential_mint(&e, &owner);
+ let token_id = NFTBase::sequential_mint(&e, &owner);
- Base::burn_from(&e, &owner, &owner, token_id);
+ NFTBase::burn_from(&e, &owner, &owner, token_id);
- assert!(Base::balance(&e, &owner) == 0);
+ assert!(NFTBase::balance(&e, &owner) == 0);
let mut event_assert = EventAssertion::new(&e, address.clone());
event_assert.assert_event_count(2);
@@ -111,9 +112,9 @@ fn burn_with_not_owner_panics() {
let spender = Address::generate(&e);
e.as_contract(&address, || {
- let token_id = Base::sequential_mint(&e, &owner);
+ let token_id = NFTBase::sequential_mint(&e, &owner);
- Base::burn(&e, &spender, token_id);
+ NFTBase::burn(&e, &spender, token_id);
});
}
@@ -127,9 +128,9 @@ fn burn_from_with_insufficient_approval_panics() {
let spender = Address::generate(&e);
e.as_contract(&address, || {
- let token_id = Base::sequential_mint(&e, &owner);
+ let token_id = NFTBase::sequential_mint(&e, &owner);
- Base::burn_from(&e, &spender, &owner, token_id);
+ NFTBase::burn_from(&e, &spender, &owner, token_id);
});
}
@@ -143,8 +144,8 @@ fn burn_with_non_existent_token_panics() {
let non_existent_token_id = 2;
e.as_contract(&address, || {
- let _token_id = Base::sequential_mint(&e, &owner);
+ let _token_id = NFTBase::sequential_mint(&e, &owner);
- Base::burn(&e, &owner, non_existent_token_id);
+ NFTBase::burn(&e, &owner, non_existent_token_id);
});
}
diff --git a/packages/tokens/src/non_fungible/extensions/consecutive/mod.rs b/packages/tokens/src/non_fungible/extensions/consecutive/mod.rs
index 7edb1792..9959a8a1 100644
--- a/packages/tokens/src/non_fungible/extensions/consecutive/mod.rs
+++ b/packages/tokens/src/non_fungible/extensions/consecutive/mod.rs
@@ -65,17 +65,6 @@ pub mod storage;
use soroban_sdk::{Address, Env, Symbol};
pub use storage::Consecutive;
-use crate::non_fungible::NonFungibleToken;
-
-/// Consecutive Marker Trait for Non-Fungible Token
-///
-/// # Notes
-///
-/// The `consecutive` extension provides its own business logic for creating and
-/// destroying tokens. Therefore, this trait is INCOMPATIBLE with the
-/// `Enumerable` extension.
-pub trait NonFungibleConsecutive: NonFungibleToken {}
-
mod test;
// ################## EVENTS ##################
diff --git a/packages/tokens/src/non_fungible/extensions/consecutive/storage.rs b/packages/tokens/src/non_fungible/extensions/consecutive/storage.rs
index a4d4d93f..f3718f33 100644
--- a/packages/tokens/src/non_fungible/extensions/consecutive/storage.rs
+++ b/packages/tokens/src/non_fungible/extensions/consecutive/storage.rs
@@ -3,18 +3,50 @@ use core::mem;
use soroban_sdk::{contracttype, panic_with_error, Address, Env, String, TryFromVal, Val, Vec};
use crate::non_fungible::{
- burnable::emit_burn,
+ burnable::{emit_burn, NonFungibleBurnable},
emit_transfer,
extensions::consecutive::emit_consecutive_mint,
sequential::{self as sequential},
- Base, ContractOverrides, NonFungibleTokenError, OWNERSHIP_EXTEND_AMOUNT,
+ NFTBase, NonFungibleToken, NonFungibleTokenError, OWNERSHIP_EXTEND_AMOUNT,
OWNERSHIP_TTL_THRESHOLD, OWNER_EXTEND_AMOUNT, OWNER_TTL_THRESHOLD, TOKEN_EXTEND_AMOUNT,
TOKEN_TTL_THRESHOLD,
};
+/// Consecutive implementation of the NonFungibleToken trait.
+/// ## Example
+///
+/// ```ignore
+/// #[contracttrait(default = Consecutive)]
+/// impl NonFungibleToken for MyContract {}
+///
+/// #[contracttrait(default = Consecutive)]
+/// impl NonFungibleBurnable for MyContract {}
+/// ```
pub struct Consecutive;
-impl ContractOverrides for Consecutive {
+impl NonFungibleBurnable for Consecutive {
+ type Impl = Self;
+
+ fn burn(e: &Env, from: &Address, token_id: u32) {
+ from.require_auth();
+
+ Consecutive::update(e, Some(from), None, token_id);
+ emit_burn(e, from, token_id);
+ }
+
+ fn burn_from(e: &Env, spender: &Address, from: &Address, token_id: u32) {
+ spender.require_auth();
+
+ NFTBase::check_spender_approval(e, spender, from, token_id);
+
+ Consecutive::update(e, Some(from), None, token_id);
+ emit_burn(e, from, token_id);
+ }
+}
+
+impl NonFungibleToken for Consecutive {
+ type Impl = NFTBase;
+
fn owner_of(e: &Env, token_id: u32) -> Address {
Consecutive::owner_of(e, token_id)
}
@@ -36,6 +68,7 @@ impl ContractOverrides for Consecutive {
approver: &Address,
approved: &Address,
token_id: u32,
+
live_until_ledger: u32,
) {
Consecutive::approve(e, approver, approved, token_id, live_until_ledger);
@@ -145,7 +178,7 @@ impl Consecutive {
///
/// * [`NonFungibleTokenError::NonExistentToken`] - Occurs if the provided
/// `token_id` does not exist (burned or more than max).
- /// * refer to [`Base::base_uri`] errors.
+ /// * refer to [`NFTBase::base_uri`] errors.
pub fn token_uri(e: &Env, token_id: u32) -> String {
let is_burned =
Consecutive::get_persistent_entry(e, &NFTConsecutiveStorageKey::BurnedToken(token_id))
@@ -154,8 +187,8 @@ impl Consecutive {
panic_with_error!(e, NonFungibleTokenError::NonExistentToken);
}
- let base_uri = Base::base_uri(e);
- Base::compose_uri_for_token(e, base_uri, token_id)
+ let base_uri = NFTBase::base_uri(e);
+ NFTBase::compose_uri_for_token(e, base_uri, token_id)
}
// ################## CHANGE STATE ##################
@@ -173,7 +206,7 @@ impl Consecutive {
///
/// * [`NonFungibleTokenError::InvalidAmount`] - If try to mint `0` or more
/// than `MAX_TOKENS_IN_BATCH`.
- /// * refer to [`Base::increase_balance`] errors.
+ /// * refer to [`NFTBase::increase_balance`] errors.
/// * refer to [`Consecutive::set_ownership_in_bucket`] errors.
///
/// # Events
@@ -206,7 +239,7 @@ impl Consecutive {
let first_id = sequential::increment_token_id(e, amount);
- Base::increase_balance(e, to, amount);
+ NFTBase::increase_balance(e, to, amount);
let last_id = first_id + amount - 1;
Self::set_ownership_in_bucket(e, last_id);
@@ -259,7 +292,7 @@ impl Consecutive {
///
/// # Errors
///
- /// * refer to [`Base::check_spender_approval`] errors.
+ /// * refer to [`NFTBase::check_spender_approval`] errors.
/// * refer to [`Consecutive::update`] errors.
///
/// # Events
@@ -273,7 +306,7 @@ impl Consecutive {
pub fn burn_from(e: &Env, spender: &Address, from: &Address, token_id: u32) {
spender.require_auth();
- Base::check_spender_approval(e, spender, from, token_id);
+ NFTBase::check_spender_approval(e, spender, from, token_id);
Consecutive::update(e, Some(from), None, token_id);
emit_burn(e, from, token_id);
@@ -322,7 +355,7 @@ impl Consecutive {
///
/// # Errors
///
- /// * refer to [`Base::check_spender_approval`] errors.
+ /// * refer to [`NFTBase::check_spender_approval`] errors.
/// * refer to [`Consecutive::update`] errors.
///
/// # Events
@@ -338,7 +371,7 @@ impl Consecutive {
pub fn transfer_from(e: &Env, spender: &Address, from: &Address, to: &Address, token_id: u32) {
spender.require_auth();
- Base::check_spender_approval(e, spender, from, token_id);
+ NFTBase::check_spender_approval(e, spender, from, token_id);
Consecutive::update(e, Some(from), Some(to), token_id);
emit_transfer(e, from, to, token_id);
@@ -358,7 +391,7 @@ impl Consecutive {
/// # Errors
///
/// * refer to [`Consecutive::owner_of`] errors.
- /// * refer to [`Base::approve_for_owner`] errors.
+ /// * refer to [`NFTBase::approve_for_owner`] errors.
///
/// # Events
///
@@ -378,14 +411,14 @@ impl Consecutive {
approver.require_auth();
let owner = Consecutive::owner_of(e, token_id);
- Base::approve_for_owner(e, &owner, approver, approved, token_id, live_until_ledger);
+ NFTBase::approve_for_owner(e, &owner, approver, approved, token_id, live_until_ledger);
}
/// Low-level function for handling transfers, mints and burns of an NFT,
/// without handling authorization. Updates ownership records, adjusts
/// balances, and clears existing approvals.
///
- /// The difference with [`Base::update`] is that the
+ /// The difference with [`NFTBase::update`] is that the
/// current function:
/// 1. explicitly adds burned tokens to storage in
/// `NFTConsecutiveStorageKey::BurnedToken`,
@@ -403,8 +436,8 @@ impl Consecutive {
/// * [`NonFungibleTokenError::IncorrectOwner`] - If the `from` address is
/// not the owner of the token.
/// * refer to [`Consecutive::owner_of`] errors.
- /// * refer to [`Base::decrease_balance`] errors.
- /// * refer to [`Base::increase_balance`] errors.
+ /// * refer to [`NFTBase::decrease_balance`] errors.
+ /// * refer to [`NFTBase::increase_balance`] errors.
/// * refer to [`Consecutive::set_ownership_in_bucket`] errors.
pub fn update(e: &Env, from: Option<&Address>, to: Option<&Address>, token_id: u32) {
if let Some(from_address) = from {
@@ -415,7 +448,7 @@ impl Consecutive {
panic_with_error!(e, NonFungibleTokenError::IncorrectOwner);
}
- Base::decrease_balance(e, from_address, 1);
+ NFTBase::decrease_balance(e, from_address, 1);
// Clear any existing approval
let approval_key = NFTConsecutiveStorageKey::Approval(token_id);
@@ -431,7 +464,7 @@ impl Consecutive {
}
if let Some(to_address) = to {
- Base::increase_balance(e, to_address, 1);
+ NFTBase::increase_balance(e, to_address, 1);
// Set the new owner
e.storage().persistent().set(&NFTConsecutiveStorageKey::Owner(token_id), to_address);
diff --git a/packages/tokens/src/non_fungible/extensions/consecutive/test.rs b/packages/tokens/src/non_fungible/extensions/consecutive/test.rs
index 275556c7..92b247b4 100644
--- a/packages/tokens/src/non_fungible/extensions/consecutive/test.rs
+++ b/packages/tokens/src/non_fungible/extensions/consecutive/test.rs
@@ -11,7 +11,7 @@ use crate::non_fungible::{
storage::{NFTConsecutiveStorageKey, IDS_IN_ITEM},
Consecutive,
},
- sequential, Base,
+ sequential, NFTBase, NonFungibleToken,
};
#[contract]
@@ -198,7 +198,7 @@ fn consecutive_batch_mint_works() {
event_assert.assert_consecutive_mint(&owner, 0, 31_999);
assert_eq!(sequential::next_token_id(&e), amount);
- assert_eq!(Base::balance(&e, &owner), amount);
+ assert_eq!(NFTBase::balance(&e, &owner), amount);
let _owner = e
.storage()
@@ -213,7 +213,7 @@ fn consecutive_batch_mint_works() {
// new mint
let last_id = Consecutive::batch_mint(&e, &owner, amount);
assert_eq!(last_id, 2 * amount - 1);
- assert_eq!(Base::balance(&e, &owner), 2 * amount);
+ assert_eq!(NFTBase::balance(&e, &owner), 2 * amount);
assert_eq!(Consecutive::owner_of(&e, 2 * amount - 1), owner);
});
}
@@ -298,11 +298,11 @@ fn consecutive_transfer_works() {
e.as_contract(&address, || {
Consecutive::batch_mint(&e, &owner, amount);
- assert_eq!(Base::balance(&e, &owner), amount);
+ assert_eq!(NFTBase::balance(&e, &owner), amount);
Consecutive::transfer(&e, &owner, &recipient, 50);
assert_eq!(Consecutive::owner_of(&e, 50), recipient);
- assert_eq!(Base::balance(&e, &recipient), 1);
+ assert_eq!(NFTBase::balance(&e, &recipient), 1);
assert_eq!(Consecutive::owner_of(&e, 51), owner);
assert_eq!(Consecutive::owner_of(&e, 49), owner);
@@ -346,7 +346,7 @@ fn consecutive_transfer_edge_works() {
e.as_contract(&address, || {
Consecutive::transfer(&e, &owner, &recipient, 99);
assert_eq!(Consecutive::owner_of(&e, 99), recipient);
- assert_eq!(Base::balance(&e, &recipient), 2);
+ assert_eq!(NFTBase::balance(&e, &recipient), 2);
});
}
@@ -364,12 +364,12 @@ fn consecutive_transfer_from_works() {
e.as_contract(&address, || {
Consecutive::batch_mint(&e, &owner, amount);
- assert_eq!(Base::balance(&e, &owner), amount);
+ assert_eq!(NFTBase::balance(&e, &owner), amount);
Consecutive::approve(&e, &owner, &spender, token_id, 100);
Consecutive::transfer_from(&e, &spender, &owner, &recipient, token_id);
assert_eq!(Consecutive::owner_of(&e, token_id), recipient);
- assert_eq!(Base::balance(&e, &recipient), 1);
+ assert_eq!(NFTBase::balance(&e, &recipient), 1);
assert_eq!(Consecutive::owner_of(&e, token_id + 1), owner);
@@ -393,10 +393,10 @@ fn consecutive_burn_works() {
e.as_contract(&address, || {
Consecutive::batch_mint(&e, &owner, amount);
- assert_eq!(Base::balance(&e, &owner), amount);
+ assert_eq!(NFTBase::balance(&e, &owner), amount);
Consecutive::burn(&e, &owner, token_id);
- assert_eq!(Base::balance(&e, &owner), amount - 1);
+ assert_eq!(NFTBase::balance(&e, &owner), amount - 1);
let _owner =
e.storage().persistent().get::<_, Address>(&NFTConsecutiveStorageKey::Owner(token_id));
@@ -416,7 +416,7 @@ fn consecutive_burn_works() {
e.as_contract(&address, || {
Consecutive::burn(&e, &owner, 0);
- assert_eq!(Base::balance(&e, &owner), amount - 2);
+ assert_eq!(NFTBase::balance(&e, &owner), amount - 2);
let _owner =
e.storage().persistent().get::<_, Address>(&NFTConsecutiveStorageKey::Owner(token_id));
@@ -441,7 +441,7 @@ fn consecutive_burn_from_works() {
Consecutive::approve(&e, &owner, &spender, token_id, 100);
Consecutive::burn_from(&e, &spender, &owner, token_id);
- assert_eq!(Base::balance(&e, &owner), amount - 1);
+ assert_eq!(NFTBase::balance(&e, &owner), amount - 1);
let burned = e
.storage()
.persistent()
@@ -510,7 +510,7 @@ fn consecutive_token_uri_works() {
let base_uri = String::from_str(&e, "https://smth.com/");
let collection_name = String::from_str(&e, "My NFT collection");
let collection_symbol = String::from_str(&e, "NFT");
- Base::set_metadata(
+ NFTBase::set_metadata(
&e,
base_uri.clone(),
collection_name.clone(),
@@ -521,8 +521,8 @@ fn consecutive_token_uri_works() {
let uri = Consecutive::token_uri(&e, 9);
assert_eq!(uri, String::from_str(&e, "https://smth.com/9"));
- assert_eq!(collection_name, Base::name(&e));
- assert_eq!(collection_symbol, Base::symbol(&e));
+ assert_eq!(collection_name, NFTBase::name(&e));
+ assert_eq!(collection_symbol, NFTBase::symbol(&e));
});
}
diff --git a/packages/tokens/src/non_fungible/extensions/enumerable/mod.rs b/packages/tokens/src/non_fungible/extensions/enumerable/mod.rs
index 39b72d86..c1e01826 100644
--- a/packages/tokens/src/non_fungible/extensions/enumerable/mod.rs
+++ b/packages/tokens/src/non_fungible/extensions/enumerable/mod.rs
@@ -2,11 +2,9 @@ pub mod storage;
mod test;
-use soroban_sdk::{Address, Env};
+use soroban_sdk::{contracttrait, Env};
pub use storage::Enumerable;
-use crate::non_fungible::NonFungibleToken;
-
/// Enumerable Trait for Non-Fungible Token
///
/// The `NonFungibleEnumerable` trait extends the `NonFungibleToken` trait to
@@ -59,12 +57,9 @@ use crate::non_fungible::NonFungibleToken;
/// /* and the macro will generate all the missing default implementations for you */
/// }
/// ```
-pub trait NonFungibleEnumerable: NonFungibleToken {
+#[contracttrait(default = Enumerable)]
+pub trait NonFungibleEnumerable {
/// Returns the total amount of tokens stored by the contract.
- ///
- /// # Arguments
- ///
- /// * `e` - Access to the Soroban environment.
fn total_supply(e: &Env) -> u32;
/// Returns the `token_id` owned by `owner` at a given `index` in the
@@ -74,10 +69,9 @@ pub trait NonFungibleEnumerable: NonFungibleToken {
///
/// # Arguments
///
- /// * `e` - Access to the Soroban environment.
/// * `owner` - Account of the token's owner.
/// * `index` - Index of the token in the owner's local list.
- fn get_owner_token_id(e: &Env, owner: Address, index: u32) -> u32;
+ fn get_owner_token_id(e: &Env, owner: &soroban_sdk::Address, index: u32) -> u32;
/// Returns the `token_id` at a given `index` in the global token list.
/// Use along with [`NonFungibleEnumerable::total_supply`] to enumerate
@@ -92,7 +86,6 @@ pub trait NonFungibleEnumerable: NonFungibleToken {
///
/// # Arguments
///
- /// * `e` - Access to the Soroban environment.
/// * `index` - Index of the token in the global list.
fn get_token_id(e: &Env, index: u32) -> u32;
}
diff --git a/packages/tokens/src/non_fungible/extensions/enumerable/storage.rs b/packages/tokens/src/non_fungible/extensions/enumerable/storage.rs
index cb9684e4..f1e45cb9 100644
--- a/packages/tokens/src/non_fungible/extensions/enumerable/storage.rs
+++ b/packages/tokens/src/non_fungible/extensions/enumerable/storage.rs
@@ -1,21 +1,22 @@
use soroban_sdk::{contracttype, panic_with_error, Address, Env};
+use super::super::{burnable::NonFungibleBurnable, enumerable::NonFungibleEnumerable};
use crate::non_fungible::{
- emit_mint, Base, ContractOverrides, NonFungibleTokenError, OWNER_EXTEND_AMOUNT,
+ emit_mint, NFTBase, NonFungibleToken, NonFungibleTokenError, OWNER_EXTEND_AMOUNT,
OWNER_TTL_THRESHOLD, TOKEN_EXTEND_AMOUNT, TOKEN_TTL_THRESHOLD,
};
pub struct Enumerable;
-impl ContractOverrides for Enumerable {
- fn transfer(e: &Env, from: &Address, to: &Address, token_id: u32) {
- Enumerable::transfer(e, from, to, token_id);
- }
+// impl ContractOverrides for Enumerable {
+// fn transfer(e: &Env, from: &Address, to: &Address, token_id: u32) {
+// Enumerable::transfer(e, from, to, token_id);
+// }
- fn transfer_from(e: &Env, spender: &Address, from: &Address, to: &Address, token_id: u32) {
- Enumerable::transfer_from(e, spender, from, to, token_id);
- }
-}
+// fn transfer_from(e: &Env, spender: &Address, from: &Address, to:
+// &Address, token_id: u32) { Enumerable::transfer_from(e, spender,
+// from, to, token_id); }
+// }
#[contracttype]
pub struct OwnerTokensKey {
@@ -34,6 +35,46 @@ pub enum NFTEnumerableStorageKey {
GlobalTokensIndex(/* token_id */ u32),
}
+impl NonFungibleEnumerable for Enumerable {
+ type Impl = Self;
+
+ fn total_supply(e: &Env) -> u32 {
+ Enumerable::total_supply(e)
+ }
+
+ fn get_owner_token_id(e: &Env, owner: &Address, index: u32) -> u32 {
+ Enumerable::get_owner_token_id(e, owner, index)
+ }
+
+ fn get_token_id(e: &Env, index: u32) -> u32 {
+ Enumerable::get_token_id(e, index)
+ }
+}
+
+impl NonFungibleToken for Enumerable {
+ type Impl = NFTBase;
+
+ fn transfer(e: &Env, from: &Address, to: &Address, token_id: u32) {
+ Enumerable::transfer(e, from, to, token_id);
+ }
+
+ fn transfer_from(e: &Env, spender: &Address, from: &Address, to: &Address, token_id: u32) {
+ Enumerable::transfer_from(e, spender, from, to, token_id);
+ }
+}
+
+impl NonFungibleBurnable for Enumerable {
+ type Impl = NFTBase;
+
+ fn burn(e: &Env, from: &Address, token_id: u32) {
+ Enumerable::burn(e, from, token_id);
+ }
+
+ fn burn_from(e: &Env, spender: &Address, from: &Address, token_id: u32) {
+ Enumerable::burn_from(e, spender, from, token_id);
+ }
+}
+
impl Enumerable {
// ################## QUERY STATE ##################
@@ -47,8 +88,8 @@ impl Enumerable {
}
/// Returns the `token_id` owned by `owner` at a given `index` in the
- /// owner's local list. Use along with [`Base::balance`] to enumerate all of
- /// `owner`'s tokens.
+ /// owner's local list. Use along with [`NFTBase::balance`] to enumerate all
+ /// of `owner`'s tokens.
///
/// # Arguments
///
@@ -106,7 +147,7 @@ impl Enumerable {
///
/// # Errors
///
- /// * refer to [`Base::sequential_mint`] errors.
+ /// * refer to [`NFTBase::sequential_mint`] errors.
/// * refer to [`Enumerable::increment_total_supply`] errors.
///
/// # Events
@@ -116,7 +157,7 @@ impl Enumerable {
///
/// # Notes
///
- /// This is a wrapper around [`Base::sequential_mint()`], that
+ /// This is a wrapper around [`NFTBase::sequential_mint()`], that
/// also handles the storage updates for:
/// * total supply
/// * global token list
@@ -145,7 +186,7 @@ impl Enumerable {
/// and generating `token_id`s, they should ensure that the `token_id`
/// is unique and not already in use.
pub fn sequential_mint(e: &Env, to: &Address) -> u32 {
- let token_id = Base::sequential_mint(e, to);
+ let token_id = NFTBase::sequential_mint(e, to);
Enumerable::add_to_enumerations(e, to, token_id);
@@ -162,7 +203,7 @@ impl Enumerable {
///
/// # Errors
///
- /// * refer to [`Base::update`] errors.
+ /// * refer to [`NFTBase::update`] errors.
/// * refer to [`Enumerable::increment_total_supply`] errors.
///
/// # Events
@@ -170,7 +211,7 @@ impl Enumerable {
/// * topics - `["mint", to: Address]`
/// * data - `[token_id: u32]`
///
- /// This is a wrapper around [`Base::update()`], that also
+ /// This is a wrapper around [`NFTBase::update()`], that also
/// handles the storage updates for:
/// * total supply
/// * owner_tokens enumeration
@@ -179,7 +220,7 @@ impl Enumerable {
/// # Security Warning
///
/// ⚠️ SECURITY RISK: This function has NO AUTHORIZATION CONTROLS ⚠️
- ///Base
+ ///NFTBase
/// It is the responsibility of the implementer to establish appropriate
/// access controls to ensure that only authorized accounts can execute
/// minting operations. Failure to implement proper authorization could
@@ -198,7 +239,7 @@ impl Enumerable {
/// strategy for generating `token_id`s varies by project and must be
/// implemented accordingly.
pub fn non_sequential_mint(e: &Env, to: &Address, token_id: u32) {
- Base::update(e, None, Some(to), token_id);
+ NFTBase::update(e, None, Some(to), token_id);
emit_mint(e, to, token_id);
Enumerable::add_to_enumerations(e, to, token_id);
@@ -214,7 +255,7 @@ impl Enumerable {
///
/// # Errors
///
- /// * refer to [`Base::burn`] errors.
+ /// * refer to [`NFTBase::burn`] errors.
/// * refer to [`Enumerable::remove_from_owner_enumeration`] errors.
/// * refer to [`Enumerable::remove_from_global_enumeration`] errors.
///
@@ -225,13 +266,13 @@ impl Enumerable {
///
/// # Notes
///
- /// This is a wrapper around [`Base::burn`], that also
+ /// This is a wrapper around [`NFTBase::burn`], that also
/// handles the storage updates for:
/// * total supply
/// * owner_tokens enumeration
/// * global_tokens enumeration
pub fn burn(e: &Env, from: &Address, token_id: u32) {
- Base::burn(e, from, token_id);
+ NFTBase::burn(e, from, token_id);
Enumerable::remove_from_enumerations(e, from, token_id);
}
@@ -249,7 +290,7 @@ impl Enumerable {
///
/// # Errors
///
- /// * refer to [`Base::burn_from`] errors.
+ /// * refer to [`NFTBase::burn_from`] errors.
/// * refer to [`Enumerable::remove_from_owner_enumeration`] errors.
/// * refer to [`Enumerable::remove_from_global_enumeration`] errors.
///
@@ -260,13 +301,13 @@ impl Enumerable {
///
/// # Notes
///
- /// This is a wrapper around [`Base::burn_from`], that also
+ /// This is a wrapper around [`NFTBase::burn_from`], that also
/// handles the storage updates for:
/// * total supply
/// * owner_tokens enumeration
/// * global_tokens enumeration
pub fn burn_from(e: &Env, spender: &Address, from: &Address, token_id: u32) {
- Base::burn_from(e, spender, from, token_id);
+ NFTBase::burn_from(e, spender, from, token_id);
Enumerable::remove_from_enumerations(e, from, token_id);
}
@@ -282,7 +323,7 @@ impl Enumerable {
///
/// # Errors
///
- /// * refer to [`Base::transfer`] errors.
+ /// * refer to [`NFTBase::transfer`] errors.
/// * refer to [`Enumerable::remove_from_owner_enumeration`] errors.
///
/// # Events
@@ -292,11 +333,11 @@ impl Enumerable {
///
/// # Notes
///
- /// This is a wrapper around [`Base::transfer`], that also
+ /// This is a wrapper around [`NFTBase::transfer`], that also
/// handles the storage updates for:
/// * owner_tokens enumeration
pub fn transfer(e: &Env, from: &Address, to: &Address, token_id: u32) {
- Base::transfer(e, from, to, token_id);
+ NFTBase::transfer(e, from, to, token_id);
if from != to {
Enumerable::remove_from_owner_enumeration(e, from, token_id);
@@ -317,7 +358,7 @@ impl Enumerable {
///
/// # Errors
///
- /// * refer to [`Base::transfer_from`] errors.
+ /// * refer to [`NFTBase::transfer_from`] errors.
/// * refer to [`Enumerable::remove_from_owner_enumeration`] errors.
///
/// # Events
@@ -327,11 +368,11 @@ impl Enumerable {
///
/// # Notes
///
- /// This is a wrapper around [`Base::transfer_from`], that also
+ /// This is a wrapper around [`NFTBase::transfer_from`], that also
/// handles the storage updates for:
/// * owner_tokens enumeration
pub fn transfer_from(e: &Env, spender: &Address, from: &Address, to: &Address, token_id: u32) {
- Base::transfer_from(e, spender, from, to, token_id);
+ NFTBase::transfer_from(e, spender, from, to, token_id);
if from != to {
Enumerable::remove_from_owner_enumeration(e, from, token_id);
@@ -437,7 +478,7 @@ impl Enumerable {
pub fn add_to_owner_enumeration(e: &Env, owner: &Address, token_id: u32) {
// balance is already incremented by 1, we need to subtract 1 from it
// to get the `last_index + 1` (the index of the new token)
- let Some(owner_balance) = Base::balance(e, owner).checked_sub(1) else {
+ let Some(owner_balance) = NFTBase::balance(e, owner).checked_sub(1) else {
panic_with_error!(e, NonFungibleTokenError::MathOverflow);
};
e.storage().persistent().set(
@@ -478,7 +519,7 @@ impl Enumerable {
// owner's balance is already decremented by 1, so it will be the index of the
// last token in the enumeration list.
- let last_token_index = Base::balance(e, owner);
+ let last_token_index = NFTBase::balance(e, owner);
// Update the `OwnerTokens`.
if to_be_removed_index != last_token_index {
diff --git a/packages/tokens/src/non_fungible/extensions/enumerable/test.rs b/packages/tokens/src/non_fungible/extensions/enumerable/test.rs
index b42ab48d..0a98c087 100644
--- a/packages/tokens/src/non_fungible/extensions/enumerable/test.rs
+++ b/packages/tokens/src/non_fungible/extensions/enumerable/test.rs
@@ -5,7 +5,9 @@ extern crate std;
use soroban_sdk::{contract, testutils::Address as _, Address, Env};
use stellar_event_assertion::EventAssertion;
-use crate::non_fungible::{extensions::enumerable::Enumerable, Base, NFTStorageKey};
+use crate::non_fungible::{
+ extensions::enumerable::Enumerable, NFTBase, NFTStorageKey, NonFungibleToken,
+};
#[contract]
struct MockContract;
@@ -120,7 +122,7 @@ fn test_burn_from() {
e.as_contract(&address, || {
let token_id = 42;
Enumerable::non_sequential_mint(&e, &owner, token_id);
- Base::approve(&e, &owner, &spender, token_id, 1000);
+ NFTBase::approve(&e, &owner, &spender, token_id, 1000);
Enumerable::burn_from(&e, &spender, &owner, token_id);
assert_eq!(Enumerable::total_supply(&e), 0);
});
@@ -247,7 +249,7 @@ fn test_enumerable_transfer_from() {
e.as_contract(&address, || {
let token_id = Enumerable::sequential_mint(&e, &owner);
- Base::approve(&e, &owner, &spender, token_id, 1000);
+ NFTBase::approve(&e, &owner, &spender, token_id, 1000);
Enumerable::transfer_from(&e, &spender, &owner, &recipient, token_id);
assert_eq!(Enumerable::get_owner_token_id(&e, &recipient, 0), token_id);
diff --git a/packages/tokens/src/non_fungible/extensions/royalties/mod.rs b/packages/tokens/src/non_fungible/extensions/royalties/mod.rs
index 49c15cdd..5a9e139e 100644
--- a/packages/tokens/src/non_fungible/extensions/royalties/mod.rs
+++ b/packages/tokens/src/non_fungible/extensions/royalties/mod.rs
@@ -1,9 +1,8 @@
mod storage;
-use crate::non_fungible::NonFungibleToken;
mod test;
-use soroban_sdk::{Address, Env, Symbol};
+use soroban_sdk::{contracttrait, Address, Env, Symbol};
/// Royalties Trait for Non-Fungible Token (ERC2981)
///
@@ -31,28 +30,26 @@ use soroban_sdk::{Address, Env, Symbol};
/// Non-Fungible and Fungible tokens, we are using `i128` instead of `u128` for
/// the `sale_price`, due to SEP-41.
///
-/// `#[contractimpl]` macro requires even the default implementations to be
-/// present under its scope. To avoid confusion, we do not provide the default
-/// implementations here, but we are providing a macro that generates them.
+/// `#[contracttrait]` macro provides a default implementation and generates a
+/// `#[contractimpl]` with all the trait's methods forwarding them to
+/// `MyContract`.
///
/// ## Example
///
/// ```ignore
-/// #[default_impl] // **IMPORTANT**: place this above `#[contractimpl]`
-/// #[contractimpl]
+/// #[contracttrait]
/// impl NonFungibleRoyalties for MyContract {
/// /* your overrides here (you don't have to put anything here if you don't want to override anything) */
-/// /* and the macro will generate all the missing default implementations for you */
/// }
/// ```
-pub trait NonFungibleRoyalties: NonFungibleToken {
+#[contracttrait(default = NFTBase)]
+pub trait NonFungibleRoyalties {
/// Sets the global default royalty information for the entire collection.
/// This will be used for all tokens that don't have specific royalty
/// information.
///
/// # Arguments
///
- /// * `e` - Access to the Soroban environment.
/// * `receiver` - The address that should receive royalty payments.
/// * `basis_points` - The royalty percentage in basis points (100 = 1%,
/// 10000 = 100%).
@@ -67,13 +64,17 @@ pub trait NonFungibleRoyalties: NonFungibleToken {
///
/// * topics - `["set_default_royalty", receiver: Address]`
/// * data - `[basis_points: u32]`
- fn set_default_royalty(e: &Env, receiver: Address, basis_points: u32, operator: Address);
+ fn set_default_royalty(
+ e: &Env,
+ receiver: &soroban_sdk::Address,
+ basis_points: u32,
+ operator: &soroban_sdk::Address,
+ );
/// Sets the royalty information for a specific token.
///
/// # Arguments
///
- /// * `e` - Access to the Soroban environment.
/// * `token_id` - The identifier of the token.
/// * `receiver` - The address that should receive royalty payments.
/// * `basis_points` - The royalty percentage in basis points (100 = 1%,
@@ -94,9 +95,9 @@ pub trait NonFungibleRoyalties: NonFungibleToken {
fn set_token_royalty(
e: &Env,
token_id: u32,
- receiver: Address,
+ receiver: &soroban_sdk::Address,
basis_points: u32,
- operator: Address,
+ operator: &soroban_sdk::Address,
);
/// Removes token-specific royalty information, allowing the token to fall
@@ -104,7 +105,6 @@ pub trait NonFungibleRoyalties: NonFungibleToken {
///
/// # Arguments
///
- /// * `e` - Access to the Soroban environment.
/// * `token_id` - The identifier of the token.
/// * `operator` - The address authorizing the invocation.
///
@@ -117,23 +117,22 @@ pub trait NonFungibleRoyalties: NonFungibleToken {
///
/// * topics - `["remove_token_royalty", token_id: u32]`
/// * data - `[]`
- fn remove_token_royalty(e: &Env, token_id: u32, operator: Address);
+ fn remove_token_royalty(e: &Env, token_id: u32, operator: &soroban_sdk::Address);
/// Returns `(Address, i128)` - A tuple containing the receiver address and
/// the royalty amount.
///
/// # Arguments
///
- /// * `e` - Access to the Soroban environment.
/// * `token_id` - The identifier of the token.
/// * `sale_price` - The sale price for which royalties are being
/// calculated.
///
/// # Errors
///
- /// * [`crate::non_fungible::NonFungibleTokenError::NonExistentToken`] - If
- /// the token does not exist.
- fn royalty_info(e: &Env, token_id: u32, sale_price: i128) -> (Address, i128);
+ /// * [`crate::NonFungibleTokenError::NonExistentToken`] - If the token does
+ /// not exist.
+ fn royalty_info(e: &Env, token_id: u32, sale_price: i128) -> (soroban_sdk::Address, i128);
}
// ################## EVENTS ##################
diff --git a/packages/tokens/src/non_fungible/extensions/royalties/storage.rs b/packages/tokens/src/non_fungible/extensions/royalties/storage.rs
index c42b4308..850919ed 100644
--- a/packages/tokens/src/non_fungible/extensions/royalties/storage.rs
+++ b/packages/tokens/src/non_fungible/extensions/royalties/storage.rs
@@ -1,8 +1,8 @@
use soroban_sdk::{contracttype, panic_with_error, Address, Env};
use crate::non_fungible::{
- royalties::{emit_set_default_royalty, emit_set_token_royalty},
- Base, NonFungibleTokenError, OWNER_EXTEND_AMOUNT, OWNER_TTL_THRESHOLD,
+ royalties::{emit_set_default_royalty, emit_set_token_royalty, NonFungibleRoyalties},
+ NFTBase, NonFungibleToken, NonFungibleTokenError, OWNER_EXTEND_AMOUNT, OWNER_TTL_THRESHOLD,
};
/// Storage container for royalty information
@@ -19,7 +19,9 @@ pub enum NFTRoyaltiesStorageKey {
TokenRoyalty(u32),
}
-impl Base {
+impl NonFungibleRoyalties for NFTBase {
+ type Impl = Self;
+
/// Sets the global default royalty information for the entire collection.
/// This will be used for all tokens that don't have specific royalty
/// information.
@@ -30,23 +32,7 @@ impl Base {
/// * `receiver` - The address that should receive royalty payments.
/// * `basis_points` - The royalty percentage in basis points (100 = 1%,
/// 10000 = 100%).
- ///
- /// # Events
- ///
- /// * topics - `["set_default_royalty", receiver: Address]`
- /// * data - `[basis_points: u32]`
- ///
- /// # Errors
- ///
- /// * [`NonFungibleTokenError::InvalidRoyaltyAmount`] - If the royalty
- /// amount is higher than 10_000 (100%) basis points.
- ///
- /// # Notes
- ///
- /// **IMPORTANT**: This function lacks authorization controls. Most likely,
- /// you want to invoke it from a constructor or from another function
- /// with admin-only authorization.
- pub fn set_default_royalty(e: &Env, receiver: &Address, basis_points: u32) {
+ fn set_default_royalty(e: &Env, receiver: &Address, basis_points: u32, _operator: &Address) {
// check if basis points is valid
if basis_points > 10000 {
panic_with_error!(e, NonFungibleTokenError::InvalidRoyaltyAmount);
@@ -61,41 +47,20 @@ impl Base {
}
/// Sets the royalty information for a specific token.
- /// This must be called during minting, as royalties are immutable after
- /// minting.
- ///
- /// # Arguments
- ///
- /// * `e` - Access to the Soroban environment.
- /// * `token_id` - The identifier of the token.
- /// * `receiver` - The address that should receive royalty payments.
- /// * `basis_points` - The royalty percentage in basis points (100 = 1%,
- /// 10000 = 100%).
- ///
- /// # Events
- ///
- /// * topics - `["set_token_royalty", receiver: Address, token_id: u32]`
- /// * data - `[basis_points: u32]`
- ///
- /// # Errors
- ///
- /// * [`NonFungibleTokenError::InvalidRoyaltyAmount`] - If the royalty
- /// amount is higher than 10_000 (100%) basis points.
- /// * refer to [`Base::owner_of`] errors.
- ///
- /// # Notes
- ///
- /// **IMPORTANT**: This function lacks authorization controls. Most likely,
- /// you want to invoke it from a constructor or from another function
- /// with admin-only authorization.
- pub fn set_token_royalty(e: &Env, token_id: u32, receiver: &Address, basis_points: u32) {
+ fn set_token_royalty(
+ e: &Env,
+ token_id: u32,
+ receiver: &Address,
+ basis_points: u32,
+ _operator: &Address,
+ ) {
// check if basis points is valid
if basis_points > 10000 {
panic_with_error!(e, NonFungibleTokenError::InvalidRoyaltyAmount);
}
// Verify token exists by checking owner
- let _ = Base::owner_of(e, token_id);
+ let _ = NFTBase::owner_of(e, token_id);
// Store the token royalty information
let key = NFTRoyaltiesStorageKey::TokenRoyalty(token_id);
@@ -105,31 +70,10 @@ impl Base {
emit_set_token_royalty(e, receiver, token_id, basis_points);
}
- /// Removes token-specific royalty information, allowing the token to fall
- /// back to the collection-wide default royalty settings.
- ///
- /// # Arguments
- ///
- /// * `e` - Access to the Soroban environment.
- /// * `token_id` - The identifier of the token.
- ///
- /// # Events
- ///
- /// * topics - `["remove_token_royalty", token_id: u32]`
- /// * data - `[]`
- ///
- /// # Errors
- ///
- /// * [`NonFungibleTokenError::NonExistentToken`] - If the token does not
- /// exist.
- ///
- /// # Notes
- ///
- /// **IMPORTANT**: This function lacks authorization controls. Most likely,
- /// you want to invoke it from a function with admin-only authorization.
- pub fn remove_token_royalty(e: &Env, token_id: u32) {
+ /// Removes token-specific royalty information.
+ fn remove_token_royalty(e: &Env, token_id: u32, _operator: &Address) {
// Verify token exists by checking owner
- let _ = Base::owner_of(e, token_id);
+ let _ = NFTBase::owner_of(e, token_id);
// Remove the token royalty information
let key = NFTRoyaltiesStorageKey::TokenRoyalty(token_id);
@@ -139,25 +83,10 @@ impl Base {
}
/// Returns `(Address, u32)` - A tuple containing the receiver address and
- /// the royalty amount. If there is no token-specific royalty set, it
- /// returns the default royalty. If there is no default royalty set, it
- /// returns the contract address and zero royalty.
- ///
- /// # Arguments
- ///
- /// * `e` - Access to the Soroban environment.
- /// * `token_id` - The identifier of the token.
- /// * `sale_price` - The sale price for which royalties are being
- /// calculated.
- ///
- /// # Errors
- ///
- /// * [`NonFungibleTokenError::NonExistentToken`] - If the token does not
- /// exist.
- /// * refer to [`Base::owner_of`] errors.
- pub fn royalty_info(e: &Env, token_id: u32, sale_price: i128) -> (Address, i128) {
+ /// the royalty amount.
+ fn royalty_info(e: &Env, token_id: u32, sale_price: i128) -> (Address, i128) {
// Verify token exists by checking owner
- let _ = Base::owner_of(e, token_id);
+ let _ = NFTBase::owner_of(e, token_id);
// Check if there's a specific royalty for this token
let token_key = NFTRoyaltiesStorageKey::TokenRoyalty(token_id);
diff --git a/packages/tokens/src/non_fungible/extensions/royalties/test.rs b/packages/tokens/src/non_fungible/extensions/royalties/test.rs
index 9d97e18e..1b751f8e 100644
--- a/packages/tokens/src/non_fungible/extensions/royalties/test.rs
+++ b/packages/tokens/src/non_fungible/extensions/royalties/test.rs
@@ -4,7 +4,8 @@ extern crate std;
use soroban_sdk::{contract, testutils::Address as _, Address, Env};
-use crate::non_fungible::{extensions::enumerable::Enumerable, Base};
+use super::NonFungibleRoyalties;
+use crate::non_fungible::{extensions::enumerable::Enumerable, NFTBase};
#[contract]
struct MockContract;
@@ -21,10 +22,10 @@ fn test_set_default_royalty() {
e.as_contract(&address, || {
// Set default royalty
- Base::set_default_royalty(&e, &receiver, 1000); // 10%
+ NFTBase::set_default_royalty(&e, &receiver, 1000, &receiver); // 10%
// Check royalty info for a non-existent token (should use default)
- let (royalty_receiver, royalty_amount) = Base::royalty_info(&e, token_id, 1000);
+ let (royalty_receiver, royalty_amount) = NFTBase::royalty_info(&e, token_id, 1000);
assert_eq!(royalty_receiver, receiver);
assert_eq!(royalty_amount, 100); // 10% of 1000
});
@@ -43,10 +44,10 @@ fn test_set_token_royalty() {
// Set token-specific royalty
let receiver = Address::generate(&e);
- Base::set_token_royalty(&e, token_id, &receiver, 500); // 5%
+ NFTBase::set_token_royalty(&e, token_id, &receiver, 500, &receiver); // 5%
// Check royalty info
- let (royalty_receiver, royalty_amount) = Base::royalty_info(&e, token_id, 2000);
+ let (royalty_receiver, royalty_amount) = NFTBase::royalty_info(&e, token_id, 2000);
assert_eq!(royalty_receiver, receiver);
assert_eq!(royalty_amount, 100); // 5% of 2000
});
@@ -64,16 +65,16 @@ fn test_token_royalty_overrides_default() {
// First set default royalty and mint first token
e.as_contract(&address, || {
// Set default royalty
- Base::set_default_royalty(&e, &default_receiver, 1000); // 10%
+ NFTBase::set_default_royalty(&e, &default_receiver, 1000, &default_receiver); // 10%
// Mint a token
let token_id = Enumerable::sequential_mint(&e, &owner);
// Set token-specific royalty
- Base::set_token_royalty(&e, token_id, &token_receiver, 500); // 5%
+ NFTBase::set_token_royalty(&e, token_id, &token_receiver, 500, &token_receiver); // 5%
// Check that token royalty overrides default
- let (royalty_receiver, royalty_amount) = Base::royalty_info(&e, token_id, 2000);
+ let (royalty_receiver, royalty_amount) = NFTBase::royalty_info(&e, token_id, 2000);
assert_eq!(royalty_receiver, token_receiver);
assert_eq!(royalty_amount, 100); // 5% of 2000
@@ -81,7 +82,7 @@ fn test_token_royalty_overrides_default() {
let token_id2 = Enumerable::sequential_mint(&e, &owner);
// Check that default royalty applies
- let (royalty_receiver, royalty_amount) = Base::royalty_info(&e, token_id2, 2000);
+ let (royalty_receiver, royalty_amount) = NFTBase::royalty_info(&e, token_id2, 2000);
assert_eq!(royalty_receiver, default_receiver);
assert_eq!(royalty_amount, 200); // 10% of 2000
});
@@ -100,10 +101,10 @@ fn test_zero_royalty() {
let token_id = Enumerable::sequential_mint(&e, &owner);
// Set zero royalty
- Base::set_token_royalty(&e, token_id, &receiver, 0);
+ NFTBase::set_token_royalty(&e, token_id, &receiver, 0, &receiver);
// Check royalty info
- let (royalty_receiver, royalty_amount) = Base::royalty_info(&e, token_id, 1000);
+ let (royalty_receiver, royalty_amount) = NFTBase::royalty_info(&e, token_id, 1000);
assert_eq!(royalty_receiver, receiver);
assert_eq!(royalty_amount, 0);
});
@@ -118,7 +119,7 @@ fn test_royalty_info_non_existent_token() {
e.as_contract(&address, || {
// Try to get royalty info for non-existent token
- Base::royalty_info(&e, 999, 1000);
+ NFTBase::royalty_info(&e, 999, 1000);
});
}
@@ -134,7 +135,7 @@ fn test_no_royalty_set() {
let token_id = Enumerable::sequential_mint(&e, &owner);
// Check royalty info
- let (royalty_receiver, royalty_amount) = Base::royalty_info(&e, token_id, 1000);
+ let (royalty_receiver, royalty_amount) = NFTBase::royalty_info(&e, token_id, 1000);
assert_eq!(royalty_receiver, e.current_contract_address());
assert_eq!(royalty_amount, 0);
});
@@ -153,7 +154,7 @@ fn test_invalid_royalty_amount() {
let token_id = Enumerable::sequential_mint(&e, &owner);
// Set invalid royalty amount
- Base::set_token_royalty(&e, token_id, &Address::generate(&e), 10001);
+ NFTBase::set_token_royalty(&e, token_id, &Address::generate(&e), 10001, &owner);
});
}
@@ -168,24 +169,24 @@ fn test_remove_token_royalty() {
e.as_contract(&address, || {
// Set default royalty
- Base::set_default_royalty(&e, &default_receiver, 1000); // 10%
+ NFTBase::set_default_royalty(&e, &default_receiver, 1000, &default_receiver); // 10%
// Mint a token
let token_id = Enumerable::sequential_mint(&e, &owner);
// Set token-specific royalty
- Base::set_token_royalty(&e, token_id, &token_receiver, 500); // 5%
+ NFTBase::set_token_royalty(&e, token_id, &token_receiver, 500, &default_receiver); // 5%
// Verify token-specific royalty is used
- let (royalty_receiver, royalty_amount) = Base::royalty_info(&e, token_id, 2000);
+ let (royalty_receiver, royalty_amount) = NFTBase::royalty_info(&e, token_id, 2000);
assert_eq!(royalty_receiver, token_receiver);
assert_eq!(royalty_amount, 100); // 5% of 2000
// Remove token-specific royalty
- Base::remove_token_royalty(&e, token_id);
+ NFTBase::remove_token_royalty(&e, token_id, &owner);
// Verify default royalty is now used
- let (royalty_receiver, royalty_amount) = Base::royalty_info(&e, token_id, 2000);
+ let (royalty_receiver, royalty_amount) = NFTBase::royalty_info(&e, token_id, 2000);
assert_eq!(royalty_receiver, default_receiver);
assert_eq!(royalty_amount, 200); // 10% of 2000
});
@@ -204,18 +205,18 @@ fn test_remove_token_royalty_no_default() {
let token_id = Enumerable::sequential_mint(&e, &owner);
// Set token-specific royalty
- Base::set_token_royalty(&e, token_id, &token_receiver, 500); // 5%
+ NFTBase::set_token_royalty(&e, token_id, &token_receiver, 500, &owner); // 5%
// Verify token-specific royalty is used
- let (royalty_receiver, royalty_amount) = Base::royalty_info(&e, token_id, 2000);
+ let (royalty_receiver, royalty_amount) = NFTBase::royalty_info(&e, token_id, 2000);
assert_eq!(royalty_receiver, token_receiver);
assert_eq!(royalty_amount, 100); // 5% of 2000
// Remove token-specific royalty
- Base::remove_token_royalty(&e, token_id);
+ NFTBase::remove_token_royalty(&e, token_id, &owner);
// Verify zero royalty is now used (since no default is set)
- let (royalty_receiver, royalty_amount) = Base::royalty_info(&e, token_id, 2000);
+ let (royalty_receiver, royalty_amount) = NFTBase::royalty_info(&e, token_id, 2000);
assert_eq!(royalty_receiver, e.current_contract_address());
assert_eq!(royalty_amount, 0);
});
diff --git a/packages/tokens/src/non_fungible/mod.rs b/packages/tokens/src/non_fungible/mod.rs
index 0aa408af..13f53927 100644
--- a/packages/tokens/src/non_fungible/mod.rs
+++ b/packages/tokens/src/non_fungible/mod.rs
@@ -63,20 +63,18 @@
//! - **Composable Design**: The modular structure encourages developers to
//! extend functionality by combining provided primitives or creating custom
//! extensions.
+use soroban_sdk::{contracterror, contracttrait, symbol_short, Address, Env, String, Symbol};
mod extensions;
-mod overrides;
mod storage;
mod utils;
mod test;
pub use extensions::{burnable, consecutive, enumerable, royalties};
-pub use overrides::{Base, ContractOverrides};
-// ################## TRAIT ##################
-use soroban_sdk::{contracterror, symbol_short, Address, Env, String, Symbol};
-pub use storage::{ApprovalData, NFTStorageKey};
+pub use storage::{ApprovalData, NFTBase, NFTStorageKey};
pub use utils::sequential;
+// ################## TRAIT ##################
/// Vanilla NonFungible Token Trait
///
@@ -88,8 +86,8 @@ pub use utils::sequential;
/// as a method in this trait because it is not a part of the standard,
/// the function signature may change depending on the implementation.
///
-/// We do provide a function [`crate::non_fungible::Base::sequential_mint`] for
-/// sequential minting, and [`crate::non_fungible::Base::mint`] for
+/// We do provide a function [`crate::non_fungible::NFTBase::sequential_mint`]
+/// for sequential minting, and [`crate::non_fungible::NFTBase::mint`] for
/// non-sequential minting strategies.
///
/// # Notes
@@ -114,9 +112,9 @@ pub use utils::sequential;
/// ```
///
/// This trait is implemented for the following Contract Types:
-/// * [`crate::non_fungible::Base`] (covering the vanilla case, and compatible
-/// with [`crate::non_fungible::extensions::burnable::NonFungibleBurnable`])
-/// trait
+/// * [`crate::non_fungible::NFTBase`] (covering the vanilla case, and
+/// compatible with
+/// [`crate::non_fungible::extensions::burnable::NonFungibleBurnable`]) trait
/// * [`crate::non_fungible::extensions::enumerable::Enumerable`] (enabling the
/// compatibility and overrides for
/// [`crate::non_fungible::extensions::enumerable::NonFungibleEnumerable`])
@@ -132,28 +130,20 @@ pub use utils::sequential;
/// [`crate::non_fungible::extensions::enumerable::NonFungibleEnumerable`]
/// trait.
///
-/// You can find the default implementations of this trait for `Base`,
+/// You can find the default implementations of this trait for `NFTBase`,
/// `Enumerable`, and `Consecutive`, by navigating to:
/// `ContractType::{method_name}`. For example, if you want to find how
/// [`NonFungibleToken::transfer`] is implemented for the `Enumerable` contract
/// type, you can find it using
-/// [`crate::non_fungible::extensions::enumerable::Enumerable::transfer`].
+/// [`crate::extensions::enumerable::Enumerable::transfer`].
+#[contracttrait(default = NFTBase)]
pub trait NonFungibleToken {
- /// Helper type that allows us to override some of the functionality of the
- /// base trait based on the extensions implemented. You should use
- /// [`crate::non_fungible::Base`] as the type if you are not using
- /// [`crate::non_fungible::extensions::enumerable::Enumerable`] or
- /// [`crate::non_fungible::extensions::consecutive::Consecutive`]
- /// extensions.
- type ContractType: ContractOverrides;
-
/// Returns the number of tokens owned by `account`.
///
/// # Arguments
///
- /// * `e` - Access to the Soroban environment.
/// * `account` - The address for which the balance is being queried.
- fn balance(e: &Env, account: Address) -> u32;
+ fn balance(e: &Env, account: &soroban_sdk::Address) -> u32;
/// Returns the owner of the token with `token_id`.
///
@@ -166,7 +156,7 @@ pub trait NonFungibleToken {
///
/// * [`NonFungibleTokenError::NonExistentToken`] - If the token does not
/// exist.
- fn owner_of(e: &Env, token_id: u32) -> Address;
+ fn owner_of(e: &Env, token_id: u32) -> soroban_sdk::Address;
/// Transfers the token with `token_id` from `from` to `to`.
///
@@ -192,7 +182,7 @@ pub trait NonFungibleToken {
///
/// * topics - `["transfer", from: Address, to: Address]`
/// * data - `[token_id: u32]`
- fn transfer(e: &Env, from: Address, to: Address, token_id: u32);
+ fn transfer(e: &Env, from: &soroban_sdk::Address, to: &soroban_sdk::Address, token_id: u32);
/// Transfers the token with `token_id` from `from` to `to` by using
/// `spender`s approval.
@@ -227,7 +217,13 @@ pub trait NonFungibleToken {
///
/// * topics - `["transfer", from: Address, to: Address]`
/// * data - `[token_id: u32]`
- fn transfer_from(e: &Env, spender: Address, from: Address, to: Address, token_id: u32);
+ fn transfer_from(
+ e: &Env,
+ spender: &soroban_sdk::Address,
+ from: &soroban_sdk::Address,
+ to: &soroban_sdk::Address,
+ token_id: u32,
+ );
/// Gives permission to `approved` to transfer the token with `token_id` to
/// another account. The approval is cleared when the token is
@@ -263,8 +259,8 @@ pub trait NonFungibleToken {
/// * data - `[token_id: u32, live_until_ledger: u32]`
fn approve(
e: &Env,
- approver: Address,
- approved: Address,
+ approver: &soroban_sdk::Address,
+ approved: &soroban_sdk::Address,
token_id: u32,
live_until_ledger: u32,
);
@@ -291,7 +287,12 @@ pub trait NonFungibleToken {
///
/// * topics - `["approve_for_all", from: Address]`
/// * data - `[operator: Address, live_until_ledger: u32]`
- fn approve_for_all(e: &Env, owner: Address, operator: Address, live_until_ledger: u32);
+ fn approve_for_all(
+ e: &Env,
+ owner: &soroban_sdk::Address,
+ operator: &soroban_sdk::Address,
+ live_until_ledger: u32,
+ );
/// Returns the account approved for the token with `token_id`.
///
@@ -304,7 +305,7 @@ pub trait NonFungibleToken {
///
/// * [`NonFungibleTokenError::NonExistentToken`] - If the token does not
/// exist.
- fn get_approved(e: &Env, token_id: u32) -> Option;
+ fn get_approved(e: &Env, token_id: u32) -> Option;
/// Returns whether the `operator` is allowed to manage all the assets of
/// `owner`.
@@ -314,7 +315,11 @@ pub trait NonFungibleToken {
/// * `e` - Access to the Soroban environment.
/// * `owner` - Account of the token's owner.
/// * `operator` - Account to be checked.
- fn is_approved_for_all(e: &Env, owner: Address, operator: Address) -> bool;
+ fn is_approved_for_all(
+ e: &Env,
+ owner: &soroban_sdk::Address,
+ operator: &soroban_sdk::Address,
+ ) -> bool;
/// Returns the token collection name.
///
@@ -342,6 +347,117 @@ pub trait NonFungibleToken {
///
/// If the token does not exist, this function is expected to panic.
fn token_uri(e: &Env, token_id: u32) -> String;
+
+ /// Creates a token with the provided `token_id` and assigns it to
+ /// `to`.
+ ///
+ /// # Arguments
+ ///
+ /// * `e` - Access to the Soroban environment.
+ /// * `to` - The address receiving the new token.
+ /// * `token_id` - The token_id of the new token.
+ ///
+ /// # Errors
+ ///
+ /// * refer to [`update`] errors.
+ ///
+ /// # Events
+ ///
+ /// * topics - `["mint", to: Address]`
+ /// * data - `[token_id: u32]`
+ ///
+ /// # Security Warning
+ ///
+ /// ⚠️ SECURITY RISK: This function has NO AUTHORIZATION CONTROLS ⚠️
+ ///
+ /// It is the responsibility of the implementer to establish appropriate
+ /// access controls to ensure that only authorized accounts can execute
+ /// minting operations. Failure to implement proper authorization could
+ /// lead to security vulnerabilities and unauthorized token creation.
+ ///
+ /// You probably want to do something like this (pseudo-code):
+ ///
+ /// ```ignore
+ /// let admin = read_administrator(e);
+ /// admin.require_auth();
+ /// ```
+ ///
+ /// **IMPORTANT**: This function does NOT verify whether the provided
+ /// `token_id` already exists. It is the developer's responsibility to
+ /// ensure `token_id` uniqueness before passing it to this function. The
+ /// strategy for generating `token_id`s varies by project and must be
+ /// implemented accordingly.
+ #[internal]
+ fn internal_mint(e: &Env, to: &soroban_sdk::Address, token_id: u32);
+ /// Creates a token with the next available `token_id` and assigns it to
+ /// `to`. Returns the `token_id` for the newly minted token.
+ ///
+ /// # Arguments
+ ///
+ /// * `e` - Access to the Soroban environment.
+ /// * `to` - The address receiving the new token.
+ ///
+ /// # Errors
+ ///
+ /// * refer to [`increment_token_id`] errors.
+ /// * refer to [`update`] errors.
+ ///
+ /// # Events
+ ///
+ /// * topics - `["mint", to: Address]`
+ /// * data - `[token_id: u32]`
+ ///
+ /// # Security Warning
+ ///
+ /// ⚠️ SECURITY RISK: This function has NO AUTHORIZATION CONTROLS ⚠️
+ ///
+ /// It is the responsibility of the implementer to establish appropriate
+ /// access controls to ensure that only authorized accounts can execute
+ /// minting operations. Failure to implement proper authorization could
+ /// lead to security vulnerabilities and unauthorized token creation.
+ ///
+ /// You probably want to do something like this (pseudo-code):
+ ///
+ /// ```ignore
+ /// let admin = read_administrator(e);
+ /// admin.require_auth();
+ /// ```
+ ///
+ /// **IMPORTANT**: This function utilizes [`increment_token_id()`] to
+ /// determine the next `token_id`, but it does NOT check if that
+ /// `token_id` is already in use. If the developer has other means of
+ /// minting tokens and generating `token_id`s, they should ensure that
+ /// the `token_id` is unique and not already in use.
+ #[internal]
+ fn sequential_mint(e: &Env, to: &soroban_sdk::Address) -> u32;
+
+ /// Sets the token metadata such as token collection URI, name and symbol.
+ ///
+ /// # Arguments
+ ///
+ /// * `e` - Access to the Soroban environment.
+ /// * `base_uri` - The base collection URI, assuming it's a valid URI and
+ /// ends with `/`.
+ /// * `name` - The token collection name.
+ /// * `symbol` - The token collection symbol.
+ ///
+ /// # Errors
+ ///
+ /// * [`NonFungibleTokenError::BaseUriMaxLenExceeded`] - If the length of
+ /// `base_uri` exceeds the maximum allowed.
+ ///
+ /// # Notes
+ ///
+ /// **IMPORTANT**: This function lacks authorization controls. Most likely,
+ /// you want to invoke it from a constructor or from another function
+ /// with admin-only authorization.
+ #[internal]
+ fn set_metadata(
+ e: &Env,
+ base_uri: soroban_sdk::String,
+ name: soroban_sdk::String,
+ symbol: soroban_sdk::String,
+ );
}
// ################## ERRORS ##################
diff --git a/packages/tokens/src/non_fungible/overrides.rs b/packages/tokens/src/non_fungible/overrides.rs
deleted file mode 100644
index dcee296a..00000000
--- a/packages/tokens/src/non_fungible/overrides.rs
+++ /dev/null
@@ -1,134 +0,0 @@
-use soroban_sdk::{Address, Env, String};
-
-/// Based on the extension, some default behavior of
-/// [`crate::non_fungible::NonFungibleToken`] might have to be overridden. This
-/// is a helper trait that allows us this override mechanism that favors the
-/// DevX.
-///
-/// One can also override the `NonFungibleToken` trait directly, but the reason
-/// we have another helper trait for the same methods, is to provide the default
-/// implementations in an easier way for the developers.
-///
-/// The way to provide different default implementations for different
-/// extensions is by implementing the trait for different types (unit structs).
-/// The problem is, `NonFungibleToken` trait has to be implemented for the smart
-/// contract (which is another struct) by the developers. So, we need a level
-/// of abstraction by introducing an associated type, which will grant
-/// `NonFungibleToken` trait the ability to switch between different default
-/// implementations by calling the methods on this associated type.
-///
-/// By introducing this abstraction, we allow the developers to implement
-/// every method of the `NonFungibleToken` trait using
-/// `Self::ContractType::{function_name}`, which will in turn use either the
-/// overridden or the base variant according to the extension, provided by the
-/// `ContractOverrides` trait implementation for the respective `ContractType`.
-///
-/// Example:
-///
-/// ```rust
-/// impl NonFungibleToken for ExampleContract {
-/// type ContractType = Consecutive;
-///
-/// fn balance(e: &Env, owner: &Address) -> u32 {
-/// Self::ContractType::balance(e, owner)
-/// }
-///
-/// fn owner_of(e: &Env, token_id: u32) -> &Address {
-/// Self::ContractType::owner_of(e, token_id)
-/// }
-///
-/// fn transfer(e: &Env, from: &Address, to: &Address, token_id: u32) {
-/// Self::ContractType::transfer(e, from, to, token_id);
-/// }
-///
-/// fn transfer_from(e: &Env, spender: &Address, from: &Address, to: &Address, token_id: u32) {
-/// Self::ContractType::transfer_from(e, spender, from, to, token_id);
-/// }
-///
-/// /* and so on */
-/// }
-/// ```
-///
-/// or the type can be used directly (in this case `Consecutive`)
-/// instead of referring to it as `Self::ContractType`:
-///
-/// ```rust
-/// impl NonFungibleToken for ExampleContract {
-/// type ContractType = Consecutive;
-///
-/// fn balance(e: &Env, owner: &Address) -> u32 {
-/// Consecutive::balance(e, owner)
-/// }
-///
-/// fn owner_of(e: &Env, token_id: u32) -> &Address {
-/// Consecutive::owner_of(e, token_id)
-/// }
-///
-/// fn transfer(e: &Env, from: &Address, to: &Address, token_id: u32) {
-/// Consecutive:transfer(e, from, to, token_id);
-/// }
-///
-/// fn transfer_from(e: &Env, spender: &Address, from: &Address, to: &Address, token_id: u32) {
-/// Consecutive::transfer_from(e, spender, from, to, token_id);
-/// }
-///
-/// /* and so on */
-/// }
-/// ```
-pub trait ContractOverrides {
- fn balance(e: &Env, owner: &Address) -> u32 {
- Base::balance(e, owner)
- }
-
- fn owner_of(e: &Env, token_id: u32) -> Address {
- Base::owner_of(e, token_id)
- }
-
- fn transfer(e: &Env, from: &Address, to: &Address, token_id: u32) {
- Base::transfer(e, from, to, token_id);
- }
-
- fn transfer_from(e: &Env, spender: &Address, from: &Address, to: &Address, token_id: u32) {
- Base::transfer_from(e, spender, from, to, token_id);
- }
-
- fn approve(
- e: &Env,
- approver: &Address,
- approved: &Address,
- token_id: u32,
- live_until_ledger: u32,
- ) {
- Base::approve(e, approver, approved, token_id, live_until_ledger);
- }
-
- fn approve_for_all(e: &Env, owner: &Address, operator: &Address, live_until_ledger: u32) {
- Base::approve_for_all(e, owner, operator, live_until_ledger);
- }
-
- fn get_approved(e: &Env, token_id: u32) -> Option {
- Base::get_approved(e, token_id)
- }
-
- fn is_approved_for_all(e: &Env, owner: &Address, operator: &Address) -> bool {
- Base::is_approved_for_all(e, owner, operator)
- }
-
- fn name(e: &Env) -> String {
- Base::name(e)
- }
-
- fn symbol(e: &Env) -> String {
- Base::symbol(e)
- }
-
- fn token_uri(e: &Env, token_id: u32) -> String {
- Base::token_uri(e, token_id)
- }
-}
-
-/// Default marker type
-pub struct Base;
-
-// No override required for the `Base` contract type.
-impl ContractOverrides for Base {}
diff --git a/packages/tokens/src/non_fungible/storage.rs b/packages/tokens/src/non_fungible/storage.rs
index b724de28..a3d009e6 100644
--- a/packages/tokens/src/non_fungible/storage.rs
+++ b/packages/tokens/src/non_fungible/storage.rs
@@ -2,8 +2,8 @@ use soroban_sdk::{contracttype, panic_with_error, Address, Env, String};
use crate::non_fungible::{
emit_approve, emit_approve_for_all, emit_mint, emit_transfer, sequential::increment_token_id,
- Base, NonFungibleTokenError, BALANCE_EXTEND_AMOUNT, BALANCE_TTL_THRESHOLD, MAX_BASE_URI_LEN,
- MAX_NUM_DIGITS, OWNER_EXTEND_AMOUNT, OWNER_TTL_THRESHOLD,
+ NonFungibleToken, NonFungibleTokenError, BALANCE_EXTEND_AMOUNT, BALANCE_TTL_THRESHOLD,
+ MAX_BASE_URI_LEN, MAX_NUM_DIGITS, OWNER_EXTEND_AMOUNT, OWNER_TTL_THRESHOLD,
};
/// Storage container for the token for which an approval is granted
@@ -32,17 +32,13 @@ pub enum NFTStorageKey {
Metadata,
}
-impl Base {
- // ################## QUERY STATE ##################
+/// Default marker type
+pub struct NFTBase;
- /// Returns the amount of tokens held by `account`. Defaults to `0` if no
- /// balance is stored.
- ///
- /// # Arguments
- ///
- /// * `e` - Access to the Soroban environment.
- /// * `account` - The address for which the balance is being queried.
- pub fn balance(e: &Env, account: &Address) -> u32 {
+impl NonFungibleToken for NFTBase {
+ type Impl = Self;
+
+ fn balance(e: &Env, account: &soroban_sdk::Address) -> u32 {
let key = NFTStorageKey::Balance(account.clone());
if let Some(balance) = e.storage().persistent().get::<_, u32>(&key) {
e.storage().persistent().extend_ttl(&key, BALANCE_TTL_THRESHOLD, BALANCE_EXTEND_AMOUNT);
@@ -52,18 +48,7 @@ impl Base {
}
}
- /// Returns the address of the owner of the given `token_id`.
- ///
- /// # Arguments
- ///
- /// * `e` - Access to the Soroban environment.
- /// * `token_id` - Token ID as a number.
- ///
- /// # Errors
- ///
- /// * [`NonFungibleTokenError::NonExistentToken`] - Occurs if the provided
- /// `token_id` does not exist.
- pub fn owner_of(e: &Env, token_id: u32) -> Address {
+ fn owner_of(e: &Env, token_id: u32) -> soroban_sdk::Address {
let key = NFTStorageKey::Owner(token_id);
if let Some(owner) = e.storage().persistent().get::<_, Address>(&key) {
e.storage().persistent().extend_ttl(&key, OWNER_TTL_THRESHOLD, OWNER_EXTEND_AMOUNT);
@@ -74,55 +59,138 @@ impl Base {
}
}
- /// Returns the address approved for the specified token:
- /// * `Some(Address)` - The approved address if there is a valid,
- /// non-expired approval
- /// * `None` - If there is no approval or if the approval has expired
- ///
- /// # Arguments
- ///
- /// * `e` - Access to the Soroban environment.
- /// * `token_id` - The identifier of the token to check approval for.
- pub fn get_approved(e: &Env, token_id: u32) -> Option {
+ fn transfer(e: &Env, from: &soroban_sdk::Address, to: &soroban_sdk::Address, token_id: u32) {
+ from.require_auth();
+ NFTBase::update(e, Some(from), Some(to), token_id);
+ emit_transfer(e, from, to, token_id);
+ }
+
+ fn transfer_from(
+ e: &Env,
+ spender: &soroban_sdk::Address,
+ from: &soroban_sdk::Address,
+ to: &soroban_sdk::Address,
+ token_id: u32,
+ ) {
+ spender.require_auth();
+ NFTBase::check_spender_approval(e, spender, from, token_id);
+ NFTBase::update(e, Some(from), Some(to), token_id);
+ emit_transfer(e, from, to, token_id);
+ }
+
+ fn approve(
+ e: &Env,
+ approver: &soroban_sdk::Address,
+ approved: &soroban_sdk::Address,
+ token_id: u32,
+ live_until_ledger: u32,
+ ) {
+ approver.require_auth();
+ let owner = NFTBase::owner_of(e, token_id);
+ NFTBase::approve_for_owner(e, &owner, approver, approved, token_id, live_until_ledger);
+ }
+
+ fn approve_for_all(
+ e: &Env,
+ owner: &soroban_sdk::Address,
+ operator: &soroban_sdk::Address,
+ live_until_ledger: u32,
+ ) {
+ owner.require_auth();
+
+ let key = NFTStorageKey::ApprovalForAll(owner.clone(), operator.clone());
+
+ // If revoking approval (live_until_ledger == 0)
+ if live_until_ledger == 0 {
+ e.storage().temporary().remove(&key);
+ emit_approve_for_all(e, owner, operator, live_until_ledger);
+ return;
+ }
+
+ let current_ledger = e.ledger().sequence();
+
+ // If the provided ledger number is invalid (less than the current ledger
+ // number)
+ if live_until_ledger < current_ledger {
+ panic_with_error!(e, NonFungibleTokenError::InvalidLiveUntilLedger);
+ }
+
+ // Update the storage
+ e.storage().temporary().set(&key, &live_until_ledger);
+
+ // Update the TTL based on the expiration ledger
+ let live_for = live_until_ledger - current_ledger;
+ e.storage().temporary().extend_ttl(&key, live_for, live_for);
+
+ emit_approve_for_all(e, owner, operator, live_until_ledger);
+ }
+
+ fn get_approved(e: &Env, token_id: u32) -> Option {
let key = NFTStorageKey::Approval(token_id);
if let Some(approval_data) = e.storage().temporary().get::<_, ApprovalData>(&key) {
- if approval_data.live_until_ledger < e.ledger().sequence() {
- return None; // Return None if approval expired
- }
- Some(approval_data.approved)
+ (approval_data.live_until_ledger >= e.ledger().sequence())
+ .then_some(approval_data.approved)
} else {
// if there is no `ApprovalData` entry for this `token_id`
None
}
}
- /// Returns whether the operator is allowed to manage all assets of the
- /// owner:
- /// * `true` - If the operator has a valid, non-expired approval for all
- /// tokens
- /// * `false` - If there is no approval or if the approval has expired
- ///
- /// # Arguments
- ///
- /// * `e` - Access to the Soroban environment.
- /// * `owner` - The address that owns the tokens.
- /// * `operator` - The address to check for approval status.
- pub fn is_approved_for_all(e: &Env, owner: &Address, operator: &Address) -> bool {
+ fn is_approved_for_all(
+ e: &Env,
+ owner: &soroban_sdk::Address,
+ operator: &soroban_sdk::Address,
+ ) -> bool {
let key = NFTStorageKey::ApprovalForAll(owner.clone(), operator.clone());
-
// Retrieve the approval data for the owner
if let Some(live_until_ledger) = e.storage().temporary().get::<_, u32>(&key) {
// Check if the operator's approval is valid (non-expired)
- if live_until_ledger >= e.ledger().sequence() {
- return true;
- }
+ return live_until_ledger >= e.ledger().sequence();
}
-
// If no operator with a valid approval
false
}
+ fn name(e: &Env) -> String {
+ Self::get_metadata(e).name
+ }
+
+ fn symbol(e: &Env) -> String {
+ Self::get_metadata(e).symbol
+ }
+
+ fn token_uri(e: &Env, token_id: u32) -> String {
+ // used to panic if non-existent token_id
+ let _ = Self::owner_of(e, token_id);
+ let base_uri = Self::base_uri(e);
+ Self::compose_uri_for_token(e, base_uri, token_id)
+ }
+
+ fn internal_mint(e: &Env, to: &Address, token_id: u32) {
+ Self::update(e, None, Some(to), token_id);
+ emit_mint(e, to, token_id);
+ }
+
+ fn sequential_mint(e: &Env, to: &Address) -> u32 {
+ let token_id = increment_token_id(e, 1);
+ Self::internal_mint(e, to, token_id);
+ token_id
+ }
+
+ fn set_metadata(e: &Env, base_uri: String, name: String, symbol: String) {
+ if base_uri.len() as usize > MAX_BASE_URI_LEN {
+ panic_with_error!(e, NonFungibleTokenError::BaseUriMaxLenExceeded)
+ }
+
+ let metadata = Metadata { base_uri, name, symbol };
+ e.storage().instance().set(&NFTStorageKey::Metadata, &metadata);
+ }
+}
+
+impl NFTBase {
+ // ################## QUERY STATE ##################
+
/// Returns the token metadata such as `base_uri`, `name` and `symbol`.
///
/// # Arguments
@@ -140,32 +208,6 @@ impl Base {
.unwrap_or_else(|| panic_with_error!(e, NonFungibleTokenError::UnsetMetadata))
}
- /// Returns the token collection name.
- ///
- /// # Arguments
- ///
- /// * `e` - Access to the Soroban environment.
- ///
- /// # Errors
- ///
- /// * refer to [`Base::get_metadata`] errors.
- pub fn name(e: &Env) -> String {
- Base::get_metadata(e).name
- }
-
- /// Returns the token collection symbol.
- ///
- /// # Arguments
- ///
- /// * `e` - Access to the Soroban environment.
- ///
- /// # Errors
- ///
- /// * refer to [`Base::get_metadata`] errors.
- pub fn symbol(e: &Env) -> String {
- Base::get_metadata(e).symbol
- }
-
/// Returns the collection base URI.
///
/// # Arguments
@@ -174,27 +216,9 @@ impl Base {
///
/// # Errors
///
- /// * refer to [`Base::get_metadata`] errors.
+ /// * refer to [`NFTBase::get_metadata`] errors.
pub fn base_uri(e: &Env) -> String {
- Base::get_metadata(e).base_uri
- }
-
- /// Returns the URI for a specific `token_id`.
- ///
- /// # Arguments
- ///
- /// * `e` - Access to the Soroban environment.
- /// * `token_id` - The identifier of the token.
- ///
- /// # Errors
- ///
- /// * refer to [`Base::owner_of`] errors.
- /// * refer to [`Base::base_uri`] errors.
- pub fn token_uri(e: &Env, token_id: u32) -> String {
- // used to panic if non-existent token_id
- let _ = Base::owner_of(e, token_id);
- let base_uri = Base::base_uri(e);
- Base::compose_uri_for_token(e, base_uri, token_id)
+ NFTBase::get_metadata(e).base_uri
}
/// Composes and returns a URI for a specific `token_id`, without
@@ -213,7 +237,7 @@ impl Base {
// `token_id`` (currently `u32`)
let uri = &mut [0u8; MAX_BASE_URI_LEN + MAX_NUM_DIGITS];
- let (id, digits) = Base::token_id_to_string(e, token_id);
+ let (id, digits) = NFTBase::token_id_to_string(e, token_id);
base_uri.copy_into_slice(&mut uri[..len]);
let end = len + digits;
@@ -225,168 +249,6 @@ impl Base {
}
}
- // ################## CHANGE STATE ##################
-
- /// Transfers a non-fungible token (NFT), ensuring ownership checks.
- ///
- /// # Arguments
- ///
- /// * `e` - The environment reference.
- /// * `from` - The current owner's address.
- /// * `to` - The recipient's address.
- /// * `token_id` - The identifier of the token being transferred.
- ///
- /// # Errors
- ///
- /// * refer to [`Base::update`] errors.
- ///
- /// # Events
- ///
- /// * topics - `["transfer", from: Address, to: Address]`
- /// * data - `[token_id: u32]`
- ///
- /// # Notes
- ///
- /// * Authorization for `from` is required.
- /// * **IMPORTANT**: If the recipient is unable to receive, the NFT may get
- /// lost.
- pub fn transfer(e: &Env, from: &Address, to: &Address, token_id: u32) {
- from.require_auth();
- Base::update(e, Some(from), Some(to), token_id);
- emit_transfer(e, from, to, token_id);
- }
-
- /// Transfers a non-fungible token (NFT), ensuring ownership and approval
- /// checks.
- ///
- /// # Arguments
- ///
- /// * `e` - The environment reference.
- /// * `spender` - The address attempting to transfer the token.
- /// * `from` - The current owner's address.
- /// * `to` - The recipient's address.
- /// * `token_id` - The identifier of the token being transferred.
- ///
- /// # Errors
- ///
- /// * refer to [`Base::check_spender_approval`] errors.
- /// * refer to [`Base::update`] errors.
- ///
- /// # Events
- ///
- /// * topics - `["transfer", from: Address, to: Address]`
- /// * data - `[token_id: u32]`
- ///
- /// # Notes
- ///
- /// * Authorization for `spender` is required.
- /// * **IMPORTANT**: If the recipient is unable to receive, the NFT may get
- /// lost.
- pub fn transfer_from(e: &Env, spender: &Address, from: &Address, to: &Address, token_id: u32) {
- spender.require_auth();
- Base::check_spender_approval(e, spender, from, token_id);
- Base::update(e, Some(from), Some(to), token_id);
- emit_transfer(e, from, to, token_id);
- }
-
- /// Approves an address to transfer a specific token.
- ///
- /// # Arguments
- ///
- /// * `e` - Access to the Soroban environment.
- /// * `approver` - The address of the approver (should be `owner` or
- /// `operator`).
- /// * `approved` - The address receiving the approval.
- /// * `token_id` - The identifier of the token to be approved.
- /// * `live_until_ledger` - The ledger number at which the allowance
- /// expires. If `live_until_ledger` is `0`, the approval is revoked.
- /// `live_until_ledger` argument is implicitly bounded by the maximum
- /// allowed TTL extension for a temporary storage entry and specifying a
- /// higher value will cause the code to panic.
- ///
- /// # Errors
- ///
- /// * refer to [`Base::owner_of`] errors.
- /// * refer to [`Base::approve_for_owner`] errors.
- ///
- /// # Events
- ///
- /// * topics - `["approve", owner: Address, token_id: u32]`
- /// * data - `[approved: Address, live_until_ledger: u32]`
- ///
- /// # Notes
- ///
- /// * Authorization for `approver` is required.
- pub fn approve(
- e: &Env,
- approver: &Address,
- approved: &Address,
- token_id: u32,
- live_until_ledger: u32,
- ) {
- approver.require_auth();
-
- let owner = Base::owner_of(e, token_id);
- Base::approve_for_owner(e, &owner, approver, approved, token_id, live_until_ledger);
- }
-
- /// Sets or removes operator approval for managing all tokens owned by the
- /// owner.
- ///
- /// # Arguments
- ///
- /// * `e` - Access to the Soroban environment.
- /// * `owner` - The address granting approval for all their tokens.
- /// * `operator` - The address being granted or revoked approval.
- /// * `live_until_ledger` - The ledger number at which the allowance
- /// expires. If `live_until_ledger` is `0`, the approval is revoked.
- /// `live_until_ledger` argument is implicitly bounded by the maximum
- /// allowed TTL extension for a temporary storage entry and specifying a
- /// higher value will cause the code to panic.
- ///
- /// # Errors
- ///
- /// * [`NonFungibleTokenError::InvalidLiveUntilLedger`] - If the ledger
- /// number is less than the current ledger number.
- ///
- /// # Events
- ///
- /// * topics - `["approve", owner: Address]`
- /// * data - `[operator: Address, live_until_ledger: u32]`
- ///
- /// # Notes
- ///
- /// * Authorization for `owner` is required.
- pub fn approve_for_all(e: &Env, owner: &Address, operator: &Address, live_until_ledger: u32) {
- owner.require_auth();
-
- let key = NFTStorageKey::ApprovalForAll(owner.clone(), operator.clone());
-
- // If revoking approval (live_until_ledger == 0)
- if live_until_ledger == 0 {
- e.storage().temporary().remove(&key);
- emit_approve_for_all(e, owner, operator, live_until_ledger);
- return;
- }
-
- let current_ledger = e.ledger().sequence();
-
- // If the provided ledger number is invalid (less than the current ledger
- // number)
- if live_until_ledger < current_ledger {
- panic_with_error!(e, NonFungibleTokenError::InvalidLiveUntilLedger);
- }
-
- // Update the storage
- e.storage().temporary().set(&key, &live_until_ledger);
-
- // Update the TTL based on the expiration ledger
- let live_for = live_until_ledger - current_ledger;
- e.storage().temporary().extend_ttl(&key, live_for, live_for);
-
- emit_approve_for_all(e, owner, operator, live_until_ledger);
- }
-
/// Low-level function for handling transfers, mints and burns of an NFT,
/// without handling authorization. Updates ownership records, adjusts
/// balances, and clears existing approvals.
@@ -402,19 +264,19 @@ impl Base {
///
/// * [`NonFungibleTokenError::IncorrectOwner`] - If the `from` address is
/// not the owner of the token.
- /// * refer to [`Base::owner_of`] errors.
- /// * refer to [`Base::decrease_balance`] errors.
- /// * refer to [`Base::increase_balance`] errors.
+ /// * refer to [`NFTBase::owner_of`] errors.
+ /// * refer to [`NFTBase::decrease_balance`] errors.
+ /// * refer to [`NFTBase::increase_balance`] errors.
pub fn update(e: &Env, from: Option<&Address>, to: Option<&Address>, token_id: u32) {
if let Some(from_address) = from {
- let owner = Base::owner_of(e, token_id);
+ let owner = Self::owner_of(e, token_id);
// Ensure the `from` address is indeed the owner.
if owner != *from_address {
panic_with_error!(e, NonFungibleTokenError::IncorrectOwner);
}
- Base::decrease_balance(e, from_address, 1);
+ NFTBase::decrease_balance(e, from_address, 1);
// Clear any existing approval
let approval_key = NFTStorageKey::Approval(token_id);
@@ -425,7 +287,7 @@ impl Base {
}
if let Some(to_address) = to {
- Base::increase_balance(e, to_address, 1);
+ NFTBase::increase_balance(e, to_address, 1);
// Set the new owner
e.storage().persistent().set(&NFTStorageKey::Owner(token_id), to_address);
@@ -464,7 +326,7 @@ impl Base {
token_id: u32,
live_until_ledger: u32,
) {
- if approver != owner && !Base::is_approved_for_all(e, owner, approver) {
+ if approver != owner && !NFTBase::is_approved_for_all(e, owner, approver) {
panic_with_error!(e, NonFungibleTokenError::InvalidApprover);
}
@@ -509,8 +371,8 @@ impl Base {
pub fn check_spender_approval(e: &Env, spender: &Address, owner: &Address, token_id: u32) {
// If `spender` is not the owner, they must have explicit approval.
let is_spender_owner = spender == owner;
- let is_spender_approved = Base::get_approved(e, token_id) == Some(spender.clone());
- let has_spender_approval_for_all = Base::is_approved_for_all(e, owner, spender);
+ let is_spender_approved = NFTBase::get_approved(e, token_id) == Some(spender.clone());
+ let has_spender_approval_for_all = NFTBase::is_approved_for_all(e, owner, spender);
if !is_spender_owner && !is_spender_approved && !has_spender_approval_for_all {
panic_with_error!(e, NonFungibleTokenError::InsufficientApproval);
@@ -531,7 +393,7 @@ impl Base {
/// * [`NonFungibleTokenError::MathOverflow`] - If the balance of the `to`
/// would overflow.
pub fn increase_balance(e: &Env, to: &Address, amount: u32) {
- let Some(balance) = Base::balance(e, to).checked_add(amount) else {
+ let Some(balance) = NFTBase::balance(e, to).checked_add(amount) else {
panic_with_error!(e, NonFungibleTokenError::MathOverflow);
};
e.storage().persistent().set(&NFTStorageKey::Balance(to.clone()), &balance);
@@ -551,41 +413,12 @@ impl Base {
/// * [`NonFungibleTokenError::MathOverflow`] - If the balance of the `from`
/// would overflow.
pub fn decrease_balance(e: &Env, from: &Address, amount: u32) {
- let Some(balance) = Base::balance(e, from).checked_sub(amount) else {
+ let Some(balance) = NFTBase::balance(e, from).checked_sub(amount) else {
panic_with_error!(e, NonFungibleTokenError::MathOverflow);
};
e.storage().persistent().set(&NFTStorageKey::Balance(from.clone()), &balance);
}
- /// Sets the token metadata such as token collection URI, name and symbol.
- ///
- /// # Arguments
- ///
- /// * `e` - Access to the Soroban environment.
- /// * `base_uri` - The base collection URI, assuming it's a valid URI and
- /// ends with `/`.
- /// * `name` - The token collection name.
- /// * `symbol` - The token collection symbol.
- ///
- /// # Errors
- ///
- /// * [`NonFungibleTokenError::BaseUriMaxLenExceeded`] - If the length of
- /// `base_uri` exceeds the maximum allowed.
- ///
- /// # Notes
- ///
- /// **IMPORTANT**: This function lacks authorization controls. Most likely,
- /// you want to invoke it from a constructor or from another function
- /// with admin-only authorization.
- pub fn set_metadata(e: &Env, base_uri: String, name: String, symbol: String) {
- if base_uri.len() as usize > MAX_BASE_URI_LEN {
- panic_with_error!(e, NonFungibleTokenError::BaseUriMaxLenExceeded)
- }
-
- let metadata = Metadata { base_uri, name, symbol };
- e.storage().instance().set(&NFTStorageKey::Metadata, &metadata);
- }
-
// ################## INTERNAL HELPERS ##################
/// Converts `u32` to `String` and returns it alongside the
@@ -616,95 +449,4 @@ impl Base {
(String::from_bytes(e, &slice[..digits]), digits)
}
-
- /// Creates a token with the next available `token_id` and assigns it to
- /// `to`. Returns the `token_id` for the newly minted token.
- ///
- /// # Arguments
- ///
- /// * `e` - Access to the Soroban environment.
- /// * `to` - The address receiving the new token.
- ///
- /// # Errors
- ///
- /// * refer to [`increment_token_id`] errors.
- /// * refer to [`Base::update`] errors.
- ///
- /// # Events
- ///
- /// * topics - `["mint", to: Address]`
- /// * data - `[token_id: u32]`
- ///
- /// # Security Warning
- ///
- /// ⚠️ SECURITY RISK: This function has NO AUTHORIZATION CONTROLS ⚠️
- ///
- /// It is the responsibility of the implementer to establish appropriate
- /// access controls to ensure that only authorized accounts can execute
- /// minting operations. Failure to implement proper authorization could
- /// lead to security vulnerabilities and unauthorized token creation.
- ///
- /// You probably want to do something like this (pseudo-code):
- ///
- /// ```ignore
- /// let admin = read_administrator(e);
- /// admin.require_auth();
- /// ```
- ///
- /// **IMPORTANT**: This function utilizes [`increment_token_id()`] to
- /// determine the next `token_id`, but it does NOT check if that
- /// `token_id` is already in use. If the developer has other means of
- /// minting tokens and generating `token_id`s, they should ensure that
- /// the `token_id` is unique and not already in use.
- pub fn sequential_mint(e: &Env, to: &Address) -> u32 {
- let token_id = increment_token_id(e, 1);
- Base::update(e, None, Some(to), token_id);
- emit_mint(e, to, token_id);
-
- token_id
- }
-
- /// Creates a token with the provided `token_id` and assigns it to
- /// `to`.
- ///
- /// # Arguments
- ///
- /// * `e` - Access to the Soroban environment.
- /// * `to` - The address receiving the new token.
- /// * `token_id` - The token_id of the new token.
- ///
- /// # Errors
- ///
- /// * refer to [`Base::update`] errors.
- ///
- /// # Events
- ///
- /// * topics - `["mint", to: Address]`
- /// * data - `[token_id: u32]`
- ///
- /// # Security Warning
- ///
- /// ⚠️ SECURITY RISK: This function has NO AUTHORIZATION CONTROLS ⚠️
- ///
- /// It is the responsibility of the implementer to establish appropriate
- /// access controls to ensure that only authorized accounts can execute
- /// minting operations. Failure to implement proper authorization could
- /// lead to security vulnerabilities and unauthorized token creation.
- ///
- /// You probably want to do something like this (pseudo-code):
- ///
- /// ```ignore
- /// let admin = read_administrator(e);
- /// admin.require_auth();
- /// ```
- ///
- /// **IMPORTANT**: This function does NOT verify whether the provided
- /// `token_id` already exists. It is the developer's responsibility to
- /// ensure `token_id` uniqueness before passing it to this function. The
- /// strategy for generating `token_id`s varies by project and must be
- /// implemented accordingly.
- pub fn mint(e: &Env, to: &Address, token_id: u32) {
- Base::update(e, None, Some(to), token_id);
- emit_mint(e, to, token_id);
- }
}
diff --git a/packages/tokens/src/non_fungible/test.rs b/packages/tokens/src/non_fungible/test.rs
index 242a6b6f..7ebf7d36 100644
--- a/packages/tokens/src/non_fungible/test.rs
+++ b/packages/tokens/src/non_fungible/test.rs
@@ -9,7 +9,10 @@ use soroban_sdk::{
};
use stellar_event_assertion::EventAssertion;
-use crate::non_fungible::{Base, NFTStorageKey};
+use crate::{
+ non_fungible::{NFTStorageKey, NonFungibleToken},
+ NFTBase,
+};
#[contract]
struct MockContract;
@@ -24,27 +27,27 @@ fn metadata_works() {
let base_uri = String::from_str(&e, "https://smth.com/");
let collection_name = String::from_str(&e, "My NFT collection");
let collection_symbol = String::from_str(&e, "NFT");
- Base::set_metadata(&e, base_uri, collection_name.clone(), collection_symbol.clone());
+ NFTBase::set_metadata(&e, base_uri, collection_name.clone(), collection_symbol.clone());
let token_id = 4294967295;
e.storage().persistent().set(&NFTStorageKey::Owner(token_id), &owner);
- let uri = Base::token_uri(&e, token_id);
+ let uri = NFTBase::token_uri(&e, token_id);
assert_eq!(uri, String::from_str(&e, "https://smth.com/4294967295"));
- assert_eq!(collection_name, Base::name(&e));
- assert_eq!(collection_symbol, Base::symbol(&e));
+ assert_eq!(collection_name, NFTBase::name(&e));
+ assert_eq!(collection_symbol, NFTBase::symbol(&e));
// case token_id == 0
let token_id = 0;
e.storage().persistent().set(&NFTStorageKey::Owner(token_id), &owner);
- let uri = Base::token_uri(&e, token_id);
+ let uri = NFTBase::token_uri(&e, token_id);
assert_eq!(uri, String::from_str(&e, "https://smth.com/0"));
// case empty string as base_uri
let empty_base_uri = String::from_str(&e, "");
- Base::set_metadata(&e, empty_base_uri, collection_name, collection_symbol);
- let empty_uri = Base::token_uri(&e, token_id);
+ NFTBase::set_metadata(&e, empty_base_uri, collection_name, collection_symbol);
+ let empty_uri = NFTBase::token_uri(&e, token_id);
assert_eq!(empty_uri, String::from_str(&e, ""));
});
@@ -57,7 +60,7 @@ fn get_metadata_should_panic_when_metadata_is_not_set() {
let address = e.register(MockContract, ());
e.as_contract(&address, || {
- let _ = Base::get_metadata(&e);
+ let _ = NFTBase::get_metadata(&e);
});
}
@@ -74,7 +77,7 @@ fn set_metadata_should_panic_when_base_uri_exceeds_max_length() {
let symbol = String::from_str(&e, "TEST");
// This should panic with BaseUriMaxLenExceeded error
- Base::set_metadata(&e, too_long_base_uri, name, symbol);
+ NFTBase::set_metadata(&e, too_long_base_uri, name, symbol);
});
}
@@ -87,9 +90,9 @@ fn approve_for_all_works() {
let operator = Address::generate(&e);
e.as_contract(&address, || {
- Base::approve_for_all(&e, &owner, &operator, 1000);
+ NFTBase::approve_for_all(&e, &owner, &operator, 1000);
- let is_approved = Base::is_approved_for_all(&e, &owner, &operator);
+ let is_approved = NFTBase::is_approved_for_all(&e, &owner, &operator);
assert!(is_approved);
let mut event_assert = EventAssertion::new(&e, address.clone());
@@ -112,13 +115,13 @@ fn revoke_approve_for_all_works() {
e.storage().temporary().set(&key, &(1000_u32));
- let is_approved = Base::is_approved_for_all(&e, &owner, &operator);
+ let is_approved = NFTBase::is_approved_for_all(&e, &owner, &operator);
assert!(is_approved);
// revoke approval
- Base::approve_for_all(&e, &owner, &operator, 0);
+ NFTBase::approve_for_all(&e, &owner, &operator, 0);
- let is_approved = Base::is_approved_for_all(&e, &owner, &operator);
+ let is_approved = NFTBase::is_approved_for_all(&e, &owner, &operator);
assert!(!is_approved);
let mut event_assert = EventAssertion::new(&e, address.clone());
@@ -139,9 +142,9 @@ fn approve_nft_works() {
e.as_contract(&address, || {
e.storage().persistent().set(&NFTStorageKey::Owner(token_id), &owner);
- Base::approve(&e, &owner, &approved, token_id, 1000);
+ NFTBase::approve(&e, &owner, &approved, token_id, 1000);
- let approved_address = Base::get_approved(&e, token_id);
+ let approved_address = NFTBase::get_approved(&e, token_id);
assert_eq!(approved_address, Some(approved.clone()));
let mut event_assert = EventAssertion::new(&e, address.clone());
@@ -163,12 +166,12 @@ fn approve_with_operator_works() {
e.as_contract(&address, || {
e.storage().persistent().set(&NFTStorageKey::Owner(token_id), &owner);
- Base::approve_for_all(&e, &owner, &operator, 1000);
+ NFTBase::approve_for_all(&e, &owner, &operator, 1000);
// approver is the operator on behalf of the owner
- Base::approve(&e, &operator, &approved, token_id, 1000);
+ NFTBase::approve(&e, &operator, &approved, token_id, 1000);
- let approved_address = Base::get_approved(&e, token_id);
+ let approved_address = NFTBase::get_approved(&e, token_id);
assert_eq!(approved_address, Some(approved.clone()));
let mut event_assert = EventAssertion::new(&e, address.clone());
@@ -187,13 +190,13 @@ fn transfer_nft_works() {
let recipient = Address::generate(&e);
e.as_contract(&address, || {
- let token_id = Base::sequential_mint(&e, &owner);
+ let token_id = NFTBase::sequential_mint(&e, &owner);
- Base::transfer(&e, &owner, &recipient, token_id);
+ NFTBase::transfer(&e, &owner, &recipient, token_id);
- assert_eq!(Base::balance(&e, &owner), 0);
- assert_eq!(Base::balance(&e, &recipient), 1);
- assert_eq!(Base::owner_of(&e, token_id), recipient);
+ assert_eq!(NFTBase::balance(&e, &owner), 0);
+ assert_eq!(NFTBase::balance(&e, &recipient), 1);
+ assert_eq!(NFTBase::owner_of(&e, token_id), recipient);
let mut event_assert = EventAssertion::new(&e, address.clone());
event_assert.assert_event_count(2);
@@ -212,17 +215,17 @@ fn transfer_from_nft_approved_works() {
let recipient = Address::generate(&e);
e.as_contract(&address, || {
- let token_id = Base::sequential_mint(&e, &owner);
+ let token_id = NFTBase::sequential_mint(&e, &owner);
// Approve the spender
- Base::approve(&e, &owner, &spender, token_id, 1000);
+ NFTBase::approve(&e, &owner, &spender, token_id, 1000);
// Transfer from the owner using the spender's approval
- Base::transfer_from(&e, &spender, &owner, &recipient, token_id);
+ NFTBase::transfer_from(&e, &spender, &owner, &recipient, token_id);
- assert_eq!(Base::balance(&e, &owner), 0);
- assert_eq!(Base::balance(&e, &recipient), 1);
- assert_eq!(Base::owner_of(&e, token_id), recipient);
+ assert_eq!(NFTBase::balance(&e, &owner), 0);
+ assert_eq!(NFTBase::balance(&e, &recipient), 1);
+ assert_eq!(NFTBase::owner_of(&e, token_id), recipient);
let mut event_assert = EventAssertion::new(&e, address.clone());
event_assert.assert_event_count(3);
@@ -242,17 +245,17 @@ fn transfer_from_nft_operator_works() {
let recipient = Address::generate(&e);
e.as_contract(&address, || {
- let token_id = Base::sequential_mint(&e, &owner);
+ let token_id = NFTBase::sequential_mint(&e, &owner);
// Approve the spender
- Base::approve_for_all(&e, &owner, &spender, 1000);
+ NFTBase::approve_for_all(&e, &owner, &spender, 1000);
// Transfer from the owner using the spender's approval
- Base::transfer_from(&e, &spender, &owner, &recipient, token_id);
+ NFTBase::transfer_from(&e, &spender, &owner, &recipient, token_id);
- assert_eq!(Base::balance(&e, &owner), 0);
- assert_eq!(Base::balance(&e, &recipient), 1);
- assert_eq!(Base::owner_of(&e, token_id), recipient);
+ assert_eq!(NFTBase::balance(&e, &owner), 0);
+ assert_eq!(NFTBase::balance(&e, &recipient), 1);
+ assert_eq!(NFTBase::owner_of(&e, token_id), recipient);
let mut event_assert = EventAssertion::new(&e, address.clone());
event_assert.assert_event_count(3);
@@ -271,14 +274,14 @@ fn transfer_from_nft_owner_works() {
let recipient = Address::generate(&e);
e.as_contract(&address, || {
- let token_id = Base::sequential_mint(&e, &owner);
+ let token_id = NFTBase::sequential_mint(&e, &owner);
// Attempt to transfer from the owner without approval
- Base::transfer_from(&e, &owner, &owner, &recipient, token_id);
+ NFTBase::transfer_from(&e, &owner, &owner, &recipient, token_id);
- assert_eq!(Base::balance(&e, &owner), 0);
- assert_eq!(Base::balance(&e, &recipient), 1);
- assert_eq!(Base::owner_of(&e, token_id), recipient);
+ assert_eq!(NFTBase::balance(&e, &owner), 0);
+ assert_eq!(NFTBase::balance(&e, &recipient), 1);
+ assert_eq!(NFTBase::owner_of(&e, token_id), recipient);
let mut event_assert = EventAssertion::new(&e, address.clone());
event_assert.assert_event_count(2);
@@ -298,10 +301,10 @@ fn transfer_nft_invalid_owner_fails() {
let recipient = Address::generate(&e);
e.as_contract(&address, || {
- let token_id = Base::sequential_mint(&e, &owner);
+ let token_id = NFTBase::sequential_mint(&e, &owner);
// Attempt to transfer without authorization
- Base::transfer(&e, &unauthorized, &recipient, token_id);
+ NFTBase::transfer(&e, &unauthorized, &recipient, token_id);
});
}
@@ -316,10 +319,10 @@ fn transfer_from_nft_insufficient_approval_fails() {
let recipient = Address::generate(&e);
e.as_contract(&address, || {
- let token_id = Base::sequential_mint(&e, &owner);
+ let token_id = NFTBase::sequential_mint(&e, &owner);
// Attempt to transfer from the owner without approval
- Base::transfer_from(&e, &spender, &owner, &recipient, token_id);
+ NFTBase::transfer_from(&e, &spender, &owner, &recipient, token_id);
});
}
@@ -333,7 +336,7 @@ fn owner_of_non_existent_token_fails() {
e.as_contract(&address, || {
// Attempt to get the owner of a non-existent token
- Base::owner_of(&e, non_existent_token_id);
+ NFTBase::owner_of(&e, non_existent_token_id);
});
}
@@ -347,12 +350,12 @@ fn approve_with_invalid_live_until_ledger_fails() {
let approved = Address::generate(&e);
e.as_contract(&address, || {
- let token_id = Base::sequential_mint(&e, &owner);
+ let token_id = NFTBase::sequential_mint(&e, &owner);
e.ledger().set_sequence_number(10);
// Attempt to approve with an invalid live_until_ledger
- Base::approve(&e, &owner, &approved, token_id, 1);
+ NFTBase::approve(&e, &owner, &approved, token_id, 1);
});
}
@@ -366,10 +369,10 @@ fn approve_with_invalid_approver_fails() {
let invalid_approver = Address::generate(&e);
e.as_contract(&address, || {
- let token_id = Base::sequential_mint(&e, &owner);
+ let token_id = NFTBase::sequential_mint(&e, &owner);
// Attempt to approve with an invalid approver
- Base::approve(&e, &invalid_approver, &owner, token_id, 1000);
+ NFTBase::approve(&e, &invalid_approver, &owner, token_id, 1000);
});
}
@@ -383,12 +386,12 @@ fn update_with_math_overflow_fails() {
let recipient = Address::generate(&e);
e.as_contract(&address, || {
- let token_id = Base::sequential_mint(&e, &owner);
+ let token_id = NFTBase::sequential_mint(&e, &owner);
e.storage().persistent().set(&NFTStorageKey::Balance(recipient.clone()), &u32::MAX);
// Attempt to update which would cause a math overflow
- Base::update(&e, Some(&owner), Some(&recipient), token_id);
+ NFTBase::update(&e, Some(&owner), Some(&recipient), token_id);
});
}
@@ -401,7 +404,7 @@ fn balance_of_non_existent_account_is_zero() {
e.as_contract(&address, || {
// Check balance of a non-existent account
- let balance_value = Base::balance(&e, &non_existent_account);
+ let balance_value = NFTBase::balance(&e, &non_existent_account);
assert_eq!(balance_value, 0);
});
}
@@ -418,13 +421,13 @@ fn transfer_from_incorrect_owner_fails() {
let recipient = Address::generate(&e);
e.as_contract(&address, || {
- let token_id = Base::sequential_mint(&e, &owner);
+ let token_id = NFTBase::sequential_mint(&e, &owner);
// Approve the spender
- Base::approve(&e, &owner, &spender, token_id, 1000);
+ NFTBase::approve(&e, &owner, &spender, token_id, 1000);
// Attempt to transfer from an incorrect owner
- Base::transfer_from(&e, &spender, &incorrect_owner, &recipient, token_id);
+ NFTBase::transfer_from(&e, &spender, &incorrect_owner, &recipient, token_id);
});
}
@@ -439,10 +442,10 @@ fn transfer_from_unauthorized_spender_fails() {
let recipient = Address::generate(&e);
e.as_contract(&address, || {
- let token_id = Base::sequential_mint(&e, &owner);
+ let token_id = NFTBase::sequential_mint(&e, &owner);
// Attempt to transfer from the owner using an unauthorized spender
- Base::transfer_from(&e, &unauthorized_spender, &owner, &recipient, token_id);
+ NFTBase::transfer_from(&e, &unauthorized_spender, &owner, &recipient, token_id);
});
}
@@ -453,8 +456,8 @@ fn mint_works() {
let address = e.register(MockContract, ());
let account = Address::generate(&e);
e.as_contract(&address, || {
- let token_id = Base::sequential_mint(&e, &account);
- assert_eq!(Base::balance(&e, &account), 1);
+ let token_id = NFTBase::sequential_mint(&e, &account);
+ assert_eq!(NFTBase::balance(&e, &account), 1);
let mut event_assert = EventAssertion::new(&e, address.clone());
event_assert.assert_event_count(1);
@@ -470,8 +473,8 @@ fn test_counter_works() {
let owner = Address::generate(&e);
e.as_contract(&address, || {
- let token_id1 = Base::sequential_mint(&e, &owner);
- let token_id2 = Base::sequential_mint(&e, &owner);
+ let token_id1 = NFTBase::sequential_mint(&e, &owner);
+ let token_id2 = NFTBase::sequential_mint(&e, &owner);
let mut event_assert = EventAssertion::new(&e, address.clone());
event_assert.assert_event_count(2);
@@ -499,7 +502,7 @@ fn mint_base_implementation_has_no_auth() {
// This should NOT panic even without authorization
e.as_contract(&address, || {
- Base::sequential_mint(&e, &account);
- assert_eq!(Base::balance(&e, &account), 1);
+ NFTBase::sequential_mint(&e, &account);
+ assert_eq!(NFTBase::balance(&e, &account), 1);
});
}
diff --git a/packages/tokens/test_snapshots/fungible/extensions/allowlist/test/allow_user_works.1.json b/packages/tokens/test_snapshots/fungible/extensions/allowlist/test/allow_user_works.1.json
deleted file mode 100644
index a4630c35..00000000
--- a/packages/tokens/test_snapshots/fungible/extensions/allowlist/test/allow_user_works.1.json
+++ /dev/null
@@ -1,141 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Allowed"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Allowed"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "allow"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": "void"
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/extensions/allowlist/test/allowlist_burn_from_override_works.1.json b/packages/tokens/test_snapshots/fungible/extensions/allowlist/test/allowlist_burn_from_override_works.1.json
deleted file mode 100644
index 0d229a6d..00000000
--- a/packages/tokens/test_snapshots/fungible/extensions/allowlist/test/allowlist_burn_from_override_works.1.json
+++ /dev/null
@@ -1,485 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ],
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary",
- "val": {
- "map": [
- {
- "key": {
- "symbol": "amount"
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 0
- }
- }
- },
- {
- "key": {
- "symbol": "live_until_ledger"
- },
- "val": {
- "u32": 100
- }
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 100
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Allowed"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Allowed"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "allow"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": "void"
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "approve"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ],
- "data": {
- "vec": [
- {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- },
- {
- "u32": 100
- }
- ]
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "burn"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/extensions/allowlist/test/allowlist_burn_override_works.1.json b/packages/tokens/test_snapshots/fungible/extensions/allowlist/test/allowlist_burn_override_works.1.json
deleted file mode 100644
index 73feaac7..00000000
--- a/packages/tokens/test_snapshots/fungible/extensions/allowlist/test/allowlist_burn_override_works.1.json
+++ /dev/null
@@ -1,304 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Allowed"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Allowed"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "allow"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": "void"
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "burn"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/extensions/allowlist/test/approve_with_owner_not_allowed_panics.1.json b/packages/tokens/test_snapshots/fungible/extensions/allowlist/test/approve_with_owner_not_allowed_panics.1.json
deleted file mode 100644
index 129890fa..00000000
--- a/packages/tokens/test_snapshots/fungible/extensions/allowlist/test/approve_with_owner_not_allowed_panics.1.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/extensions/allowlist/test/burn_from_with_not_allowed_panics.1.json b/packages/tokens/test_snapshots/fungible/extensions/allowlist/test/burn_from_with_not_allowed_panics.1.json
deleted file mode 100644
index dd7e309a..00000000
--- a/packages/tokens/test_snapshots/fungible/extensions/allowlist/test/burn_from_with_not_allowed_panics.1.json
+++ /dev/null
@@ -1,318 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary",
- "val": {
- "map": [
- {
- "key": {
- "symbol": "amount"
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- }
- },
- {
- "key": {
- "symbol": "live_until_ledger"
- },
- "val": {
- "u32": 100
- }
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 100
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "approve"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ],
- "data": {
- "vec": [
- {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- },
- {
- "u32": 100
- }
- ]
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/extensions/allowlist/test/burn_with_not_allowed_panics.1.json b/packages/tokens/test_snapshots/fungible/extensions/allowlist/test/burn_with_not_allowed_panics.1.json
deleted file mode 100644
index 820d0ee6..00000000
--- a/packages/tokens/test_snapshots/fungible/extensions/allowlist/test/burn_with_not_allowed_panics.1.json
+++ /dev/null
@@ -1,150 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/extensions/allowlist/test/disallow_user_works.1.json b/packages/tokens/test_snapshots/fungible/extensions/allowlist/test/disallow_user_works.1.json
deleted file mode 100644
index ceee5de9..00000000
--- a/packages/tokens/test_snapshots/fungible/extensions/allowlist/test/disallow_user_works.1.json
+++ /dev/null
@@ -1,99 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "disallow"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": "void"
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/extensions/allowlist/test/transfer_with_allowed_users_works.1.json b/packages/tokens/test_snapshots/fungible/extensions/allowlist/test/transfer_with_allowed_users_works.1.json
deleted file mode 100644
index fd6ff460..00000000
--- a/packages/tokens/test_snapshots/fungible/extensions/allowlist/test/transfer_with_allowed_users_works.1.json
+++ /dev/null
@@ -1,419 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Allowed"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Allowed"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Allowed"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Allowed"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "allow"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": "void"
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "allow"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ],
- "data": "void"
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "transfer"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ],
- "data": {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/extensions/allowlist/test/transfer_with_receiver_not_allowed_panics.1.json b/packages/tokens/test_snapshots/fungible/extensions/allowlist/test/transfer_with_receiver_not_allowed_panics.1.json
deleted file mode 100644
index 66263bdd..00000000
--- a/packages/tokens/test_snapshots/fungible/extensions/allowlist/test/transfer_with_receiver_not_allowed_panics.1.json
+++ /dev/null
@@ -1,214 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Allowed"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Allowed"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "allow"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": "void"
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/extensions/allowlist/test/transfer_with_sender_not_allowed_panics.1.json b/packages/tokens/test_snapshots/fungible/extensions/allowlist/test/transfer_with_sender_not_allowed_panics.1.json
deleted file mode 100644
index e9873ebc..00000000
--- a/packages/tokens/test_snapshots/fungible/extensions/allowlist/test/transfer_with_sender_not_allowed_panics.1.json
+++ /dev/null
@@ -1,214 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Allowed"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Allowed"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "allow"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ],
- "data": "void"
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/extensions/blocklist/test/approve_with_owner_blocked_panics.1.json b/packages/tokens/test_snapshots/fungible/extensions/blocklist/test/approve_with_owner_blocked_panics.1.json
deleted file mode 100644
index 3db3ab2c..00000000
--- a/packages/tokens/test_snapshots/fungible/extensions/blocklist/test/approve_with_owner_blocked_panics.1.json
+++ /dev/null
@@ -1,140 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Blocked"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Blocked"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "block"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": "void"
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/extensions/blocklist/test/block_user_works.1.json b/packages/tokens/test_snapshots/fungible/extensions/blocklist/test/block_user_works.1.json
deleted file mode 100644
index 7ee84e33..00000000
--- a/packages/tokens/test_snapshots/fungible/extensions/blocklist/test/block_user_works.1.json
+++ /dev/null
@@ -1,141 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Blocked"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Blocked"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "block"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": "void"
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/extensions/blocklist/test/blocklist_burn_from_override_works.1.json b/packages/tokens/test_snapshots/fungible/extensions/blocklist/test/blocklist_burn_from_override_works.1.json
deleted file mode 100644
index 7ad8575b..00000000
--- a/packages/tokens/test_snapshots/fungible/extensions/blocklist/test/blocklist_burn_from_override_works.1.json
+++ /dev/null
@@ -1,421 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ],
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary",
- "val": {
- "map": [
- {
- "key": {
- "symbol": "amount"
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 0
- }
- }
- },
- {
- "key": {
- "symbol": "live_until_ledger"
- },
- "val": {
- "u32": 100
- }
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 100
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "approve"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ],
- "data": {
- "vec": [
- {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- },
- {
- "u32": 100
- }
- ]
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "burn"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/extensions/blocklist/test/blocklist_burn_override_works.1.json b/packages/tokens/test_snapshots/fungible/extensions/blocklist/test/blocklist_burn_override_works.1.json
deleted file mode 100644
index b07c2f55..00000000
--- a/packages/tokens/test_snapshots/fungible/extensions/blocklist/test/blocklist_burn_override_works.1.json
+++ /dev/null
@@ -1,240 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "burn"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/extensions/blocklist/test/burn_from_with_blocked_user_panics.1.json b/packages/tokens/test_snapshots/fungible/extensions/blocklist/test/burn_from_with_blocked_user_panics.1.json
deleted file mode 100644
index 51e0e19a..00000000
--- a/packages/tokens/test_snapshots/fungible/extensions/blocklist/test/burn_from_with_blocked_user_panics.1.json
+++ /dev/null
@@ -1,382 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary",
- "val": {
- "map": [
- {
- "key": {
- "symbol": "amount"
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- }
- },
- {
- "key": {
- "symbol": "live_until_ledger"
- },
- "val": {
- "u32": 100
- }
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 100
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Blocked"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Blocked"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "block"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": "void"
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "approve"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ],
- "data": {
- "vec": [
- {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- },
- {
- "u32": 100
- }
- ]
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/extensions/blocklist/test/burn_with_blocked_user_panics.1.json b/packages/tokens/test_snapshots/fungible/extensions/blocklist/test/burn_with_blocked_user_panics.1.json
deleted file mode 100644
index 4922bca6..00000000
--- a/packages/tokens/test_snapshots/fungible/extensions/blocklist/test/burn_with_blocked_user_panics.1.json
+++ /dev/null
@@ -1,214 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Blocked"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Blocked"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "block"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": "void"
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/extensions/blocklist/test/transfer_with_receiver_blocked_panics.1.json b/packages/tokens/test_snapshots/fungible/extensions/blocklist/test/transfer_with_receiver_blocked_panics.1.json
deleted file mode 100644
index 248e142a..00000000
--- a/packages/tokens/test_snapshots/fungible/extensions/blocklist/test/transfer_with_receiver_blocked_panics.1.json
+++ /dev/null
@@ -1,214 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Blocked"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Blocked"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "block"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ],
- "data": "void"
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/extensions/blocklist/test/transfer_with_sender_blocked_panics.1.json b/packages/tokens/test_snapshots/fungible/extensions/blocklist/test/transfer_with_sender_blocked_panics.1.json
deleted file mode 100644
index 1d6f721d..00000000
--- a/packages/tokens/test_snapshots/fungible/extensions/blocklist/test/transfer_with_sender_blocked_panics.1.json
+++ /dev/null
@@ -1,214 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Blocked"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Blocked"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "block"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": "void"
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/extensions/blocklist/test/transfer_with_unblocked_users_works.1.json b/packages/tokens/test_snapshots/fungible/extensions/blocklist/test/transfer_with_unblocked_users_works.1.json
deleted file mode 100644
index 494de932..00000000
--- a/packages/tokens/test_snapshots/fungible/extensions/blocklist/test/transfer_with_unblocked_users_works.1.json
+++ /dev/null
@@ -1,291 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "transfer"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ],
- "data": {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/extensions/blocklist/test/unblock_user_works.1.json b/packages/tokens/test_snapshots/fungible/extensions/blocklist/test/unblock_user_works.1.json
deleted file mode 100644
index c74f8677..00000000
--- a/packages/tokens/test_snapshots/fungible/extensions/blocklist/test/unblock_user_works.1.json
+++ /dev/null
@@ -1,119 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "block"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": "void"
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "unblock"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": "void"
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/extensions/burnable/test/burn_with_allowance_works.1.json b/packages/tokens/test_snapshots/fungible/extensions/burnable/test/burn_with_allowance_works.1.json
deleted file mode 100644
index 9db98dbe..00000000
--- a/packages/tokens/test_snapshots/fungible/extensions/burnable/test/burn_with_allowance_works.1.json
+++ /dev/null
@@ -1,421 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ],
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary",
- "val": {
- "map": [
- {
- "key": {
- "symbol": "amount"
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 0
- }
- }
- },
- {
- "key": {
- "symbol": "live_until_ledger"
- },
- "val": {
- "u32": 1000
- }
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 1000
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 70
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 70
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "approve"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ],
- "data": {
- "vec": [
- {
- "i128": {
- "hi": 0,
- "lo": 30
- }
- },
- {
- "u32": 1000
- }
- ]
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "burn"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "i128": {
- "hi": 0,
- "lo": 30
- }
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/extensions/burnable/test/burn_with_insufficient_allowance_panics.1.json b/packages/tokens/test_snapshots/fungible/extensions/burnable/test/burn_with_insufficient_allowance_panics.1.json
deleted file mode 100644
index 7a2462d1..00000000
--- a/packages/tokens/test_snapshots/fungible/extensions/burnable/test/burn_with_insufficient_allowance_panics.1.json
+++ /dev/null
@@ -1,351 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary",
- "val": {
- "map": [
- {
- "key": {
- "symbol": "amount"
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- }
- },
- {
- "key": {
- "symbol": "live_until_ledger"
- },
- "val": {
- "u32": 100
- }
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 100
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "approve"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ],
- "data": {
- "vec": [
- {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- },
- {
- "u32": 100
- }
- ]
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/extensions/burnable/test/burn_with_insufficient_balance_panics.1.json b/packages/tokens/test_snapshots/fungible/extensions/burnable/test/burn_with_insufficient_balance_panics.1.json
deleted file mode 100644
index 3f698abf..00000000
--- a/packages/tokens/test_snapshots/fungible/extensions/burnable/test/burn_with_insufficient_balance_panics.1.json
+++ /dev/null
@@ -1,183 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/extensions/burnable/test/burn_with_no_allowance_panics.1.json b/packages/tokens/test_snapshots/fungible/extensions/burnable/test/burn_with_no_allowance_panics.1.json
deleted file mode 100644
index 9484c00b..00000000
--- a/packages/tokens/test_snapshots/fungible/extensions/burnable/test/burn_with_no_allowance_panics.1.json
+++ /dev/null
@@ -1,183 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/extensions/burnable/test/burn_works.1.json b/packages/tokens/test_snapshots/fungible/extensions/burnable/test/burn_works.1.json
deleted file mode 100644
index b07c2f55..00000000
--- a/packages/tokens/test_snapshots/fungible/extensions/burnable/test/burn_works.1.json
+++ /dev/null
@@ -1,240 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "burn"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/extensions/capped/test/test_cap_not_set.1.json b/packages/tokens/test_snapshots/fungible/extensions/capped/test/test_cap_not_set.1.json
deleted file mode 100644
index 2d0a0a65..00000000
--- a/packages/tokens/test_snapshots/fungible/extensions/capped/test/test_cap_not_set.1.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "generators": {
- "address": 1,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/extensions/capped/test/test_check_cap_overflows.1.json b/packages/tokens/test_snapshots/fungible/extensions/capped/test/test_check_cap_overflows.1.json
deleted file mode 100644
index d049f0f7..00000000
--- a/packages/tokens/test_snapshots/fungible/extensions/capped/test/test_check_cap_overflows.1.json
+++ /dev/null
@@ -1,150 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 9223372036854775807,
- "lo": 18446744073709551615
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "i128": {
- "hi": 9223372036854775807,
- "lo": 18446744073709551615
- }
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/extensions/capped/test/test_invalid_cap.1.json b/packages/tokens/test_snapshots/fungible/extensions/capped/test/test_invalid_cap.1.json
deleted file mode 100644
index 2d0a0a65..00000000
--- a/packages/tokens/test_snapshots/fungible/extensions/capped/test/test_invalid_cap.1.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "generators": {
- "address": 1,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/extensions/capped/test/test_mint_exact_cap.1.json b/packages/tokens/test_snapshots/fungible/extensions/capped/test/test_mint_exact_cap.1.json
deleted file mode 100644
index 5d6a0fa2..00000000
--- a/packages/tokens/test_snapshots/fungible/extensions/capped/test/test_mint_exact_cap.1.json
+++ /dev/null
@@ -1,178 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "CAP"
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/extensions/capped/test/test_mint_exceeds_cap.1.json b/packages/tokens/test_snapshots/fungible/extensions/capped/test/test_mint_exceeds_cap.1.json
deleted file mode 100644
index 99a7604a..00000000
--- a/packages/tokens/test_snapshots/fungible/extensions/capped/test/test_mint_exceeds_cap.1.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/extensions/capped/test/test_mint_multiple_exceeds_cap.1.json b/packages/tokens/test_snapshots/fungible/extensions/capped/test/test_mint_multiple_exceeds_cap.1.json
deleted file mode 100644
index bff085c3..00000000
--- a/packages/tokens/test_snapshots/fungible/extensions/capped/test/test_mint_multiple_exceeds_cap.1.json
+++ /dev/null
@@ -1,150 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 600
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "i128": {
- "hi": 0,
- "lo": 600
- }
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/extensions/capped/test/test_mint_under_cap.1.json b/packages/tokens/test_snapshots/fungible/extensions/capped/test/test_mint_under_cap.1.json
deleted file mode 100644
index 48b07a8f..00000000
--- a/packages/tokens/test_snapshots/fungible/extensions/capped/test/test_mint_under_cap.1.json
+++ /dev/null
@@ -1,178 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 500
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "CAP"
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 500
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "i128": {
- "hi": 0,
- "lo": 500
- }
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/extensions/capped/test/test_query_cap.1.json b/packages/tokens/test_snapshots/fungible/extensions/capped/test/test_query_cap.1.json
deleted file mode 100644
index 14074b53..00000000
--- a/packages/tokens/test_snapshots/fungible/extensions/capped/test/test_query_cap.1.json
+++ /dev/null
@@ -1,88 +0,0 @@
-{
- "generators": {
- "address": 1,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "CAP"
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 1000
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/test/approve_and_transfer_from.1.json b/packages/tokens/test_snapshots/fungible/test/approve_and_transfer_from.1.json
deleted file mode 100644
index 06e3b1d4..00000000
--- a/packages/tokens/test_snapshots/fungible/test/approve_and_transfer_from.1.json
+++ /dev/null
@@ -1,472 +0,0 @@
-{
- "generators": {
- "address": 4,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ],
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary",
- "val": {
- "map": [
- {
- "key": {
- "symbol": "amount"
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 20
- }
- }
- },
- {
- "key": {
- "symbol": "live_until_ledger"
- },
- "val": {
- "u32": 1000
- }
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 1000
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 70
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 30
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "approve"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ],
- "data": {
- "vec": [
- {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- },
- {
- "u32": 1000
- }
- ]
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "transfer"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- ],
- "data": {
- "i128": {
- "hi": 0,
- "lo": 30
- }
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/test/approve_handles_expiry.1.json b/packages/tokens/test_snapshots/fungible/test/approve_handles_expiry.1.json
deleted file mode 100644
index ddaa084f..00000000
--- a/packages/tokens/test_snapshots/fungible/test/approve_handles_expiry.1.json
+++ /dev/null
@@ -1,259 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 3,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary",
- "val": {
- "map": [
- {
- "key": {
- "symbol": "amount"
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- }
- },
- {
- "key": {
- "symbol": "live_until_ledger"
- },
- "val": {
- "u32": 2
- }
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 15
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "approve"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ],
- "data": {
- "vec": [
- {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- },
- {
- "u32": 2
- }
- ]
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/test/approve_requires_auth.1.json b/packages/tokens/test_snapshots/fungible/test/approve_requires_auth.1.json
deleted file mode 100644
index 367b6795..00000000
--- a/packages/tokens/test_snapshots/fungible/test/approve_requires_auth.1.json
+++ /dev/null
@@ -1,259 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary",
- "val": {
- "map": [
- {
- "key": {
- "symbol": "amount"
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- },
- {
- "key": {
- "symbol": "live_until_ledger"
- },
- "val": {
- "u32": 1000
- }
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 1000
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "approve"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ],
- "data": {
- "vec": [
- {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- },
- {
- "u32": 1000
- }
- ]
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/test/approve_with_event.1.json b/packages/tokens/test_snapshots/fungible/test/approve_with_event.1.json
deleted file mode 100644
index 693bdfcc..00000000
--- a/packages/tokens/test_snapshots/fungible/test/approve_with_event.1.json
+++ /dev/null
@@ -1,259 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary",
- "val": {
- "map": [
- {
- "key": {
- "symbol": "amount"
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- }
- },
- {
- "key": {
- "symbol": "live_until_ledger"
- },
- "val": {
- "u32": 1000
- }
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 1000
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "approve"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ],
- "data": {
- "vec": [
- {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- },
- {
- "u32": 1000
- }
- ]
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/test/bump_instance_works.1.json b/packages/tokens/test_snapshots/fungible/test/bump_instance_works.1.json
deleted file mode 100644
index d8aa36c1..00000000
--- a/packages/tokens/test_snapshots/fungible/test/bump_instance_works.1.json
+++ /dev/null
@@ -1,76 +0,0 @@
-{
- "generators": {
- "address": 1,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 499,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 500,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 121459
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 121459
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/test/burn_from_requires_auth.1.json b/packages/tokens/test_snapshots/fungible/test/burn_from_requires_auth.1.json
deleted file mode 100644
index 3aed06c1..00000000
--- a/packages/tokens/test_snapshots/fungible/test/burn_from_requires_auth.1.json
+++ /dev/null
@@ -1,421 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ],
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary",
- "val": {
- "map": [
- {
- "key": {
- "symbol": "amount"
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 0
- }
- }
- },
- {
- "key": {
- "symbol": "live_until_ledger"
- },
- "val": {
- "u32": 1000
- }
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 1000
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "approve"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ],
- "data": {
- "vec": [
- {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- },
- {
- "u32": 1000
- }
- ]
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "burn"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/test/burn_requires_auth.1.json b/packages/tokens/test_snapshots/fungible/test/burn_requires_auth.1.json
deleted file mode 100644
index b07c2f55..00000000
--- a/packages/tokens/test_snapshots/fungible/test/burn_requires_auth.1.json
+++ /dev/null
@@ -1,240 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "burn"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/test/extend_balance_ttl_thru_transfer.1.json b/packages/tokens/test_snapshots/fungible/test/extend_balance_ttl_thru_transfer.1.json
deleted file mode 100644
index d5955d75..00000000
--- a/packages/tokens/test_snapshots/fungible/test/extend_balance_ttl_thru_transfer.1.json
+++ /dev/null
@@ -1,291 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 4095,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- }
- }
- },
- "ext": "v0"
- },
- 522495
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- }
- }
- },
- "ext": "v0"
- },
- 8190
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6316094
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "transfer"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ],
- "data": {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/test/get_unset_metadata.1.json b/packages/tokens/test_snapshots/fungible/test/get_unset_metadata.1.json
deleted file mode 100644
index 2d0a0a65..00000000
--- a/packages/tokens/test_snapshots/fungible/test/get_unset_metadata.1.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "generators": {
- "address": 1,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/test/initial_state.1.json b/packages/tokens/test_snapshots/fungible/test/initial_state.1.json
deleted file mode 100644
index 56557491..00000000
--- a/packages/tokens/test_snapshots/fungible/test/initial_state.1.json
+++ /dev/null
@@ -1,76 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/test/metadata_update.1.json b/packages/tokens/test_snapshots/fungible/test/metadata_update.1.json
deleted file mode 100644
index 039a323b..00000000
--- a/packages/tokens/test_snapshots/fungible/test/metadata_update.1.json
+++ /dev/null
@@ -1,110 +0,0 @@
-{
- "generators": {
- "address": 1,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "METADATA"
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "decimals"
- },
- "val": {
- "u32": 8
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "Updated Name"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "UPD"
- }
- }
- ]
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/test/mint_base_implementation_has_no_auth.1.json b/packages/tokens/test_snapshots/fungible/test/mint_base_implementation_has_no_auth.1.json
deleted file mode 100644
index 32be3fde..00000000
--- a/packages/tokens/test_snapshots/fungible/test/mint_base_implementation_has_no_auth.1.json
+++ /dev/null
@@ -1,167 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/test/mint_works.1.json b/packages/tokens/test_snapshots/fungible/test/mint_works.1.json
deleted file mode 100644
index 32be3fde..00000000
--- a/packages/tokens/test_snapshots/fungible/test/mint_works.1.json
+++ /dev/null
@@ -1,167 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/test/set_allowance_with_expired_ledger_fails.1.json b/packages/tokens/test_snapshots/fungible/test/set_allowance_with_expired_ledger_fails.1.json
deleted file mode 100644
index 2c1541f3..00000000
--- a/packages/tokens/test_snapshots/fungible/test/set_allowance_with_expired_ledger_fails.1.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 10,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/test/set_allowance_with_greater_than_max_ledger_fails.1.json b/packages/tokens/test_snapshots/fungible/test/set_allowance_with_greater_than_max_ledger_fails.1.json
deleted file mode 100644
index 129890fa..00000000
--- a/packages/tokens/test_snapshots/fungible/test/set_allowance_with_greater_than_max_ledger_fails.1.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/test/set_allowance_with_neg_amount_fails.1.json b/packages/tokens/test_snapshots/fungible/test/set_allowance_with_neg_amount_fails.1.json
deleted file mode 100644
index 129890fa..00000000
--- a/packages/tokens/test_snapshots/fungible/test/set_allowance_with_neg_amount_fails.1.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/test/set_allowance_with_zero_amount.1.json b/packages/tokens/test_snapshots/fungible/test/set_allowance_with_zero_amount.1.json
deleted file mode 100644
index f6c367f3..00000000
--- a/packages/tokens/test_snapshots/fungible/test/set_allowance_with_zero_amount.1.json
+++ /dev/null
@@ -1,274 +0,0 @@
-{
- "generators": {
- "address": 4,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 10,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary",
- "val": {
- "map": [
- {
- "key": {
- "symbol": "amount"
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 0
- }
- }
- },
- {
- "key": {
- "symbol": "live_until_ledger"
- },
- "val": {
- "u32": 5
- }
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 15
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary",
- "val": {
- "map": [
- {
- "key": {
- "symbol": "amount"
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 0
- }
- }
- },
- {
- "key": {
- "symbol": "live_until_ledger"
- },
- "val": {
- "u32": 5
- }
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 25
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/test/set_and_get_metadata.1.json b/packages/tokens/test_snapshots/fungible/test/set_and_get_metadata.1.json
deleted file mode 100644
index b356db7b..00000000
--- a/packages/tokens/test_snapshots/fungible/test/set_and_get_metadata.1.json
+++ /dev/null
@@ -1,110 +0,0 @@
-{
- "generators": {
- "address": 1,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "symbol": "METADATA"
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "decimals"
- },
- "val": {
- "u32": 7
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "Test Token"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "TEST"
- }
- }
- ]
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/test/spend_allowance_insufficient_allowance_fails.1.json b/packages/tokens/test_snapshots/fungible/test/spend_allowance_insufficient_allowance_fails.1.json
deleted file mode 100644
index 0297aa4b..00000000
--- a/packages/tokens/test_snapshots/fungible/test/spend_allowance_insufficient_allowance_fails.1.json
+++ /dev/null
@@ -1,244 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary",
- "val": {
- "map": [
- {
- "key": {
- "symbol": "amount"
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 10
- }
- }
- },
- {
- "key": {
- "symbol": "live_until_ledger"
- },
- "val": {
- "u32": 1000
- }
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 1000
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "approve"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ],
- "data": {
- "vec": [
- {
- "i128": {
- "hi": 0,
- "lo": 10
- }
- },
- {
- "u32": 1000
- }
- ]
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/test/spend_allowance_invalid_amount_fails.1.json b/packages/tokens/test_snapshots/fungible/test/spend_allowance_invalid_amount_fails.1.json
deleted file mode 100644
index 129890fa..00000000
--- a/packages/tokens/test_snapshots/fungible/test/spend_allowance_invalid_amount_fails.1.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/test/spend_allowance_reduces_amount.1.json b/packages/tokens/test_snapshots/fungible/test/spend_allowance_reduces_amount.1.json
deleted file mode 100644
index a356e802..00000000
--- a/packages/tokens/test_snapshots/fungible/test/spend_allowance_reduces_amount.1.json
+++ /dev/null
@@ -1,259 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary",
- "val": {
- "map": [
- {
- "key": {
- "symbol": "amount"
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 30
- }
- }
- },
- {
- "key": {
- "symbol": "live_until_ledger"
- },
- "val": {
- "u32": 1000
- }
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 1000
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "approve"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ],
- "data": {
- "vec": [
- {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- },
- {
- "u32": 1000
- }
- ]
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/test/transfer_from_insufficient_allowance_fails.1.json b/packages/tokens/test_snapshots/fungible/test/transfer_from_insufficient_allowance_fails.1.json
deleted file mode 100644
index b39691fb..00000000
--- a/packages/tokens/test_snapshots/fungible/test/transfer_from_insufficient_allowance_fails.1.json
+++ /dev/null
@@ -1,351 +0,0 @@
-{
- "generators": {
- "address": 4,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary",
- "val": {
- "map": [
- {
- "key": {
- "symbol": "amount"
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 30
- }
- }
- },
- {
- "key": {
- "symbol": "live_until_ledger"
- },
- "val": {
- "u32": 1000
- }
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 1000
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "approve"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ],
- "data": {
- "vec": [
- {
- "i128": {
- "hi": 0,
- "lo": 30
- }
- },
- {
- "u32": 1000
- }
- ]
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/test/transfer_from_requires_auth.1.json b/packages/tokens/test_snapshots/fungible/test/transfer_from_requires_auth.1.json
deleted file mode 100644
index 4ec8917d..00000000
--- a/packages/tokens/test_snapshots/fungible/test/transfer_from_requires_auth.1.json
+++ /dev/null
@@ -1,472 +0,0 @@
-{
- "generators": {
- "address": 4,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ],
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Allowance"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- },
- {
- "key": {
- "symbol": "spender"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- ]
- }
- ]
- },
- "durability": "temporary",
- "val": {
- "map": [
- {
- "key": {
- "symbol": "amount"
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 0
- }
- }
- },
- {
- "key": {
- "symbol": "live_until_ledger"
- },
- "val": {
- "u32": 1000
- }
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 1000
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "approve"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ],
- "data": {
- "vec": [
- {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- },
- {
- "u32": 1000
- }
- ]
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "transfer"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- ],
- "data": {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/test/transfer_insufficient_balance_fails.1.json b/packages/tokens/test_snapshots/fungible/test/transfer_insufficient_balance_fails.1.json
deleted file mode 100644
index 23c7d854..00000000
--- a/packages/tokens/test_snapshots/fungible/test/transfer_insufficient_balance_fails.1.json
+++ /dev/null
@@ -1,183 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/test/transfer_requires_auth.1.json b/packages/tokens/test_snapshots/fungible/test/transfer_requires_auth.1.json
deleted file mode 100644
index 7ef4a6db..00000000
--- a/packages/tokens/test_snapshots/fungible/test/transfer_requires_auth.1.json
+++ /dev/null
@@ -1,291 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 0
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "transfer"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ],
- "data": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/test/transfer_works.1.json b/packages/tokens/test_snapshots/fungible/test/transfer_works.1.json
deleted file mode 100644
index 494de932..00000000
--- a/packages/tokens/test_snapshots/fungible/test/transfer_works.1.json
+++ /dev/null
@@ -1,291 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "transfer"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ],
- "data": {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/test/transfer_zero_works.1.json b/packages/tokens/test_snapshots/fungible/test/transfer_zero_works.1.json
deleted file mode 100644
index c7a2e6b0..00000000
--- a/packages/tokens/test_snapshots/fungible/test/transfer_zero_works.1.json
+++ /dev/null
@@ -1,249 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 0
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 0
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "transfer"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ],
- "data": {
- "i128": {
- "hi": 0,
- "lo": 0
- }
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/test/update_burns_tokens.1.json b/packages/tokens/test_snapshots/fungible/test/update_burns_tokens.1.json
deleted file mode 100644
index 43bfaaef..00000000
--- a/packages/tokens/test_snapshots/fungible/test/update_burns_tokens.1.json
+++ /dev/null
@@ -1,167 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/test/update_mints_tokens.1.json b/packages/tokens/test_snapshots/fungible/test/update_mints_tokens.1.json
deleted file mode 100644
index beba6603..00000000
--- a/packages/tokens/test_snapshots/fungible/test/update_mints_tokens.1.json
+++ /dev/null
@@ -1,140 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/test/update_overflow_panics.1.json b/packages/tokens/test_snapshots/fungible/test/update_overflow_panics.1.json
deleted file mode 100644
index d049f0f7..00000000
--- a/packages/tokens/test_snapshots/fungible/test/update_overflow_panics.1.json
+++ /dev/null
@@ -1,150 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 9223372036854775807,
- "lo": 18446744073709551615
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "i128": {
- "hi": 9223372036854775807,
- "lo": 18446744073709551615
- }
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/test/update_transfers_between_accounts.1.json b/packages/tokens/test_snapshots/fungible/test/update_transfers_between_accounts.1.json
deleted file mode 100644
index 0672b948..00000000
--- a/packages/tokens/test_snapshots/fungible/test/update_transfers_between_accounts.1.json
+++ /dev/null
@@ -1,215 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/test/update_with_insufficient_balance_panics.1.json b/packages/tokens/test_snapshots/fungible/test/update_with_insufficient_balance_panics.1.json
deleted file mode 100644
index 81f0c287..00000000
--- a/packages/tokens/test_snapshots/fungible/test/update_with_insufficient_balance_panics.1.json
+++ /dev/null
@@ -1,150 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/test/update_with_invalid_amount_panics.1.json b/packages/tokens/test_snapshots/fungible/test/update_with_invalid_amount_panics.1.json
deleted file mode 100644
index 129890fa..00000000
--- a/packages/tokens/test_snapshots/fungible/test/update_with_invalid_amount_panics.1.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/utils/sac_admin_generic/test/test_extract_context_address_mismatch.1.json b/packages/tokens/test_snapshots/fungible/utils/sac_admin_generic/test/test_extract_context_address_mismatch.1.json
deleted file mode 100644
index 5bbc95fa..00000000
--- a/packages/tokens/test_snapshots/fungible/utils/sac_admin_generic/test/test_extract_context_address_mismatch.1.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/utils/sac_admin_generic/test/test_extract_context_clawback.1.json b/packages/tokens/test_snapshots/fungible/utils/sac_admin_generic/test/test_extract_context_clawback.1.json
deleted file mode 100644
index fc8ee581..00000000
--- a/packages/tokens/test_snapshots/fungible/utils/sac_admin_generic/test/test_extract_context_clawback.1.json
+++ /dev/null
@@ -1,89 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Sac"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/utils/sac_admin_generic/test/test_extract_context_invalid_param_type.1.json b/packages/tokens/test_snapshots/fungible/utils/sac_admin_generic/test/test_extract_context_invalid_param_type.1.json
deleted file mode 100644
index 5bbc95fa..00000000
--- a/packages/tokens/test_snapshots/fungible/utils/sac_admin_generic/test/test_extract_context_invalid_param_type.1.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/utils/sac_admin_generic/test/test_extract_context_mint.1.json b/packages/tokens/test_snapshots/fungible/utils/sac_admin_generic/test/test_extract_context_mint.1.json
deleted file mode 100644
index fc8ee581..00000000
--- a/packages/tokens/test_snapshots/fungible/utils/sac_admin_generic/test/test_extract_context_mint.1.json
+++ /dev/null
@@ -1,89 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Sac"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/utils/sac_admin_generic/test/test_extract_context_missing_param.1.json b/packages/tokens/test_snapshots/fungible/utils/sac_admin_generic/test/test_extract_context_missing_param.1.json
deleted file mode 100644
index 9be93045..00000000
--- a/packages/tokens/test_snapshots/fungible/utils/sac_admin_generic/test/test_extract_context_missing_param.1.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/utils/sac_admin_generic/test/test_extract_context_set_admin.1.json b/packages/tokens/test_snapshots/fungible/utils/sac_admin_generic/test/test_extract_context_set_admin.1.json
deleted file mode 100644
index 7bc1f566..00000000
--- a/packages/tokens/test_snapshots/fungible/utils/sac_admin_generic/test/test_extract_context_set_admin.1.json
+++ /dev/null
@@ -1,89 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Sac"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/utils/sac_admin_generic/test/test_extract_context_set_authorized.1.json b/packages/tokens/test_snapshots/fungible/utils/sac_admin_generic/test/test_extract_context_set_authorized.1.json
deleted file mode 100644
index fc8ee581..00000000
--- a/packages/tokens/test_snapshots/fungible/utils/sac_admin_generic/test/test_extract_context_set_authorized.1.json
+++ /dev/null
@@ -1,89 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Sac"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/utils/sac_admin_generic/test/test_extract_context_unknown_fn.1.json b/packages/tokens/test_snapshots/fungible/utils/sac_admin_generic/test/test_extract_context_unknown_fn.1.json
deleted file mode 100644
index 7bc1f566..00000000
--- a/packages/tokens/test_snapshots/fungible/utils/sac_admin_generic/test/test_extract_context_unknown_fn.1.json
+++ /dev/null
@@ -1,89 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Sac"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/utils/sac_admin_generic/test/test_sac_get_address_fails.1.json b/packages/tokens/test_snapshots/fungible/utils/sac_admin_generic/test/test_sac_get_address_fails.1.json
deleted file mode 100644
index 2d0a0a65..00000000
--- a/packages/tokens/test_snapshots/fungible/utils/sac_admin_generic/test/test_sac_get_address_fails.1.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "generators": {
- "address": 1,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/utils/sac_admin_generic/test/test_set_and_get_sac_address.1.json b/packages/tokens/test_snapshots/fungible/utils/sac_admin_generic/test/test_set_and_get_sac_address.1.json
deleted file mode 100644
index 7bc1f566..00000000
--- a/packages/tokens/test_snapshots/fungible/utils/sac_admin_generic/test/test_set_and_get_sac_address.1.json
+++ /dev/null
@@ -1,89 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Sac"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/utils/sac_admin_wrapper/test/test_sac_clawback.1.json b/packages/tokens/test_snapshots/fungible/utils/sac_admin_wrapper/test/test_sac_clawback.1.json
deleted file mode 100644
index 859d9fd2..00000000
--- a/packages/tokens/test_snapshots/fungible/utils/sac_admin_wrapper/test/test_sac_clawback.1.json
+++ /dev/null
@@ -1,441 +0,0 @@
-{
- "generators": {
- "address": 4,
- "nonce": 1
- },
- "auth": [
- [],
- [
- [
- "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJXFF",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CCABDO7UZXYE4W6GVSEGSNNZTKSLFQGKXXQTH6OX7M7GKZ4Z6CUJNGZN",
- "function_name": "set_admin",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CCABDO7UZXYE4W6GVSEGSNNZTKSLFQGKXXQTH6OX7M7GKZ4Z6CUJNGZN",
- "function_name": "set_admin",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "account": {
- "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJXFF"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "account": {
- "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJXFF",
- "balance": 0,
- "seq_num": 0,
- "num_sub_entries": 0,
- "inflation_dest": null,
- "flags": 10,
- "home_domain": "",
- "thresholds": "01010101",
- "signers": [],
- "ext": "v0"
- }
- },
- "ext": "v0"
- },
- null
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJXFF",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJXFF",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Sac"
- }
- ]
- },
- "val": {
- "address": "CCABDO7UZXYE4W6GVSEGSNNZTKSLFQGKXXQTH6OX7M7GKZ4Z6CUJNGZN"
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CCABDO7UZXYE4W6GVSEGSNNZTKSLFQGKXXQTH6OX7M7GKZ4Z6CUJNGZN",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CCABDO7UZXYE4W6GVSEGSNNZTKSLFQGKXXQTH6OX7M7GKZ4Z6CUJNGZN",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "map": [
- {
- "key": {
- "symbol": "amount"
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 50
- }
- }
- },
- {
- "key": {
- "symbol": "authorized"
- },
- "val": {
- "bool": true
- }
- },
- {
- "key": {
- "symbol": "clawback"
- },
- "val": {
- "bool": true
- }
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CCABDO7UZXYE4W6GVSEGSNNZTKSLFQGKXXQTH6OX7M7GKZ4Z6CUJNGZN",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CCABDO7UZXYE4W6GVSEGSNNZTKSLFQGKXXQTH6OX7M7GKZ4Z6CUJNGZN",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": "stellar_asset",
- "storage": [
- {
- "key": {
- "symbol": "METADATA"
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "decimal"
- },
- "val": {
- "u32": 7
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "aaa:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJXFF"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "aaa"
- }
- }
- ]
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "AssetInfo"
- }
- ]
- },
- "val": {
- "vec": [
- {
- "symbol": "AlphaNum4"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "asset_code"
- },
- "val": {
- "string": "aaa\\0"
- }
- },
- {
- "key": {
- "symbol": "issuer"
- },
- "val": {
- "bytes": "0000000000000000000000000000000000000000000000000000000000000004"
- }
- }
- ]
- }
- ]
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 120960
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/utils/sac_admin_wrapper/test/test_sac_get_address_fails.1.json b/packages/tokens/test_snapshots/fungible/utils/sac_admin_wrapper/test/test_sac_get_address_fails.1.json
deleted file mode 100644
index 2d0a0a65..00000000
--- a/packages/tokens/test_snapshots/fungible/utils/sac_admin_wrapper/test/test_sac_get_address_fails.1.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "generators": {
- "address": 1,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/utils/sac_admin_wrapper/test/test_sac_mint.1.json b/packages/tokens/test_snapshots/fungible/utils/sac_admin_wrapper/test/test_sac_mint.1.json
deleted file mode 100644
index e02df0e1..00000000
--- a/packages/tokens/test_snapshots/fungible/utils/sac_admin_wrapper/test/test_sac_mint.1.json
+++ /dev/null
@@ -1,473 +0,0 @@
-{
- "generators": {
- "address": 4,
- "nonce": 1
- },
- "auth": [
- [],
- [
- [
- "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJXFF",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CCABDO7UZXYE4W6GVSEGSNNZTKSLFQGKXXQTH6OX7M7GKZ4Z6CUJNGZN",
- "function_name": "set_admin",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CCABDO7UZXYE4W6GVSEGSNNZTKSLFQGKXXQTH6OX7M7GKZ4Z6CUJNGZN",
- "function_name": "set_admin",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "account": {
- "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJXFF"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "account": {
- "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJXFF",
- "balance": 0,
- "seq_num": 0,
- "num_sub_entries": 0,
- "inflation_dest": null,
- "flags": 10,
- "home_domain": "",
- "thresholds": "01010101",
- "signers": [],
- "ext": "v0"
- }
- },
- "ext": "v0"
- },
- null
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJXFF",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJXFF",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Sac"
- }
- ]
- },
- "val": {
- "address": "CCABDO7UZXYE4W6GVSEGSNNZTKSLFQGKXXQTH6OX7M7GKZ4Z6CUJNGZN"
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CCABDO7UZXYE4W6GVSEGSNNZTKSLFQGKXXQTH6OX7M7GKZ4Z6CUJNGZN",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CCABDO7UZXYE4W6GVSEGSNNZTKSLFQGKXXQTH6OX7M7GKZ4Z6CUJNGZN",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "map": [
- {
- "key": {
- "symbol": "amount"
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- },
- {
- "key": {
- "symbol": "authorized"
- },
- "val": {
- "bool": true
- }
- },
- {
- "key": {
- "symbol": "clawback"
- },
- "val": {
- "bool": true
- }
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CCABDO7UZXYE4W6GVSEGSNNZTKSLFQGKXXQTH6OX7M7GKZ4Z6CUJNGZN",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CCABDO7UZXYE4W6GVSEGSNNZTKSLFQGKXXQTH6OX7M7GKZ4Z6CUJNGZN",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": "stellar_asset",
- "storage": [
- {
- "key": {
- "symbol": "METADATA"
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "decimal"
- },
- "val": {
- "u32": 7
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "aaa:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJXFF"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "aaa"
- }
- }
- ]
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "AssetInfo"
- }
- ]
- },
- "val": {
- "vec": [
- {
- "symbol": "AlphaNum4"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "asset_code"
- },
- "val": {
- "string": "aaa\\0"
- }
- },
- {
- "key": {
- "symbol": "issuer"
- },
- "val": {
- "bytes": "0000000000000000000000000000000000000000000000000000000000000004"
- }
- }
- ]
- }
- ]
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 120960
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "8011bbf4cdf04e5bc6ac886935b99aa4b2c0cabde133f9d7fb3e656799f0a896",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "string": "aaa:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJXFF"
- }
- ],
- "data": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/utils/sac_admin_wrapper/test/test_sac_set_address.1.json b/packages/tokens/test_snapshots/fungible/utils/sac_admin_wrapper/test/test_sac_set_address.1.json
deleted file mode 100644
index 7bc1f566..00000000
--- a/packages/tokens/test_snapshots/fungible/utils/sac_admin_wrapper/test/test_sac_set_address.1.json
+++ /dev/null
@@ -1,89 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Sac"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/utils/sac_admin_wrapper/test/test_sac_set_admin.1.json b/packages/tokens/test_snapshots/fungible/utils/sac_admin_wrapper/test/test_sac_set_admin.1.json
deleted file mode 100644
index f3f627be..00000000
--- a/packages/tokens/test_snapshots/fungible/utils/sac_admin_wrapper/test/test_sac_set_admin.1.json
+++ /dev/null
@@ -1,367 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 1
- },
- "auth": [
- [],
- [
- [
- "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF",
- "function_name": "set_admin",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF",
- "function_name": "set_admin",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "account": {
- "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "account": {
- "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V",
- "balance": 0,
- "seq_num": 0,
- "num_sub_entries": 0,
- "inflation_dest": null,
- "flags": 10,
- "home_domain": "",
- "thresholds": "01010101",
- "signers": [],
- "ext": "v0"
- }
- },
- "ext": "v0"
- },
- null
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Sac"
- }
- ]
- },
- "val": {
- "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF"
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": "stellar_asset",
- "storage": [
- {
- "key": {
- "symbol": "METADATA"
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "decimal"
- },
- "val": {
- "u32": 7
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "aaa:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "aaa"
- }
- }
- ]
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "AssetInfo"
- }
- ]
- },
- "val": {
- "vec": [
- {
- "symbol": "AlphaNum4"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "asset_code"
- },
- "val": {
- "string": "aaa\\0"
- }
- },
- {
- "key": {
- "symbol": "issuer"
- },
- "val": {
- "bytes": "0000000000000000000000000000000000000000000000000000000000000003"
- }
- }
- ]
- }
- ]
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 120960
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/fungible/utils/sac_admin_wrapper/test/test_sac_set_authorized.1.json b/packages/tokens/test_snapshots/fungible/utils/sac_admin_wrapper/test/test_sac_set_authorized.1.json
deleted file mode 100644
index 3af44e60..00000000
--- a/packages/tokens/test_snapshots/fungible/utils/sac_admin_wrapper/test/test_sac_set_authorized.1.json
+++ /dev/null
@@ -1,547 +0,0 @@
-{
- "generators": {
- "address": 5,
- "nonce": 2
- },
- "auth": [
- [],
- [
- [
- "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL7NV",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CDLDVFKHEZ2RVB3NG4UQA4VPD3TSHV6XMHXMHP2BSGCJ2IIWVTOHGDSG",
- "function_name": "set_admin",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CDLDVFKHEZ2RVB3NG4UQA4VPD3TSHV6XMHXMHP2BSGCJ2IIWVTOHGDSG",
- "function_name": "set_admin",
- "args": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- ]
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "account": {
- "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL7NV"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "account": {
- "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL7NV",
- "balance": 0,
- "seq_num": 0,
- "num_sub_entries": 0,
- "inflation_dest": null,
- "flags": 10,
- "home_domain": "",
- "thresholds": "01010101",
- "signers": [],
- "ext": "v0"
- }
- },
- "ext": "v0"
- },
- null
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL7NV",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL7NV",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "ledger_key_nonce": {
- "nonce": 1
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Sac"
- }
- ]
- },
- "val": {
- "address": "CDLDVFKHEZ2RVB3NG4UQA4VPD3TSHV6XMHXMHP2BSGCJ2IIWVTOHGDSG"
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CDLDVFKHEZ2RVB3NG4UQA4VPD3TSHV6XMHXMHP2BSGCJ2IIWVTOHGDSG",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CDLDVFKHEZ2RVB3NG4UQA4VPD3TSHV6XMHXMHP2BSGCJ2IIWVTOHGDSG",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "map": [
- {
- "key": {
- "symbol": "amount"
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 100
- }
- }
- },
- {
- "key": {
- "symbol": "authorized"
- },
- "val": {
- "bool": true
- }
- },
- {
- "key": {
- "symbol": "clawback"
- },
- "val": {
- "bool": true
- }
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CDLDVFKHEZ2RVB3NG4UQA4VPD3TSHV6XMHXMHP2BSGCJ2IIWVTOHGDSG",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CDLDVFKHEZ2RVB3NG4UQA4VPD3TSHV6XMHXMHP2BSGCJ2IIWVTOHGDSG",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "map": [
- {
- "key": {
- "symbol": "amount"
- },
- "val": {
- "i128": {
- "hi": 0,
- "lo": 0
- }
- }
- },
- {
- "key": {
- "symbol": "authorized"
- },
- "val": {
- "bool": false
- }
- },
- {
- "key": {
- "symbol": "clawback"
- },
- "val": {
- "bool": true
- }
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CDLDVFKHEZ2RVB3NG4UQA4VPD3TSHV6XMHXMHP2BSGCJ2IIWVTOHGDSG",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CDLDVFKHEZ2RVB3NG4UQA4VPD3TSHV6XMHXMHP2BSGCJ2IIWVTOHGDSG",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": "stellar_asset",
- "storage": [
- {
- "key": {
- "symbol": "METADATA"
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "decimal"
- },
- "val": {
- "u32": 7
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "aaa:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL7NV"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "aaa"
- }
- }
- ]
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "Admin"
- }
- ]
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "AssetInfo"
- }
- ]
- },
- "val": {
- "vec": [
- {
- "symbol": "AlphaNum4"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "asset_code"
- },
- "val": {
- "string": "aaa\\0"
- }
- },
- {
- "key": {
- "symbol": "issuer"
- },
- "val": {
- "bytes": "0000000000000000000000000000000000000000000000000000000000000005"
- }
- }
- ]
- }
- ]
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 120960
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/extensions/burnable/test/burn_from_with_approve_works.1.json b/packages/tokens/test_snapshots/non_fungible/extensions/burnable/test/burn_from_with_approve_works.1.json
deleted file mode 100644
index 4096f7f6..00000000
--- a/packages/tokens/test_snapshots/non_fungible/extensions/burnable/test/burn_from_with_approve_works.1.json
+++ /dev/null
@@ -1,307 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ],
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TokenIdCounter"
- }
- ]
- },
- "val": {
- "u32": 1
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "u32": 0
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "approve"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "u32": 0
- }
- ],
- "data": {
- "vec": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "u32": 1000
- }
- ]
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "burn"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "u32": 0
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/extensions/burnable/test/burn_from_with_insufficient_approval_panics.1.json b/packages/tokens/test_snapshots/non_fungible/extensions/burnable/test/burn_from_with_insufficient_approval_panics.1.json
deleted file mode 100644
index 3b43397f..00000000
--- a/packages/tokens/test_snapshots/non_fungible/extensions/burnable/test/burn_from_with_insufficient_approval_panics.1.json
+++ /dev/null
@@ -1,222 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "u32": 0
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/extensions/burnable/test/burn_from_with_operator_works.1.json b/packages/tokens/test_snapshots/non_fungible/extensions/burnable/test/burn_from_with_operator_works.1.json
deleted file mode 100644
index 66249342..00000000
--- a/packages/tokens/test_snapshots/non_fungible/extensions/burnable/test/burn_from_with_operator_works.1.json
+++ /dev/null
@@ -1,355 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ],
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "ApprovalForAll"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "ApprovalForAll"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "temporary",
- "val": {
- "u32": 1000
- }
- }
- },
- "ext": "v0"
- },
- 1000
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TokenIdCounter"
- }
- ]
- },
- "val": {
- "u32": 1
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "u32": 0
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "approve_for_all"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "vec": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "u32": 1000
- }
- ]
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "burn"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "u32": 0
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/extensions/burnable/test/burn_from_with_owner_works.1.json b/packages/tokens/test_snapshots/non_fungible/extensions/burnable/test/burn_from_with_owner_works.1.json
deleted file mode 100644
index 62b5e10e..00000000
--- a/packages/tokens/test_snapshots/non_fungible/extensions/burnable/test/burn_from_with_owner_works.1.json
+++ /dev/null
@@ -1,228 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TokenIdCounter"
- }
- ]
- },
- "val": {
- "u32": 1
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "u32": 0
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "burn"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "u32": 0
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/extensions/burnable/test/burn_with_non_existent_token_panics.1.json b/packages/tokens/test_snapshots/non_fungible/extensions/burnable/test/burn_with_non_existent_token_panics.1.json
deleted file mode 100644
index 7c4a1797..00000000
--- a/packages/tokens/test_snapshots/non_fungible/extensions/burnable/test/burn_with_non_existent_token_panics.1.json
+++ /dev/null
@@ -1,222 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "u32": 0
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/extensions/burnable/test/burn_with_not_owner_panics.1.json b/packages/tokens/test_snapshots/non_fungible/extensions/burnable/test/burn_with_not_owner_panics.1.json
deleted file mode 100644
index c03fce63..00000000
--- a/packages/tokens/test_snapshots/non_fungible/extensions/burnable/test/burn_with_not_owner_panics.1.json
+++ /dev/null
@@ -1,222 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "u32": 0
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/extensions/burnable/test/burn_works.1.json b/packages/tokens/test_snapshots/non_fungible/extensions/burnable/test/burn_works.1.json
deleted file mode 100644
index 62b5e10e..00000000
--- a/packages/tokens/test_snapshots/non_fungible/extensions/burnable/test/burn_works.1.json
+++ /dev/null
@@ -1,228 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TokenIdCounter"
- }
- ]
- },
- "val": {
- "u32": 1
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "u32": 0
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "burn"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "u32": 0
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/extensions/consecutive/test/consecutive_batch_mint_amount_0_fails.1.json b/packages/tokens/test_snapshots/non_fungible/extensions/consecutive/test/consecutive_batch_mint_amount_0_fails.1.json
deleted file mode 100644
index 99a7604a..00000000
--- a/packages/tokens/test_snapshots/non_fungible/extensions/consecutive/test/consecutive_batch_mint_amount_0_fails.1.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/extensions/consecutive/test/consecutive_batch_mint_amount_max_fails.1.json b/packages/tokens/test_snapshots/non_fungible/extensions/consecutive/test/consecutive_batch_mint_amount_max_fails.1.json
deleted file mode 100644
index 99a7604a..00000000
--- a/packages/tokens/test_snapshots/non_fungible/extensions/consecutive/test/consecutive_batch_mint_amount_max_fails.1.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/extensions/consecutive/test/consecutive_batch_mint_works.1.json b/packages/tokens/test_snapshots/non_fungible/extensions/consecutive/test/consecutive_batch_mint_works.1.json
deleted file mode 100644
index d446cd4e..00000000
--- a/packages/tokens/test_snapshots/non_fungible/extensions/consecutive/test/consecutive_batch_mint_works.1.json
+++ /dev/null
@@ -1,977 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 64000
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 31999
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 31999
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 63999
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 63999
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnershipBucket"
- },
- {
- "u32": 9
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnershipBucket"
- },
- {
- "u32": 9
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "vec": [
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 1
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnershipBucket"
- },
- {
- "u32": 19
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnershipBucket"
- },
- {
- "u32": 19
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "vec": [
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 1
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TokenIdCounter"
- }
- ]
- },
- "val": {
- "u32": 64000
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "consecutive_mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "vec": [
- {
- "u32": 0
- },
- {
- "u32": 31999
- }
- ]
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "consecutive_mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "vec": [
- {
- "u32": 32000
- },
- {
- "u32": 63999
- }
- ]
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/extensions/consecutive/test/consecutive_burn_from_works.1.json b/packages/tokens/test_snapshots/non_fungible/extensions/consecutive/test/consecutive_burn_from_works.1.json
deleted file mode 100644
index 7e570d3a..00000000
--- a/packages/tokens/test_snapshots/non_fungible/extensions/consecutive/test/consecutive_burn_from_works.1.json
+++ /dev/null
@@ -1,795 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ],
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 99
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "BurnedToken"
- },
- {
- "u32": 42
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "BurnedToken"
- },
- {
- "u32": 42
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "bool": true
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 41
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 41
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 99
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 99
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnershipBucket"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnershipBucket"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "vec": [
- {
- "u32": 0
- },
- {
- "u32": 4194304
- },
- {
- "u32": 0
- },
- {
- "u32": 268435456
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TokenIdCounter"
- }
- ]
- },
- "val": {
- "u32": 100
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "consecutive_mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "vec": [
- {
- "u32": 0
- },
- {
- "u32": 99
- }
- ]
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "approve"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "u32": 42
- }
- ],
- "data": {
- "vec": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "u32": 100
- }
- ]
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "burn"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "u32": 42
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/extensions/consecutive/test/consecutive_burn_works.1.json b/packages/tokens/test_snapshots/non_fungible/extensions/consecutive/test/consecutive_burn_works.1.json
deleted file mode 100644
index f17aced2..00000000
--- a/packages/tokens/test_snapshots/non_fungible/extensions/consecutive/test/consecutive_burn_works.1.json
+++ /dev/null
@@ -1,779 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 98
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "BurnedToken"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "BurnedToken"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "bool": true
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "BurnedToken"
- },
- {
- "u32": 50
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "BurnedToken"
- },
- {
- "u32": 50
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "bool": true
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 49
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 49
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 99
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 99
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnershipBucket"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnershipBucket"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "vec": [
- {
- "u32": 0
- },
- {
- "u32": 16384
- },
- {
- "u32": 0
- },
- {
- "u32": 268435456
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TokenIdCounter"
- }
- ]
- },
- "val": {
- "u32": 100
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "burn"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "u32": 0
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/extensions/consecutive/test/consecutive_owner_of_on_nonexistent_token_fails.1.json b/packages/tokens/test_snapshots/non_fungible/extensions/consecutive/test/consecutive_owner_of_on_nonexistent_token_fails.1.json
deleted file mode 100644
index 536e7ca8..00000000
--- a/packages/tokens/test_snapshots/non_fungible/extensions/consecutive/test/consecutive_owner_of_on_nonexistent_token_fails.1.json
+++ /dev/null
@@ -1,542 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 5
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 4
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 4
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnershipBucket"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnershipBucket"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "vec": [
- {
- "u32": 134217728
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "consecutive_mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "vec": [
- {
- "u32": 0
- },
- {
- "u32": 4
- }
- ]
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/extensions/consecutive/test/consecutive_owner_of_on_zero_token_fails.1.json b/packages/tokens/test_snapshots/non_fungible/extensions/consecutive/test/consecutive_owner_of_on_zero_token_fails.1.json
deleted file mode 100644
index 2d0a0a65..00000000
--- a/packages/tokens/test_snapshots/non_fungible/extensions/consecutive/test/consecutive_owner_of_on_zero_token_fails.1.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "generators": {
- "address": 1,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/extensions/consecutive/test/consecutive_owner_of_panics_on_burnt_token_fails.1.json b/packages/tokens/test_snapshots/non_fungible/extensions/consecutive/test/consecutive_owner_of_panics_on_burnt_token_fails.1.json
deleted file mode 100644
index b4520e66..00000000
--- a/packages/tokens/test_snapshots/non_fungible/extensions/consecutive/test/consecutive_owner_of_panics_on_burnt_token_fails.1.json
+++ /dev/null
@@ -1,688 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 9
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "BurnedToken"
- },
- {
- "u32": 2
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "BurnedToken"
- },
- {
- "u32": 2
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "bool": true
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 9
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 9
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnershipBucket"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnershipBucket"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "vec": [
- {
- "u32": 1077936128
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "consecutive_mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "vec": [
- {
- "u32": 0
- },
- {
- "u32": 9
- }
- ]
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "burn"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "u32": 2
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/extensions/consecutive/test/consecutive_owner_of_works.1.json b/packages/tokens/test_snapshots/non_fungible/extensions/consecutive/test/consecutive_owner_of_works.1.json
deleted file mode 100644
index 1c0fbdb7..00000000
--- a/packages/tokens/test_snapshots/non_fungible/extensions/consecutive/test/consecutive_owner_of_works.1.json
+++ /dev/null
@@ -1,916 +0,0 @@
-{
- "generators": {
- "address": 4,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 1000
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 1000
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 9600
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 9600
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnershipBucket"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnershipBucket"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "vec": [
- {
- "u32": 2147483648
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 8388608
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnershipBucket"
- },
- {
- "u32": 3
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnershipBucket"
- },
- {
- "u32": 3
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "vec": [
- {
- "u32": 2147483648
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TokenIdCounter"
- }
- ]
- },
- "val": {
- "u32": 9601
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/extensions/consecutive/test/consecutive_set_owner_for_previous_token_works.1.json b/packages/tokens/test_snapshots/non_fungible/extensions/consecutive/test/consecutive_set_owner_for_previous_token_works.1.json
deleted file mode 100644
index 7848932d..00000000
--- a/packages/tokens/test_snapshots/non_fungible/extensions/consecutive/test/consecutive_set_owner_for_previous_token_works.1.json
+++ /dev/null
@@ -1,691 +0,0 @@
-{
- "generators": {
- "address": 4,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 5
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "BurnedToken"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "BurnedToken"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "bool": true
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 2
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 2
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 3
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 3
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 4
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 4
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnershipBucket"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnershipBucket"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "vec": [
- {
- "u32": 671088640
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TokenIdCounter"
- }
- ]
- },
- "val": {
- "u32": 5
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "consecutive_mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "vec": [
- {
- "u32": 0
- },
- {
- "u32": 4
- }
- ]
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/extensions/consecutive/test/consecutive_set_ownership_panics_for_max_sequential_fails.1.json b/packages/tokens/test_snapshots/non_fungible/extensions/consecutive/test/consecutive_set_ownership_panics_for_max_sequential_fails.1.json
deleted file mode 100644
index 2d0a0a65..00000000
--- a/packages/tokens/test_snapshots/non_fungible/extensions/consecutive/test/consecutive_set_ownership_panics_for_max_sequential_fails.1.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "generators": {
- "address": 1,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/extensions/consecutive/test/consecutive_set_ownership_works.1.json b/packages/tokens/test_snapshots/non_fungible/extensions/consecutive/test/consecutive_set_ownership_works.1.json
deleted file mode 100644
index db640faa..00000000
--- a/packages/tokens/test_snapshots/non_fungible/extensions/consecutive/test/consecutive_set_ownership_works.1.json
+++ /dev/null
@@ -1,435 +0,0 @@
-{
- "generators": {
- "address": 1,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnershipBucket"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnershipBucket"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "vec": [
- {
- "u32": 3221225473
- },
- {
- "u32": 2147745792
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 8388608
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TokenIdCounter"
- }
- ]
- },
- "val": {
- "u32": 1001
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/extensions/consecutive/test/consecutive_token_uri_panics_for_burned_id_fails.1.json b/packages/tokens/test_snapshots/non_fungible/extensions/consecutive/test/consecutive_token_uri_panics_for_burned_id_fails.1.json
deleted file mode 100644
index bf093bfe..00000000
--- a/packages/tokens/test_snapshots/non_fungible/extensions/consecutive/test/consecutive_token_uri_panics_for_burned_id_fails.1.json
+++ /dev/null
@@ -1,598 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "BurnedToken"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "BurnedToken"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "bool": true
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnershipBucket"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnershipBucket"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "vec": [
- {
- "u32": 2147483648
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "consecutive_mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "vec": [
- {
- "u32": 0
- },
- {
- "u32": 0
- }
- ]
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "burn"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "u32": 0
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/extensions/consecutive/test/consecutive_token_uri_panics_for_more_than_max_id_fails.1.json b/packages/tokens/test_snapshots/non_fungible/extensions/consecutive/test/consecutive_token_uri_panics_for_more_than_max_id_fails.1.json
deleted file mode 100644
index 2d0a0a65..00000000
--- a/packages/tokens/test_snapshots/non_fungible/extensions/consecutive/test/consecutive_token_uri_panics_for_more_than_max_id_fails.1.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "generators": {
- "address": 1,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/extensions/consecutive/test/consecutive_token_uri_works.1.json b/packages/tokens/test_snapshots/non_fungible/extensions/consecutive/test/consecutive_token_uri_works.1.json
deleted file mode 100644
index 0241dff5..00000000
--- a/packages/tokens/test_snapshots/non_fungible/extensions/consecutive/test/consecutive_token_uri_works.1.json
+++ /dev/null
@@ -1,126 +0,0 @@
-{
- "generators": {
- "address": 1,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Metadata"
- }
- ]
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "base_uri"
- },
- "val": {
- "string": "https://smth.com/"
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My NFT collection"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "NFT"
- }
- }
- ]
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TokenIdCounter"
- }
- ]
- },
- "val": {
- "u32": 10
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/extensions/consecutive/test/consecutive_transfer_edge_works.1.json b/packages/tokens/test_snapshots/non_fungible/extensions/consecutive/test/consecutive_transfer_edge_works.1.json
deleted file mode 100644
index ff4a39b5..00000000
--- a/packages/tokens/test_snapshots/non_fungible/extensions/consecutive/test/consecutive_transfer_edge_works.1.json
+++ /dev/null
@@ -1,782 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 98
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 2
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 98
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 98
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 99
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 99
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnershipBucket"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnershipBucket"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "vec": [
- {
- "u32": 2147483648
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 805306368
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TokenIdCounter"
- }
- ]
- },
- "val": {
- "u32": 100
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "transfer"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ],
- "data": {
- "u32": 99
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/extensions/consecutive/test/consecutive_transfer_from_works.1.json b/packages/tokens/test_snapshots/non_fungible/extensions/consecutive/test/consecutive_transfer_from_works.1.json
deleted file mode 100644
index ad9393f3..00000000
--- a/packages/tokens/test_snapshots/non_fungible/extensions/consecutive/test/consecutive_transfer_from_works.1.json
+++ /dev/null
@@ -1,843 +0,0 @@
-{
- "generators": {
- "address": 4,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ],
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 99
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 49
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 49
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 50
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 50
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 99
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 99
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnershipBucket"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnershipBucket"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "vec": [
- {
- "u32": 0
- },
- {
- "u32": 24576
- },
- {
- "u32": 0
- },
- {
- "u32": 268435456
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TokenIdCounter"
- }
- ]
- },
- "val": {
- "u32": 100
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "consecutive_mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ],
- "data": {
- "vec": [
- {
- "u32": 0
- },
- {
- "u32": 99
- }
- ]
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "approve"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "u32": 50
- }
- ],
- "data": {
- "vec": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "u32": 100
- }
- ]
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "transfer"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- ],
- "data": {
- "u32": 50
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/extensions/consecutive/test/consecutive_transfer_works.1.json b/packages/tokens/test_snapshots/non_fungible/extensions/consecutive/test/consecutive_transfer_works.1.json
deleted file mode 100644
index eec2240f..00000000
--- a/packages/tokens/test_snapshots/non_fungible/extensions/consecutive/test/consecutive_transfer_works.1.json
+++ /dev/null
@@ -1,764 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 99
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 49
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 49
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 50
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 50
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 99
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 99
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnershipBucket"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnershipBucket"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "vec": [
- {
- "u32": 0
- },
- {
- "u32": 24576
- },
- {
- "u32": 0
- },
- {
- "u32": 268435456
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- },
- {
- "u32": 0
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TokenIdCounter"
- }
- ]
- },
- "val": {
- "u32": 100
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "consecutive_mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "vec": [
- {
- "u32": 0
- },
- {
- "u32": 99
- }
- ]
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "transfer"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ],
- "data": {
- "u32": 50
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/extensions/enumerable/test/test_add_to_global_enumeration.1.json b/packages/tokens/test_snapshots/non_fungible/extensions/enumerable/test/test_add_to_global_enumeration.1.json
deleted file mode 100644
index fb70b20b..00000000
--- a/packages/tokens/test_snapshots/non_fungible/extensions/enumerable/test/test_add_to_global_enumeration.1.json
+++ /dev/null
@@ -1,179 +0,0 @@
-{
- "generators": {
- "address": 1,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokens"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokens"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 42
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokensIndex"
- },
- {
- "u32": 42
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokensIndex"
- },
- {
- "u32": 42
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "u32": 1
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/extensions/enumerable/test/test_add_to_owner_enumeration.1.json b/packages/tokens/test_snapshots/non_fungible/extensions/enumerable/test/test_add_to_owner_enumeration.1.json
deleted file mode 100644
index c9541798..00000000
--- a/packages/tokens/test_snapshots/non_fungible/extensions/enumerable/test/test_add_to_owner_enumeration.1.json
+++ /dev/null
@@ -1,245 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokens"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokens"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 42
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokensIndex"
- },
- {
- "u32": 42
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokensIndex"
- },
- {
- "u32": 42
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/extensions/enumerable/test/test_burn.1.json b/packages/tokens/test_snapshots/non_fungible/extensions/enumerable/test/test_burn.1.json
deleted file mode 100644
index d9c0672e..00000000
--- a/packages/tokens/test_snapshots/non_fungible/extensions/enumerable/test/test_burn.1.json
+++ /dev/null
@@ -1,240 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TokenIdCounter"
- }
- ]
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "u32": 0
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "u32": 0
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "burn"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "u32": 0
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/extensions/enumerable/test/test_burn_from.1.json b/packages/tokens/test_snapshots/non_fungible/extensions/enumerable/test/test_burn_from.1.json
deleted file mode 100644
index 41c7d699..00000000
--- a/packages/tokens/test_snapshots/non_fungible/extensions/enumerable/test/test_burn_from.1.json
+++ /dev/null
@@ -1,307 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ],
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "u32": 0
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "u32": 42
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "approve"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "u32": 42
- }
- ],
- "data": {
- "vec": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "u32": 1000
- }
- ]
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "burn"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "u32": 42
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/extensions/enumerable/test/test_decrement_total_supply.1.json b/packages/tokens/test_snapshots/non_fungible/extensions/enumerable/test/test_decrement_total_supply.1.json
deleted file mode 100644
index 32ca2e4b..00000000
--- a/packages/tokens/test_snapshots/non_fungible/extensions/enumerable/test/test_decrement_total_supply.1.json
+++ /dev/null
@@ -1,89 +0,0 @@
-{
- "generators": {
- "address": 1,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "u32": 0
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/extensions/enumerable/test/test_enumerable_transfer.1.json b/packages/tokens/test_snapshots/non_fungible/extensions/enumerable/test/test_enumerable_transfer.1.json
deleted file mode 100644
index 727f35c8..00000000
--- a/packages/tokens/test_snapshots/non_fungible/extensions/enumerable/test/test_enumerable_transfer.1.json
+++ /dev/null
@@ -1,547 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokens"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokens"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokensIndex"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokensIndex"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokens"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokens"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokensIndex"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokensIndex"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TokenIdCounter"
- }
- ]
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "u32": 1
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "u32": 0
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "transfer"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ],
- "data": {
- "u32": 0
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/extensions/enumerable/test/test_enumerable_transfer_from.1.json b/packages/tokens/test_snapshots/non_fungible/extensions/enumerable/test/test_enumerable_transfer_from.1.json
deleted file mode 100644
index 5758464f..00000000
--- a/packages/tokens/test_snapshots/non_fungible/extensions/enumerable/test/test_enumerable_transfer_from.1.json
+++ /dev/null
@@ -1,626 +0,0 @@
-{
- "generators": {
- "address": 4,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ],
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokens"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokens"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokensIndex"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokensIndex"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokens"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokens"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokensIndex"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokensIndex"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TokenIdCounter"
- }
- ]
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "u32": 1
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "u32": 0
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "approve"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "u32": 0
- }
- ],
- "data": {
- "vec": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "u32": 1000
- }
- ]
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "transfer"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- ],
- "data": {
- "u32": 0
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/extensions/enumerable/test/test_get_owner_token_id.1.json b/packages/tokens/test_snapshots/non_fungible/extensions/enumerable/test/test_get_owner_token_id.1.json
deleted file mode 100644
index 085a514a..00000000
--- a/packages/tokens/test_snapshots/non_fungible/extensions/enumerable/test/test_get_owner_token_id.1.json
+++ /dev/null
@@ -1,711 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 2
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokens"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokens"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokens"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokens"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokensIndex"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokensIndex"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokensIndex"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokensIndex"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokens"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokens"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokens"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokens"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokensIndex"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokensIndex"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokensIndex"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokensIndex"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TokenIdCounter"
- }
- ]
- },
- "val": {
- "u32": 2
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "u32": 2
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "u32": 0
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "u32": 1
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/extensions/enumerable/test/test_get_token_id.1.json b/packages/tokens/test_snapshots/non_fungible/extensions/enumerable/test/test_get_token_id.1.json
deleted file mode 100644
index ccba723d..00000000
--- a/packages/tokens/test_snapshots/non_fungible/extensions/enumerable/test/test_get_token_id.1.json
+++ /dev/null
@@ -1,699 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 2
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokens"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokens"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 42
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokens"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokens"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 83
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokensIndex"
- },
- {
- "u32": 42
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokensIndex"
- },
- {
- "u32": 42
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokensIndex"
- },
- {
- "u32": 83
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokensIndex"
- },
- {
- "u32": 83
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 42
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 42
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 83
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 83
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokens"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokens"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 42
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokens"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokens"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 83
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokensIndex"
- },
- {
- "u32": 42
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokensIndex"
- },
- {
- "u32": 42
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokensIndex"
- },
- {
- "u32": 83
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokensIndex"
- },
- {
- "u32": 83
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "u32": 2
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "u32": 42
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "u32": 83
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/extensions/enumerable/test/test_increment_total_supply.1.json b/packages/tokens/test_snapshots/non_fungible/extensions/enumerable/test/test_increment_total_supply.1.json
deleted file mode 100644
index 24e3632f..00000000
--- a/packages/tokens/test_snapshots/non_fungible/extensions/enumerable/test/test_increment_total_supply.1.json
+++ /dev/null
@@ -1,89 +0,0 @@
-{
- "generators": {
- "address": 1,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "u32": 1
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/extensions/enumerable/test/test_non_sequential_mint.1.json b/packages/tokens/test_snapshots/non_fungible/extensions/enumerable/test/test_non_sequential_mint.1.json
deleted file mode 100644
index e6d28330..00000000
--- a/packages/tokens/test_snapshots/non_fungible/extensions/enumerable/test/test_non_sequential_mint.1.json
+++ /dev/null
@@ -1,417 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokens"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokens"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 42
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokensIndex"
- },
- {
- "u32": 42
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokensIndex"
- },
- {
- "u32": 42
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 42
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 42
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokens"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokens"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 42
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokensIndex"
- },
- {
- "u32": 42
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokensIndex"
- },
- {
- "u32": 42
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "u32": 1
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "u32": 42
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/extensions/enumerable/test/test_remove_from_global_enumeration.1.json b/packages/tokens/test_snapshots/non_fungible/extensions/enumerable/test/test_remove_from_global_enumeration.1.json
deleted file mode 100644
index 2d0a0a65..00000000
--- a/packages/tokens/test_snapshots/non_fungible/extensions/enumerable/test/test_remove_from_global_enumeration.1.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "generators": {
- "address": 1,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/extensions/enumerable/test/test_remove_from_owner_enumeration.1.json b/packages/tokens/test_snapshots/non_fungible/extensions/enumerable/test/test_remove_from_owner_enumeration.1.json
deleted file mode 100644
index 2134e863..00000000
--- a/packages/tokens/test_snapshots/non_fungible/extensions/enumerable/test/test_remove_from_owner_enumeration.1.json
+++ /dev/null
@@ -1,244 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokens"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokens"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 42
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokensIndex"
- },
- {
- "u32": 42
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokensIndex"
- },
- {
- "u32": 42
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/extensions/enumerable/test/test_sequential_mint.1.json b/packages/tokens/test_snapshots/non_fungible/extensions/enumerable/test/test_sequential_mint.1.json
deleted file mode 100644
index 84ebdca7..00000000
--- a/packages/tokens/test_snapshots/non_fungible/extensions/enumerable/test/test_sequential_mint.1.json
+++ /dev/null
@@ -1,429 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokens"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokens"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokensIndex"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokensIndex"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokens"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokens"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokensIndex"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokensIndex"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TokenIdCounter"
- }
- ]
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "u32": 1
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "u32": 0
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/extensions/enumerable/test/test_total_supply.1.json b/packages/tokens/test_snapshots/non_fungible/extensions/enumerable/test/test_total_supply.1.json
deleted file mode 100644
index 6c08ffda..00000000
--- a/packages/tokens/test_snapshots/non_fungible/extensions/enumerable/test/test_total_supply.1.json
+++ /dev/null
@@ -1,711 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 2
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokens"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokens"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokens"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokens"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokensIndex"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokensIndex"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokensIndex"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokensIndex"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokens"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokens"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokens"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokens"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokensIndex"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokensIndex"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokensIndex"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokensIndex"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TokenIdCounter"
- }
- ]
- },
- "val": {
- "u32": 2
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "u32": 2
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "u32": 0
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "u32": 1
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/extensions/royalties/test/test_invalid_royalty_amount.1.json b/packages/tokens/test_snapshots/non_fungible/extensions/royalties/test/test_invalid_royalty_amount.1.json
deleted file mode 100644
index f58b1bcf..00000000
--- a/packages/tokens/test_snapshots/non_fungible/extensions/royalties/test/test_invalid_royalty_amount.1.json
+++ /dev/null
@@ -1,403 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokens"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokens"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokensIndex"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokensIndex"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokens"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokens"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokensIndex"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokensIndex"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "u32": 0
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/extensions/royalties/test/test_no_royalty_set.1.json b/packages/tokens/test_snapshots/non_fungible/extensions/royalties/test/test_no_royalty_set.1.json
deleted file mode 100644
index e61289bc..00000000
--- a/packages/tokens/test_snapshots/non_fungible/extensions/royalties/test/test_no_royalty_set.1.json
+++ /dev/null
@@ -1,429 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokens"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokens"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokensIndex"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokensIndex"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokens"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokens"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokensIndex"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokensIndex"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TokenIdCounter"
- }
- ]
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "u32": 1
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "u32": 0
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/extensions/royalties/test/test_remove_token_royalty.1.json b/packages/tokens/test_snapshots/non_fungible/extensions/royalties/test/test_remove_token_royalty.1.json
deleted file mode 100644
index e5510d61..00000000
--- a/packages/tokens/test_snapshots/non_fungible/extensions/royalties/test/test_remove_token_royalty.1.json
+++ /dev/null
@@ -1,528 +0,0 @@
-{
- "generators": {
- "address": 4,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokens"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokens"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokensIndex"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokensIndex"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokens"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokens"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokensIndex"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokensIndex"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "DefaultRoyalty"
- }
- ]
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "basis_points"
- },
- "val": {
- "u32": 1000
- }
- },
- {
- "key": {
- "symbol": "receiver"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- ]
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TokenIdCounter"
- }
- ]
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "u32": 1
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "set_default_royalty"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ],
- "data": {
- "u32": 1000
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "u32": 0
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "set_token_royalty"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "u32": 0
- }
- ],
- "data": {
- "u32": 500
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "remove_token_royalty"
- },
- {
- "u32": 0
- }
- ],
- "data": "void"
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/extensions/royalties/test/test_remove_token_royalty_no_default.1.json b/packages/tokens/test_snapshots/non_fungible/extensions/royalties/test/test_remove_token_royalty_no_default.1.json
deleted file mode 100644
index 90fb7d81..00000000
--- a/packages/tokens/test_snapshots/non_fungible/extensions/royalties/test/test_remove_token_royalty_no_default.1.json
+++ /dev/null
@@ -1,476 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokens"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokens"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokensIndex"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokensIndex"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokens"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokens"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokensIndex"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokensIndex"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TokenIdCounter"
- }
- ]
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "u32": 1
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "u32": 0
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "set_token_royalty"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "u32": 0
- }
- ],
- "data": {
- "u32": 500
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "remove_token_royalty"
- },
- {
- "u32": 0
- }
- ],
- "data": "void"
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/extensions/royalties/test/test_royalty_info_non_existent_token.1.json b/packages/tokens/test_snapshots/non_fungible/extensions/royalties/test/test_royalty_info_non_existent_token.1.json
deleted file mode 100644
index 2d0a0a65..00000000
--- a/packages/tokens/test_snapshots/non_fungible/extensions/royalties/test/test_royalty_info_non_existent_token.1.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "generators": {
- "address": 1,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/extensions/royalties/test/test_set_default_royalty.1.json b/packages/tokens/test_snapshots/non_fungible/extensions/royalties/test/test_set_default_royalty.1.json
deleted file mode 100644
index fd318346..00000000
--- a/packages/tokens/test_snapshots/non_fungible/extensions/royalties/test/test_set_default_royalty.1.json
+++ /dev/null
@@ -1,459 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokens"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokens"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokensIndex"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokensIndex"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokens"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokens"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokensIndex"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokensIndex"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "DefaultRoyalty"
- }
- ]
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "basis_points"
- },
- "val": {
- "u32": 1000
- }
- },
- {
- "key": {
- "symbol": "receiver"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TokenIdCounter"
- }
- ]
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "u32": 1
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "set_default_royalty"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "u32": 1000
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/extensions/royalties/test/test_set_token_royalty.1.json b/packages/tokens/test_snapshots/non_fungible/extensions/royalties/test/test_set_token_royalty.1.json
deleted file mode 100644
index 131809bd..00000000
--- a/packages/tokens/test_snapshots/non_fungible/extensions/royalties/test/test_set_token_royalty.1.json
+++ /dev/null
@@ -1,517 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokens"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokens"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokensIndex"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokensIndex"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokens"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokens"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokensIndex"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokensIndex"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "TokenRoyalty"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "TokenRoyalty"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "map": [
- {
- "key": {
- "symbol": "basis_points"
- },
- "val": {
- "u32": 500
- }
- },
- {
- "key": {
- "symbol": "receiver"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TokenIdCounter"
- }
- ]
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "u32": 1
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "u32": 0
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "set_token_royalty"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "u32": 0
- }
- ],
- "data": {
- "u32": 500
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/extensions/royalties/test/test_token_royalty_overrides_default.1.json b/packages/tokens/test_snapshots/non_fungible/extensions/royalties/test/test_token_royalty_overrides_default.1.json
deleted file mode 100644
index 3fc58163..00000000
--- a/packages/tokens/test_snapshots/non_fungible/extensions/royalties/test/test_token_royalty_overrides_default.1.json
+++ /dev/null
@@ -1,851 +0,0 @@
-{
- "generators": {
- "address": 4,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 2
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokens"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokens"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokens"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokens"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokensIndex"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokensIndex"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokensIndex"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokensIndex"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokens"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokens"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokens"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokens"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokensIndex"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokensIndex"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokensIndex"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokensIndex"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "TokenRoyalty"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "TokenRoyalty"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "map": [
- {
- "key": {
- "symbol": "basis_points"
- },
- "val": {
- "u32": 500
- }
- },
- {
- "key": {
- "symbol": "receiver"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "DefaultRoyalty"
- }
- ]
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "basis_points"
- },
- "val": {
- "u32": 1000
- }
- },
- {
- "key": {
- "symbol": "receiver"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- ]
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TokenIdCounter"
- }
- ]
- },
- "val": {
- "u32": 2
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "u32": 2
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "set_default_royalty"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ],
- "data": {
- "u32": 1000
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "u32": 0
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "set_token_royalty"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "u32": 0
- }
- ],
- "data": {
- "u32": 500
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "u32": 1
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/extensions/royalties/test/test_zero_royalty.1.json b/packages/tokens/test_snapshots/non_fungible/extensions/royalties/test/test_zero_royalty.1.json
deleted file mode 100644
index 45387676..00000000
--- a/packages/tokens/test_snapshots/non_fungible/extensions/royalties/test/test_zero_royalty.1.json
+++ /dev/null
@@ -1,517 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokens"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokens"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokensIndex"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "GlobalTokensIndex"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokens"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokens"
- },
- {
- "map": [
- {
- "key": {
- "symbol": "index"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "owner"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- ]
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokensIndex"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "OwnerTokensIndex"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "TokenRoyalty"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "TokenRoyalty"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "map": [
- {
- "key": {
- "symbol": "basis_points"
- },
- "val": {
- "u32": 0
- }
- },
- {
- "key": {
- "symbol": "receiver"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TokenIdCounter"
- }
- ]
- },
- "val": {
- "u32": 1
- }
- },
- {
- "key": {
- "vec": [
- {
- "symbol": "TotalSupply"
- }
- ]
- },
- "val": {
- "u32": 1
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "u32": 0
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "set_token_royalty"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "u32": 0
- }
- ],
- "data": {
- "u32": 0
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/test/approve_for_all_works.1.json b/packages/tokens/test_snapshots/non_fungible/test/approve_for_all_works.1.json
deleted file mode 100644
index 7655190e..00000000
--- a/packages/tokens/test_snapshots/non_fungible/test/approve_for_all_works.1.json
+++ /dev/null
@@ -1,205 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "ApprovalForAll"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "ApprovalForAll"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "temporary",
- "val": {
- "u32": 1000
- }
- }
- },
- "ext": "v0"
- },
- 1000
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "approve_for_all"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "vec": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "u32": 1000
- }
- ]
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/test/approve_nft_works.1.json b/packages/tokens/test_snapshots/non_fungible/test/approve_nft_works.1.json
deleted file mode 100644
index e455e040..00000000
--- a/packages/tokens/test_snapshots/non_fungible/test/approve_nft_works.1.json
+++ /dev/null
@@ -1,264 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Approval"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Approval"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "temporary",
- "val": {
- "map": [
- {
- "key": {
- "symbol": "approved"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- },
- {
- "key": {
- "symbol": "live_until_ledger"
- },
- "val": {
- "u32": 1000
- }
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 1000
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "approve"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "u32": 1
- }
- ],
- "data": {
- "vec": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "u32": 1000
- }
- ]
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/test/approve_with_invalid_approver_fails.1.json b/packages/tokens/test_snapshots/non_fungible/test/approve_with_invalid_approver_fails.1.json
deleted file mode 100644
index c03fce63..00000000
--- a/packages/tokens/test_snapshots/non_fungible/test/approve_with_invalid_approver_fails.1.json
+++ /dev/null
@@ -1,222 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "u32": 0
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/test/approve_with_invalid_live_until_ledger_fails.1.json b/packages/tokens/test_snapshots/non_fungible/test/approve_with_invalid_live_until_ledger_fails.1.json
deleted file mode 100644
index c736aee4..00000000
--- a/packages/tokens/test_snapshots/non_fungible/test/approve_with_invalid_live_until_ledger_fails.1.json
+++ /dev/null
@@ -1,222 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 10,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 518410
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6312009
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "u32": 0
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/test/approve_with_operator_works.1.json b/packages/tokens/test_snapshots/non_fungible/test/approve_with_operator_works.1.json
deleted file mode 100644
index af97136b..00000000
--- a/packages/tokens/test_snapshots/non_fungible/test/approve_with_operator_works.1.json
+++ /dev/null
@@ -1,391 +0,0 @@
-{
- "generators": {
- "address": 4,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ],
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Approval"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Approval"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "temporary",
- "val": {
- "map": [
- {
- "key": {
- "symbol": "approved"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- },
- {
- "key": {
- "symbol": "live_until_ledger"
- },
- "val": {
- "u32": 1000
- }
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 1000
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "ApprovalForAll"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "ApprovalForAll"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "temporary",
- "val": {
- "u32": 1000
- }
- }
- },
- "ext": "v0"
- },
- 1000
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "approve_for_all"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "vec": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "u32": 1000
- }
- ]
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "approve"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "u32": 1
- }
- ],
- "data": {
- "vec": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "u32": 1000
- }
- ]
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/test/balance_of_non_existent_account_is_zero.1.json b/packages/tokens/test_snapshots/non_fungible/test/balance_of_non_existent_account_is_zero.1.json
deleted file mode 100644
index 56557491..00000000
--- a/packages/tokens/test_snapshots/non_fungible/test/balance_of_non_existent_account_is_zero.1.json
+++ /dev/null
@@ -1,76 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/test/get_metadata_should_panic_when_metadata_is_not_set.1.json b/packages/tokens/test_snapshots/non_fungible/test/get_metadata_should_panic_when_metadata_is_not_set.1.json
deleted file mode 100644
index 2d0a0a65..00000000
--- a/packages/tokens/test_snapshots/non_fungible/test/get_metadata_should_panic_when_metadata_is_not_set.1.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "generators": {
- "address": 1,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/test/metadata_works.1.json b/packages/tokens/test_snapshots/non_fungible/test/metadata_works.1.json
deleted file mode 100644
index c83bd253..00000000
--- a/packages/tokens/test_snapshots/non_fungible/test/metadata_works.1.json
+++ /dev/null
@@ -1,204 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 4294967295
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 4294967295
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "Metadata"
- }
- ]
- },
- "val": {
- "map": [
- {
- "key": {
- "symbol": "base_uri"
- },
- "val": {
- "string": ""
- }
- },
- {
- "key": {
- "symbol": "name"
- },
- "val": {
- "string": "My NFT collection"
- }
- },
- {
- "key": {
- "symbol": "symbol"
- },
- "val": {
- "string": "NFT"
- }
- }
- ]
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/test/mint_base_implementation_has_no_auth.1.json b/packages/tokens/test_snapshots/non_fungible/test/mint_base_implementation_has_no_auth.1.json
deleted file mode 100644
index 295b3b6d..00000000
--- a/packages/tokens/test_snapshots/non_fungible/test/mint_base_implementation_has_no_auth.1.json
+++ /dev/null
@@ -1,203 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TokenIdCounter"
- }
- ]
- },
- "val": {
- "u32": 1
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "u32": 0
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/test/mint_works.1.json b/packages/tokens/test_snapshots/non_fungible/test/mint_works.1.json
deleted file mode 100644
index 295b3b6d..00000000
--- a/packages/tokens/test_snapshots/non_fungible/test/mint_works.1.json
+++ /dev/null
@@ -1,203 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TokenIdCounter"
- }
- ]
- },
- "val": {
- "u32": 1
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "u32": 0
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/test/owner_of_non_existent_token_fails.1.json b/packages/tokens/test_snapshots/non_fungible/test/owner_of_non_existent_token_fails.1.json
deleted file mode 100644
index 2d0a0a65..00000000
--- a/packages/tokens/test_snapshots/non_fungible/test/owner_of_non_existent_token_fails.1.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "generators": {
- "address": 1,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/test/revoke_approve_for_all_works.1.json b/packages/tokens/test_snapshots/non_fungible/test/revoke_approve_for_all_works.1.json
deleted file mode 100644
index d18a8c62..00000000
--- a/packages/tokens/test_snapshots/non_fungible/test/revoke_approve_for_all_works.1.json
+++ /dev/null
@@ -1,154 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "approve_for_all"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "vec": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "u32": 0
- }
- ]
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/test/set_metadata_should_panic_when_base_uri_exceeds_max_length.1.json b/packages/tokens/test_snapshots/non_fungible/test/set_metadata_should_panic_when_base_uri_exceeds_max_length.1.json
deleted file mode 100644
index 2d0a0a65..00000000
--- a/packages/tokens/test_snapshots/non_fungible/test/set_metadata_should_panic_when_base_uri_exceeds_max_length.1.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "generators": {
- "address": 1,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/test/test_counter_works.1.json b/packages/tokens/test_snapshots/non_fungible/test/test_counter_works.1.json
deleted file mode 100644
index 26441934..00000000
--- a/packages/tokens/test_snapshots/non_fungible/test/test_counter_works.1.json
+++ /dev/null
@@ -1,271 +0,0 @@
-{
- "generators": {
- "address": 2,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 2
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 1
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TokenIdCounter"
- }
- ]
- },
- "val": {
- "u32": 2
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "u32": 0
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "u32": 1
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/test/transfer_from_incorrect_owner_fails.1.json b/packages/tokens/test_snapshots/non_fungible/test/transfer_from_incorrect_owner_fails.1.json
deleted file mode 100644
index 22eea763..00000000
--- a/packages/tokens/test_snapshots/non_fungible/test/transfer_from_incorrect_owner_fails.1.json
+++ /dev/null
@@ -1,350 +0,0 @@
-{
- "generators": {
- "address": 5,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Approval"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Approval"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "temporary",
- "val": {
- "map": [
- {
- "key": {
- "symbol": "approved"
- },
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- },
- {
- "key": {
- "symbol": "live_until_ledger"
- },
- "val": {
- "u32": 1000
- }
- }
- ]
- }
- }
- },
- "ext": "v0"
- },
- 1000
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "u32": 0
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "approve"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "u32": 0
- }
- ],
- "data": {
- "vec": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "u32": 1000
- }
- ]
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/test/transfer_from_nft_approved_works.1.json b/packages/tokens/test_snapshots/non_fungible/test/transfer_from_nft_approved_works.1.json
deleted file mode 100644
index 5fb03ac7..00000000
--- a/packages/tokens/test_snapshots/non_fungible/test/transfer_from_nft_approved_works.1.json
+++ /dev/null
@@ -1,400 +0,0 @@
-{
- "generators": {
- "address": 4,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ],
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TokenIdCounter"
- }
- ]
- },
- "val": {
- "u32": 1
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "u32": 0
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "approve"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "u32": 0
- }
- ],
- "data": {
- "vec": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "u32": 1000
- }
- ]
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "transfer"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- ],
- "data": {
- "u32": 0
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/test/transfer_from_nft_insufficient_approval_fails.1.json b/packages/tokens/test_snapshots/non_fungible/test/transfer_from_nft_insufficient_approval_fails.1.json
deleted file mode 100644
index 63d55933..00000000
--- a/packages/tokens/test_snapshots/non_fungible/test/transfer_from_nft_insufficient_approval_fails.1.json
+++ /dev/null
@@ -1,222 +0,0 @@
-{
- "generators": {
- "address": 4,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "u32": 0
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/test/transfer_from_nft_operator_works.1.json b/packages/tokens/test_snapshots/non_fungible/test/transfer_from_nft_operator_works.1.json
deleted file mode 100644
index aded8a23..00000000
--- a/packages/tokens/test_snapshots/non_fungible/test/transfer_from_nft_operator_works.1.json
+++ /dev/null
@@ -1,448 +0,0 @@
-{
- "generators": {
- "address": 4,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ],
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "ApprovalForAll"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "ApprovalForAll"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "temporary",
- "val": {
- "u32": 1000
- }
- }
- },
- "ext": "v0"
- },
- 1000
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TokenIdCounter"
- }
- ]
- },
- "val": {
- "u32": 1
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 5541220902715666415
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "u32": 0
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "approve_for_all"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "vec": [
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "u32": 1000
- }
- ]
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "transfer"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- }
- ],
- "data": {
- "u32": 0
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/test/transfer_from_nft_owner_works.1.json b/packages/tokens/test_snapshots/non_fungible/test/transfer_from_nft_owner_works.1.json
deleted file mode 100644
index cc0a94ba..00000000
--- a/packages/tokens/test_snapshots/non_fungible/test/transfer_from_nft_owner_works.1.json
+++ /dev/null
@@ -1,321 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TokenIdCounter"
- }
- ]
- },
- "val": {
- "u32": 1
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "u32": 0
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "transfer"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ],
- "data": {
- "u32": 0
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/test/transfer_from_unauthorized_spender_fails.1.json b/packages/tokens/test_snapshots/non_fungible/test/transfer_from_unauthorized_spender_fails.1.json
deleted file mode 100644
index 63d55933..00000000
--- a/packages/tokens/test_snapshots/non_fungible/test/transfer_from_unauthorized_spender_fails.1.json
+++ /dev/null
@@ -1,222 +0,0 @@
-{
- "generators": {
- "address": 4,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "u32": 0
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/test/transfer_nft_invalid_owner_fails.1.json b/packages/tokens/test_snapshots/non_fungible/test/transfer_nft_invalid_owner_fails.1.json
deleted file mode 100644
index c074747f..00000000
--- a/packages/tokens/test_snapshots/non_fungible/test/transfer_nft_invalid_owner_fails.1.json
+++ /dev/null
@@ -1,222 +0,0 @@
-{
- "generators": {
- "address": 4,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "u32": 0
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/test/transfer_nft_works.1.json b/packages/tokens/test_snapshots/non_fungible/test/transfer_nft_works.1.json
deleted file mode 100644
index cc0a94ba..00000000
--- a/packages/tokens/test_snapshots/non_fungible/test/transfer_nft_works.1.json
+++ /dev/null
@@ -1,321 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- [],
- [
- [
- "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- {
- "function": {
- "contract_fn": {
- "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "function_name": "",
- "args": []
- }
- },
- "sub_invocations": []
- }
- ]
- ]
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 1
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TokenIdCounter"
- }
- ]
- },
- "val": {
- "u32": 1
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4",
- "key": {
- "ledger_key_nonce": {
- "nonce": 801925984706572462
- }
- },
- "durability": "temporary",
- "val": "void"
- }
- },
- "ext": "v0"
- },
- 6311999
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "u32": 0
- }
- }
- }
- },
- "failed_call": false
- },
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "transfer"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ],
- "data": {
- "u32": 0
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/test/update_with_math_overflow_fails.1.json b/packages/tokens/test_snapshots/non_fungible/test/update_with_math_overflow_fails.1.json
deleted file mode 100644
index 066d2e94..00000000
--- a/packages/tokens/test_snapshots/non_fungible/test/update_with_math_overflow_fails.1.json
+++ /dev/null
@@ -1,234 +0,0 @@
-{
- "generators": {
- "address": 3,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 0
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Balance"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "u32": 4294967295
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": {
- "vec": [
- {
- "symbol": "Owner"
- },
- {
- "u32": 0
- }
- ]
- },
- "durability": "persistent",
- "val": {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- }
- },
- "ext": "v0"
- },
- 518400
- ]
- ],
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": [
- {
- "event": {
- "ext": "v0",
- "contract_id": "0000000000000000000000000000000000000000000000000000000000000001",
- "type_": "contract",
- "body": {
- "v0": {
- "topics": [
- {
- "symbol": "mint"
- },
- {
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- }
- ],
- "data": {
- "u32": 0
- }
- }
- }
- },
- "failed_call": false
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/utils/sequential/test/sequential_increment_token_id_fails_on_overflow.1.json b/packages/tokens/test_snapshots/non_fungible/utils/sequential/test/sequential_increment_token_id_fails_on_overflow.1.json
deleted file mode 100644
index 2d0a0a65..00000000
--- a/packages/tokens/test_snapshots/non_fungible/utils/sequential/test/sequential_increment_token_id_fails_on_overflow.1.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "generators": {
- "address": 1,
- "nonce": 0
- },
- "auth": [
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": null
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file
diff --git a/packages/tokens/test_snapshots/non_fungible/utils/sequential/test/sequential_token_id_counter_increments.1.json b/packages/tokens/test_snapshots/non_fungible/utils/sequential/test/sequential_token_id_counter_increments.1.json
deleted file mode 100644
index f0028eaa..00000000
--- a/packages/tokens/test_snapshots/non_fungible/utils/sequential/test/sequential_token_id_counter_increments.1.json
+++ /dev/null
@@ -1,89 +0,0 @@
-{
- "generators": {
- "address": 1,
- "nonce": 0
- },
- "auth": [
- [],
- []
- ],
- "ledger": {
- "protocol_version": 22,
- "sequence_number": 0,
- "timestamp": 0,
- "network_id": "0000000000000000000000000000000000000000000000000000000000000000",
- "base_reserve": 0,
- "min_persistent_entry_ttl": 4096,
- "min_temp_entry_ttl": 16,
- "max_entry_ttl": 6312000,
- "ledger_entries": [
- [
- {
- "contract_data": {
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_data": {
- "ext": "v0",
- "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
- "key": "ledger_key_contract_instance",
- "durability": "persistent",
- "val": {
- "contract_instance": {
- "executable": {
- "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "storage": [
- {
- "key": {
- "vec": [
- {
- "symbol": "TokenIdCounter"
- }
- ]
- },
- "val": {
- "u32": 15
- }
- }
- ]
- }
- }
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ],
- [
- {
- "contract_code": {
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- },
- [
- {
- "last_modified_ledger_seq": 0,
- "data": {
- "contract_code": {
- "ext": "v0",
- "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "code": ""
- }
- },
- "ext": "v0"
- },
- 4095
- ]
- ]
- ]
- },
- "events": []
-}
\ No newline at end of file