diff --git a/.github/workflows/basic.yml b/.github/workflows/basic.yml
index 03f35dc39..b7cf15682 100644
--- a/.github/workflows/basic.yml
+++ b/.github/workflows/basic.yml
@@ -8,7 +8,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
- rust-version: [1.72.0]
+ rust-version: [1.75.0]
steps:
- name: Checkout sources
uses: actions/checkout@v3
@@ -28,7 +28,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
- rust-version: [1.72.0]
+ rust-version: [1.75.0]
steps:
- name: Checkout sources
uses: actions/checkout@v3
@@ -48,7 +48,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
- rust-version: [1.72.0]
+ rust-version: [1.75.0]
steps:
- name: Checkout sources
uses: actions/checkout@v3
diff --git a/.github/workflows/codecov.yml b/.github/workflows/codecov.yml
index f3a84650c..01fbd503b 100644
--- a/.github/workflows/codecov.yml
+++ b/.github/workflows/codecov.yml
@@ -13,7 +13,7 @@ jobs:
runs-on: ubuntu-20.04
strategy:
matrix:
- rust-version: [1.72.0]
+ rust-version: [1.75.0]
steps:
- name: Checkout sources
uses: actions/checkout@v3
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index d0fcc0efd..31b315054 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -10,7 +10,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
- rust-version: [1.72.0]
+ rust-version: [1.75.0]
steps:
- name: Checkout sources
uses: actions/checkout@v3
diff --git a/.gitignore b/.gitignore
index 4cdce8968..29304db24 100644
--- a/.gitignore
+++ b/.gitignore
@@ -17,3 +17,5 @@ target/
/artifacts/
cobertura.xml
+
+**/test_snapshots
diff --git a/Cargo.lock b/Cargo.lock
index d0bc9b527..af67fc208 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -34,9 +34,9 @@ dependencies = [
[[package]]
name = "arbitrary"
-version = "1.3.0"
+version = "1.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2d098ff73c1ca148721f37baad5ea6a465a13f9573aba8641fbbbae8164a54e"
+checksum = "7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110"
dependencies = [
"derive_arbitrary",
]
@@ -82,9 +82,9 @@ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
[[package]]
name = "base64"
-version = "0.21.4"
+version = "0.21.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ba43ea6f343b788c8764558649e08df62f86c6ef251fdaeb1ffd010a9ae50a2"
+checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9"
[[package]]
name = "base64ct"
@@ -116,7 +116,7 @@ dependencies = [
"num-bigint",
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn",
]
[[package]]
@@ -144,26 +144,26 @@ dependencies = [
"iana-time-zone",
"num-traits",
"serde",
- "windows-targets",
+ "windows-targets 0.48.5",
]
[[package]]
name = "const-oid"
-version = "0.9.5"
+version = "0.9.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28c122c3980598d243d63d9a704629a2d748d101f278052ff068be5a4423ab6f"
+checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8"
[[package]]
name = "core-foundation-sys"
-version = "0.8.4"
+version = "0.8.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
+checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
[[package]]
name = "cpufeatures"
-version = "0.2.9"
+version = "0.2.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1"
+checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504"
dependencies = [
"libc",
]
@@ -181,9 +181,9 @@ dependencies = [
[[package]]
name = "crypto-bigint"
-version = "0.5.3"
+version = "0.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "740fe28e594155f10cfc383984cbefd529d7396050557148f79cb0f621204124"
+checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76"
dependencies = [
"generic-array",
"rand_core",
@@ -203,12 +203,12 @@ dependencies = [
[[package]]
name = "ctor"
-version = "0.2.5"
+version = "0.2.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "37e366bff8cd32dd8754b0991fb66b279dc48f598c3a18914852a6673deef583"
+checksum = "30d2b3721e861707777e3195b0158f950ae6dc4a27e4d02ff9f67e3eb3de199e"
dependencies = [
"quote",
- "syn 2.0.38",
+ "syn",
]
[[package]]
@@ -238,13 +238,13 @@ dependencies = [
[[package]]
name = "curve25519-dalek-derive"
-version = "0.1.0"
+version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "83fdaf97f4804dcebfa5862639bc9ce4121e82140bec2a987ac5140294865b5b"
+checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn",
]
[[package]]
@@ -268,7 +268,7 @@ dependencies = [
"proc-macro2",
"quote",
"strsim",
- "syn 2.0.38",
+ "syn",
]
[[package]]
@@ -279,7 +279,7 @@ checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5"
dependencies = [
"darling_core",
"quote",
- "syn 2.0.38",
+ "syn",
]
[[package]]
@@ -301,22 +301,23 @@ dependencies = [
[[package]]
name = "deranged"
-version = "0.3.8"
+version = "0.3.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f2696e8a945f658fd14dc3b87242e6b80cd0f36ff04ea560fa39082368847946"
+checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4"
dependencies = [
+ "powerfmt",
"serde",
]
[[package]]
name = "derive_arbitrary"
-version = "1.3.1"
+version = "1.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "53e0efad4403bfc52dc201159c4b842a246a14b98c64b55dfd0f2d89729dfeb8"
+checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn",
]
[[package]]
@@ -345,9 +346,9 @@ checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650"
[[package]]
name = "ecdsa"
-version = "0.16.8"
+version = "0.16.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4b1e0c257a9e9f25f90ff76d7a68360ed497ee519c8e428d1825ef0000799d4"
+checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca"
dependencies = [
"der",
"digest",
@@ -359,9 +360,9 @@ dependencies = [
[[package]]
name = "ed25519"
-version = "2.2.2"
+version = "2.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "60f6d271ca33075c88028be6f04d502853d63a5ece419d269c15315d4fc1cf1d"
+checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53"
dependencies = [
"pkcs8",
"signature",
@@ -389,9 +390,9 @@ checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
[[package]]
name = "elliptic-curve"
-version = "0.13.6"
+version = "0.13.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d97ca172ae9dc9f9b779a6e3a65d308f2af74e5b8c921299075bdb4a0370e914"
+checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47"
dependencies = [
"base16ct",
"crypto-bigint",
@@ -412,11 +413,17 @@ version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
+[[package]]
+name = "escape-bytes"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2bfcf67fea2815c2fc3b90873fae90957be12ff417335dfadc7f52927feb03b2"
+
[[package]]
name = "ethnum"
-version = "1.4.0"
+version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c8ff382b2fa527fb7fb06eeebfc5bbb3f17e3cc6b9d70b006c41daa8824adac"
+checksum = "b90ca2580b73ab6a1f724b76ca11ab632df820fd6040c336200d2c1df7b3c82c"
[[package]]
name = "ff"
@@ -430,9 +437,9 @@ dependencies = [
[[package]]
name = "fiat-crypto"
-version = "0.2.1"
+version = "0.2.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d0870c84016d4b481be5c9f323c24f65e31e901ae618f0e80f4308fb00de1d2d"
+checksum = "27573eac26f4dd11e2b1916c3fe1baa56407c83c71a773a8ba17ec0bca03b6b7"
[[package]]
name = "fnv"
@@ -453,9 +460,9 @@ dependencies = [
[[package]]
name = "getrandom"
-version = "0.2.10"
+version = "0.2.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
+checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f"
dependencies = [
"cfg-if",
"js-sys",
@@ -466,9 +473,9 @@ dependencies = [
[[package]]
name = "gimli"
-version = "0.28.0"
+version = "0.28.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0"
+checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253"
[[package]]
name = "group"
@@ -489,9 +496,9 @@ checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
[[package]]
name = "hashbrown"
-version = "0.14.1"
+version = "0.14.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7dfda62a12f55daeae5015f81b0baea145391cb4520f86c248fc615d72640d12"
+checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
[[package]]
name = "hex"
@@ -502,6 +509,12 @@ dependencies = [
"serde",
]
+[[package]]
+name = "hex-literal"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46"
+
[[package]]
name = "hmac"
version = "0.12.1"
@@ -513,16 +526,16 @@ dependencies = [
[[package]]
name = "iana-time-zone"
-version = "0.1.57"
+version = "0.1.59"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613"
+checksum = "b6a67363e2aa4443928ce15e57ebae94fd8949958fd1223c4cfc0cd473ad7539"
dependencies = [
"android_system_properties",
"core-foundation-sys",
"iana-time-zone-haiku",
"js-sys",
"wasm-bindgen",
- "windows",
+ "windows-core",
]
[[package]]
@@ -553,12 +566,12 @@ dependencies = [
[[package]]
name = "indexmap"
-version = "2.0.2"
+version = "2.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8adf3ddd720272c6ea8bf59463c04e0f93d0bbf7c5439b691bca2987e0270897"
+checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f"
dependencies = [
"equivalent",
- "hashbrown 0.14.1",
+ "hashbrown 0.14.3",
"serde",
]
@@ -570,24 +583,24 @@ checksum = "8e04e2fd2b8188ea827b32ef11de88377086d690286ab35747ef7f9bf3ccb590"
[[package]]
name = "itertools"
-version = "0.10.5"
+version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
+checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57"
dependencies = [
"either",
]
[[package]]
name = "itoa"
-version = "1.0.9"
+version = "1.0.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
+checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c"
[[package]]
name = "js-sys"
-version = "0.3.64"
+version = "0.3.66"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a"
+checksum = "cee9c64da59eae3b50095c18d3e74f8b73c0b86d2792824ff01bbce68ba229ca"
dependencies = [
"wasm-bindgen",
]
@@ -617,9 +630,9 @@ dependencies = [
[[package]]
name = "libc"
-version = "0.2.149"
+version = "0.2.152"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b"
+checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7"
[[package]]
name = "libm"
@@ -635,9 +648,9 @@ checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
[[package]]
name = "memchr"
-version = "2.6.4"
+version = "2.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167"
+checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
[[package]]
name = "miniz_oxide"
@@ -667,7 +680,7 @@ checksum = "cfb77679af88f8b125209d354a202862602672222e7f2313fdd6dc349bad4712"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn",
]
[[package]]
@@ -691,18 +704,18 @@ dependencies = [
[[package]]
name = "object"
-version = "0.32.1"
+version = "0.32.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0"
+checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441"
dependencies = [
"memchr",
]
[[package]]
name = "once_cell"
-version = "1.18.0"
+version = "1.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
+checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
[[package]]
name = "paste"
@@ -780,9 +793,15 @@ dependencies = [
[[package]]
name = "platforms"
-version = "3.1.2"
+version = "3.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4503fa043bf02cee09a9582e9554b4c6403b2ef55e4612e96561d294419429f8"
+checksum = "626dec3cac7cc0e1577a2ec3fc496277ec2baa084bebad95bb6fdbfae235f84c"
+
+[[package]]
+name = "powerfmt"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
[[package]]
name = "ppv-lite86"
@@ -807,31 +826,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ae005bd773ab59b4725093fd7df83fd7892f7d8eafb48dbd7de6e024e4215f9d"
dependencies = [
"proc-macro2",
- "syn 2.0.38",
-]
-
-[[package]]
-name = "proc-macro-error"
-version = "1.0.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
-dependencies = [
- "proc-macro-error-attr",
- "proc-macro2",
- "quote",
- "syn 1.0.109",
- "version_check",
-]
-
-[[package]]
-name = "proc-macro-error-attr"
-version = "1.0.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
-dependencies = [
- "proc-macro2",
- "quote",
- "version_check",
+ "syn",
]
[[package]]
@@ -909,9 +904,9 @@ dependencies = [
[[package]]
name = "ryu"
-version = "1.0.15"
+version = "1.0.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
+checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c"
[[package]]
name = "sec1"
@@ -929,35 +924,35 @@ dependencies = [
[[package]]
name = "semver"
-version = "1.0.20"
+version = "1.0.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090"
+checksum = "b97ed7a9823b74f99c7742f5336af7be5ecd3eeafcb1507d1fa93347b1d589b0"
[[package]]
name = "serde"
-version = "1.0.188"
+version = "1.0.192"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e"
+checksum = "bca2a08484b285dcb282d0f67b26cadc0df8b19f8c12502c13d966bf9482f001"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
-version = "1.0.188"
+version = "1.0.192"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2"
+checksum = "d6c7207fbec9faa48073f3e3074cbe553af6ea512d7c21ba46e434e70ea9fbc1"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn",
]
[[package]]
name = "serde_json"
-version = "1.0.107"
+version = "1.0.108"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6b420ce6e3d8bd882e9b243c6eed35dbc9a6110c9769e74b584e0d68d1f20c65"
+checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b"
dependencies = [
"itoa",
"ryu",
@@ -966,15 +961,15 @@ dependencies = [
[[package]]
name = "serde_with"
-version = "3.3.0"
+version = "3.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ca3b16a3d82c4088f343b7480a93550b3eabe1a358569c2dfe38bbcead07237"
+checksum = "64cd236ccc1b7a29e7e2739f27c0b2dd199804abc4290e32f59f3b68d6405c23"
dependencies = [
- "base64 0.21.4",
+ "base64 0.21.5",
"chrono",
"hex",
"indexmap 1.9.3",
- "indexmap 2.0.2",
+ "indexmap 2.1.0",
"serde",
"serde_json",
"serde_with_macros",
@@ -983,14 +978,14 @@ dependencies = [
[[package]]
name = "serde_with_macros"
-version = "3.3.0"
+version = "3.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2e6be15c453eb305019bfa438b1593c731f36a289a7853f7707ee29e870b3b3c"
+checksum = "93634eb5f75a2323b16de4748022ac4297f9e76b6dced2be287a099f41b5e788"
dependencies = [
"darling",
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn",
]
[[package]]
@@ -1016,9 +1011,9 @@ dependencies = [
[[package]]
name = "signature"
-version = "2.1.0"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5e1788eed21689f9cf370582dfc467ef36ed9c707f073528ddafa8d83e3b8500"
+checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de"
dependencies = [
"digest",
"rand_core",
@@ -1026,15 +1021,27 @@ dependencies = [
[[package]]
name = "smallvec"
-version = "1.11.1"
+version = "1.11.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a"
+checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970"
+
+[[package]]
+name = "soroban-builtin-sdk-macros"
+version = "20.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a10c4f54b2f546429395dc76b7cca7d89f49a920bfa39834998fc89ad2ac0c8d"
+dependencies = [
+ "itertools",
+ "proc-macro2",
+ "quote",
+ "syn",
+]
[[package]]
name = "soroban-env-common"
-version = "20.0.0-rc2"
+version = "20.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c2508a41765935d3bef43b2264667c4603725cf7ddd851321f1dc2b3bca8bb88"
+checksum = "803553ca3023ed9fe53b4cdac9f0603da4ef967823bd58b52ea24d73639e1996"
dependencies = [
"arbitrary",
"crate-git-revision",
@@ -1050,9 +1057,9 @@ dependencies = [
[[package]]
name = "soroban-env-guest"
-version = "20.0.0-rc2"
+version = "20.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b41f1b3ebb747487ff9920822112a5816030e053734ed63c05f1a7db476f2768"
+checksum = "06b756e50b27df7ed8722f8709833fe88a8ced5e1499e81cfc379d74c8330a93"
dependencies = [
"soroban-env-common",
"static_assertions",
@@ -1060,13 +1067,16 @@ dependencies = [
[[package]]
name = "soroban-env-host"
-version = "20.0.0-rc2"
+version = "20.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "347fc729270de2fc8e312ba1872ef90fdc8dfcd0dacdd07a3bb7a038c41ea6d6"
+checksum = "80edcbfca555940b538349bdf4c19b96c1845b7a160d22e528e9096a33c4eb7e"
dependencies = [
"backtrace",
+ "curve25519-dalek",
"ed25519-dalek",
"getrandom",
+ "hex-literal",
+ "hmac",
"k256",
"num-derive",
"num-integer",
@@ -1075,8 +1085,8 @@ dependencies = [
"rand_chacha",
"sha2",
"sha3",
+ "soroban-builtin-sdk-macros",
"soroban-env-common",
- "soroban-native-sdk-macros",
"soroban-wasmi",
"static_assertions",
"stellar-strkey",
@@ -1084,9 +1094,9 @@ dependencies = [
[[package]]
name = "soroban-env-macros"
-version = "20.0.0-rc2"
+version = "20.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f16b7a75d77ae47143a07f92a35661c21e965f63bb4362d8491188a993687745"
+checksum = "f7a4be3a2737115035b062be921a86ba78374937e4b0918071c7ea4c531240bb"
dependencies = [
"itertools",
"proc-macro2",
@@ -1094,45 +1104,36 @@ dependencies = [
"serde",
"serde_json",
"stellar-xdr",
- "syn 2.0.38",
+ "syn",
]
[[package]]
name = "soroban-ledger-snapshot"
-version = "20.0.0-rc2"
+version = "20.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d202c5870aeec1cb97bfd06a94b8fe691c513ba6da8638deb07d8660e90056ba"
+checksum = "900b090cdcd3e81bdb8b6a1712e3b53ae682ca0653c27e1cbddff585e13f0a52"
dependencies = [
"serde",
"serde_json",
+ "serde_with",
"soroban-env-common",
"soroban-env-host",
"thiserror",
]
-[[package]]
-name = "soroban-native-sdk-macros"
-version = "20.0.0-rc2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fe8cf96e5c9308347bc6fa0735d0591475a20b43ed00f96ad2df623bbe9c1e88"
-dependencies = [
- "itertools",
- "proc-macro2",
- "quote",
- "syn 2.0.38",
-]
-
[[package]]
name = "soroban-sdk"
-version = "20.0.0-rc2"
+version = "20.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d771d43a66ba0df14ff28ac1b37a6568da00afa12f28273a67fe92853ab28f8"
+checksum = "2b20b89f388b28eedce486b81edf9b5c4f852bc09a592ebe6ebceda6e2a82a2b"
dependencies = [
"arbitrary",
"bytes-lit",
"ctor",
"ed25519-dalek",
"rand",
+ "serde",
+ "serde_json",
"soroban-env-guest",
"soroban-env-host",
"soroban-ledger-snapshot",
@@ -1142,9 +1143,9 @@ dependencies = [
[[package]]
name = "soroban-sdk-macros"
-version = "20.0.0-rc2"
+version = "20.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bf5a6dd2e08217fdd75f3f849256dda2614badda9095df233a47c7c8f9783493"
+checksum = "d5b36fa6f88360bb9092378056cd860d9a8702027306fbfde701a8040f440531"
dependencies = [
"crate-git-revision",
"darling",
@@ -1157,14 +1158,14 @@ dependencies = [
"soroban-spec",
"soroban-spec-rust",
"stellar-xdr",
- "syn 2.0.38",
+ "syn",
]
[[package]]
name = "soroban-spec"
-version = "20.0.0-rc2"
+version = "20.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7e2a55aab81d7cd1df66f85de3d815fb08fc5fa412270dc374e031e27528c711"
+checksum = "315e7d51ff27ff8044f251c55ed3b21f62c13b220f95382584822637d026f7bd"
dependencies = [
"base64 0.13.1",
"stellar-xdr",
@@ -1174,9 +1175,9 @@ dependencies = [
[[package]]
name = "soroban-spec-rust"
-version = "20.0.0-rc2"
+version = "20.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1bcfa549d3362e6eafa3a51ad29d571f3dbae2cb9fe33d9f94c00a9f742f71df"
+checksum = "0744c5b6011bfc5f933e26662ff874e75b8d8453c5d54c52d1ffe70db7a01788"
dependencies = [
"prettyplease",
"proc-macro2",
@@ -1184,7 +1185,7 @@ dependencies = [
"sha2",
"soroban-spec",
"stellar-xdr",
- "syn 2.0.38",
+ "syn",
"thiserror",
]
@@ -1192,25 +1193,24 @@ dependencies = [
name = "soroban-token-contract"
version = "0.0.6"
dependencies = [
- "pretty_assertions",
"soroban-sdk",
"soroban-token-sdk",
]
[[package]]
name = "soroban-token-sdk"
-version = "20.0.0-rc2"
+version = "20.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7294182d2197ac4da58163ca8f9c2e4df2045e5b81752928d82da9289ef366ee"
+checksum = "23f745e0a5a3331349736d1b448129e41c85ccd50ba66bc4f5b22ff467a8a70b"
dependencies = [
"soroban-sdk",
]
[[package]]
name = "soroban-wasmi"
-version = "0.31.0-soroban1"
+version = "0.31.1-soroban.20.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b6e3e79c1f227ec98ea1e8fbf43d0267b9ca748616c9c8c0162fa2a8ca4d5d2"
+checksum = "c1aaa682a67cbd2173f1d60cb1e7b951d490d7c4e0b7b6f5387cbb952e963c46"
dependencies = [
"smallvec",
"spin",
@@ -1227,9 +1227,9 @@ checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
[[package]]
name = "spki"
-version = "0.7.2"
+version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d1e996ef02c474957d681f1b05213dfb0abab947b446a62d37770b23500184a"
+checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d"
dependencies = [
"base64ct",
"der",
@@ -1243,26 +1243,29 @@ checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
[[package]]
name = "stellar-strkey"
-version = "0.0.7"
+version = "0.0.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c0689070126ca7f2effc2c5726584446db52190f0cef043c02eb4040a711c11"
+checksum = "12d2bf45e114117ea91d820a846fd1afbe3ba7d717988fee094ce8227a3bf8bd"
dependencies = [
"base32",
+ "crate-git-revision",
"thiserror",
]
[[package]]
name = "stellar-xdr"
-version = "20.0.0-rc1"
+version = "20.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e09a3734914a7427dbcd4f06b6dcd2b1cf38e934202f6abe4d73658f718b6113"
+checksum = "e9f00a85bd9b1617d4cb7e741733889c9940e6bdeca360db81752b0ef04fe3a5"
dependencies = [
"arbitrary",
"base64 0.13.1",
"crate-git-revision",
+ "escape-bytes",
"hex",
"serde",
"serde_with",
+ "stellar-strkey",
]
[[package]]
@@ -1279,19 +1282,9 @@ checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc"
[[package]]
name = "syn"
-version = "1.0.109"
+version = "2.0.39"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
-dependencies = [
- "proc-macro2",
- "unicode-ident",
-]
-
-[[package]]
-name = "syn"
-version = "2.0.38"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408b"
+checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a"
dependencies = [
"proc-macro2",
"quote",
@@ -1309,58 +1302,57 @@ dependencies = [
[[package]]
name = "test-case-core"
-version = "3.2.1"
+version = "3.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "54c25e2cb8f5fcd7318157634e8838aa6f7e4715c96637f969fabaccd1ef5462"
+checksum = "adcb7fd841cd518e279be3d5a3eb0636409487998a4aff22f3de87b81e88384f"
dependencies = [
"cfg-if",
- "proc-macro-error",
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn",
]
[[package]]
name = "test-case-macros"
-version = "3.2.1"
+version = "3.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "37cfd7bbc88a0104e304229fba519bdc45501a30b760fb72240342f1289ad257"
+checksum = "5c89e72a01ed4c579669add59014b9a524d609c0c88c6a585ce37485879f6ffb"
dependencies = [
- "proc-macro-error",
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn",
"test-case-core",
]
[[package]]
name = "thiserror"
-version = "1.0.49"
+version = "1.0.55"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1177e8c6d7ede7afde3585fd2513e611227efd6481bd78d2e82ba1ce16557ed4"
+checksum = "6e3de26b0965292219b4287ff031fcba86837900fe9cd2b34ea8ad893c0953d2"
dependencies = [
"thiserror-impl",
]
[[package]]
name = "thiserror-impl"
-version = "1.0.49"
+version = "1.0.55"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "10712f02019e9288794769fba95cd6847df9874d49d871d062172f9dd41bc4cc"
+checksum = "268026685b2be38d7103e9e507c938a1fcb3d7e6eb15e87870b617bf37b6d581"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn",
]
[[package]]
name = "time"
-version = "0.3.29"
+version = "0.3.31"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "426f806f4089c493dcac0d24c29c01e2c38baf8e30f1b716ee37e83d200b18fe"
+checksum = "f657ba42c3f86e7680e53c8cd3af8abbe56b5491790b46e22e19c0d57463583e"
dependencies = [
"deranged",
"itoa",
+ "powerfmt",
"serde",
"time-core",
"time-macros",
@@ -1374,9 +1366,9 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
[[package]]
name = "time-macros"
-version = "0.2.15"
+version = "0.2.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20"
+checksum = "26197e33420244aeb70c3e8c78376ca46571bc4e701e4791c2cd9f57dcb3a43f"
dependencies = [
"time-core",
]
@@ -1407,9 +1399,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
[[package]]
name = "wasm-bindgen"
-version = "0.2.87"
+version = "0.2.89"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342"
+checksum = "0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e"
dependencies = [
"cfg-if",
"wasm-bindgen-macro",
@@ -1417,24 +1409,24 @@ dependencies = [
[[package]]
name = "wasm-bindgen-backend"
-version = "0.2.87"
+version = "0.2.89"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd"
+checksum = "1b56f625e64f3a1084ded111c4d5f477df9f8c92df113852fa5a374dbda78826"
dependencies = [
"bumpalo",
"log",
"once_cell",
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn",
"wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-macro"
-version = "0.2.87"
+version = "0.2.89"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d"
+checksum = "0162dbf37223cd2afce98f3d0785506dcb8d266223983e4b5b525859e6e182b2"
dependencies = [
"quote",
"wasm-bindgen-macro-support",
@@ -1442,22 +1434,22 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro-support"
-version = "0.2.87"
+version = "0.2.89"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
+checksum = "f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn",
"wasm-bindgen-backend",
"wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-shared"
-version = "0.2.87"
+version = "0.2.89"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1"
+checksum = "7ab9b36309365056cd639da3134bf87fa8f3d86008abf99e612384a6eecd459f"
[[package]]
name = "wasmi_arena"
@@ -1496,12 +1488,12 @@ dependencies = [
]
[[package]]
-name = "windows"
-version = "0.48.0"
+name = "windows-core"
+version = "0.52.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f"
+checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
dependencies = [
- "windows-targets",
+ "windows-targets 0.52.0",
]
[[package]]
@@ -1510,13 +1502,28 @@ version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
dependencies = [
- "windows_aarch64_gnullvm",
- "windows_aarch64_msvc",
- "windows_i686_gnu",
- "windows_i686_msvc",
- "windows_x86_64_gnu",
- "windows_x86_64_gnullvm",
- "windows_x86_64_msvc",
+ "windows_aarch64_gnullvm 0.48.5",
+ "windows_aarch64_msvc 0.48.5",
+ "windows_i686_gnu 0.48.5",
+ "windows_i686_msvc 0.48.5",
+ "windows_x86_64_gnu 0.48.5",
+ "windows_x86_64_gnullvm 0.48.5",
+ "windows_x86_64_msvc 0.48.5",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"
+dependencies = [
+ "windows_aarch64_gnullvm 0.52.0",
+ "windows_aarch64_msvc 0.52.0",
+ "windows_i686_gnu 0.52.0",
+ "windows_i686_msvc 0.52.0",
+ "windows_x86_64_gnu 0.52.0",
+ "windows_x86_64_gnullvm 0.52.0",
+ "windows_x86_64_msvc 0.52.0",
]
[[package]]
@@ -1525,42 +1532,84 @@ version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
+
[[package]]
name = "windows_aarch64_msvc"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
+
[[package]]
name = "windows_i686_gnu"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
+[[package]]
+name = "windows_i686_gnu"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"
+
[[package]]
name = "windows_i686_msvc"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
+[[package]]
+name = "windows_i686_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"
+
[[package]]
name = "windows_x86_64_gnu"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
+
[[package]]
name = "windows_x86_64_gnullvm"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
+
[[package]]
name = "windows_x86_64_msvc"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
+
[[package]]
name = "yansi"
version = "0.5.1"
@@ -1569,6 +1618,6 @@ checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec"
[[package]]
name = "zeroize"
-version = "1.6.0"
+version = "1.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9"
+checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d"
diff --git a/Cargo.toml b/Cargo.toml
index 2a94bce34..629167a82 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -13,8 +13,8 @@ curve = { path = "./packages/curve"}
decimal = { path = "./packages/decimal"}
phoenix = { path = "./packages/phoenix"}
num-integer = { version = "0.1.45", default-features = false, features = ["i128"] }
-soroban-sdk = "20.0.0-rc2"
-soroban-token-sdk = "20.0.0-rc2"
+soroban-sdk = "20.0.3"
+soroban-token-sdk = "20.0.3"
test-case = "3.1"
pretty_assertions = "1.4.0"
diff --git a/contracts/factory/src/contract.rs b/contracts/factory/src/contract.rs
index d7ccfb47e..7039a6d0d 100644
--- a/contracts/factory/src/contract.rs
+++ b/contracts/factory/src/contract.rs
@@ -197,7 +197,7 @@ fn validate_token_info(
#[cfg(test)]
mod tests {
use super::*;
- use soroban_sdk::BytesN;
+ use soroban_sdk::{BytesN, String};
#[test]
#[should_panic(
@@ -206,14 +206,17 @@ mod tests {
fn validate_token_info_should_fail_on_token_a_less_than_token_b() {
let env = Env::default();
- let contract1 = BytesN::from_array(&env, &[1u8; 0x20]);
- let contract2 = BytesN::from_array(&env, &[0u8; 0x20]);
-
let token_wasm_hash = BytesN::from_array(&env, &[8u8; 0x20]);
let stake_wasm_hash = BytesN::from_array(&env, &[15u8; 0x20]);
- let token_a = Address::from_contract_id(&contract1);
- let token_b = Address::from_contract_id(&contract2);
+ let token_a = Address::from_string(&String::from_str(
+ &env,
+ "CBGJMPOZ573XUTIRRFWGWTGSIAOGKJRVMIKBTFYEWTEIU7AEDWKDYMUX",
+ ));
+ let token_b = Address::from_string(&String::from_str(
+ &env,
+ "CAOUDQCLN3BYHH4L7GSH3OSQJFVELHKOEVKOPBENVIGZ6WZ5ZRHFC5LN",
+ ));
let token_init_info = TokenInitInfo {
token_a,
@@ -237,14 +240,17 @@ mod tests {
fn validate_token_info_should_fail_on_min_bond_less_than_zero() {
let env = Env::default();
- let contract1 = BytesN::from_array(&env, &[0u8; 0x20]);
- let contract2 = BytesN::from_array(&env, &[1u8; 0x20]);
-
let token_wasm_hash = BytesN::from_array(&env, &[8u8; 0x20]);
let stake_wasm_hash = BytesN::from_array(&env, &[15u8; 0x20]);
- let token_a = Address::from_contract_id(&contract1);
- let token_b = Address::from_contract_id(&contract2);
+ let token_a = Address::from_string(&String::from_str(
+ &env,
+ "CAOUDQCLN3BYHH4L7GSH3OSQJFVELHKOEVKOPBENVIGZ6WZ5ZRHFC5LN",
+ ));
+ let token_b = Address::from_string(&String::from_str(
+ &env,
+ "CBGJMPOZ573XUTIRRFWGWTGSIAOGKJRVMIKBTFYEWTEIU7AEDWKDYMUX",
+ ));
let token_init_info = TokenInitInfo {
token_a,
@@ -267,14 +273,17 @@ mod tests {
fn validate_token_info_should_fail_on_min_reward_less_than_zero() {
let env = Env::default();
- let contract1 = BytesN::from_array(&env, &[0u8; 0x20]);
- let contract2 = BytesN::from_array(&env, &[1u8; 0x20]);
-
let token_wasm_hash = BytesN::from_array(&env, &[8u8; 0x20]);
let stake_wasm_hash = BytesN::from_array(&env, &[15u8; 0x20]);
- let token_a = Address::from_contract_id(&contract1);
- let token_b = Address::from_contract_id(&contract2);
+ let token_a = Address::from_string(&String::from_str(
+ &env,
+ "CAOUDQCLN3BYHH4L7GSH3OSQJFVELHKOEVKOPBENVIGZ6WZ5ZRHFC5LN",
+ ));
+ let token_b = Address::from_string(&String::from_str(
+ &env,
+ "CBGJMPOZ573XUTIRRFWGWTGSIAOGKJRVMIKBTFYEWTEIU7AEDWKDYMUX",
+ ));
let token_init_info = TokenInitInfo {
token_a,
diff --git a/contracts/factory/src/storage.rs b/contracts/factory/src/storage.rs
index 09b0f458c..f1b8e86fa 100644
--- a/contracts/factory/src/storage.rs
+++ b/contracts/factory/src/storage.rs
@@ -105,24 +105,3 @@ pub fn is_initialized(e: &Env) -> bool {
pub fn set_initialized(e: &Env) {
e.storage().persistent().set(&DataKey::Initialized, &true);
}
-
-#[cfg(test)]
-mod tests {
- use super::*;
-
- #[test]
- #[should_panic(expected = "HostError: Error(Context, MissingValue)")]
- fn test_get_admin_should_panic_when_no_admin_saved() {
- let env = Env::default();
-
- get_config(&env);
- }
-
- #[test]
- #[should_panic(expected = "HostError: Error(Context, MissingValue)")]
- fn test_get_lp_vec_should_panic_when_no_vec_saved() {
- let env = Env::default();
-
- get_lp_vec(&env);
- }
-}
diff --git a/contracts/factory/src/tests.rs b/contracts/factory/src/tests.rs
index adddf50eb..42343fa3a 100644
--- a/contracts/factory/src/tests.rs
+++ b/contracts/factory/src/tests.rs
@@ -1,5 +1,5 @@
use crate::contract::{Factory, FactoryClient};
-use soroban_sdk::{testutils::Address as _, Address, Env};
+use soroban_sdk::{Address, Env, String};
use self::setup::install_multihop_wasm;
@@ -14,7 +14,10 @@ fn test_deploy_factory_twice_should_fail() {
env.mock_all_auths();
env.budget().reset_unlimited();
- let admin = Address::random(&env);
+ let admin = Address::from_string(&String::from_str(
+ &env,
+ "CBT4WEAHQ72AYRD7WZFNYE6HGZEIX25754NG37LBLXTTRMWKQNKIUR6O",
+ ));
let multihop = FactoryClient::new(&env, &env.register_contract(None, Factory {}));
let multihop_wasm_hash = install_multihop_wasm(&env);
diff --git a/contracts/factory/src/tests/config.rs b/contracts/factory/src/tests/config.rs
index d9a1a3f01..aa192f8f1 100644
--- a/contracts/factory/src/tests/config.rs
+++ b/contracts/factory/src/tests/config.rs
@@ -4,14 +4,16 @@ use super::setup::{
};
use phoenix::utils::{LiquidityPoolInitInfo, StakeInitInfo, TokenInitInfo};
-use soroban_sdk::arbitrary::std;
-use soroban_sdk::{testutils::Address as _, Address, Env};
+use soroban_sdk::{testutils::arbitrary::std, Address, Env, String};
use soroban_sdk::{Symbol, Vec};
#[test]
fn factory_successfully_inits_itself() {
let env = Env::default();
- let admin = Address::random(&env);
+ let admin = Address::from_string(&String::from_str(
+ &env,
+ "CBT4WEAHQ72AYRD7WZFNYE6HGZEIX25754NG37LBLXTTRMWKQNKIUR6O",
+ ));
let factory = deploy_factory_contract(&env, Some(admin.clone()));
@@ -23,7 +25,10 @@ fn factory_successfully_inits_multihop() {
let env = Env::default();
env.mock_all_auths();
- let admin = Address::random(&env);
+ let admin = Address::from_string(&String::from_str(
+ &env,
+ "CBT4WEAHQ72AYRD7WZFNYE6HGZEIX25754NG37LBLXTTRMWKQNKIUR6O",
+ ));
let factory = deploy_factory_contract(&env, Some(admin.clone()));
@@ -38,13 +43,31 @@ fn factory_successfully_inits_multihop() {
#[test]
fn factory_successfully_inits_lp() {
let env = Env::default();
- let admin = Address::random(&env);
- let mut token1_admin = Address::random(&env);
- let mut token2_admin = Address::random(&env);
- let user = Address::random(&env);
-
- let mut token1 = Address::random(&env);
- let mut token2 = Address::random(&env);
+ let admin = Address::from_string(&String::from_str(
+ &env,
+ "CBT4WEAHQ72AYRD7WZFNYE6HGZEIX25754NG37LBLXTTRMWKQNKIUR6O",
+ ));
+ let mut token1_admin = Address::from_string(&String::from_str(
+ &env,
+ "CDJ4KQHEFNC5GBCRBKGIDGNLVVXORIDHXU5EYFQIXMDPJ3ACJVPXUOFY",
+ ));
+ let mut token2_admin = Address::from_string(&String::from_str(
+ &env,
+ "CC6TPVKWO2ZHGIMAIBPKE3RA74TGPCD6637FAT5NS3UCFDQ7OHMIIG6I",
+ ));
+ let user = Address::from_string(&String::from_str(
+ &env,
+ "CDUK25UHLE7LUDQZ4UTTNWMXABJHW76Q74SKOK6BMWGKDHIJ6MIBOK6N",
+ ));
+
+ let mut token1 = Address::from_string(&String::from_str(
+ &env,
+ "GCHM6Y4BYTUJZQ4KABLTC73IWDZNFBZ2NML5W4AQG7XAJEOMLF5I774H",
+ ));
+ let mut token2 = Address::from_string(&String::from_str(
+ &env,
+ "CBGJMPOZ573XUTIRRFWGWTGSIAOGKJRVMIKBTFYEWTEIU7AEDWKDYMUX",
+ ));
env.mock_all_auths();
env.budget().reset_unlimited();
diff --git a/contracts/factory/src/tests/queries.rs b/contracts/factory/src/tests/queries.rs
index 97869cf41..5e23eeab4 100644
--- a/contracts/factory/src/tests/queries.rs
+++ b/contracts/factory/src/tests/queries.rs
@@ -3,8 +3,7 @@ use super::setup::{
};
use phoenix::utils::{LiquidityPoolInitInfo, StakeInitInfo, TokenInitInfo};
-use soroban_sdk::arbitrary::std;
-use soroban_sdk::{contracttype, testutils::Address as _, Address, Env, Symbol, Vec};
+use soroban_sdk::{contracttype, testutils::arbitrary::std, Address, Env, String, Symbol, Vec};
#[contracttype]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
@@ -34,15 +33,39 @@ pub struct LiquidityPoolConfig {
#[test]
fn test_deploy_multiple_liquidity_pools() {
let env = Env::default();
- let admin = Address::random(&env);
- let user = Address::random(&env);
-
- let mut token1 = Address::random(&env);
- let mut token2 = Address::random(&env);
- let mut token3 = Address::random(&env);
- let mut token4 = Address::random(&env);
- let mut token5 = Address::random(&env);
- let mut token6 = Address::random(&env);
+ let admin = Address::from_string(&String::from_str(
+ &env,
+ "CBT4WEAHQ72AYRD7WZFNYE6HGZEIX25754NG37LBLXTTRMWKQNKIUR6O",
+ ));
+ let user = Address::from_string(&String::from_str(
+ &env,
+ "CDUK25UHLE7LUDQZ4UTTNWMXABJHW76Q74SKOK6BMWGKDHIJ6MIBOK6N",
+ ));
+
+ let mut token1 = Address::from_string(&String::from_str(
+ &env,
+ "GCHM6Y4BYTUJZQ4KABLTC73IWDZNFBZ2NML5W4AQG7XAJEOMLF5I774H",
+ ));
+ let mut token2 = Address::from_string(&String::from_str(
+ &env,
+ "CBGJMPOZ573XUTIRRFWGWTGSIAOGKJRVMIKBTFYEWTEIU7AEDWKDYMUX",
+ ));
+ let mut token3 = Address::from_string(&String::from_str(
+ &env,
+ "CDWLHFNUQ2CM5WJKIFGEMY5LMXPARVKHD5FJONZTCPXKEYPCUT5PW2L2",
+ ));
+ let mut token4 = Address::from_string(&String::from_str(
+ &env,
+ "CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC",
+ ));
+ let mut token5 = Address::from_string(&String::from_str(
+ &env,
+ "CC4W4EIZMCCUG2R5FHQGQDSBZY6S2V2CIIJQZ5XBXCKUVVSBR7HC6267",
+ ));
+ let mut token6 = Address::from_string(&String::from_str(
+ &env,
+ "CCIEUAD63OGWJ3FKBI5SZG7HZ34PPYF4RCPWVB5SOP6G7FBBNAVPYHKW",
+ ));
env.mock_all_auths();
env.budget().reset_unlimited();
@@ -228,18 +251,41 @@ fn test_deploy_multiple_liquidity_pools() {
}
#[test]
-#[should_panic(expected = "Factory: query_for_pool_by_token_pair failed: No liquidity pool found")]
fn test_queries_by_tuple() {
let env = Env::default();
- let admin = Address::random(&env);
- let user = Address::random(&env);
-
- let mut token1 = Address::random(&env);
- let mut token2 = Address::random(&env);
- let mut token3 = Address::random(&env);
- let mut token4 = Address::random(&env);
- let mut token5 = Address::random(&env);
- let mut token6 = Address::random(&env);
+ let admin = Address::from_string(&String::from_str(
+ &env,
+ "CBT4WEAHQ72AYRD7WZFNYE6HGZEIX25754NG37LBLXTTRMWKQNKIUR6O",
+ ));
+ let user = Address::from_string(&String::from_str(
+ &env,
+ "CDUK25UHLE7LUDQZ4UTTNWMXABJHW76Q74SKOK6BMWGKDHIJ6MIBOK6N",
+ ));
+
+ let mut token1 = Address::from_string(&String::from_str(
+ &env,
+ "GCHM6Y4BYTUJZQ4KABLTC73IWDZNFBZ2NML5W4AQG7XAJEOMLF5I774H",
+ ));
+ let mut token2 = Address::from_string(&String::from_str(
+ &env,
+ "CBGJMPOZ573XUTIRRFWGWTGSIAOGKJRVMIKBTFYEWTEIU7AEDWKDYMUX",
+ ));
+ let mut token3 = Address::from_string(&String::from_str(
+ &env,
+ "CDWLHFNUQ2CM5WJKIFGEMY5LMXPARVKHD5FJONZTCPXKEYPCUT5PW2L2",
+ ));
+ let mut token4 = Address::from_string(&String::from_str(
+ &env,
+ "CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC",
+ ));
+ let mut token5 = Address::from_string(&String::from_str(
+ &env,
+ "CC4W4EIZMCCUG2R5FHQGQDSBZY6S2V2CIIJQZ5XBXCKUVVSBR7HC6267",
+ ));
+ let mut token6 = Address::from_string(&String::from_str(
+ &env,
+ "CCIEUAD63OGWJ3FKBI5SZG7HZ34PPYF4RCPWVB5SOP6G7FBBNAVPYHKW",
+ ));
env.mock_all_auths();
env.budget().reset_unlimited();
@@ -377,6 +423,26 @@ fn test_queries_by_tuple() {
assert_eq!(first_lp_address_by_tuple, lp_contract_addr);
assert_eq!(second_lp_address_by_tuple, second_lp_contract_addr);
assert_eq!(third_lp_address_by_tuple, third_lp_contract_addr);
+}
+
+#[test]
+#[should_panic(expected = "Factory: query_for_pool_by_token_pair failed: No liquidity pool found")]
+fn test_queries_by_tuple_errors() {
+ let env = Env::default();
+ let admin = Address::from_string(&String::from_str(
+ &env,
+ "CBT4WEAHQ72AYRD7WZFNYE6HGZEIX25754NG37LBLXTTRMWKQNKIUR6O",
+ ));
+ let factory = deploy_factory_contract(&env, Some(admin.clone()));
- factory.query_for_pool_by_token_pair(&Address::random(&env), &Address::random(&env));
+ factory.query_for_pool_by_token_pair(
+ &Address::from_string(&String::from_str(
+ &env,
+ "CDUK25UHLE7LUDQZ4UTTNWMXABJHW76Q74SKOK6BMWGKDHIJ6MIBOK6N",
+ )),
+ &Address::from_string(&String::from_str(
+ &env,
+ "CBT4WEAHQ72AYRD7WZFNYE6HGZEIX25754NG37LBLXTTRMWKQNKIUR6O",
+ )),
+ );
}
diff --git a/contracts/factory/src/tests/setup.rs b/contracts/factory/src/tests/setup.rs
index 983883f4e..3abbdd43d 100644
--- a/contracts/factory/src/tests/setup.rs
+++ b/contracts/factory/src/tests/setup.rs
@@ -1,6 +1,7 @@
use crate::contract::{Factory, FactoryClient};
-use soroban_sdk::testutils::Address as _;
-use soroban_sdk::{Address, BytesN, Env};
+
+use soroban_sdk::{Address, BytesN, Env, String};
+
#[allow(clippy::too_many_arguments)]
pub mod lp_contract {
soroban_sdk::contractimport!(
@@ -37,7 +38,12 @@ pub fn deploy_factory_contract<'a>(
env: &Env,
admin: impl Into