diff --git a/scripts/devnet/.env b/scripts/devnet/.env index 18d8ce299dd..38ff96b9c89 100644 --- a/scripts/devnet/.env +++ b/scripts/devnet/.env @@ -1,8 +1,8 @@ -LOTUS_IMAGE=ghcr.io/chainsafe/lotus-devnet:2024-10-07-6d79e1d +LOTUS_IMAGE=ghcr.io/chainsafe/lotus-devnet:2024-10-10-600728e FOREST_DATA_DIR=/forest_data LOTUS_DATA_DIR=/lotus_data FIL_PROOFS_PARAMETER_CACHE=/var/tmp/filecoin-proof-parameters -MINER_ACTOR_ADDRESS=t01000 +MINER_ACTOR_ADDRESS=f01000 LOTUS_RPC_PORT=1234 LOTUS_P2P_PORT=1235 MINER_RPC_PORT=2345 @@ -18,4 +18,5 @@ THUNDER_HEIGHT=6 WATERMELON_HEIGHT=9 DRAGON_HEIGHT=12 WAFFLE_HEIGHT=18 -TARGET_HEIGHT=20 +TUKTUK_HEIGHT=20 +TARGET_HEIGHT=22 diff --git a/scripts/devnet/docker-compose.yml b/scripts/devnet/docker-compose.yml index cb03970d7b8..877e055cdb2 100644 --- a/scripts/devnet/docker-compose.yml +++ b/scripts/devnet/docker-compose.yml @@ -69,6 +69,7 @@ services: - LOTUS_DRAGON_HEIGHT=${DRAGON_HEIGHT} - LOTUS_GENESIS_NETWORK_VERSION=${GENESIS_NETWORK_VERSION} - LOTUS_WAFFLE_HEIGHT=${WAFFLE_HEIGHT} + - LOTUS_TUKTUK_HEIGHT=${TUKTUK_HEIGHT} ports: - ${LOTUS_RPC_PORT}:${LOTUS_RPC_PORT} - ${LOTUS_P2P_PORT}:${LOTUS_P2P_PORT} @@ -109,6 +110,7 @@ services: - LOTUS_DRAGON_HEIGHT=${DRAGON_HEIGHT} - LOTUS_GENESIS_NETWORK_VERSION=${GENESIS_NETWORK_VERSION} - LOTUS_WAFFLE_HEIGHT=${WAFFLE_HEIGHT} + - LOTUS_TUKTUK_HEIGHT=${TUKTUK_HEIGHT} ports: - ${MINER_RPC_PORT}:${MINER_RPC_PORT} env_file: @@ -144,6 +146,7 @@ services: - LOTUS_DRAGON_HEIGHT=${DRAGON_HEIGHT} - LOTUS_GENESIS_NETWORK_VERSION=${GENESIS_NETWORK_VERSION} - LOTUS_WAFFLE_HEIGHT=${WAFFLE_HEIGHT} + - LOTUS_TUKTUK_HEIGHT=${TUKTUK_HEIGHT} entrypoint: ["/bin/bash", "-c" ] env_file: - lotus.env @@ -189,6 +192,7 @@ services: - FOREST_WATERMELON_HEIGHT=${WATERMELON_HEIGHT} - FOREST_DRAGON_HEIGHT=${DRAGON_HEIGHT} - FOREST_WAFFLE_HEIGHT=${WAFFLE_HEIGHT} + - FOREST_TUKTUK_HEIGHT=${TUKTUK_HEIGHT} networks: - devnet ports: @@ -235,6 +239,7 @@ services: - FOREST_WATERMELON_HEIGHT=${WATERMELON_HEIGHT} - FOREST_DRAGON_HEIGHT=${DRAGON_HEIGHT} - FOREST_WAFFLE_HEIGHT=${WAFFLE_HEIGHT} + - FOREST_TUKTUK_HEIGHT=${TUKTUK_HEIGHT} networks: - devnet ports: diff --git a/scripts/devnet/lotus.dockerfile b/scripts/devnet/lotus.dockerfile index 015c179becc..0cbdb4a2103 100644 --- a/scripts/devnet/lotus.dockerfile +++ b/scripts/devnet/lotus.dockerfile @@ -13,7 +13,7 @@ RUN curl https://sh.rustup.rs -sSf | sh -s -- -y --no-modify-path --profile mini ENV PATH="/root/.cargo/bin:${PATH}" -RUN git clone --depth 1 --branch v1.29.2 https://github.com/filecoin-project/lotus.git . +RUN git clone --depth 1 --branch v1.30.0-rc1 https://github.com/filecoin-project/lotus.git . # https://github.com/Filecoin-project/filecoin-ffi?tab=readme-ov-file#building-from-source RUN CGO_CFLAGS_ALLOW="-D__BLST_PORTABLE__" \ diff --git a/src/networks/devnet/mod.rs b/src/networks/devnet/mod.rs index e566cf264ca..e22caddfee4 100644 --- a/src/networks/devnet/mod.rs +++ b/src/networks/devnet/mod.rs @@ -147,7 +147,8 @@ pub static HEIGHT_INFOS: Lazy> = Lazy::new(|| { ), make_height!( TukTuk, - get_upgrade_height_from_env("FOREST_TUKTUK_HEIGHT").unwrap_or(9999999999) + get_upgrade_height_from_env("FOREST_TUKTUK_HEIGHT").unwrap_or(9999999999), + get_bundle_cid("v15.0.0-rc1") ), ]) }); diff --git a/src/shim/actors/state_load.rs b/src/shim/actors/state_load.rs index 49ce034000f..ae161f28501 100644 --- a/src/shim/actors/state_load.rs +++ b/src/shim/actors/state_load.rs @@ -55,15 +55,21 @@ macro_rules! actor_state_load_impl { }; } -actor_state_load_impl!(Account, 8, V8, 9, V9, 10, V10, 11, V11, 12, V12, 13, V13, 14, V14); -actor_state_load_impl!(Cron, 8, V8, 9, V9, 10, V10, 11, V11, 12, V12, 13, V13, 14, V14); -actor_state_load_impl!(DataCap, 9, V9, 10, V10, 11, V11, 12, V12, 13, V13, 14, V14); -actor_state_load_impl!(EVM, 10, V10, 11, V11, 12, V12, 13, V13, 14, V14); -actor_state_load_impl!(Init, 0, V0, 8, V8, 9, V9, 10, V10, 11, V11, 12, V12, 13, V13, 14, V14); -actor_state_load_impl!(Market, 8, V8, 9, V9, 10, V10, 11, V11, 12, V12, 13, V13, 14, V14); -actor_state_load_impl!(Miner, 8, V8, 9, V9, 10, V10, 11, V11, 12, V12, 13, V13, 14, V14); -actor_state_load_impl!(Multisig, 8, V8, 9, V9, 10, V10, 11, V11, 12, V12, 13, V13, 14, V14); -actor_state_load_impl!(Power, 8, V8, 9, V9, 10, V10, 11, V11, 12, V12, 13, V13, 14, V14); -actor_state_load_impl!(System, 8, V8, 9, V9, 10, V10, 11, V11, 12, V12, 13, V13, 14, V14); -actor_state_load_impl!(Verifreg, 8, V8, 9, V9, 10, V10, 11, V11, 12, V12, 13, V13, 14, V14); -actor_state_load_impl!(Reward, 8, V8, 9, V9, 10, V10, 11, V11, 12, V12, 13, V13, 14, V14); +actor_state_load_impl!(Account, 8, V8, 9, V9, 10, V10, 11, V11, 12, V12, 13, V13, 14, V14, 15, V15); +actor_state_load_impl!(Cron, 8, V8, 9, V9, 10, V10, 11, V11, 12, V12, 13, V13, 14, V14, 15, V15); +actor_state_load_impl!(DataCap, 9, V9, 10, V10, 11, V11, 12, V12, 13, V13, 14, V14, 15, V15); +actor_state_load_impl!(EVM, 10, V10, 11, V11, 12, V12, 13, V13, 14, V14, 15, V15); +actor_state_load_impl!( + Init, 0, V0, 8, V8, 9, V9, 10, V10, 11, V11, 12, V12, 13, V13, 14, V14, 15, V15 +); +actor_state_load_impl!(Market, 8, V8, 9, V9, 10, V10, 11, V11, 12, V12, 13, V13, 14, V14, 15, V15); +actor_state_load_impl!(Miner, 8, V8, 9, V9, 10, V10, 11, V11, 12, V12, 13, V13, 14, V14, 15, V15); +actor_state_load_impl!( + Multisig, 8, V8, 9, V9, 10, V10, 11, V11, 12, V12, 13, V13, 14, V14, 15, V15 +); +actor_state_load_impl!(Power, 8, V8, 9, V9, 10, V10, 11, V11, 12, V12, 13, V13, 14, V14, 15, V15); +actor_state_load_impl!(System, 8, V8, 9, V9, 10, V10, 11, V11, 12, V12, 13, V13, 14, V14, 15, V15); +actor_state_load_impl!( + Verifreg, 8, V8, 9, V9, 10, V10, 11, V11, 12, V12, 13, V13, 14, V14, 15, V15 +); +actor_state_load_impl!(Reward, 8, V8, 9, V9, 10, V10, 11, V11, 12, V12, 13, V13, 14, V14, 15, V15); diff --git a/src/state_migration/mod.rs b/src/state_migration/mod.rs index d9839785a95..0e1d28846ae 100644 --- a/src/state_migration/mod.rs +++ b/src/state_migration/mod.rs @@ -82,8 +82,7 @@ where (Height::Watermelon, nv21::run_migration::), (Height::Dragon, nv22::run_migration::), (Height::Waffle, nv23::run_migration::), - // TODO(forest): https://github.com/ChainSafe/forest/issues/4802 - // (Height::TukTuk, nv24::run_migration::), + (Height::TukTuk, nv24::run_migration::), ] } }; diff --git a/src/state_migration/nv24/mod.rs b/src/state_migration/nv24/mod.rs index 519d1178a87..4bf49aebd3b 100644 --- a/src/state_migration/nv24/mod.rs +++ b/src/state_migration/nv24/mod.rs @@ -7,16 +7,13 @@ mod power; /// Run migration for `NV24`. This should be the only exported method in this /// module. -#[allow(unused_imports)] pub use migration::run_migration; use crate::{define_system_states, impl_system, impl_verifier}; define_system_states!( fil_actor_system_state::v14::State, - // TODO(forest): https://github.com/ChainSafe/forest/issues/4804 - // This should point to the new state type, e.g., `fil_actor_system_state::v15::State` - fil_actor_system_state::v14::State + fil_actor_system_state::v15::State ); impl_system!();