## Changes in ref-fvm - [ ] **Clone [ref-fvm](https://github.com/filecoin-project/ref-fvm)** - [ ] Add new network to price_list.rs `fvm/src/gas/price_list.rs` - [ ] Add `| NetworkVersion::VXX+1` in price_list_by_network_version function. - [ ] Add new network support in `fvm/src/machine/default.rs` - [ ] Update to: `NetworkVersion::V18..=NetworkVersion::VXX+1;` - [ ] Add new network version to `shared/src/version/mod.rs` - [ ] Add a comment specifying what the network upgrade is called and which built-in actor version it is, `/// Mocknetwork (builtin-actors vXX+1)` - [ ] Add pub const VXX+1: Self = Self(XX+1)` in `impl NetworkVersion` ## Changes in Filecoin-FFI - [ ] **Clone [filecoin-ffi](https://github.com/filecoin-project/filecoin-ffi)** - [ ] - [ ] **Clone [go-state-types](https://github.com/filecoin-project/go-state-types)** - [ ] **In Lotus: Add `replace github.com/filecoin-project/go-state-types => ../go-state-types` to the very end of your Lotus go.mod file** // This will use your local clone copy of go-state-types, so any changes you make there will be reflected - [ ] **Follow the [go-state-types actor version checklist](https://github.com/filecoin-project/go-state-types/blob/master/actors_version_checklist.md):** - [ ] Copy `go-state-types/builtin/vX` to `go-state-types/builtin/v(X+1)` - [ ] Change all references to vX in the new files to v(X+1) - [ ] Add new network version to `network/version.go` - [ ] Add new actors version to `actors/version.go` // - Add `Version(XX+1) Version = XX+1` as a const. // - In`func VersionForNetwork` add `case network.Version(XX+1): return Version(XX+1), nil` - [ ] Add the new version to the gen step of the makefile // Add `$(GO_BIN) run ./builtin/v(XX+1)/gen/gen.go` ## Actor version Lotus integration checklist - [ ] **Import new actors** // Create mock actor-bundle for the new network version - [ ] In `/build/actors` run `./pack.sh vXX+1 vXX.0.0` // Where XX is the current actor bundle version. - [ ] **Define upgrade heights in `build/params_`** - [ ] `params_2k.go` // - set previous `UpgradeXxxxxHeight = abi.ChainEpoch(-xx-1)` // - add `var UpgradeXxxxxHeight = abi.ChainEpoch(1000)` // - add `UpgradeXxxxxHeight = getUpgradeHeight("LOTUS_XXXXX_HEIGHT", UpgradeXXXXHeight) - [ ] `params_butterfly.go` // - Add comment with `??????` signaling that the new upgrade date is unkown // - Add const UpgradeXxxxxHeight = 999999999999999 - [ ] `params_calibnet.go` // - Add comment with `??????` signaling that the new upgrade date is unkown // - Add const UpgradeXxxxxHeight = 999999999999999 - [ ] `params_interop.go` // - set previous upgrade to `var UpgradeXxxxxHeigh = abi.ChainEpoch(-xx-1)` // - Add const UpgradeXxxxxHeight = 50 - [ ] `params_mainnet.go` // - Set previous upgrade to `const UpgradeXxxxxHeight = XX` // - Add comment with ???? signaling that the new upgrade date is unkown // - Add `var UpgradeXxxxxxHeight = abi.ChainEpoch(9999999999)` // - Change the `LOTUS_DISABLE_XXXX` env variable to the new network name - [ ] `params_testground.go` // Add `UpgradeXxxxxHeight abi.ChainEpoch = (-xx-1)` - [ ] **Generate adapters** - [ ] Update `gen/inlinegen-data.json` // add `XX+1` to “actorVersions” and set “latestActorsVersion” to`XX+1` // add `XX+1` to “networkVersions” and set “latestNetworkVersion” to``XX+1` - [ ] Update adapter code in `chain/actors/builtin` if needed // Not needed for the skeleton - [ ] Run `make actors-gen` // This generates the `/chain/actors/builtin/*` code, `/chain/actors/policy/policy.go` code, `/chain/actors/version.go` and`/itest/kit/ensamble_opts_nv.go` - [ ] **Update `chain/consensus/filcns/upgrades.go`** // - import `nv(XX+1) "github.com/filecoin-project/go-state-types/builtin/v(XX+1)/migration`. - [ ] Add Schedule - [ ] Add Migration // Add schedule and migration: ```go { Height: build.UpgradeXxxxHeight, Network: network.Version(XX+1), Migration: UpgradeActorsV(XX+1), PreMigrations: []stmgr.PreMigration{{ PreMigration: PreUpgradeActors(VXX+1), StartWithin: 120, DontStartWithin: 15, StopWithin: 10, }}, Expensive: true, }, ``` ```go func PreUpgradeActorsV(XX+1)(ctx context.Context, sm *stmgr.StateManager, cache stmgr.MigrationCache, root cid.Cid, epoch abi.ChainEpoch, ts *types.TipSet) error { // Use half the CPUs for pre-migration, but leave at least 3. workerCount := MigrationMaxWorkerCount if workerCount <= 4 { workerCount = 1 } else { workerCount /= 2 } lbts, lbRoot, err := stmgr.GetLookbackTipSetForRound(ctx, sm, ts, epoch) if err != nil { return xerrors.Errorf("error getting lookback ts for premigration: %w", err) } config := migration.Config{ MaxWorkers: uint(workerCount), ProgressLogPeriod: time.Minute * 5, } _, err = upgradeActorsV(XX+1)Common(ctx, sm, cache, lbRoot, epoch, lbts, config) return err } func UpgradeActorsV(XX+1)(ctx context.Context, sm *stmgr.StateManager, cache stmgr.MigrationCache, cb stmgr.ExecMonitor, root cid.Cid, epoch abi.ChainEpoch, ts *types.TipSet) (cid.Cid, error) { // Use all the CPUs except 2. workerCount := MigrationMaxWorkerCount - 3 if workerCount <= 0 { workerCount = 1 } config := migration.Config{ MaxWorkers: uint(workerCount), JobQueueSize: 1000, ResultQueueSize: 100, ProgressLogPeriod: 10 * time.Second, } newRoot, err := upgradeActorsV(XX+1)Common(ctx, sm, cache, root, epoch, ts, config) if err != nil { return cid.Undef, xerrors.Errorf("migrating actors v11 state: %w", err) } return newRoot, nil } func upgradeActorsV(XX+1)Common( ctx context.Context, sm *stmgr.StateManager, cache stmgr.MigrationCache, root cid.Cid, epoch abi.ChainEpoch, ts *types.TipSet, config migration.Config, ) (cid.Cid, error) { writeStore := blockstore.NewAutobatch(ctx, sm.ChainStore().StateBlockstore(), units.GiB/4) adtStore := store.ActorStore(ctx, writeStore) // ensure that the manifest is loaded in the blockstore if err := bundle.LoadBundles(ctx, writeStore, actorstypes.Version(XX+1)); err != nil { return cid.Undef, xerrors.Errorf("failed to load manifest bundle: %w", err) } // Load the state root. var stateRoot types.StateRoot if err := adtStore.Get(ctx, root, &stateRoot); err != nil { return cid.Undef, xerrors.Errorf("failed to decode state root: %w", err) } if stateRoot.Version != types.StateTreeVersion5 { return cid.Undef, xerrors.Errorf( "expected state root version 5 for actors v(XX+1) upgrade, got %d", stateRoot.Version, ) } manifest, ok := actors.GetManifest(actorstypes.Version(XX+1)) if !ok { return cid.Undef, xerrors.Errorf("no manifest CID for v(XX+1) upgrade") } // Perform the migration newHamtRoot, err := nv(XX+1).MigrateStateTree(ctx, adtStore, manifest, stateRoot.Actors, epoch, config, migrationLogger{}, cache) if err != nil { return cid.Undef, xerrors.Errorf("upgrading to actors v11: %w", err) } // Persist the result. newRoot, err := adtStore.Put(ctx, &types.StateRoot{ Version: types.StateTreeVersion5, Actors: newHamtRoot, Info: stateRoot.Info, }) if err != nil { return cid.Undef, xerrors.Errorf("failed to persist new state root: %w", err) } // Persists the new tree and shuts down the flush worker if err := writeStore.Flush(ctx); err != nil { return cid.Undef, xerrors.Errorf("writeStore flush failed: %w", err) } if err := writeStore.Shutdown(ctx); err != nil { return cid.Undef, xerrors.Errorf("writeStore shutdown failed: %w", err) } return newRoot, nil } ``` - [ ] **Add actorstype to the NewActorRegistry in `/chain/consensus/computestate.go`** // - add `inv.Register(actorstypes.Version(XX+1), vm.ActorsVersionPredicate(actorstypes.Version(XX+1)), builtin.MakeRegistry(actorstypes.Version(XX+1))` - [ ] **Add upgrade field to `api/types.go/ForkUpgradeParams`** // Add `UpgradeXxxxxHeight abi.ChainEpoch` to ForkUpgradeParams struct - [ ] **Add upgrade to `node/impl/full/state.go`** // Add `UpgradeSummerHeight: build.UpgradeSummerHeight,` - [ ] **Add network version to `chain/state/statetree.go`** // Add `network.VersionXX+1` to `VersionForNetwork` function. - [ ] **Run `make jen`** - [ ] **Run `make docsgen-cli`** ------- ### Testrun 1 - [x] Building from source works - [x] Running the daemon works - [x] Running the miner works - [ ] Network version at init of the network // Got: ``` lotus state network-version Network Version: 18 ``` ``` lotus state actor-cids Network Version: 18 Actor Version: 10 Manifest CID: bafy2bzacebzz376j5kizfck56366kdz5aut6ktqrvqbi3efa2d4l2o2m653ts Actor CID ethaccount bafk2bzacedypn6tf3yrj4bavmscddygeima3puih37fbkxuhjhlrzbjh3dbo4 paymentchannel bafk2bzacectov7vawkhsvq7aobyjq3oppamytq425wpkxejmq65vvcdm4bt2e verifiedregistry bafk2bzaced2mkyqobpgna5jevosym3adv2bvraggigyz2jgn5cxymirxj4x3i cron bafk2bzaceabslrigld2vshng6sppbp3bsptjtttvbxctwqe5lkyl2efom2wu4 datacap bafk2bzaceagg4qklzhhg5oj4shwqpoeykeyxus7xhj2abuot2tycdwsf2oaaa evm bafk2bzacec5ywczgg73fnwi36nlxso3zduop3fwj3pq6ynn5zltrs4dpcwglg init bafk2bzacebkanlbkwwtniyz4fawevnkoyje67l5nflltmciplqiutekxzzfh4 storagepower bafk2bzaceckhnpxoaanjf474wxzkntlnzdofoy75ehyuydfjkuw4swhotws4y system bafk2bzaceairk5qz5hyzt4yyaxa356aszyifswiust5ilxizwxujcmtzvjzoa multisig bafk2bzacectxa2izvpaybmmpvearekrybxtglctwnexzzneyn6xrnrmectmpa placeholder bafk2bzacedfvut2myeleyq67fljcrw4kkmn5pb5dpyozovj7jpoez5irnc3ro reward bafk2bzacec3xpbrxw2rnpuve4mxfhny44lxbpbwmduy4ula4ohj2bp6wplpvc storagemarket bafk2bzacec5nexsejraoqraywka7zcacjoxgpdbopehdkhiwqwcyghtof4s3w storageminer bafk2bzacecw5xzj6z5b7qxx5xca5py4aoecmqj2pxb6nw673alufy22zckkyo account bafk2bzacedkj5dqs5xxamnlug2d5dyjl6askf7wlmvwzhmsrzcvogv7acqfe6 eam bafk2bzaceafttsbglcetxwtzqtdniittwczogkefgnxztgsp7mymcpvdlhdik ``` ``` lotus state actor-cids --network-version=20 Network Version: 20 Actor Version: 11 Manifest CID: bafy2bzaceay35go4xbjb45km6o46e5bib3bi46panhovcbedrynzwmm3drr4i Actor CID cron bafk2bzaceasr5d2skowvzv5mzsyak6waqrgc46ewj6rzbapkfi5woom6n6bwa verifiedregistry bafk2bzacebdqi5tr5pjnem5nylg2zbqcugvi7oxi35bhnrfudx4y4ufhlit2k account bafk2bzacecf2pprkbdlpm4e2xz3ufunxtgrgyh2ie3stuqiyhibsvdze7kvri eam bafk2bzacedve6p4ye6zxydjbfs4ode5r2equ7rqzpyltujsq2lu6wyxnijfx4 evm bafk2bzacece5hivtkmi757lyfahgti7xuqgofodb2u65pxgf6oizfwiiwlcsi system bafk2bzacedpyoncjbl4oxkjm5e77ngvpy2xfajjc4myfsv2vltvzxioattlu2 datacap bafk2bzaceaqd77gptubupda7rp7daxkxbkzwc253dxhiyoezxvj2tljmkgpny ethaccount bafk2bzacea25xfsxwew3h2crer6jlb4c5vwu2gtch2jh73ocuxjhupenyrugy init bafk2bzacecxnr5y7qifzdqqiwfbjxv2yr7lbkcyu3e2mf5zjdncteupxdlquu multisig bafk2bzaceayap4k4u3lbysaeeixct5fvhmafy3fa5eagvdpk3i4a7ubfdpobe paymentchannel bafk2bzaceafgrz5wepbein35gie7rnsu7zttxvgllgdneuefmmy4j5izydtza placeholder bafk2bzacedfvut2myeleyq67fljcrw4kkmn5pb5dpyozovj7jpoez5irnc3ro reward bafk2bzacedwbtfqlx47fdkxjrb5mwiatheci44x3zkpx33smybc2cme23ymuo storagemarket bafk2bzaceaj74fmooaf3gj3ebwon64ky7hhdh7kytdr3agclqfrqzmpzykh7g storageminer bafk2bzacedb7bokkzzs7hnbhivp74pgcpermuy7j6b3ncodylksukkxtnn7ze storagepower bafk2bzacedilnkegizkxz3nuutib4d4wwlk4bkla22loepia2h53yf4hysmq6 ``` ``` lotus state actor-cids --network-version=21 Network Version: 21 Actor Version: 12 Manifest CID: bafy2bzaceay35go4xbjb45km6o46e5bib3bi46panhovcbedrynzwmm3drr4i Actor CID system `bafk2bzacedpyoncjbl4oxkjm5e77ngvpy2xfajjc4myfsv2vltvzxioattlu2 init bafk2bzacecxnr5y7qifzdqqiwfbjxv2yr7lbkcyu3e2mf5zjdncteupxdlquu placeholder bafk2bzacedfvut2myeleyq67fljcrw4kkmn5pb5dpyozovj7jpoez5irnc3ro reward bafk2bzacedwbtfqlx47fdkxjrb5mwiatheci44x3zkpx33smybc2cme23ymuo storagepower bafk2bzacedilnkegizkxz3nuutib4d4wwlk4bkla22loepia2h53yf4hysmq6 verifiedregistry bafk2bzacebdqi5tr5pjnem5nylg2zbqcugvi7oxi35bhnrfudx4y4ufhlit2k ethaccount bafk2bzacea25xfsxwew3h2crer6jlb4c5vwu2gtch2jh73ocuxjhupenyrugy multisig bafk2bzaceayap4k4u3lbysaeeixct5fvhmafy3fa5eagvdpk3i4a7ubfdpobe storagemarket bafk2bzaceaj74fmooaf3gj3ebwon64ky7hhdh7kytdr3agclqfrqzmpzykh7g evm bafk2bzacece5hivtkmi757lyfahgti7xuqgofodb2u65pxgf6oizfwiiwlcsi account bafk2bzacecf2pprkbdlpm4e2xz3ufunxtgrgyh2ie3stuqiyhibsvdze7kvri cron bafk2bzaceasr5d2skowvzv5mzsyak6waqrgc46ewj6rzbapkfi5woom6n6bwa datacap bafk2bzaceaqd77gptubupda7rp7daxkxbkzwc253dxhiyoezxvj2tljmkgpny eam bafk2bzacedve6p4ye6zxydjbfs4ode5r2equ7rqzpyltujsq2lu6wyxnijfx4 paymentchannel bafk2bzaceafgrz5wepbein35gie7rnsu7zttxvgllgdneuefmmy4j5izydtza storageminer bafk2bzacedb7bokkzzs7hnbhivp74pgcpermuy7j6b3ncodylksukkxtnn7ze ``` - [ ] At upgrade epoch (200) // failed with: ``` .864+0200 INFO statemgr stmgr/forks.go:181 CACHED micoin-prtlotus/chain/consensus/common.go:343 - making vm: github.com/filecoin-project/lotus/chain/consensus.(*TipSetExecutor).ApplyBlocks /Users/phi/lotus/chain/consensus/compute_state.go:199 - failed to create FVM: github.com/filecoin-project/lotus/chain/vm.NewFVM /Users/phi/lotus/chain/vm/fvm.go:287 - network version not supported ``` ### Testrun 2: - [x] Change `GenesisNetworkVersion` in `build/params_2k.go` // Set `const GenesisNetworkVersion = network.Version(XX-1)` - [x] Building from source works - [x] Running the daemon works - [x] Running the miner works - [x] Network version at init: ``` lotus state network-version Network Version: 20 ``` ``` lotus state actor-cids Network Version: 20 Actor Version: 11 Manifest CID: bafy2bzaceay35go4xbjb45km6o46e5bib3bi46panhovcbedrynzwmm3drr4i Actor CID init bafk2bzacecxnr5y7qifzdqqiwfbjxv2yr7lbkcyu3e2mf5zjdncteupxdlquu reward bafk2bzacedwbtfqlx47fdkxjrb5mwiatheci44x3zkpx33smybc2cme23ymuo system bafk2bzacedpyoncjbl4oxkjm5e77ngvpy2xfajjc4myfsv2vltvzxioattlu2 cron bafk2bzaceasr5d2skowvzv5mzsyak6waqrgc46ewj6rzbapkfi5woom6n6bwa eam bafk2bzacedve6p4ye6zxydjbfs4ode5r2equ7rqzpyltujsq2lu6wyxnijfx4 ethaccount bafk2bzacea25xfsxwew3h2crer6jlb4c5vwu2gtch2jh73ocuxjhupenyrugy evm bafk2bzacece5hivtkmi757lyfahgti7xuqgofodb2u65pxgf6oizfwiiwlcsi paymentchannel bafk2bzaceafgrz5wepbein35gie7rnsu7zttxvgllgdneuefmmy4j5izydtza storagemarket bafk2bzaceaj74fmooaf3gj3ebwon64ky7hhdh7kytdr3agclqfrqzmpzykh7g account bafk2bzacecf2pprkbdlpm4e2xz3ufunxtgrgyh2ie3stuqiyhibsvdze7kvri datacap bafk2bzaceaqd77gptubupda7rp7daxkxbkzwc253dxhiyoezxvj2tljmkgpny placeholder bafk2bzacedfvut2myeleyq67fljcrw4kkmn5pb5dpyozovj7jpoez5irnc3ro multisig bafk2bzaceayap4k4u3lbysaeeixct5fvhmafy3fa5eagvdpk3i4a7ubfdpobe storageminer bafk2bzacedb7bokkzzs7hnbhivp74pgcpermuy7j6b3ncodylksukkxtnn7ze storagepower bafk2bzacedilnkegizkxz3nuutib4d4wwlk4bkla22loepia2h53yf4hysmq6 verifiedregistry bafk2bzacebdqi5tr5pjnem5nylg2zbqcugvi7oxi35bhnrfudx4y4ufhlit2k ``` ``` lotus state actor-cids --network-version 21 Network Version: 21 Actor Version: 12 Manifest CID: bafy2bzaceay35go4xbjb45km6o46e5bib3bi46panhovcbedrynzwmm3drr4i Actor CID account bafk2bzacecf2pprkbdlpm4e2xz3ufunxtgrgyh2ie3stuqiyhibsvdze7kvri multisig bafk2bzaceayap4k4u3lbysaeeixct5fvhmafy3fa5eagvdpk3i4a7ubfdpobe storagemarket bafk2bzaceaj74fmooaf3gj3ebwon64ky7hhdh7kytdr3agclqfrqzmpzykh7g evm bafk2bzacece5hivtkmi757lyfahgti7xuqgofodb2u65pxgf6oizfwiiwlcsi paymentchannel bafk2bzaceafgrz5wepbein35gie7rnsu7zttxvgllgdneuefmmy4j5izydtza verifiedregistry bafk2bzacebdqi5tr5pjnem5nylg2zbqcugvi7oxi35bhnrfudx4y4ufhlit2k placeholder bafk2bzacedfvut2myeleyq67fljcrw4kkmn5pb5dpyozovj7jpoez5irnc3ro storageminer bafk2bzacedb7bokkzzs7hnbhivp74pgcpermuy7j6b3ncodylksukkxtnn7ze storagepower bafk2bzacedilnkegizkxz3nuutib4d4wwlk4bkla22loepia2h53yf4hysmq6 system bafk2bzacedpyoncjbl4oxkjm5e77ngvpy2xfajjc4myfsv2vltvzxioattlu2 cron bafk2bzaceasr5d2skowvzv5mzsyak6waqrgc46ewj6rzbapkfi5woom6n6bwa ethaccount bafk2bzacea25xfsxwew3h2crer6jlb4c5vwu2gtch2jh73ocuxjhupenyrugy init bafk2bzacecxnr5y7qifzdqqiwfbjxv2yr7lbkcyu3e2mf5zjdncteupxdlquu datacap bafk2bzaceaqd77gptubupda7rp7daxkxbkzwc253dxhiyoezxvj2tljmkgpny eam bafk2bzacedve6p4ye6zxydjbfs4ode5r2equ7rqzpyltujsq2lu6wyxnijfx4 reward bafk2bzacedwbtfqlx47fdkxjrb5mwiatheci44x3zkpx33smybc2cme23ymuo ``` - [x] Pre-migration at epoch (80): ``` 2023-07-07T12:56:51.137+0200 WARN statemgr stmgr/forks.go:245 STARTING pre-migration manifest cid: bafy2bzaceay35go4xbjb45km6o46e5bib3bi46panhovcbedrynzwmm3drr4i 2023-07-07T12:56:51.146+0200 INFO fil-consensus filcns/upgrades.go:2085 Started 5 workers 2023-07-07T12:56:51.148+0200 INFO fil-consensus filcns/upgrades.go:2085 Creating migration jobs 2023-07-07T12:56:51.148+0200 INFO fil-consensus filcns/upgrades.go:2085 Result writer started 2023-07-07T12:56:51.151+0200 INFO fil-consensus filcns/upgrades.go:2085 Done creating 17 migration jobs after 4.39225ms 2023-07-07T12:56:51.151+0200 INFO fil-consensus filcns/upgrades.go:2085 Worker 0 done 2023-07-07T12:56:51.151+0200 INFO fil-consensus filcns/upgrades.go:2085 Worker 3 done 2023-07-07T12:56:51.151+0200 INFO fil-consensus filcns/upgrades.go:2085 Worker 2 done 2023-07-07T12:56:51.151+0200 INFO fil-consensus filcns/upgrades.go:2085 Worker 4 done 2023-07-07T12:56:51.151+0200 INFO fil-consensus filcns/upgrades.go:2085 Worker 1 done 2023-07-07T12:56:51.151+0200 INFO fil-consensus filcns/upgrades.go:2085 All workers done after 4.570459ms 2023-07-07T12:56:51.151+0200 INFO fil-consensus filcns/upgrades.go:2085 Result writer wrote 17 results to state tree after 4.588667ms 2023-07-07T12:56:51.151+0200 INFO fil-consensus filcns/upgrades.go:2085 All 17 done after 4.619875ms (3680/s) 2023-07-07T12:56:51.151+0200 WARN statemgr stmgr/forks.go:258 COMPLETED pre-migration {"duration": 0.013598125} ``` - [ ] At upgrade epoch (200) // Failed ``` 023-07-07T13:04:57.644+0200 WARN statemgr stmgr/forks.go:201 COMPLETED migration {"height": "200", "from": "bafy2bzacedhqccwktbemxssyorley52q6zx6rsghx34ceene3wsp7bhr576zw", "to": "bafy2bzacedhqccwktbemxssyorley52q6zx6rsghx34ceene3wsp7bhr576zw", "duration": 0.000399459} 2023-07-07T13:04:57.665+0200 WARN rpc go-jsonrpc@v0.3.1/handler.go:444 error in RPC call to 'Filecoin.MinerCreateBlock': failed to process messages from block template: github.com/filecoin-project/lotus/chain/consensus/filcns.(*FilecoinEC).CreateBlock /Users/phi/lotus/chain/consensus/filcns/mine.go:32 - failed to load tipset state: github.com/filecoin-project/lotus/chain/consensus.CreateBlockHeader /Users/phi/lotus/chain/consensus/common.go:343 - making vm: github.com/filecoin-project/lotus/chain/consensus.(*TipSetExecutor).ApplyBlocks /Users/phi/lotus/chain/consensus/compute_state.go:199 - failed to create FVM: github.com/filecoin-project/lotus/chain/vm.NewFVM /Users/phi/lotus/chain/vm/fvm.go:287 - network version not supported 2023-07-07T13:04:59.825+0200 INFO statemgr stmgr/forks.go:181 CACHED migration {"height": "200", "from": "bafy2bzacedhqccwktbemxssyorley52q6zx6rsghx34ceene3wsp7bhr576zw", "to": "bafy2bzacedhqccwktbemxssyorley52q6zx6rsghx34ceene3wsp7bhr576zw"} 2023-07-07T13:04:59.826+0200 WARN rpc go-jsonrpc@v0.3.1/handler.go:444 error in RPC call to 'Filecoin.MinerCreateBlock': failed to process messages from block template: github.com/filecoin-project/lotus/chain/consensus/filcns.(*FilecoinEC).CreateBlock /Users/phi/lotus/chain/consensus/filcns/mine.go:32 - failed to load tipset state: github.com/filecoin-project/lotus/chain/consensus.CreateBlockHeader /Users/phi/lotus/chain/consensus/common.go:343 - making vm: github.com/filecoin-project/lotus/chain/consensus.(*TipSetExecutor).ApplyBlocks /Users/phi/lotus/chain/consensus/compute_state.go:199 - failed to create FVM: github.com/filecoin-project/lotus/chain/vm.NewFVM /Users/phi/lotus/chain/vm/fvm.go:287 - network version not supported ```