From ac927f75007bd87f2a1fcc55dc68ea232d79712f Mon Sep 17 00:00:00 2001 From: "leshyatwork[bot]" <217592034+leshyatwork[bot]@users.noreply.github.com> Date: Fri, 6 Nov 2026 00:17:43 +0000 Subject: [PATCH 1/3] Update Lotus dependency --- scripts/devnet-forest-miner/.env | 2 +- scripts/devnet/.env | 2 +- scripts/tests/api_compare/.env | 2 +- scripts/tests/bootstrapper/.env | 2 +- scripts/tests/snapshot_parity/.env | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/scripts/devnet-forest-miner/.env b/scripts/devnet-forest-miner/.env index 65e8ac7ce7a..3daeea5f40f 100644 --- a/scripts/devnet-forest-miner/.env +++ b/scripts/devnet-forest-miner/.env @@ -1,4 +1,4 @@ -LOTUS_IMAGE=filecoin/lotus-all-in-one:v1.38.3-2k +LOTUS_IMAGE=filecoin/lotus-all-in-one:v1.39.0-2k # Genesis network name. Lotus stamps it into the genesis block; Forest joins the # same network via `--chain ${NETWORK_NAME}`, so the two must agree (this is what # makes the `/fil/blocks/${NETWORK_NAME}` gossip topic line up). diff --git a/scripts/devnet/.env b/scripts/devnet/.env index f08b0d96960..1eb04483d49 100644 --- a/scripts/devnet/.env +++ b/scripts/devnet/.env @@ -1,4 +1,4 @@ -LOTUS_IMAGE=filecoin/lotus-all-in-one:v1.38.3-2k +LOTUS_IMAGE=filecoin/lotus-all-in-one:v1.39.0-2k # The genesis network name. Lotus stamps it into the genesis block, and both Forest nodes must agree. NETWORK_NAME=devnet FOREST_DATA_DIR=/forest_data diff --git a/scripts/tests/api_compare/.env b/scripts/tests/api_compare/.env index 8263a235628..64e7c2212ab 100644 --- a/scripts/tests/api_compare/.env +++ b/scripts/tests/api_compare/.env @@ -1,6 +1,6 @@ # Note: this should be a `fat` image so that it contains the pre-downloaded filecoin proof parameters FOREST_IMAGE=ghcr.io/chainsafe/forest:edge-fat -LOTUS_IMAGE=filecoin/lotus-all-in-one:v1.38.3-calibnet +LOTUS_IMAGE=filecoin/lotus-all-in-one:v1.39.0-calibnet FIL_PROOFS_PARAMETER_CACHE=/var/tmp/filecoin-proof-parameters LOTUS_RPC_PORT=1234 LOTUS_VIA_GATEWAY_RPC_PORT=4568 diff --git a/scripts/tests/bootstrapper/.env b/scripts/tests/bootstrapper/.env index f8ada9d27e9..aab22b0ebae 100644 --- a/scripts/tests/bootstrapper/.env +++ b/scripts/tests/bootstrapper/.env @@ -1,5 +1,5 @@ # Note: this should be a `fat` image so that it contains the pre-downloaded filecoin proof parameters -LOTUS_IMAGE=filecoin/lotus-all-in-one:v1.38.3-calibnet +LOTUS_IMAGE=filecoin/lotus-all-in-one:v1.39.0-calibnet FIL_PROOFS_PARAMETER_CACHE=/var/tmp/filecoin-proof-parameters LOTUS_RPC_PORT=1234 FOREST_RPC_PORT=2345 diff --git a/scripts/tests/snapshot_parity/.env b/scripts/tests/snapshot_parity/.env index 1c9b50e89b9..978ae60e10a 100644 --- a/scripts/tests/snapshot_parity/.env +++ b/scripts/tests/snapshot_parity/.env @@ -1,4 +1,4 @@ -LOTUS_IMAGE=filecoin/lotus-all-in-one:v1.38.3-calibnet +LOTUS_IMAGE=filecoin/lotus-all-in-one:v1.39.0-calibnet FIL_PROOFS_PARAMETER_CACHE=/var/tmp/filecoin-proof-parameters LOTUS_RPC_PORT=1234 FOREST_RPC_PORT=2345 From 77d3bf277838228740164ebfb59781c1b0bb9abc Mon Sep 17 00:00:00 2001 From: Hubert Bugaj Date: Fri, 6 Nov 2026 11:46:51 +0100 Subject: [PATCH 2/3] add `UpgradeXxHeight` to for `StateGetNetworkParams` --- CHANGELOG.md | 2 + Cargo.lock | 50 +++++++++---------- Cargo.toml | 4 +- scripts/devnet-forest-miner/.env | 2 + .../devnet-forest-miner/docker-compose.yml | 1 + scripts/devnet/.env | 2 + scripts/devnet/docker-compose.yml | 4 ++ src/networks/butterflynet/mod.rs | 5 +- src/networks/calibnet/mod.rs | 3 +- src/networks/devnet/mod.rs | 5 +- src/networks/mainnet/mod.rs | 3 +- src/networks/mod.rs | 6 ++- src/rpc/methods/state.rs | 2 + .../forest__rpc__tests__rpc__v0.snap | 4 ++ .../forest__rpc__tests__rpc__v1.snap | 4 ++ src/shim/version.rs | 2 +- .../subcommands/api_cmd/test_snapshots.txt | 2 +- 17 files changed, 64 insertions(+), 37 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8f5e7f6a348..f797368db4d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -39,6 +39,8 @@ ### Changed +- [#7850](https://github.com/ChainSafe/forest/pull/7850): `Filecoin.StateGetNetworkParams` now reports `UpgradeXxHeight` (NV30), matching Lotus v1.39.0. The upgrade is not scheduled on any network yet. + - [#7833](https://github.com/ChainSafe/forest/pull/7833): Big integers in JSON-RPC parameters must fit the 1016-bit limit of their CBOR encoding. Larger values are rejected when the request is decoded. - [#7805](https://github.com/ChainSafe/forest/pull/7805): Devnet defaults match Lotus v1.38.0 2k builds: the genesis network version defaults to 28, the upgrade heights follow Lotus, and the minimum consensus power is 2048. An enabled upgrade below genesis keeps its own version. diff --git a/Cargo.lock b/Cargo.lock index 8c546fa66da..de4c8256e04 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2784,7 +2784,7 @@ dependencies = [ "fvm_ipld_encoding", "fvm_shared 2.12.2", "fvm_shared 3.14.2", - "fvm_shared 4.8.3", + "fvm_shared 4.8.4", "num-derive 0.5.1", "num-traits", "serde", @@ -2799,7 +2799,7 @@ dependencies = [ "fvm_ipld_encoding", "fvm_shared 2.12.2", "fvm_shared 3.14.2", - "fvm_shared 4.8.3", + "fvm_shared 4.8.4", "num-derive 0.5.1", "num-traits", "serde", @@ -2818,7 +2818,7 @@ dependencies = [ "fvm_ipld_encoding", "fvm_shared 2.12.2", "fvm_shared 3.14.2", - "fvm_shared 4.8.3", + "fvm_shared 4.8.4", "lazy_static", "num-derive 0.5.1", "num-traits", @@ -2834,7 +2834,7 @@ dependencies = [ "fil_actor_evm_state", "fvm_ipld_encoding", "fvm_shared 3.14.2", - "fvm_shared 4.8.3", + "fvm_shared 4.8.4", "num-derive 0.5.1", "num-traits", "serde", @@ -2848,7 +2848,7 @@ checksum = "7c49e252feff4953fa86d39ddeb4fed3bf3aebcaaa92337da4f795aad4a09f82" dependencies = [ "fvm_ipld_encoding", "fvm_shared 3.14.2", - "fvm_shared 4.8.3", + "fvm_shared 4.8.4", "num-derive 0.5.1", "num-traits", "serde", @@ -2865,7 +2865,7 @@ dependencies = [ "frc42_dispatch", "fvm_ipld_encoding", "fvm_shared 3.14.2", - "fvm_shared 4.8.3", + "fvm_shared 4.8.4", "hex", "hex-literal", "num-derive 0.5.1", @@ -2888,7 +2888,7 @@ dependencies = [ "fvm_ipld_hamt", "fvm_shared 2.12.2", "fvm_shared 3.14.2", - "fvm_shared 4.8.3", + "fvm_shared 4.8.4", "num-derive 0.5.1", "num-traits", "serde", @@ -2911,7 +2911,7 @@ dependencies = [ "fvm_ipld_hamt", "fvm_shared 2.12.2", "fvm_shared 3.14.2", - "fvm_shared 4.8.3", + "fvm_shared 4.8.4", "ipld-core", "lazy_static", "multihash-codetable", @@ -2940,7 +2940,7 @@ dependencies = [ "fvm_ipld_hamt", "fvm_shared 2.12.2", "fvm_shared 3.14.2", - "fvm_shared 4.8.3", + "fvm_shared 4.8.4", "itertools 0.15.0", "lazy_static", "multihash-codetable", @@ -2967,7 +2967,7 @@ dependencies = [ "fvm_ipld_hamt", "fvm_shared 2.12.2", "fvm_shared 3.14.2", - "fvm_shared 4.8.3", + "fvm_shared 4.8.4", "indexmap 2.14.2", "integer-encoding", "num-derive 0.5.1", @@ -2987,7 +2987,7 @@ dependencies = [ "fvm_ipld_encoding", "fvm_shared 2.12.2", "fvm_shared 3.14.2", - "fvm_shared 4.8.3", + "fvm_shared 4.8.4", "num-derive 0.5.1", "num-traits", "serde", @@ -3008,7 +3008,7 @@ dependencies = [ "fvm_ipld_hamt", "fvm_shared 2.12.2", "fvm_shared 3.14.2", - "fvm_shared 4.8.3", + "fvm_shared 4.8.4", "integer-encoding", "lazy_static", "num-derive 0.5.1", @@ -3030,7 +3030,7 @@ dependencies = [ "fvm_ipld_encoding", "fvm_shared 2.12.2", "fvm_shared 3.14.2", - "fvm_shared 4.8.3", + "fvm_shared 4.8.4", "lazy_static", "log", "multihash-codetable", @@ -3051,7 +3051,7 @@ dependencies = [ "fvm_ipld_blockstore", "fvm_ipld_encoding", "fvm_shared 2.12.2", - "fvm_shared 4.8.3", + "fvm_shared 4.8.4", "multihash-codetable", "num-derive 0.5.1", "num-traits", @@ -3072,7 +3072,7 @@ dependencies = [ "fvm_ipld_encoding", "fvm_shared 2.12.2", "fvm_shared 3.14.2", - "fvm_shared 4.8.3", + "fvm_shared 4.8.4", "log", "num-derive 0.5.1", "num-traits", @@ -3096,7 +3096,7 @@ dependencies = [ "fvm_ipld_hamt", "fvm_shared 2.12.2", "fvm_shared 3.14.2", - "fvm_shared 4.8.3", + "fvm_shared 4.8.4", "integer-encoding", "itertools 0.15.0", "lazy_static", @@ -3366,7 +3366,7 @@ dependencies = [ "fvm_ipld_kamt", "fvm_shared 2.12.2", "fvm_shared 3.14.2", - "fvm_shared 4.8.3", + "fvm_shared 4.8.4", "get-size2", "gethostname", "git-version", @@ -3546,7 +3546,7 @@ dependencies = [ "frc42_macros", "fvm_ipld_encoding", "fvm_sdk", - "fvm_shared 4.8.3", + "fvm_shared 4.8.4", "thiserror 2.0.21", ] @@ -3557,7 +3557,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c23f342605b9ee11ae783e259b553e305807787be5ec7ead9ef086f6a17b4bfc" dependencies = [ "fvm_sdk", - "fvm_shared 4.8.3", + "fvm_shared 4.8.4", "thiserror 2.0.21", ] @@ -3587,7 +3587,7 @@ dependencies = [ "fvm_ipld_encoding", "fvm_ipld_hamt", "fvm_sdk", - "fvm_shared 4.8.3", + "fvm_shared 4.8.4", "integer-encoding", "multihash-codetable", "num-traits", @@ -3855,7 +3855,7 @@ dependencies = [ "fvm_ipld_blockstore", "fvm_ipld_encoding", "fvm_ipld_hamt", - "fvm_shared 4.8.3", + "fvm_shared 4.8.4", "lazy_static", "log", "minstant", @@ -3906,7 +3906,7 @@ dependencies = [ "fvm_ipld_blockstore", "fvm_ipld_encoding", "fvm_sdk", - "fvm_shared 4.8.3", + "fvm_shared 4.8.4", "multihash-codetable", "num-traits", "serde", @@ -4015,7 +4015,7 @@ checksum = "66add8f0cf040788d78d94a361a3df95c12be10daa99d6e651e10eda55dfd599" dependencies = [ "cid", "fvm_ipld_encoding", - "fvm_shared 4.8.3", + "fvm_shared 4.8.4", "lazy_static", "log", "num-traits", @@ -4086,9 +4086,9 @@ dependencies = [ [[package]] name = "fvm_shared" -version = "4.8.3" +version = "4.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "171966a590c65861a86ef4bd3c3da3426bff90186640d64bd314260819239afb" +checksum = "1d6fb0c6b89c73b886c54f6317607f5b86d87c0f3e1914c56ce6f010fb179e4b" dependencies = [ "anyhow", "arbitrary", diff --git a/Cargo.toml b/Cargo.toml index 789873c917f..f341f38a4fd 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -106,7 +106,7 @@ fvm_ipld_encoding = "0.5.3" fvm_ipld_kamt = "0.4.5" fvm_shared2 = { package = "fvm_shared", version = "~2.12.2" } fvm_shared3 = { package = "fvm_shared", version = "~3.14.2", features = ["proofs"] } -fvm_shared4 = { package = "fvm_shared", version = "~4.8.3", features = ["proofs"] } +fvm_shared4 = { package = "fvm_shared", version = "~4.8.4", features = ["proofs"] } get-size2 = { workspace = true } gethostname = "1" git-version = "0.3" @@ -255,7 +255,7 @@ cs_serde_bytes = "0.12" derive-quickcheck-arbitrary = "0.1" fickle = "0.3" fvm_shared3 = { package = "fvm_shared", version = "~3.14.2", features = ["arb", "proofs", "testing"] } -fvm_shared4 = { package = "fvm_shared", version = "~4.8.3", features = ["arb", "proofs", "testing"] } +fvm_shared4 = { package = "fvm_shared", version = "~4.8.4", features = ["arb", "proofs", "testing"] } hex = { version = "0.4", features = ["serde"] } http-range-header = "0.4" insta = { version = "1", features = ["yaml"] } diff --git a/scripts/devnet-forest-miner/.env b/scripts/devnet-forest-miner/.env index 3daeea5f40f..4e3c6880925 100644 --- a/scripts/devnet-forest-miner/.env +++ b/scripts/devnet-forest-miner/.env @@ -26,4 +26,6 @@ TOCK_HEIGHT=24 GOLDEN_WEEK_HEIGHT=26 FIREHORSE_HEIGHT=28 SOLSTICE_HEIGHT=30 +# Forest cannot run NV30 yet, so Lotus must not activate it. +XX_HEIGHT=999999999999999 TARGET_HEIGHT=34 diff --git a/scripts/devnet-forest-miner/docker-compose.yml b/scripts/devnet-forest-miner/docker-compose.yml index 95e7c169270..5bccaad89df 100644 --- a/scripts/devnet-forest-miner/docker-compose.yml +++ b/scripts/devnet-forest-miner/docker-compose.yml @@ -19,6 +19,7 @@ x-lotus-heights: &lotus-heights LOTUS_GOLDENWEEK_HEIGHT: ${GOLDEN_WEEK_HEIGHT} LOTUS_FIREHORSE_HEIGHT: ${FIREHORSE_HEIGHT} LOTUS_SOLSTICE_HEIGHT: ${SOLSTICE_HEIGHT} + LOTUS_XX_HEIGHT: ${XX_HEIGHT} x-forest-heights: &forest-heights FOREST_GENESIS_NETWORK_VERSION: ${GENESIS_NETWORK_VERSION} diff --git a/scripts/devnet/.env b/scripts/devnet/.env index 1eb04483d49..538389966f8 100644 --- a/scripts/devnet/.env +++ b/scripts/devnet/.env @@ -27,4 +27,6 @@ TOCK_HEIGHT=24 GOLDEN_WEEK_HEIGHT=26 FIREHORSE_HEIGHT=28 SOLSTICE_HEIGHT=30 +# Forest cannot run NV30 yet, so Lotus must not activate it. +XX_HEIGHT=999999999999999 TARGET_HEIGHT=34 diff --git a/scripts/devnet/docker-compose.yml b/scripts/devnet/docker-compose.yml index 936433757e0..243ec568de3 100644 --- a/scripts/devnet/docker-compose.yml +++ b/scripts/devnet/docker-compose.yml @@ -29,6 +29,7 @@ services: - LOTUS_GOLDENWEEK_HEIGHT=${GOLDEN_WEEK_HEIGHT} - LOTUS_FIREHORSE_HEIGHT=${FIREHORSE_HEIGHT} - LOTUS_SOLSTICE_HEIGHT=${SOLSTICE_HEIGHT} + - LOTUS_XX_HEIGHT=${XX_HEIGHT} env_file: - lotus.env entrypoint: ["/bin/bash", "-c"] @@ -81,6 +82,7 @@ services: - LOTUS_GOLDENWEEK_HEIGHT=${GOLDEN_WEEK_HEIGHT} - LOTUS_FIREHORSE_HEIGHT=${FIREHORSE_HEIGHT} - LOTUS_SOLSTICE_HEIGHT=${SOLSTICE_HEIGHT} + - LOTUS_XX_HEIGHT=${XX_HEIGHT} ports: - ${LOTUS_RPC_PORT}:${LOTUS_RPC_PORT} - ${LOTUS_P2P_PORT}:${LOTUS_P2P_PORT} @@ -127,6 +129,7 @@ services: - LOTUS_GOLDENWEEK_HEIGHT=${GOLDEN_WEEK_HEIGHT} - LOTUS_FIREHORSE_HEIGHT=${FIREHORSE_HEIGHT} - LOTUS_SOLSTICE_HEIGHT=${SOLSTICE_HEIGHT} + - LOTUS_XX_HEIGHT=${XX_HEIGHT} ports: - ${MINER_RPC_PORT}:${MINER_RPC_PORT} env_file: @@ -168,6 +171,7 @@ services: - LOTUS_GOLDENWEEK_HEIGHT=${GOLDEN_WEEK_HEIGHT} - LOTUS_FIREHORSE_HEIGHT=${FIREHORSE_HEIGHT} - LOTUS_SOLSTICE_HEIGHT=${SOLSTICE_HEIGHT} + - LOTUS_XX_HEIGHT=${XX_HEIGHT} entrypoint: ["/bin/bash", "-c"] env_file: - lotus.env diff --git a/src/networks/butterflynet/mod.rs b/src/networks/butterflynet/mod.rs index 794fa4d52e8..051b56e1f88 100644 --- a/src/networks/butterflynet/mod.rs +++ b/src/networks/butterflynet/mod.rs @@ -14,8 +14,8 @@ use crate::{ }; use super::{ - DrandPoint, Height, HeightInfo, NetworkChain, actors_bundle::ACTOR_BUNDLES_METADATA, - drand::DRAND_QUICKNET, parse_bootstrap_peers, + DrandPoint, Height, HeightInfo, NetworkChain, UPGRADE_HEIGHT_UNSCHEDULED, + actors_bundle::ACTOR_BUNDLES_METADATA, drand::DRAND_QUICKNET, parse_bootstrap_peers, }; /// Well-known network names. @@ -109,6 +109,7 @@ pub static HEIGHT_INFOS: LazyLock> = LazyLock::new( make_height!(GoldenWeek, -30), make_height!(FireHorse, -31), make_height!(Solstice, 5220, get_bundle_cid("v19.0.1")), + make_height!(Xx, UPGRADE_HEIGHT_UNSCHEDULED), ]) }); diff --git a/src/networks/calibnet/mod.rs b/src/networks/calibnet/mod.rs index 43709abee02..b4aa0f4bb2e 100644 --- a/src/networks/calibnet/mod.rs +++ b/src/networks/calibnet/mod.rs @@ -14,7 +14,7 @@ use crate::{ }; use super::{ - DrandPoint, Height, HeightInfo, NetworkChain, + DrandPoint, Height, HeightInfo, NetworkChain, UPGRADE_HEIGHT_UNSCHEDULED, actors_bundle::ACTOR_BUNDLES_METADATA, drand::{DRAND_MAINNET, DRAND_QUICKNET}, parse_bootstrap_peers, @@ -100,6 +100,7 @@ pub static HEIGHT_INFOS: LazyLock> = LazyLock::new( make_height!(FireHorse, 3_694_534, get_bundle_cid("v18.0.0")), // 2026-09-28T12:59:30Z make_height!(Solstice, 4_109_133, get_bundle_cid("v19.0.1")), + make_height!(Xx, UPGRADE_HEIGHT_UNSCHEDULED), ]) }); diff --git a/src/networks/devnet/mod.rs b/src/networks/devnet/mod.rs index ad99ce1a25c..234739dca0d 100644 --- a/src/networks/devnet/mod.rs +++ b/src/networks/devnet/mod.rs @@ -10,8 +10,8 @@ use strum::IntoEnumIterator as _; use crate::{eth::EthChainId, make_height, shim::version::NetworkVersion}; use super::{ - DrandPoint, Height, HeightInfo, NetworkChain, actors_bundle::ACTOR_BUNDLES_METADATA, - drand::DRAND_QUICKNET, get_upgrade_height_from_env, + DrandPoint, Height, HeightInfo, NetworkChain, UPGRADE_HEIGHT_UNSCHEDULED, + actors_bundle::ACTOR_BUNDLES_METADATA, drand::DRAND_QUICKNET, get_upgrade_height_from_env, }; // https://github.com/ethereum-lists/chains/blob/6b1e3ccad1cfcaae5aa1ab917960258f0ef1a6b6/_data/chains/eip155-31415926.json @@ -179,6 +179,7 @@ pub static HEIGHT_INFOS: LazyLock> = LazyLock::new( get_upgrade_height_from_env("FOREST_SOLSTICE_HEIGHT").unwrap_or(200), get_bundle_cid("v19.0.1") ), + make_height!(Xx, UPGRADE_HEIGHT_UNSCHEDULED), ]); for ((prev, prev_info), (next, next_info)) in Height::iter() .filter_map(|height| Some((height, height_infos.get(&height)?))) diff --git a/src/networks/mainnet/mod.rs b/src/networks/mainnet/mod.rs index a7f5f8f0c57..cd618a18362 100644 --- a/src/networks/mainnet/mod.rs +++ b/src/networks/mainnet/mod.rs @@ -16,7 +16,7 @@ use std::str::FromStr; use std::sync::LazyLock; use super::{ - DrandPoint, Height, HeightInfo, NetworkChain, + DrandPoint, Height, HeightInfo, NetworkChain, UPGRADE_HEIGHT_UNSCHEDULED, actors_bundle::ACTOR_BUNDLES_METADATA, drand::{DRAND_INCENTINET, DRAND_MAINNET, DRAND_QUICKNET}, parse_bootstrap_peers, @@ -97,6 +97,7 @@ pub static HEIGHT_INFOS: LazyLock> = LazyLock::new( make_height!(FireHorse, 6_052_800, get_bundle_cid("v18.0.0")), // Mon Oct 19 12:59:30 PM UTC 2026 make_height!(Solstice, 6_470_279, get_bundle_cid("v19.0.1")), + make_height!(Xx, UPGRADE_HEIGHT_UNSCHEDULED), ]) }); diff --git a/src/networks/mod.rs b/src/networks/mod.rs index a4e38321e49..fba1cf20b58 100644 --- a/src/networks/mod.rs +++ b/src/networks/mod.rs @@ -48,7 +48,6 @@ pub mod metrics; pub const NEWEST_NETWORK_VERSION: NetworkVersion = NetworkVersion::V29; /// Placeholder epoch for a network upgrade that has no scheduled height yet. -#[allow(unused)] pub const UPGRADE_HEIGHT_UNSCHEDULED: ChainEpoch = 999_999_999_999_999; const ENV_FOREST_BLOCK_DELAY_SECS: &str = "FOREST_BLOCK_DELAY_SECS"; const ENV_FOREST_PROPAGATION_DELAY_SECS: &str = "FOREST_PROPAGATION_DELAY_SECS"; @@ -178,6 +177,7 @@ pub enum Height { GoldenWeek, FireHorse, Solstice, + Xx, } impl From for NetworkVersion { @@ -220,6 +220,7 @@ impl From for NetworkVersion { Height::GoldenWeek => NetworkVersion::V27, Height::FireHorse => NetworkVersion::V28, Height::Solstice => NetworkVersion::V29, + Height::Xx => NetworkVersion::V30, } } } @@ -670,7 +671,7 @@ mod tests { fn heights_are_present(height_infos: &IndexMap) { /// These are required heights that need to be defined for all networks, for, e.g., conformance /// with `Filecoin.StateGetNetworkParams` RPC method. - const REQUIRED_HEIGHTS: [Height; 32] = [ + const REQUIRED_HEIGHTS: [Height; 33] = [ Height::Breeze, Height::Smoke, Height::Ignition, @@ -703,6 +704,7 @@ mod tests { Height::GoldenWeek, Height::FireHorse, Height::Solstice, + Height::Xx, ]; for height in &REQUIRED_HEIGHTS { diff --git a/src/rpc/methods/state.rs b/src/rpc/methods/state.rs index 095943e7f47..1948d76ab91 100644 --- a/src/rpc/methods/state.rs +++ b/src/rpc/methods/state.rs @@ -3355,6 +3355,7 @@ pub struct ForkUpgradeParams { upgrade_golden_week_height: ChainEpoch, upgrade_fire_horse_height: ChainEpoch, upgrade_solstice_height: ChainEpoch, + upgrade_xx_height: ChainEpoch, } impl TryFrom<&ChainConfig> for ForkUpgradeParams { @@ -3405,6 +3406,7 @@ impl TryFrom<&ChainConfig> for ForkUpgradeParams { upgrade_golden_week_height: get_height(GoldenWeek)?, upgrade_fire_horse_height: get_height(FireHorse)?, upgrade_solstice_height: get_height(Solstice)?, + upgrade_xx_height: get_height(Xx)?, }) } } diff --git a/src/rpc/snapshots/forest__rpc__tests__rpc__v0.snap b/src/rpc/snapshots/forest__rpc__tests__rpc__v0.snap index 5fd4a20017e..0ed52415427 100644 --- a/src/rpc/snapshots/forest__rpc__tests__rpc__v0.snap +++ b/src/rpc/snapshots/forest__rpc__tests__rpc__v0.snap @@ -6737,6 +6737,9 @@ components: UpgradeWatermelonHeight: type: integer format: int64 + UpgradeXxHeight: + type: integer + format: int64 required: - UpgradeSmokeHeight - UpgradeBreezeHeight @@ -6772,6 +6775,7 @@ components: - UpgradeGoldenWeekHeight - UpgradeFireHorseHeight - UpgradeSolsticeHeight + - UpgradeXxHeight GasTrace: type: object properties: diff --git a/src/rpc/snapshots/forest__rpc__tests__rpc__v1.snap b/src/rpc/snapshots/forest__rpc__tests__rpc__v1.snap index 0aa951f89ff..1d55b12f207 100644 --- a/src/rpc/snapshots/forest__rpc__tests__rpc__v1.snap +++ b/src/rpc/snapshots/forest__rpc__tests__rpc__v1.snap @@ -6869,6 +6869,9 @@ components: UpgradeWatermelonHeight: type: integer format: int64 + UpgradeXxHeight: + type: integer + format: int64 required: - UpgradeSmokeHeight - UpgradeBreezeHeight @@ -6904,6 +6907,7 @@ components: - UpgradeGoldenWeekHeight - UpgradeFireHorseHeight - UpgradeSolsticeHeight + - UpgradeXxHeight GasTrace: type: object properties: diff --git a/src/shim/version.rs b/src/shim/version.rs index 22105ce59d6..067dc9d6e4b 100644 --- a/src/shim/version.rs +++ b/src/shim/version.rs @@ -69,7 +69,7 @@ macro_rules! define_network_versions { define_network_versions!( 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, + 26, 27, 28, 29, 30, ); impl From for NetworkVersion { diff --git a/src/tool/subcommands/api_cmd/test_snapshots.txt b/src/tool/subcommands/api_cmd/test_snapshots.txt index e14f01ea6ee..bc523778d3e 100644 --- a/src/tool/subcommands/api_cmd/test_snapshots.txt +++ b/src/tool/subcommands/api_cmd/test_snapshots.txt @@ -298,7 +298,7 @@ filecoin_stategetbeaconentry_1792510758906981.rpcsnap.json.zst filecoin_stategetclaim_1737546933208940.rpcsnap.json.zst filecoin_stategetclaims_1737546933208977.rpcsnap.json.zst filecoin_stategetid_1764943126105310.rpcsnap.json.zst -filecoin_stategetnetworkparams_1790159888375251.rpcsnap.json.zst +filecoin_stategetnetworkparams_1793959115627691.rpcsnap.json.zst filecoin_stategetrandomnessdigestfrombeacon_1737546933236534.rpcsnap.json.zst filecoin_stategetrandomnessdigestfromtickets_1737546933236558.rpcsnap.json.zst filecoin_stategetrandomnessfrombeacon_1737546933236581.rpcsnap.json.zst From 7273b668c8c97050092c8aa1cf73c3f1ce2590a2 Mon Sep 17 00:00:00 2001 From: Hubert Bugaj Date: Fri, 6 Nov 2026 16:26:30 +0100 Subject: [PATCH 3/3] ignore faulty test --- src/tool/subcommands/api_cmd/api_compare_tests.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/tool/subcommands/api_cmd/api_compare_tests.rs b/src/tool/subcommands/api_cmd/api_compare_tests.rs index cceb9135e14..06f8029bb7d 100644 --- a/src/tool/subcommands/api_cmd/api_compare_tests.rs +++ b/src/tool/subcommands/api_cmd/api_compare_tests.rs @@ -2800,7 +2800,8 @@ fn eth_expensive_fork_error_tests(store: Arc) -> anyhow::Result