diff --git a/.github/workflows/stellar-rpc.yml b/.github/workflows/stellar-rpc.yml index c368925ec..5ed8b2586 100644 --- a/.github/workflows/stellar-rpc.yml +++ b/.github/workflows/stellar-rpc.yml @@ -90,14 +90,12 @@ jobs: strategy: matrix: os: [ ubuntu-22.04 ] - protocol-version: [ 24, 25 ] + protocol-version: [ 25 ] runs-on: ${{ matrix.os }} env: STELLAR_RPC_INTEGRATION_TESTS_ENABLED: true STELLAR_RPC_INTEGRATION_TESTS_CORE_MAX_SUPPORTED_PROTOCOL: ${{ matrix.protocol-version }} STELLAR_RPC_INTEGRATION_TESTS_CAPTIVE_CORE_BIN: /usr/bin/stellar-core - PROTOCOL_24_CORE_DEBIAN_PKG_VERSION: 25.0.0-2911.e9748b05a.jammy - PROTOCOL_24_CORE_DOCKER_IMG: stellar/stellar-core:25.0.0-2911.e9748b05a.jammy PROTOCOL_25_CORE_DEBIAN_PKG_VERSION: 25.0.0-2911.e9748b05a.jammy PROTOCOL_25_CORE_DOCKER_IMG: stellar/stellar-core:25.0.0-2911.e9748b05a.jammy diff --git a/Cargo.lock b/Cargo.lock index 89bf04fa6..74ec68e2c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -14,6 +14,12 @@ dependencies = [ "zerocopy", ] +[[package]] +name = "allocator-api2" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" + [[package]] name = "android_system_properties" version = "0.1.5" @@ -44,10 +50,22 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c775f0d12169cba7aae4caeb547bb6a50781c7449a8aa53793827c9ec4abf488" dependencies = [ - "ark-ec", - "ark-ff", - "ark-serialize", - "ark-std", + "ark-ec 0.4.2", + "ark-ff 0.4.2", + "ark-serialize 0.4.2", + "ark-std 0.4.0", +] + +[[package]] +name = "ark-bls12-381" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3df4dcc01ff89867cd86b0da835f23c3f02738353aaee7dde7495af71363b8d5" +dependencies = [ + "ark-ec 0.5.0", + "ark-ff 0.5.0", + "ark-serialize 0.5.0", + "ark-std 0.5.0", ] [[package]] @@ -56,9 +74,20 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a22f4561524cd949590d78d7d4c5df8f592430d221f7f3c9497bbafd8972120f" dependencies = [ - "ark-ec", - "ark-ff", - "ark-std", + "ark-ec 0.4.2", + "ark-ff 0.4.2", + "ark-std 0.4.0", +] + +[[package]] +name = "ark-bn254" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d69eab57e8d2663efa5c63135b2af4f396d66424f88954c21104125ab6b3e6bc" +dependencies = [ + "ark-ec 0.5.0", + "ark-ff 0.5.0", + "ark-std 0.5.0", ] [[package]] @@ -67,13 +96,34 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "defd9a439d56ac24968cca0571f598a61bc8c55f71d50a89cda591cb750670ba" dependencies = [ - "ark-ff", - "ark-poly", - "ark-serialize", - "ark-std", + "ark-ff 0.4.2", + "ark-poly 0.4.2", + "ark-serialize 0.4.2", + "ark-std 0.4.0", "derivative", "hashbrown 0.13.2", - "itertools", + "itertools 0.10.5", + "num-traits", + "zeroize", +] + +[[package]] +name = "ark-ec" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43d68f2d516162846c1238e755a7c4d131b892b70cc70c471a8e3ca3ed818fce" +dependencies = [ + "ahash", + "ark-ff 0.5.0", + "ark-poly 0.5.0", + "ark-serialize 0.5.0", + "ark-std 0.5.0", + "educe", + "fnv", + "hashbrown 0.15.5", + "itertools 0.13.0", + "num-bigint", + "num-integer", "num-traits", "zeroize", ] @@ -84,13 +134,13 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec847af850f44ad29048935519032c33da8aa03340876d351dfab5660d2966ba" dependencies = [ - "ark-ff-asm", - "ark-ff-macros", - "ark-serialize", - "ark-std", + "ark-ff-asm 0.4.2", + "ark-ff-macros 0.4.2", + "ark-serialize 0.4.2", + "ark-std 0.4.0", "derivative", "digest", - "itertools", + "itertools 0.10.5", "num-bigint", "num-traits", "paste", @@ -98,6 +148,26 @@ dependencies = [ "zeroize", ] +[[package]] +name = "ark-ff" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a177aba0ed1e0fbb62aa9f6d0502e9b46dad8c2eab04c14258a1212d2557ea70" +dependencies = [ + "ark-ff-asm 0.5.0", + "ark-ff-macros 0.5.0", + "ark-serialize 0.5.0", + "ark-std 0.5.0", + "arrayvec", + "digest", + "educe", + "itertools 0.13.0", + "num-bigint", + "num-traits", + "paste", + "zeroize", +] + [[package]] name = "ark-ff-asm" version = "0.4.2" @@ -108,6 +178,16 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "ark-ff-asm" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62945a2f7e6de02a31fe400aa489f0e0f5b2502e69f95f853adb82a96c7a6b60" +dependencies = [ + "quote", + "syn 2.0.106", +] + [[package]] name = "ark-ff-macros" version = "0.4.2" @@ -121,27 +201,68 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "ark-ff-macros" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09be120733ee33f7693ceaa202ca41accd5653b779563608f1234f78ae07c4b3" +dependencies = [ + "num-bigint", + "num-traits", + "proc-macro2", + "quote", + "syn 2.0.106", +] + [[package]] name = "ark-poly" version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d320bfc44ee185d899ccbadfa8bc31aab923ce1558716e1997a1e74057fe86bf" dependencies = [ - "ark-ff", - "ark-serialize", - "ark-std", + "ark-ff 0.4.2", + "ark-serialize 0.4.2", + "ark-std 0.4.0", "derivative", "hashbrown 0.13.2", ] +[[package]] +name = "ark-poly" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "579305839da207f02b89cd1679e50e67b4331e2f9294a57693e5051b7703fe27" +dependencies = [ + "ahash", + "ark-ff 0.5.0", + "ark-serialize 0.5.0", + "ark-std 0.5.0", + "educe", + "fnv", + "hashbrown 0.15.5", +] + [[package]] name = "ark-serialize" version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "adb7b85a02b83d2f22f89bd5cac66c9c89474240cb6207cb1efc16d098e822a5" dependencies = [ - "ark-serialize-derive", - "ark-std", + "ark-serialize-derive 0.4.2", + "ark-std 0.4.0", + "digest", + "num-bigint", +] + +[[package]] +name = "ark-serialize" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f4d068aaf107ebcd7dfb52bc748f8030e0fc930ac8e360146ca54c1203088f7" +dependencies = [ + "ark-serialize-derive 0.5.0", + "ark-std 0.5.0", + "arrayvec", "digest", "num-bigint", ] @@ -157,6 +278,17 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "ark-serialize-derive" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "213888f660fddcca0d257e88e54ac05bca01885f258ccdf695bafd77031bb69d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.106", +] + [[package]] name = "ark-std" version = "0.4.0" @@ -167,6 +299,22 @@ dependencies = [ "rand", ] +[[package]] +name = "ark-std" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "246a225cc6131e9ee4f24619af0f19d67761fff15d7ccc22e42b80846e69449a" +dependencies = [ + "num-traits", + "rand", +] + +[[package]] +name = "arrayvec" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" + [[package]] name = "autocfg" version = "1.5.0" @@ -471,6 +619,18 @@ dependencies = [ "zeroize", ] +[[package]] +name = "educe" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d7bc049e1bd8cdeb31b68bbd586a9464ecf9f3944af3958a7a9d0f8b9799417" +dependencies = [ + "enum-ordinalize", + "proc-macro2", + "quote", + "syn 2.0.106", +] + [[package]] name = "either" version = "1.15.0" @@ -495,6 +655,26 @@ dependencies = [ "zeroize", ] +[[package]] +name = "enum-ordinalize" +version = "4.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a1091a7bb1f8f2c4b28f1fe2cef4980ca2d410a3d727d67ecc3178c9b0800f0" +dependencies = [ + "enum-ordinalize-derive", +] + +[[package]] +name = "enum-ordinalize-derive" +version = "4.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ca9601fb2d62598ee17836250842873a413586e5d7ed88b356e38ddbb0ec631" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.106", +] + [[package]] name = "equivalent" version = "1.0.2" @@ -598,6 +778,15 @@ dependencies = [ "ahash", ] +[[package]] +name = "hashbrown" +version = "0.15.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" +dependencies = [ + "allocator-api2", +] + [[package]] name = "hashbrown" version = "0.16.0" @@ -696,6 +885,15 @@ dependencies = [ "either", ] +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + [[package]] name = "itoa" version = "1.0.15" @@ -862,10 +1060,10 @@ dependencies = [ "rand", "serde_json", "sha2", - "soroban-env-host 24.0.0", - "soroban-env-host 25.0.0", - "soroban-simulation 24.0.0", - "soroban-simulation 25.0.0", + "soroban-env-host 25.0.1", + "soroban-env-host 26.0.0-rc.1", + "soroban-simulation 25.0.1", + "soroban-simulation 26.0.0-rc.1", ] [[package]] @@ -1151,11 +1349,11 @@ checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" [[package]] name = "soroban-builtin-sdk-macros" -version = "24.0.0" +version = "25.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8daaa3f1a6f33509e2260ae0069a95cc79c3762945a8dd3db4ec405e56165cab" +checksum = "7192e3a5551a7aeee90d2110b11b615798e81951fd8c8293c87ea7f88b0168f5" dependencies = [ - "itertools", + "itertools 0.10.5", "proc-macro2", "quote", "syn 2.0.106", @@ -1163,11 +1361,10 @@ dependencies = [ [[package]] name = "soroban-builtin-sdk-macros" -version = "25.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bba99589f3f535a6f1425ffafe94387955291e18015f1a7a3ee3181268f9eade" +version = "26.0.0-rc.1" +source = "git+https://github.com/stellar/rs-soroban-env.git#aab7c15d2b3ba441a1a6fd741719ecf6f6729f66" dependencies = [ - "itertools", + "itertools 0.13.0", "proc-macro2", "quote", "syn 2.0.106", @@ -1175,50 +1372,50 @@ dependencies = [ [[package]] name = "soroban-env-common" -version = "24.0.0" +version = "25.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f1fb36279d136eb68e15fd7122a67f43a81ce2e1ee392926b6a36a9ee772e28" +checksum = "bfc49a80a68fc1005847308e63b9fce39874de731940b1807b721d472de3ff01" dependencies = [ "arbitrary", "crate-git-revision", "ethnum", "num-derive", "num-traits", - "soroban-env-macros 24.0.0", - "soroban-wasmi", + "soroban-env-macros 25.0.1", + "soroban-wasmi 0.31.1-soroban.20.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "static_assertions", - "stellar-xdr 24.0.0", + "stellar-xdr 25.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "wasmparser", ] [[package]] name = "soroban-env-common" -version = "25.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d98779d733d04c89aa0883d50c7c072ba91c336689330467b55eb794be7730a" +version = "26.0.0-rc.1" +source = "git+https://github.com/stellar/rs-soroban-env.git#aab7c15d2b3ba441a1a6fd741719ecf6f6729f66" dependencies = [ "arbitrary", "crate-git-revision", "ethnum", "num-derive", "num-traits", - "soroban-env-macros 25.0.0", - "soroban-wasmi", + "soroban-env-macros 26.0.0-rc.1", + "soroban-wasmi 0.31.1-soroban.20.0.1 (git+https://github.com/stellar/wasmi?rev=0ed3f3dee30dc41ebe21972399e0a73a41944aa0)", "static_assertions", - "stellar-xdr 25.0.0", + "stellar-xdr 25.0.0 (git+https://github.com/stellar/rs-stellar-xdr.git?rev=c458ac6bb943c271332cb8cf274b492433cb763f)", "wasmparser", ] [[package]] name = "soroban-env-host" -version = "24.0.0" +version = "25.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "656e5dfbfe2ef03f47b1b522df8994d7a9f884c4e88c06db30325758e5738fd0" +checksum = "43af5d53c57bc2f546e122adc0b1cca6f93942c718977379aa19ddd04f06fcec" dependencies = [ - "ark-bls12-381", - "ark-ec", - "ark-ff", - "ark-serialize", + "ark-bls12-381 0.4.0", + "ark-bn254 0.4.0", + "ark-ec 0.4.2", + "ark-ff 0.4.2", + "ark-serialize 0.4.2", "curve25519-dalek", "ecdsa", "ed25519-dalek", @@ -1237,9 +1434,9 @@ dependencies = [ "sec1", "sha2", "sha3", - "soroban-builtin-sdk-macros 24.0.0", - "soroban-env-common 24.0.0", - "soroban-wasmi", + "soroban-builtin-sdk-macros 25.0.1", + "soroban-env-common 25.0.1", + "soroban-wasmi 0.31.1-soroban.20.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "static_assertions", "stellar-strkey", "wasmparser", @@ -1247,15 +1444,14 @@ dependencies = [ [[package]] name = "soroban-env-host" -version = "25.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a655ba881c6a2aa4f465370367aa5dad3e34ccdc1daff504b0a2499e54ed3517" -dependencies = [ - "ark-bls12-381", - "ark-bn254", - "ark-ec", - "ark-ff", - "ark-serialize", +version = "26.0.0-rc.1" +source = "git+https://github.com/stellar/rs-soroban-env.git#aab7c15d2b3ba441a1a6fd741719ecf6f6729f66" +dependencies = [ + "ark-bls12-381 0.5.0", + "ark-bn254 0.5.0", + "ark-ec 0.5.0", + "ark-ff 0.5.0", + "ark-serialize 0.5.0", "curve25519-dalek", "ecdsa", "ed25519-dalek", @@ -1274,9 +1470,9 @@ dependencies = [ "sec1", "sha2", "sha3", - "soroban-builtin-sdk-macros 25.0.0", - "soroban-env-common 25.0.0", - "soroban-wasmi", + "soroban-builtin-sdk-macros 26.0.0-rc.1", + "soroban-env-common 26.0.0-rc.1", + "soroban-wasmi 0.31.1-soroban.20.0.1 (git+https://github.com/stellar/wasmi?rev=0ed3f3dee30dc41ebe21972399e0a73a41944aa0)", "static_assertions", "stellar-strkey", "wasmparser", @@ -1284,56 +1480,54 @@ dependencies = [ [[package]] name = "soroban-env-macros" -version = "24.0.0" +version = "25.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e5a13f32638bb080c91e2da57e4f4e1e93800e66c08dcc113c2961dc0b61062" +checksum = "a989167512e3592d455b1e204d703cfe578a36672a77ed2f9e6f7e1bbfd9cc5c" dependencies = [ - "itertools", + "itertools 0.10.5", "proc-macro2", "quote", "serde", "serde_json", - "stellar-xdr 24.0.0", + "stellar-xdr 25.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "syn 2.0.106", ] [[package]] name = "soroban-env-macros" -version = "25.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61ac49b6d8980998fdbf621148b9895cd315e6c9978c84db1bb14885df865019" +version = "26.0.0-rc.1" +source = "git+https://github.com/stellar/rs-soroban-env.git#aab7c15d2b3ba441a1a6fd741719ecf6f6729f66" dependencies = [ - "itertools", + "itertools 0.13.0", "proc-macro2", "quote", "serde", "serde_json", - "stellar-xdr 25.0.0", + "stellar-xdr 25.0.0 (git+https://github.com/stellar/rs-stellar-xdr.git?rev=c458ac6bb943c271332cb8cf274b492433cb763f)", "syn 2.0.106", ] [[package]] name = "soroban-simulation" -version = "24.0.0" +version = "25.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a823f6e325367ede7f48c369b28bc1306b4b5aaadb75126de6596ffbdf5dcb1" +checksum = "3abac49f7ecb4902bb437ee06c0358811c01a52f5e90a1d5b7ffe94a666078af" dependencies = [ "anyhow", "rand", - "soroban-env-host 24.0.0", + "soroban-env-host 25.0.1", "static_assertions", "thiserror", ] [[package]] name = "soroban-simulation" -version = "25.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98d1ed4701671ad02eb719062bf61f83a71cd8da3566c21e71f4065120cdeb6c" +version = "26.0.0-rc.1" +source = "git+https://github.com/stellar/rs-soroban-env.git#aab7c15d2b3ba441a1a6fd741719ecf6f6729f66" dependencies = [ "anyhow", "rand", - "soroban-env-host 25.0.0", + "soroban-env-host 26.0.0-rc.1", "static_assertions", "thiserror", ] @@ -1346,8 +1540,20 @@ checksum = "710403de32d0e0c35375518cb995d4fc056d0d48966f2e56ea471b8cb8fc9719" dependencies = [ "smallvec", "spin", - "wasmi_arena", - "wasmi_core", + "wasmi_arena 0.4.1", + "wasmi_core 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", + "wasmparser-nostd", +] + +[[package]] +name = "soroban-wasmi" +version = "0.31.1-soroban.20.0.1" +source = "git+https://github.com/stellar/wasmi?rev=0ed3f3dee30dc41ebe21972399e0a73a41944aa0#0ed3f3dee30dc41ebe21972399e0a73a41944aa0" +dependencies = [ + "smallvec", + "spin", + "wasmi_arena 0.4.0", + "wasmi_core 0.13.0 (git+https://github.com/stellar/wasmi?rev=0ed3f3dee30dc41ebe21972399e0a73a41944aa0)", "wasmparser-nostd", ] @@ -1385,9 +1591,9 @@ dependencies = [ [[package]] name = "stellar-xdr" -version = "24.0.0" +version = "25.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ceec163a64a9ed03359dab3b73ca556251020edc0103bae7073a38eb1708ab5" +checksum = "10d20dafed80076b227d4b17c0c508a4bbc4d5e4c3d4c1de7cd42242df4b1eaf" dependencies = [ "arbitrary", "base64", @@ -1403,8 +1609,7 @@ dependencies = [ [[package]] name = "stellar-xdr" version = "25.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10d20dafed80076b227d4b17c0c508a4bbc4d5e4c3d4c1de7cd42242df4b1eaf" +source = "git+https://github.com/stellar/rs-stellar-xdr.git?rev=c458ac6bb943c271332cb8cf274b492433cb763f#c458ac6bb943c271332cb8cf274b492433cb763f" dependencies = [ "arbitrary", "base64", @@ -1587,6 +1792,11 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "wasmi_arena" +version = "0.4.0" +source = "git+https://github.com/stellar/wasmi?rev=0ed3f3dee30dc41ebe21972399e0a73a41944aa0#0ed3f3dee30dc41ebe21972399e0a73a41944aa0" + [[package]] name = "wasmi_arena" version = "0.4.1" @@ -1605,6 +1815,17 @@ dependencies = [ "paste", ] +[[package]] +name = "wasmi_core" +version = "0.13.0" +source = "git+https://github.com/stellar/wasmi?rev=0ed3f3dee30dc41ebe21972399e0a73a41944aa0#0ed3f3dee30dc41ebe21972399e0a73a41944aa0" +dependencies = [ + "downcast-rs", + "libm", + "num-traits", + "paste", +] + [[package]] name = "wasmparser" version = "0.116.1" @@ -1694,7 +1915,7 @@ dependencies = [ "rand", "serde_json", "sha2", - "stellar-xdr 25.0.0", + "stellar-xdr 25.0.0 (git+https://github.com/stellar/rs-stellar-xdr.git?rev=c458ac6bb943c271332cb8cf274b492433cb763f)", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index b801602ef..47bdd1eb4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -11,23 +11,26 @@ rust-version = "1.79.0" [workspace.dependencies.soroban-env-host-prev] package = "soroban-env-host" -version = "=24.0.0" +version = "=25.0.1" [workspace.dependencies.soroban-env-host-curr] package = "soroban-env-host" -version = "=25.0.0" +git = "https://github.com/stellar/rs-soroban-env.git" [workspace.dependencies.soroban-simulation-prev] package = "soroban-simulation" -version = "=24.0.0" +version = "=25.0.1" [workspace.dependencies.soroban-simulation-curr] package = "soroban-simulation" -version = "=25.0.0" +git = "https://github.com/stellar/rs-soroban-env.git" +features = [ "unstable-next-api" ] [workspace.dependencies.stellar-xdr] version = "=25.0.0" -features = [ "serde" ] +git = "https://github.com/stellar/rs-stellar-xdr.git" +rev = "c458ac6bb943c271332cb8cf274b492433cb763f" +features = [ "serde", "next" ] [workspace.dependencies] base64 = "0.22.0" diff --git a/cmd/stellar-rpc/internal/preflight/preflight_test.go b/cmd/stellar-rpc/internal/preflight/preflight_test.go index 09a41698c..bf9ed1763 100644 --- a/cmd/stellar-rpc/internal/preflight/preflight_test.go +++ b/cmd/stellar-rpc/internal/preflight/preflight_test.go @@ -53,7 +53,19 @@ var mockLedgerEntriesWithoutTTLs = func() []xdr.LedgerEntry { panic("Failed to unmarshal ConfigUpgradeSet from configSettings") } + stateWindow := []xdr.Uint64{10, 10, 10} + entries := []xdr.LedgerEntry{ + { + LastModifiedLedgerSeq: latestSimulateTransactionLedgerSeq - 1, + Data: xdr.LedgerEntryData{ + Type: xdr.LedgerEntryTypeConfigSetting, + ConfigSetting: &xdr.ConfigSettingEntry{ + ConfigSettingId: xdr.ConfigSettingIdConfigSettingLiveSorobanStateSizeWindow, + LiveSorobanStateSizeWindow: &stateWindow, + }, + }, + }, { LastModifiedLedgerSeq: latestSimulateTransactionLedgerSeq - 1, Data: xdr.LedgerEntryData{ @@ -244,7 +256,7 @@ func getPreflightParameters(t testing.TB) Parameters { LedgerEntryGetter: ledgerEntryGetter, BucketListSize: 200, // TODO: test with multiple protocol versions - ProtocolVersion: 23, + ProtocolVersion: 25, AuthMode: protocol.AuthModeRecord, } return params diff --git a/cmd/stellar-rpc/lib/preflight/src/lib.rs b/cmd/stellar-rpc/lib/preflight/src/lib.rs index f50e6e09a..3da299541 100644 --- a/cmd/stellar-rpc/lib/preflight/src/lib.rs +++ b/cmd/stellar-rpc/lib/preflight/src/lib.rs @@ -41,6 +41,14 @@ mod curr { pub(crate) mod shared; pub(crate) const PROTOCOL: u32 = soroban_env_host::meta::INTERFACE_VERSION.protocol; + + // soroban-simulation-curr with unstable-next-api no longer takes bucket_list_size. + pub(crate) fn load_network_config( + snapshot: &impl soroban_env_host::storage::SnapshotSource, + _bucket_list_size: u64, + ) -> crate::Result { + soroban_simulation::NetworkConfig::load_from_snapshot(snapshot) + } } #[path = "."] @@ -52,6 +60,13 @@ mod prev { pub(crate) mod shared; pub(crate) const PROTOCOL: u32 = soroban_env_host::meta::INTERFACE_VERSION.protocol; + + pub(crate) fn load_network_config( + snapshot: &impl soroban_env_host::storage::SnapshotSource, + bucket_list_size: u64, + ) -> crate::Result { + soroban_simulation::NetworkConfig::load_from_snapshot(snapshot, bucket_list_size) + } } use std::cell::RefCell; diff --git a/cmd/stellar-rpc/lib/preflight/src/shared.rs b/cmd/stellar-rpc/lib/preflight/src/shared.rs index 03dd8215e..a83cefe2f 100644 --- a/cmd/stellar-rpc/lib/preflight/src/shared.rs +++ b/cmd/stellar-rpc/lib/preflight/src/shared.rs @@ -129,7 +129,7 @@ pub(crate) fn preflight_invoke_hf_op_or_maybe_panic( let go_storage = Rc::new(GoLedgerStorage::new(handle)); let network_config = - NetworkConfig::load_from_snapshot(go_storage.as_ref(), c_ledger_info.bucket_list_size)?; + super::load_network_config(go_storage.as_ref(), c_ledger_info.bucket_list_size)?; let ledger_info = fill_ledger_info(c_ledger_info, &network_config); let mut adjustment_config = SimulationAdjustmentConfig::default_adjustment(); @@ -212,7 +212,7 @@ pub(crate) fn preflight_footprint_ttl_op_or_maybe_panic( LedgerFootprint::from_xdr(unsafe { from_c_xdr(footprint) }, DEFAULT_XDR_RW_LIMITS)?; let go_storage = Rc::new(GoLedgerStorage::new(handle)); let network_config = - NetworkConfig::load_from_snapshot(go_storage.as_ref(), c_ledger_info.bucket_list_size)?; + super::load_network_config(go_storage.as_ref(), c_ledger_info.bucket_list_size)?; let ledger_info = fill_ledger_info(c_ledger_info, &network_config); // TODO: It would make for a better UX if the user passed only the necessary fields for every operation. // That would remove a possibility of providing bad operation body, or a possibility of filling wrong footprint