diff --git a/.github/workflows/stellar-rpc.yml b/.github/workflows/stellar-rpc.yml index 964cea053..8083ce160 100644 --- a/.github/workflows/stellar-rpc.yml +++ b/.github/workflows/stellar-rpc.yml @@ -84,14 +84,6 @@ jobs: CGO_ENABLED: 1 GOARCH: ${{ matrix.go_arch }} - integration-p26-pkg: - name: Integration tests (P26) - uses: ./.github/workflows/integration-tests.yml - with: - protocol_version: '26' - core_deb_version: '26.0.0-3089.8e43a2d3b.jammy' - core_docker_img: 'stellar/stellar-core:26.0.0-3089.8e43a2d3b.jammy' - integration-p27-pkg: name: Integration tests (P27) uses: ./.github/workflows/integration-tests.yml @@ -100,6 +92,21 @@ jobs: core_deb_version: '27.0.0-3288.7696c069d.jammy' core_docker_img: 'stellar/stellar-core:27.0.0-3288.7696c069d.jammy' + integration-p28-pkg: + name: Integration tests (P28) + uses: ./.github/workflows/integration-tests.yml + with: + protocol_version: '28' + # Protocol 28 (CAP-0083) runs against the vnext (next-protocol-enabled) + # core build. Plain vnext (no `~buildtests`) to mirror the plain + # release deb / docker image used by the P27 leg above. + # + # Pinned to 3367 (3589a696b), which includes stellar-core#5329 — the + # fix for the QueryServer.cpp:124 contiguous-snapshot assertion that + # aborted captive-core catchup on builds 3313..3366. + core_deb_version: '27.0.1-3367.3589a696b.jammy~vnext' + core_docker_img: 'stellar/unsafe-stellar-core:27.0.1-3367.3589a696b.jammy-vnext' + # integration-p25-src: # name: Integration tests (p25, core from source) # uses: ./.github/workflows/integration-tests.yml diff --git a/Cargo.lock b/Cargo.lock index 25621a178..7c82ea64b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -296,6 +296,17 @@ dependencies = [ "serde_json", ] +[[package]] +name = "crate-git-revision" +version = "0.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54851b5b3f24621804b1cded2820975623c205e3055d2d44031cdb1237339ac8" +dependencies = [ + "serde", + "serde_derive", + "serde_json", +] + [[package]] name = "crypto-bigint" version = "0.5.5" @@ -902,10 +913,10 @@ dependencies = [ "rand", "serde_json", "sha2", - "soroban-env-host 26.1.2", - "soroban-env-host 27.0.0", - "soroban-simulation 26.1.2", - "soroban-simulation 27.0.0", + "soroban-env-host 27.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "soroban-env-host 27.0.0 (git+https://github.com/stellar/rs-soroban-env?rev=883fd56374fc619afaa4c4c7489563555b7173f2)", + "soroban-simulation 27.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "soroban-simulation 27.0.0 (git+https://github.com/stellar/rs-soroban-env?rev=883fd56374fc619afaa4c4c7489563555b7173f2)", ] [[package]] @@ -1191,9 +1202,9 @@ checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" [[package]] name = "soroban-builtin-sdk-macros" -version = "26.1.2" +version = "27.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df78c69d87834af6a53e47323a8fa02d68d92ab233476c860db643f8d1801cfe" +checksum = "d769030e3b2c27873e9be4931decbbe79787b943d5b30e31f8c395eae83144b8" dependencies = [ "itertools", "proc-macro2", @@ -1204,8 +1215,7 @@ dependencies = [ [[package]] name = "soroban-builtin-sdk-macros" version = "27.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d769030e3b2c27873e9be4931decbbe79787b943d5b30e31f8c395eae83144b8" +source = "git+https://github.com/stellar/rs-soroban-env?rev=883fd56374fc619afaa4c4c7489563555b7173f2#883fd56374fc619afaa4c4c7489563555b7173f2" dependencies = [ "itertools", "proc-macro2", @@ -1215,45 +1225,44 @@ dependencies = [ [[package]] name = "soroban-env-common" -version = "26.1.2" +version = "27.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08582c2c21bd3f7b737bcb76db9d4ca473f8349d65f8952a50eeed8823f44aef" +checksum = "5aa50d998c0baafcc6078cb94f5228040c7719b1608c15debc3fc78365dc22f5" dependencies = [ "arbitrary", - "crate-git-revision", + "crate-git-revision 0.0.6", "ethnum", "num-derive", "num-traits", - "soroban-env-macros 26.1.2", - "soroban-wasmi", + "soroban-env-macros 27.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "soroban-wasmi 0.31.1-soroban.20.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "static_assertions", - "stellar-xdr 26.0.0", + "stellar-xdr", "wasmparser", ] [[package]] name = "soroban-env-common" version = "27.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aa50d998c0baafcc6078cb94f5228040c7719b1608c15debc3fc78365dc22f5" +source = "git+https://github.com/stellar/rs-soroban-env?rev=883fd56374fc619afaa4c4c7489563555b7173f2#883fd56374fc619afaa4c4c7489563555b7173f2" dependencies = [ "arbitrary", - "crate-git-revision", + "crate-git-revision 0.0.9", "ethnum", "num-derive", "num-traits", - "soroban-env-macros 27.0.0", - "soroban-wasmi", + "soroban-env-macros 27.0.0 (git+https://github.com/stellar/rs-soroban-env?rev=883fd56374fc619afaa4c4c7489563555b7173f2)", + "soroban-wasmi 0.31.1-soroban.20.0.1 (git+https://github.com/stellar/wasmi?rev=0ed3f3dee30dc41ebe21972399e0a73a41944aa0)", "static_assertions", - "stellar-xdr 27.0.0", + "stellar-xdr", "wasmparser", ] [[package]] name = "soroban-env-host" -version = "26.1.2" +version = "27.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2662cd060f6a3be269e23d0611bd2ea9eb6a0e7db77e11427e09de0efe547f8b" +checksum = "f47762a1b75b9ccd07558f28e1a0289ca6adec56810c581cde5cf16e329e00b9" dependencies = [ "ark-bls12-381", "ark-bn254", @@ -1278,9 +1287,9 @@ dependencies = [ "sec1", "sha2", "sha3", - "soroban-builtin-sdk-macros 26.1.2", - "soroban-env-common 26.1.2", - "soroban-wasmi", + "soroban-builtin-sdk-macros 27.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "soroban-env-common 27.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "soroban-wasmi 0.31.1-soroban.20.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "static_assertions", "stellar-strkey", "wasmparser", @@ -1289,8 +1298,7 @@ dependencies = [ [[package]] name = "soroban-env-host" version = "27.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f47762a1b75b9ccd07558f28e1a0289ca6adec56810c581cde5cf16e329e00b9" +source = "git+https://github.com/stellar/rs-soroban-env?rev=883fd56374fc619afaa4c4c7489563555b7173f2#883fd56374fc619afaa4c4c7489563555b7173f2" dependencies = [ "ark-bls12-381", "ark-bn254", @@ -1315,9 +1323,9 @@ dependencies = [ "sec1", "sha2", "sha3", - "soroban-builtin-sdk-macros 27.0.0", - "soroban-env-common 27.0.0", - "soroban-wasmi", + "soroban-builtin-sdk-macros 27.0.0 (git+https://github.com/stellar/rs-soroban-env?rev=883fd56374fc619afaa4c4c7489563555b7173f2)", + "soroban-env-common 27.0.0 (git+https://github.com/stellar/rs-soroban-env?rev=883fd56374fc619afaa4c4c7489563555b7173f2)", + "soroban-wasmi 0.31.1-soroban.20.0.1 (git+https://github.com/stellar/wasmi?rev=0ed3f3dee30dc41ebe21972399e0a73a41944aa0)", "static_assertions", "stellar-strkey", "wasmparser", @@ -1325,43 +1333,42 @@ dependencies = [ [[package]] name = "soroban-env-macros" -version = "26.1.2" +version = "27.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d5489ee232e1fa56c817ac57e2cba8b788685c48902928fecbae05cba97f065" +checksum = "bc04b813a9e32456b37875fc41cdb05912a9e947000b9414b7985bffe07a889a" dependencies = [ "itertools", "proc-macro2", "quote", "serde", "serde_json", - "stellar-xdr 26.0.0", + "stellar-xdr", "syn", ] [[package]] name = "soroban-env-macros" version = "27.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc04b813a9e32456b37875fc41cdb05912a9e947000b9414b7985bffe07a889a" +source = "git+https://github.com/stellar/rs-soroban-env?rev=883fd56374fc619afaa4c4c7489563555b7173f2#883fd56374fc619afaa4c4c7489563555b7173f2" dependencies = [ "itertools", "proc-macro2", "quote", "serde", "serde_json", - "stellar-xdr 27.0.0", + "stellar-xdr", "syn", ] [[package]] name = "soroban-simulation" -version = "26.1.2" +version = "27.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "155146b6f425af73c80aaf629556aa1f0147dc3c709eb8725f55480fe7852426" +checksum = "82c0d08f8dc0117ee75ec020c0bc9ac62859743b4e08b4e7a397bf74857d0616" dependencies = [ "anyhow", "rand", - "soroban-env-host 26.1.2", + "soroban-env-host 27.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "static_assertions", "thiserror", ] @@ -1369,12 +1376,11 @@ dependencies = [ [[package]] name = "soroban-simulation" version = "27.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82c0d08f8dc0117ee75ec020c0bc9ac62859743b4e08b4e7a397bf74857d0616" +source = "git+https://github.com/stellar/rs-soroban-env?rev=883fd56374fc619afaa4c4c7489563555b7173f2#883fd56374fc619afaa4c4c7489563555b7173f2" dependencies = [ "anyhow", "rand", - "soroban-env-host 27.0.0", + "soroban-env-host 27.0.0 (git+https://github.com/stellar/rs-soroban-env?rev=883fd56374fc619afaa4c4c7489563555b7173f2)", "static_assertions", "thiserror", ] @@ -1387,8 +1393,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", ] @@ -1420,27 +1438,10 @@ version = "0.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ee1832fb50c651ad10f734aaf5d31ca5acdfb197a6ecda64d93fcdb8885af913" dependencies = [ - "crate-git-revision", + "crate-git-revision 0.0.6", "data-encoding", ] -[[package]] -name = "stellar-xdr" -version = "26.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fea3195594b044ea3a5b05906f81d945480825f00db4e3ae7d77526bf546ff3a" -dependencies = [ - "arbitrary", - "base64", - "cfg_eval", - "crate-git-revision", - "escape-bytes", - "ethnum", - "hex", - "sha2", - "stellar-strkey", -] - [[package]] name = "stellar-xdr" version = "27.0.0" @@ -1450,7 +1451,7 @@ dependencies = [ "arbitrary", "base64", "cfg_eval", - "crate-git-revision", + "crate-git-revision 0.0.6", "escape-bytes", "ethnum", "hex", @@ -1617,6 +1618,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" @@ -1635,6 +1641,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" @@ -1724,7 +1741,7 @@ dependencies = [ "rand", "serde_json", "sha2", - "stellar-xdr 27.0.0", + "stellar-xdr", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index af9f5cf5e..c57082fd7 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -14,26 +14,36 @@ serde_json = "1.0" [workspace.dependencies.soroban-env-host-prev] package = "soroban-env-host" -version = "=26.1.2" +version = "=27.0.0" +# Shift the window: `-prev` is now the released P27 host (crates.io 27.0.0), +# and `-curr` is the next-protocol-aware host pulled from upstream main with +# `next` enabled, declaring P28. Using a git rev (instead of crates.io +# 27.0.0 + `next`) lets cargo treat -prev and -curr as separate compilation +# units — otherwise it refuses two aliases to the same crate+version. +# Bump the rev as rs-soroban-env evolves on its protocol-next track. [workspace.dependencies.soroban-env-host-curr] package = "soroban-env-host" -version = "=27.0.0" +git = "https://github.com/stellar/rs-soroban-env" +rev = "883fd56374fc619afaa4c4c7489563555b7173f2" +features = ["next"] [workspace.dependencies.soroban-simulation-prev] package = "soroban-simulation" -version = "=26.1.2" +version = "=27.0.0" [workspace.dependencies.soroban-simulation-curr] package = "soroban-simulation" +git = "https://github.com/stellar/rs-soroban-env" +rev = "883fd56374fc619afaa4c4c7489563555b7173f2" features = ["unstable-next-api"] -version = "=27.0.0" [workspace.dependencies.stellar-xdr] version = "=27.0.0" # `type_enum` provides the `Type`/`TypeVariant` reflection enums used by # xdr2json. It was enabled by default in stellar-xdr v26 but is opt-in in v27. -features = ["serde", "type_enum"] +# `cap_0083` gates the Protocol 28 EmptyTxSet StellarValueType variant. +features = ["serde", "type_enum", "cap_0083"] [workspace.dependencies.rand] version = "0.8.5" diff --git a/cmd/stellar-rpc/internal/integrationtest/infrastructure/docker/upgrades/testnet.p28.json b/cmd/stellar-rpc/internal/integrationtest/infrastructure/docker/upgrades/testnet.p28.json new file mode 100644 index 000000000..dd6f288f2 --- /dev/null +++ b/cmd/stellar-rpc/internal/integrationtest/infrastructure/docker/upgrades/testnet.p28.json @@ -0,0 +1,965 @@ +{ + "updated_entry": [ + { + "contract_max_size_bytes": 131072 + }, + { + "contract_compute_v0": { + "ledger_max_instructions": "500000000", + "tx_max_instructions": "100000000", + "fee_rate_per_instructions_increment": "25", + "tx_memory_limit": 41943040 + } + }, + { + "contract_ledger_cost_v0": { + "ledger_max_disk_read_entries": 500, + "ledger_max_disk_read_bytes": 3500000, + "ledger_max_write_ledger_entries": 250, + "ledger_max_write_bytes": 143360, + "tx_max_disk_read_entries": 100, + "tx_max_disk_read_bytes": 200000, + "tx_max_write_ledger_entries": 50, + "tx_max_write_bytes": 132096, + "fee_disk_read_ledger_entry": "6250", + "fee_write_ledger_entry": "10000", + "fee_disk_read1_kb": "1786", + "soroban_state_target_size_bytes": "3000000000", + "rent_fee1_kb_soroban_state_size_low": "-17000", + "rent_fee1_kb_soroban_state_size_high": "10000", + "soroban_state_rent_fee_growth_factor": 5000 + } + }, + { + "contract_historical_data_v0": { + "fee_historical1_kb": "16235" + } + }, + { + "contract_events_v0": { + "tx_max_contract_events_size_bytes": 16384, + "fee_contract_events1_kb": "10000" + } + }, + { + "contract_bandwidth_v0": { + "ledger_max_txs_size_bytes": 133120, + "tx_max_size_bytes": 132096, + "fee_tx_size1_kb": "1624" + } + }, + { + "contract_cost_params_cpu_instructions": [ + { + "ext": "v0", + "const_term": "4", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "434", + "linear_term": "16" + }, + { + "ext": "v0", + "const_term": "42", + "linear_term": "16" + }, + { + "ext": "v0", + "const_term": "44", + "linear_term": "16" + }, + { + "ext": "v0", + "const_term": "295", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "60", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "221", + "linear_term": "26" + }, + { + "ext": "v0", + "const_term": "331", + "linear_term": "4369" + }, + { + "ext": "v0", + "const_term": "3636", + "linear_term": "7013" + }, + { + "ext": "v0", + "const_term": "40256", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "377551", + "linear_term": "4059" + }, + { + "ext": "v0", + "const_term": "417482", + "linear_term": "45712" + }, + { + "ext": "v0", + "const_term": "41142", + "linear_term": "634" + }, + { + "ext": "v0", + "const_term": "1945", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "6481", + "linear_term": "5943" + }, + { + "ext": "v0", + "const_term": "711", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "2314804", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "4176", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "4716", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "4680", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "4256", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "884", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "1059", + "linear_term": "502" + }, + { + "ext": "v0", + "const_term": "73077", + "linear_term": "25410" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "540752" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "176363" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "29989" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "1061449" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "237336" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "328476" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "701845" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "429383" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "28" + }, + { + "ext": "v0", + "const_term": "43030", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "7556" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "10711" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "3300" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "23038" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "42488" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "828974" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "297100" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "14" + }, + { + "ext": "v0", + "const_term": "1882", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "3000906", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "661", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "985", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "1934", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "730510", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "5921", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "1057822", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "92642", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "100742", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "7689", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "2458985", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "2347584", + "linear_term": "94135478" + }, + { + "ext": "v0", + "const_term": "1020885", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "2638451", + "linear_term": "6803" + }, + { + "ext": "v0", + "const_term": "25207", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "7873219", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "7663880", + "linear_term": "298580871" + }, + { + "ext": "v0", + "const_term": "1856539", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "6315452", + "linear_term": "7232" + }, + { + "ext": "v0", + "const_term": "10558948", + "linear_term": "632860943" + }, + { + "ext": "v0", + "const_term": "1994", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "1155", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "74", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "332", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "691", + "linear_term": "74558" + }, + { + "ext": "v0", + "const_term": "35421", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "344", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "476", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "904", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "2811", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "1706052", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "61", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "3623", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "1150435", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "5263916", + "linear_term": "392472814" + }, + { + "ext": "v0", + "const_term": "2052", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "1133", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "74", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "332", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "755", + "linear_term": "68930" + }, + { + "ext": "v0", + "const_term": "33151", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "1185193", + "linear_term": "41568084" + } + ] + }, + { + "contract_cost_params_memory_bytes": [ + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "16", + "linear_term": "128" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "242", + "linear_term": "384" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "384" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "132773", + "linear_term": "4903" + }, + { + "ext": "v0", + "const_term": "69472", + "linear_term": "1217" + }, + { + "ext": "v0", + "const_term": "14", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "181", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "99", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "99", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "99", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "99", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "99", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "17564", + "linear_term": "6457" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "47464" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "13420" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "6285" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "64670" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "29074" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "48095" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "103229" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "36394" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "257" + }, + { + "ext": "v0", + "const_term": "70704", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "14613" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "6833" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "1025" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "129632" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "13665" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "97637" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "9176" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "126" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "109494", + "linear_term": "266603" + }, + { + "ext": "v0", + "const_term": "2776", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "5896", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "219654", + "linear_term": "266603" + }, + { + "ext": "v0", + "const_term": "1672", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "3960", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "2204", + "linear_term": "9340474" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "248", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "128" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "1821", + "linear_term": "6232546" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "312", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "73061", + "linear_term": "229779" + } + ] + }, + { + "contract_data_key_size_bytes": 250 + }, + { + "contract_data_entry_size_bytes": 65536 + }, + { + "state_archival": { + "max_entry_ttl": 3110400, + "min_temporary_ttl": 720, + "min_persistent_ttl": 10, + "persistent_rent_rate_denominator": "1215", + "temp_rent_rate_denominator": "2430", + "max_entries_to_archive": 1000, + "live_soroban_state_size_window_sample_size": 30, + "live_soroban_state_size_window_sample_period": 64, + "eviction_scan_size": 500000, + "starting_eviction_scan_level": 7 + } + }, + { + "contract_execution_lanes": { + "ledger_max_tx_count": 100 + } + }, + { + "contract_parallel_compute_v0": { + "ledger_max_dependent_tx_clusters": 1 + } + }, + { + "contract_ledger_cost_ext_v0": { + "tx_max_footprint_entries": 100, + "fee_write1_kb": "3500" + } + }, + { + "scp_timing": { + "ledger_target_close_time_milliseconds": 5000, + "nomination_timeout_initial_milliseconds": 1000, + "nomination_timeout_increment_milliseconds": 1000, + "ballot_timeout_initial_milliseconds": 1000, + "ballot_timeout_increment_milliseconds": 1000 + } + } + ] +} diff --git a/cmd/stellar-rpc/internal/integrationtest/infrastructure/docker/upgrades/testnet.p28.xdr b/cmd/stellar-rpc/internal/integrationtest/infrastructure/docker/upgrades/testnet.p28.xdr new file mode 100644 index 000000000..a43b91ee0 --- /dev/null +++ b/cmd/stellar-rpc/internal/integrationtest/infrastructure/docker/upgrades/testnet.p28.xdr @@ -0,0 +1 @@ +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 diff --git a/cmd/stellar-rpc/internal/integrationtest/infrastructure/docker/upgrades/unlimited.p28.json b/cmd/stellar-rpc/internal/integrationtest/infrastructure/docker/upgrades/unlimited.p28.json new file mode 100644 index 000000000..0237b62c3 --- /dev/null +++ b/cmd/stellar-rpc/internal/integrationtest/infrastructure/docker/upgrades/unlimited.p28.json @@ -0,0 +1,965 @@ +{ + "updated_entry": [ + { + "contract_max_size_bytes": 4294967295 + }, + { + "contract_compute_v0": { + "ledger_max_instructions": "2305843009213693951", + "tx_max_instructions": "2305843009213693951", + "fee_rate_per_instructions_increment": "100", + "tx_memory_limit": 4294967295 + } + }, + { + "contract_ledger_cost_v0": { + "ledger_max_disk_read_entries": 4294967295, + "ledger_max_disk_read_bytes": 4294967295, + "ledger_max_write_ledger_entries": 4294967295, + "ledger_max_write_bytes": 4294967295, + "tx_max_disk_read_entries": 4294967295, + "tx_max_disk_read_bytes": 4294967295, + "tx_max_write_ledger_entries": 4294967295, + "tx_max_write_bytes": 4294967295, + "fee_disk_read_ledger_entry": "1000", + "fee_write_ledger_entry": "3000", + "fee_disk_read1_kb": "1000", + "soroban_state_target_size_bytes": "4294967295", + "rent_fee1_kb_soroban_state_size_low": "-17000", + "rent_fee1_kb_soroban_state_size_high": "10000", + "soroban_state_rent_fee_growth_factor": 5000 + } + }, + { + "contract_historical_data_v0": { + "fee_historical1_kb": "5000" + } + }, + { + "contract_events_v0": { + "fee_contract_events1_kb": "300", + "tx_max_contract_events_size_bytes": 4294967295 + } + }, + { + "contract_bandwidth_v0": { + "fee_tx_size1_kb": "500", + "ledger_max_txs_size_bytes": 4294967295, + "tx_max_size_bytes": 4294965295 + } + }, + { + "contract_cost_params_cpu_instructions": [ + { + "ext": "v0", + "const_term": "4", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "434", + "linear_term": "16" + }, + { + "ext": "v0", + "const_term": "42", + "linear_term": "16" + }, + { + "ext": "v0", + "const_term": "44", + "linear_term": "16" + }, + { + "ext": "v0", + "const_term": "295", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "60", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "221", + "linear_term": "26" + }, + { + "ext": "v0", + "const_term": "331", + "linear_term": "4369" + }, + { + "ext": "v0", + "const_term": "3636", + "linear_term": "7013" + }, + { + "ext": "v0", + "const_term": "40256", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "377551", + "linear_term": "4059" + }, + { + "ext": "v0", + "const_term": "417482", + "linear_term": "45712" + }, + { + "ext": "v0", + "const_term": "41142", + "linear_term": "634" + }, + { + "ext": "v0", + "const_term": "1945", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "6481", + "linear_term": "5943" + }, + { + "ext": "v0", + "const_term": "711", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "2314804", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "4176", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "4716", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "4680", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "4256", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "884", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "1059", + "linear_term": "502" + }, + { + "ext": "v0", + "const_term": "73077", + "linear_term": "25410" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "540752" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "176363" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "29989" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "1061449" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "237336" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "328476" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "701845" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "429383" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "28" + }, + { + "ext": "v0", + "const_term": "43030", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "7556" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "10711" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "3300" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "23038" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "42488" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "828974" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "297100" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "14" + }, + { + "ext": "v0", + "const_term": "1882", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "3000906", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "661", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "985", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "1934", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "730510", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "5921", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "1057822", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "92642", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "100742", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "7689", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "2458985", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "2347584", + "linear_term": "94135478" + }, + { + "ext": "v0", + "const_term": "1020885", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "2638451", + "linear_term": "6803" + }, + { + "ext": "v0", + "const_term": "25207", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "7873219", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "7663880", + "linear_term": "298580871" + }, + { + "ext": "v0", + "const_term": "1856539", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "6315452", + "linear_term": "7232" + }, + { + "ext": "v0", + "const_term": "10558948", + "linear_term": "632860943" + }, + { + "ext": "v0", + "const_term": "1994", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "1155", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "74", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "332", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "691", + "linear_term": "74558" + }, + { + "ext": "v0", + "const_term": "35421", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "344", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "476", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "904", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "2811", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "1706052", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "61", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "3623", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "1150435", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "5263916", + "linear_term": "392472814" + }, + { + "ext": "v0", + "const_term": "2052", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "1133", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "74", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "332", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "755", + "linear_term": "68930" + }, + { + "ext": "v0", + "const_term": "33151", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "1185193", + "linear_term": "41568084" + } + ] + }, + { + "contract_cost_params_memory_bytes": [ + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "16", + "linear_term": "128" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "242", + "linear_term": "384" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "384" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "132773", + "linear_term": "4903" + }, + { + "ext": "v0", + "const_term": "69472", + "linear_term": "1217" + }, + { + "ext": "v0", + "const_term": "14", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "181", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "99", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "99", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "99", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "99", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "99", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "17564", + "linear_term": "6457" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "47464" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "13420" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "6285" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "64670" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "29074" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "48095" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "103229" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "36394" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "257" + }, + { + "ext": "v0", + "const_term": "70704", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "14613" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "6833" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "1025" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "129632" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "13665" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "97637" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "9176" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "126" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "109494", + "linear_term": "266603" + }, + { + "ext": "v0", + "const_term": "2776", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "5896", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "219654", + "linear_term": "266603" + }, + { + "ext": "v0", + "const_term": "1672", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "3960", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "2204", + "linear_term": "9340474" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "248", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "128" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "1821", + "linear_term": "6232546" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "312", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "0", + "linear_term": "0" + }, + { + "ext": "v0", + "const_term": "73061", + "linear_term": "229779" + } + ] + }, + { + "contract_data_key_size_bytes": 4294967295 + }, + { + "contract_data_entry_size_bytes": 4294967295 + }, + { + "state_archival": { + "max_entry_ttl": 3110400, + "min_temporary_ttl": 16, + "min_persistent_ttl": 10, + "persistent_rent_rate_denominator": "535680", + "temp_rent_rate_denominator": "5356800", + "max_entries_to_archive": 100, + "live_soroban_state_size_window_sample_size": 30, + "live_soroban_state_size_window_sample_period": 64, + "eviction_scan_size": 100000, + "starting_eviction_scan_level": 6 + } + }, + { + "contract_execution_lanes": { + "ledger_max_tx_count": 4294967295 + } + }, + { + "contract_parallel_compute_v0": { + "ledger_max_dependent_tx_clusters": 1 + } + }, + { + "contract_ledger_cost_ext_v0": { + "tx_max_footprint_entries": 4294967295, + "fee_write1_kb": "3500" + } + }, + { + "scp_timing": { + "ledger_target_close_time_milliseconds": 5000, + "nomination_timeout_initial_milliseconds": 1000, + "nomination_timeout_increment_milliseconds": 1000, + "ballot_timeout_initial_milliseconds": 1000, + "ballot_timeout_increment_milliseconds": 1000 + } + } + ] +} diff --git a/cmd/stellar-rpc/internal/integrationtest/infrastructure/docker/upgrades/unlimited.p28.xdr b/cmd/stellar-rpc/internal/integrationtest/infrastructure/docker/upgrades/unlimited.p28.xdr new file mode 100644 index 000000000..cbad07507 --- /dev/null +++ b/cmd/stellar-rpc/internal/integrationtest/infrastructure/docker/upgrades/unlimited.p28.xdr @@ -0,0 +1 @@ +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 diff --git a/cmd/stellar-rpc/internal/preflight/preflight_test.go b/cmd/stellar-rpc/internal/preflight/preflight_test.go index 029b99b28..b7c61c7be 100644 --- a/cmd/stellar-rpc/internal/preflight/preflight_test.go +++ b/cmd/stellar-rpc/internal/preflight/preflight_test.go @@ -212,10 +212,10 @@ func (m inMemoryLedgerEntryGetter) Done() error { } // supportedProtocolVersions are the protocol versions the bundled soroban hosts -// can simulate: the previous host (prev) handles protocol 26 and the current -// host (curr) handles protocol 27. Preflight switches between them at runtime +// can simulate: the previous host (prev) handles protocol 27 and the current +// host (curr) handles protocol 28. Preflight switches between them at runtime // based on the ledger's protocol version, so the tests exercise both paths. -var supportedProtocolVersions = []uint32{26, 27} +var supportedProtocolVersions = []uint32{27, 28} func getPreflightParameters(t testing.TB, protocolVersion uint32) Parameters { ledgerEntryGetter, err := newInMemoryLedgerEntryGetter(mockLedgerEntries, latestSimulateTransactionLedgerSeq) diff --git a/cmd/stellar-rpc/lib/preflight/src/lib.rs b/cmd/stellar-rpc/lib/preflight/src/lib.rs index 376a1f1e7..82dd36df9 100644 --- a/cmd/stellar-rpc/lib/preflight/src/lib.rs +++ b/cmd/stellar-rpc/lib/preflight/src/lib.rs @@ -68,12 +68,17 @@ mod prev { pub(crate) const PROTOCOL: u32 = soroban_env_host::meta::INTERFACE_VERSION.protocol; - // See the matching `curr::recording_auth_mode`. The previous soroban version - // models the recording auth mode as a bare `disable_non_root_auth` bool. + // See the matching `curr::recording_auth_mode`. Now that `-prev` has + // been shifted from soroban-env-host 26.1.2 to 27.0.0, the recording + // auth mode is the v27 shape — a `RecordingInvocationAuthParams` struct + // carrying both `disable_non_root_auth` and `use_address_v2`. pub(crate) fn recording_auth_mode( disable_non_root_auth: bool, ) -> soroban_env_host::e2e_invoke::RecordingInvocationAuthMode { - soroban_env_host::e2e_invoke::RecordingInvocationAuthMode::Recording(disable_non_root_auth) + soroban_env_host::e2e_invoke::RecordingInvocationAuthMode::recording( + disable_non_root_auth, + false, + ) } } diff --git a/go.mod b/go.mod index b2f97db58..d7022535d 100644 --- a/go.mod +++ b/go.mod @@ -17,7 +17,7 @@ require ( github.com/sirupsen/logrus v1.9.3 github.com/spf13/cobra v1.7.0 github.com/spf13/pflag v1.0.5 - github.com/stellar/go-stellar-sdk v0.6.0 + github.com/stellar/go-stellar-sdk v0.6.1-0.20260616165505-26fec7c0e891 github.com/stretchr/testify v1.11.1 ) diff --git a/go.sum b/go.sum index 0315adfb4..eef6c4427 100644 --- a/go.sum +++ b/go.sum @@ -429,8 +429,8 @@ github.com/spf13/viper v1.17.0 h1:I5txKw7MJasPL/BrfkbA0Jyo/oELqVmux4pR/UxOMfI= github.com/spf13/viper v1.17.0/go.mod h1:BmMMMLQXSbcHK6KAOiFLz0l5JHrU89OdIRHvsk0+yVI= github.com/spiffe/go-spiffe/v2 v2.6.0 h1:l+DolpxNWYgruGQVV0xsfeya3CsC7m8iBzDnMpsbLuo= github.com/spiffe/go-spiffe/v2 v2.6.0/go.mod h1:gm2SeUoMZEtpnzPNs2Csc0D/gX33k1xIx7lEzqblHEs= -github.com/stellar/go-stellar-sdk v0.6.0 h1:NM2oqZJQup0QxnJMq6C8s4iIIhU6rHFX0rlsF3wh/Ho= -github.com/stellar/go-stellar-sdk v0.6.0/go.mod h1:IkcqcrE9UQi7n/1y+MxKB+7qzdjG1T2kGOD7Ss8dqjw= +github.com/stellar/go-stellar-sdk v0.6.1-0.20260616165505-26fec7c0e891 h1:Y/PtLm4L4ZHLDI1dXIflRjI5pY+m+KD7FUVFM07tV+E= +github.com/stellar/go-stellar-sdk v0.6.1-0.20260616165505-26fec7c0e891/go.mod h1:IkcqcrE9UQi7n/1y+MxKB+7qzdjG1T2kGOD7Ss8dqjw= github.com/stellar/go-xdr v0.0.0-20260529210834-0bf8f4956364 h1:gOKrfuWdZ92LFlv0TAwgZ7OsWKeBsOMDlGLyFgduI1w= github.com/stellar/go-xdr v0.0.0-20260529210834-0bf8f4956364/go.mod h1:If+U9Z1W5xU97VrOgJandQT+2dN7/iOpkCrxBJEyF80= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= diff --git a/scripts/check-dependencies.bash b/scripts/check-dependencies.bash index 83c93180e..244c64c4b 100755 --- a/scripts/check-dependencies.bash +++ b/scripts/check-dependencies.bash @@ -21,6 +21,29 @@ fi for PROTO in $PROTOS do if ! CARGO_OUTPUT=$(cargo tree -p soroban-env-host@$PROTO 2>&1); then + # `cargo tree -p name@ver` errors out with "specification ... is + # ambiguous" when the same crate+version is pulled from more than one + # source. That's intentional during a protocol transition: -prev pins + # crates.io's released version while -curr pulls a git rev of the + # next-protocol host (with the `next` feature on). The cargo CLI can't + # disambiguate without a source-qualified pkgid; verify each candidate + # source resolves cleanly on its own and accept the ambiguity. + if echo "$CARGO_OUTPUT" | grep -q "is ambiguous"; then + SOURCES=$(echo "$CARGO_OUTPUT" | grep -oE '(registry\+|git\+)[^[:space:]]+') + if [ -n "$SOURCES" ]; then + ALL_OK=true + for SRC in $SOURCES; do + if ! cargo tree -p "$SRC" > /dev/null 2>&1; then + ALL_OK=false + break + fi + done + if [ "$ALL_OK" = true ]; then + echo "Note: soroban-env-host@$PROTO has multiple sources (intentional -prev/-curr split during protocol transition); each resolves cleanly." + continue + fi + fi + fi echo "The project depends on multiple versions of the soroban-env-host@$PROTO Rust library, please unify them." echo echo @@ -53,8 +76,14 @@ do if CARGO_OUTPUT=$(cargo tree --depth 0 -p stellar-xdr@$PROTO 2>&1); then RS_STELLAR_XDR_REVISION=$(echo -n "$CARGO_OUTPUT" | stellar_xdr_version_from_rust_dep_tree) if [ ${#RS_STELLAR_XDR_REVISION} -eq 40 ]; then - # revision is a git hash - STELLAR_XDR_REVISION_FROM_RUST=$($CURL https://raw.githubusercontent.com/stellar/rs-stellar-xdr/${RS_STELLAR_XDR_REVISION}/xdr/curr-version) + # revision is a git hash. rs-stellar-xdr moved the pinned stellar-xdr + # commit from xdr/curr-version to the top-level xdr-version file in v27, + # so read xdr-version first and fall back to xdr/curr-version for older + # layouts. The || sits outside the command substitution so a + # --fail-with-body 404 body can't be concatenated into the captured + # revision; each assignment captures only its own command's stdout. + STELLAR_XDR_REVISION_FROM_RUST=$($CURL "https://raw.githubusercontent.com/stellar/rs-stellar-xdr/${RS_STELLAR_XDR_REVISION}/xdr-version" 2>/dev/null) \ + || STELLAR_XDR_REVISION_FROM_RUST=$($CURL "https://raw.githubusercontent.com/stellar/rs-stellar-xdr/${RS_STELLAR_XDR_REVISION}/xdr/curr-version" 2>/dev/null) else # revision is a crate version CARGO_SRC_BASE_DIR=$(realpath ${CARGO_HOME:-$HOME/.cargo}/registry/src/index*) @@ -88,11 +117,29 @@ GO_XDR_REVISION=$(go list -m -f '{{.Version}}' github.com/stellar/go-stellar-sdk STELLAR_XDR_REVISION_FROM_GO=$($CURL https://raw.githubusercontent.com/stellar/go-stellar-sdk/${GO_XDR_REVISION}/xdr/xdr_commit_generated.txt) if [ "$STELLAR_XDR_REVISION_FROM_GO" != "$STELLAR_XDR_REVISION_FROM_RUST" ]; then - echo "Go and Rust dependencies are using different revisions of https://github.com/stellar/stellar-xdr" - echo - echo "Rust dependencies are using commit $STELLAR_XDR_REVISION_FROM_RUST" - echo "Go dependencies are using commit $STELLAR_XDR_REVISION_FROM_GO" - exit 1 + # During a protocol-next transition the Rust side (via rs-stellar-xdr) + # routinely lags the Go side (via go-stellar-sdk) by a small handful of + # stellar-xdr commits — go-stellar-sdk regenerates as soon as the CAP's + # XDR lands, but rs-stellar-xdr's matching regen happens later. Check + # whether the two commits are on the same ancestry path: if one is an + # ancestor of the other, the only diffs are forward commits we expect + # to be either comment fixes or feature-gate-ungating changes that + # don't affect the on-wire XDR. In that case, warn but don't fail. + # Otherwise, this is a real branch divergence — fail. + AHEAD=$($CURL "https://api.github.com/repos/stellar/stellar-xdr/compare/${STELLAR_XDR_REVISION_FROM_RUST}...${STELLAR_XDR_REVISION_FROM_GO}" 2>/dev/null \ + | $SED -n 's/^[[:space:]]*"status"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/p' \ + | head -1) + if [ "$AHEAD" = "ahead" ] || [ "$AHEAD" = "behind" ] || [ "$AHEAD" = "identical" ]; then + echo "Note: Go and Rust stellar-xdr revisions differ but are on the same ancestry path (status: $AHEAD). Allowed during a protocol-next transition; both sides should converge before the PR merges to main." + echo "Rust dependencies are using commit $STELLAR_XDR_REVISION_FROM_RUST" + echo "Go dependencies are using commit $STELLAR_XDR_REVISION_FROM_GO" + else + echo "Go and Rust dependencies are using different revisions of https://github.com/stellar/stellar-xdr" + echo + echo "Rust dependencies are using commit $STELLAR_XDR_REVISION_FROM_RUST" + echo "Go dependencies are using commit $STELLAR_XDR_REVISION_FROM_GO" + exit 1 + fi fi # Now, lets make sure that the core and captive core version used in the tests use the same version and that they depend @@ -127,7 +174,16 @@ while IFS=' ' read -r P CORE_VERSION; do # * Check the rs-stellar-xdr revision of host-dep-tree-prev.txt # * Check the stellar-xdr revision - CORE_HOST_DEP_TREE_CURR=$($CURL https://raw.githubusercontent.com/stellar/stellar-core/${CORE_CONTAINER_REVISION}/src/rust/src/dep-trees/p${P}-expect.txt) + # For consensus-only next-protocol releases (e.g. CAP-0083 / P28), the + # core build at $CORE_CONTAINER_REVISION may not yet ship a + # `p${P}-expect.txt` dep-tree fixture — those land alongside the + # corresponding host bump. Skip this protocol's Rust-vs-core XDR check + # when the file is missing; the previous-protocol check below still + # guards the rs-stellar-xdr revision Core actually compiled against. + if ! CORE_HOST_DEP_TREE_CURR=$($CURL https://raw.githubusercontent.com/stellar/stellar-core/${CORE_CONTAINER_REVISION}/src/rust/src/dep-trees/p${P}-expect.txt 2>/dev/null); then + echo "Note: stellar-core ${CORE_CONTAINER_REVISION} has no p${P}-expect.txt dep-tree fixture; skipping the Rust-vs-core XDR check for protocol $P." + continue + fi RS_STELLAR_XDR_REVISION_FROM_CORE=$(echo "$CORE_HOST_DEP_TREE_CURR" | stellar_xdr_version_from_rust_dep_tree) if [ "$RS_STELLAR_XDR_REVISION" != "$RS_STELLAR_XDR_REVISION_FROM_CORE" ]; then echo "The Core revision used in protocol $P integration tests (${CORE_CONTAINER_REVISION}) uses a different revision of https://github.com/stellar/rs-stellar-xdr"