From 4430a138b6bd0107028216e12bf12c064a4313bc Mon Sep 17 00:00:00 2001 From: Aayush Date: Sun, 23 Apr 2023 09:44:31 -0400 Subject: [PATCH 1/4] feat: test disputing nv20 window posts fails --- itests/wdpost_test.go | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/itests/wdpost_test.go b/itests/wdpost_test.go index c94906b2f..3f21b79c4 100644 --- a/itests/wdpost_test.go +++ b/itests/wdpost_test.go @@ -8,6 +8,9 @@ import ( "testing" "time" + "github.com/filecoin-project/go-state-types/builtin" + "github.com/filecoin-project/lotus/chain/actors" + "github.com/stretchr/testify/require" "github.com/filecoin-project/go-address" @@ -484,4 +487,40 @@ waitForProof: // Simulate call on inclTs's parents, so that the partition isn't already proven _, err = client.StateCall(ctx, slmsg, inclTs.Parents()) require.ErrorContains(t, err, "expected proof of type StackedDRGWindow2KiBV1P1, got StackedDRGWindow2KiBV1") + + for { + //stm: @CHAIN_STATE_MINER_CALCULATE_DEADLINE_001 + di, err := client.StateMinerProvingDeadline(ctx, maddr, types.EmptyTSK) + require.NoError(t, err) + // wait until the deadline finishes. + if di.Index == ((params.Deadline + 1) % di.WPoStPeriodDeadlines) { + break + } + + build.Clock.Sleep(blocktime) + } + + // Try to object to the proof. This should fail. + + disputeParams := &miner11.DisputeWindowedPoStParams{ + Deadline: params.Deadline, + PoStIndex: 0, + } + + enc, aerr := actors.SerializeParams(disputeParams) + require.NoError(t, aerr) + + disputeMsg := &types.Message{ + To: maddr, + Method: builtin.MethodsMiner.DisputeWindowedPoSt, + Params: enc, + Value: types.NewInt(0), + From: client.DefaultKey.Address, + } + + _, err = client.MpoolPushMessage(ctx, disputeMsg, nil) + require.Error(t, err) + require.Contains(t, err.Error(), "failed to dispute valid post") + require.Contains(t, err.Error(), "(RetCode=16)") + } From dc0ce8f11ab90244f572f1f470281d81da305c4d Mon Sep 17 00:00:00 2001 From: Aayush Date: Sun, 23 Apr 2023 09:55:48 -0400 Subject: [PATCH 2/4] Update FFI to 1.22.1 --- extern/filecoin-ffi | 2 +- itests/wdpost_test.go | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/extern/filecoin-ffi b/extern/filecoin-ffi index ca72a82ae..1e38c8473 160000 --- a/extern/filecoin-ffi +++ b/extern/filecoin-ffi @@ -1 +1 @@ -Subproject commit ca72a82aedb3330dcb75067a42ff7e8dd252c78d +Subproject commit 1e38c8473fe806255795163ada0fbed081180333 diff --git a/itests/wdpost_test.go b/itests/wdpost_test.go index 3f21b79c4..b20f942e0 100644 --- a/itests/wdpost_test.go +++ b/itests/wdpost_test.go @@ -8,19 +8,18 @@ import ( "testing" "time" - "github.com/filecoin-project/go-state-types/builtin" - "github.com/filecoin-project/lotus/chain/actors" - "github.com/stretchr/testify/require" "github.com/filecoin-project/go-address" "github.com/filecoin-project/go-state-types/abi" "github.com/filecoin-project/go-state-types/big" + "github.com/filecoin-project/go-state-types/builtin" miner11 "github.com/filecoin-project/go-state-types/builtin/v11/miner" "github.com/filecoin-project/go-state-types/network" "github.com/filecoin-project/lotus/api" "github.com/filecoin-project/lotus/build" + "github.com/filecoin-project/lotus/chain/actors" "github.com/filecoin-project/lotus/chain/types" "github.com/filecoin-project/lotus/itests/kit" "github.com/filecoin-project/lotus/node/impl" From 821836d939eb1640f3c2ea4164a044d8c05f7fbb Mon Sep 17 00:00:00 2001 From: Aayush Date: Sun, 23 Apr 2023 10:39:11 -0400 Subject: [PATCH 3/4] feat: release 1.22.1 --- CHANGELOG.md | 10 ++++++++++ build/openrpc/full.json.gz | Bin 33316 -> 33316 bytes build/openrpc/gateway.json.gz | Bin 9294 -> 9295 bytes build/openrpc/miner.json.gz | Bin 16043 -> 16043 bytes build/openrpc/worker.json.gz | Bin 5221 -> 5221 bytes build/version.go | 2 +- documentation/en/cli-lotus-miner.md | 2 +- documentation/en/cli-lotus-worker.md | 2 +- documentation/en/cli-lotus.md | 2 +- 9 files changed, 14 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 34d2bc539..7459a30bc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,17 @@ # Lotus changelog +# v1.22.1 / 2023-04-23 + +This is a MANDATORY hotfix release that fixes a consensus-critical bug -- the necessary fix is https://github.com/filecoin-project/ref-fvm/pull/1750 + +You can NOT use 1.22.0 for the nv19 upgrade, you MUST be on 1.22.1 or higher. + +The only change is updating the FVM crates used via the FFI: https://github.com/filecoin-project/lotus/pull/10735. + # v1.22.0 / 2023-04-21 +EDIT: Do NOT use this release for nv19, you MUST use v1.22.1 or higher. + This is the stable release of Lotus v1.22.0 for the upcoming MANDATORY network upgrade at `2023-04-27T13:00:00Z`, epoch `2809800`. This release delivers the nv19 Lighting and nv20 Thunder network upgrade for mainnet. Note that you must be on a go version higher then Go 1.18.8, but lower then Go v1.20.0. We would recommend Go 1.19.7. diff --git a/build/openrpc/full.json.gz b/build/openrpc/full.json.gz index 581bec0dda43ff978f9e2cedd81c6dca2cf7acf2..1dfe553d5ab4ac09d6f4611415cf4f397e5d9057 100644 GIT binary patch literal 33316 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 E0AS->761SM diff --git a/build/openrpc/gateway.json.gz b/build/openrpc/gateway.json.gz index 5f828bd012fd1a1b75cd1e85cac317a01caad0fd..25b1983479de2466123bf653808b69cecac58aed 100644 GIT binary patch delta 7269 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 delta 7228 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 KN|{oG{Q&^qJnR1e diff --git a/build/openrpc/miner.json.gz b/build/openrpc/miner.json.gz index 873f124e8c645905abd8b848a2b9cb7c6e47b1f7..470a9c5a47b8a6eb9a2093f89ad580d3fca6201f 100644 GIT binary patch delta 21 dcmZ2oySjElD`VrvHd#9kzrVYsK1wq)003+12(bVF delta 21 dcmZ2oySjElE91V6ZL)S8%OBf#eUxTq003`D2;Kky diff --git a/build/openrpc/worker.json.gz b/build/openrpc/worker.json.gz index 30964ae3d9f11ce20280f4a59545631803f5a795..3f73814cfe8e0465e08f404c8a985906aee65581 100644 GIT binary patch delta 5137 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 delta 5137 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 diff --git a/build/version.go b/build/version.go index 7cb555842..3db9ab4e1 100644 --- a/build/version.go +++ b/build/version.go @@ -37,7 +37,7 @@ func BuildTypeString() string { } // BuildVersion is the local build version -const BuildVersion = "1.22.0" +const BuildVersion = "1.22.1" func UserVersion() string { if os.Getenv("LOTUS_VERSION_IGNORE_COMMIT") == "1" { diff --git a/documentation/en/cli-lotus-miner.md b/documentation/en/cli-lotus-miner.md index a510378c6..460278e70 100644 --- a/documentation/en/cli-lotus-miner.md +++ b/documentation/en/cli-lotus-miner.md @@ -7,7 +7,7 @@ USAGE: lotus-miner [global options] command [command options] [arguments...] VERSION: - 1.22.0 + 1.22.1 COMMANDS: init Initialize a lotus miner repo diff --git a/documentation/en/cli-lotus-worker.md b/documentation/en/cli-lotus-worker.md index 4e87bd96a..ea4cff4e0 100644 --- a/documentation/en/cli-lotus-worker.md +++ b/documentation/en/cli-lotus-worker.md @@ -7,7 +7,7 @@ USAGE: lotus-worker [global options] command [command options] [arguments...] VERSION: - 1.22.0 + 1.22.1 COMMANDS: run Start lotus worker diff --git a/documentation/en/cli-lotus.md b/documentation/en/cli-lotus.md index b8b3d0deb..feb6e0f1b 100644 --- a/documentation/en/cli-lotus.md +++ b/documentation/en/cli-lotus.md @@ -7,7 +7,7 @@ USAGE: lotus [global options] command [command options] [arguments...] VERSION: - 1.22.0 + 1.22.1 COMMANDS: daemon Start a lotus daemon process From 7a4624bbd9fb309717ed4be4932e2747bd2fd645 Mon Sep 17 00:00:00 2001 From: jennijuju Date: Sun, 23 Apr 2023 22:51:47 +0800 Subject: [PATCH 4/4] update changelog --- CHANGELOG.md | 107 +++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 79 insertions(+), 28 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7459a30bc..6cca59561 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,11 +2,88 @@ # v1.22.1 / 2023-04-23 -This is a MANDATORY hotfix release that fixes a consensus-critical bug -- the necessary fix is https://github.com/filecoin-project/ref-fvm/pull/1750 +## Important Notice +This is a MANDATORY hotfix release that fixes a consensus-critical bug that was in v1.22.0 -- the necessary fix is https://github.com/filecoin-project/ref-fvm/pull/1750 and it is integrated into lotus via https://github.com/filecoin-project/lotus/pull/10735. You can NOT use 1.22.0 for the nv19 upgrade, you MUST be on 1.22.1 or higher. -The only change is updating the FVM crates used via the FFI: https://github.com/filecoin-project/lotus/pull/10735. +## About This Release + +This is the stable release of Lotus v1.22.1 for the upcoming MANDATORY network upgrade at `2023-04-27T13:00:00Z`, epoch `2809800`. This release delivers the nv19 Lighting and nv20 Thunder network upgrade for mainnet. + +Note that you must be on a go version higher than Go 1.18.8, but lower than Go v1.20.0. We would recommend Go 1.19.7. + +The Lighting and Thunder upgrade introduces the following Filecoin Improvement Proposals (FIPs), delivered by builtin-actors v11 (see actors [v11.0.0](https://github.com/filecoin-project/builtin-actors/releases/tag/v11.0.0-rc2)): + +- [FIP 0060](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0060.md) - Thirty day market deal maintenance interval +- [FIP 0061](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0061.md) - WindowPoSt grindability fix +- [FIP 0062](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0062.md) - Fallback method handler for multisig actor + +## Expedited nv19 Lightning ⚡️ rollout + +In light of the recent degraded chain quality on the mainnet [an expedited nv19 upgrade has been proposed and accepted](https://github.com/filecoin-project/core-devs/discussions/123#discussioncomment-5642909) to roll out the market cron mitigation ([FIP0060](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0060.md)) that will improve block validation times, and with that the delay in block production that is causing a decrease in the chain quality currently. + +With this expedited roll out we want to inform you of some **key changes and important dates:** + +- Accelerate the nv19-upgrade on **mainnet** from May 11th to **April 27th**. +- Derisk nv19 by descoping the sector info migration, activation epoch fixes and drop [[FIP0052 - Extend sector/deal max duration to 3.5 year.](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0052.md)](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0052.md) + - By descoping these changes we can greatly derisk the network upgrade itself by removing a heavy migration that could cause instability for storage providers and node operators during the network upgrade. +- Increase the rollover period for [[FIP0061](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0052.md)](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0052.md) from 1 week to 3 weeks on mainnet. The rollover period is the duration between nv19 and nv20 which both old proofs (v1) and the new proofs (v1_1) proofs will be accepted by the network. + +The Lighting and Thunder upgrade now implements the following Filecoin Improvement Proposals (FIPs), delivered by builtin-actors v11 (see actors [v11.0.0](https://github.com/filecoin-project/builtin-actors/releases/tag/v11.0.0)): + +- [FIP 0060](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0060.md) - Thirty day market deal maintenance interval +- [FIP 0061](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0061.md) - WindowPoSt grindability fix +- [FIP 0062](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0062.md) - Fallback method handler for multisig actor + +## v11 Builtin Actor Bundles + +Make sure that your lotus actor bundle matches the v11 actors manifest by running after upgrading: + +``` +lotus state actor-cids --network-version 19 +Network Version: 19 +Actor Version: 11 +Manifest CID: bafy2bzacecnhaiwcrpyjvzl4uv4q3jzoif26okl3m66q3cijp3dfwlcxwztwo + +Actor CID +datacap bafk2bzacebslykoyrb2hm7aacjngqgd5n2wmeii2goadrs5zaya3pvdf6pdnq +init bafk2bzaceckwf3w6n2nw6eh77ktmsxqgsvshonvgnyk5q5syyngtetxvasfxg +reward bafk2bzacebwjw2vxkobs7r2kwjdqqb42h2kucyuk6flbnyzw4odg5s4mogamo +cron bafk2bzacebpewdvvgt6tk2o2u4rcovdgym67tadiis5usemlbejg7k3kt567o +ethaccount bafk2bzaceclkmc4yidxc6lgcjpfypbde2eddnevcveo4j5kmh4ek6inqysz2k +evm bafk2bzacediwh6etwzwmb5pivtclpdplewdjzphouwqpppce6opisjv2fjqfe +storagemarket bafk2bzaceazu2j2zu4p24tr22btnqzkhzjvyjltlvsagaj6w3syevikeb5d7m +storagepower bafk2bzaceaxgloxuzg35vu7l7tohdgaq2frsfp4ejmuo7tkoxjp5zqrze6sf4 +system bafk2bzaced7npe5mt5nh72jxr2igi2sofoa7gedt4w6kueeke7i3xxugqpjfm +account bafk2bzacealnlr7st6lkwoh6wxpf2hnrlex5sknaopgmkr2tuhg7vmbfy45so +placeholder bafk2bzacedfvut2myeleyq67fljcrw4kkmn5pb5dpyozovj7jpoez5irnc3ro +eam bafk2bzaceaelwt4yfsfvsu3pa3miwalsvy3cfkcjvmt4sqoeopsppnrmj2mf2 +multisig bafk2bzaceafajceqwg5ybiz7xw6rxammuirkgtuv625gzaehsqfprm4bazjmk +paymentchannel bafk2bzaceb4e6cnsnviegmqvsmoxzncruvhra54piq7bwiqfqevle6oob2gvo +storageminer bafk2bzacec24okjqrp7c7rj3hbrs5ez5apvwah2ruka6haesgfngf37mhk6us +verifiedregistry bafk2bzacedej3dnr62g2je2abmyjg3xqv4otvh6e26du5fcrhvw7zgcaaez3a +``` + +## Changelog + +- feat: build: set Lightning and Thunder upgrade epochs [filecoin-project/lotus#10716](https://github.com/filecoin-project/lotus/pull/10707) +- fix: PoSt worker: use go-state-types for proof policies [filecoin-project/lotus#10716](https://github.com/filecoin-project/lotus/pull/10716) +- chore: deps: update to actors v11.0.0 [filecoin-project/lotus#10718](https://github.com/filecoin-project/lotus/pull/10718) +- chore: deps: update to go-state-types v0.11.1 [filecoin-project/lotus#10720](https://github.com/filecoin-project/lotus/pull/10720) +- feat: upgrade: expedite nv19 [filecoin-project/lotus#10681](https://github.com/filecoin-project/lotus/pull/10681) + - Update changelog build version (commit: [67d419e](https://github.com/filecoin-project/lotus/commit/67d419e1623e6b9f5b871d6157a3096378477c3b)) + - Update actors v11 (commit: [5df4f75](https://github.com/filecoin-project/lotus/commit/5df4f75dc22318fd304313714d5c4f4cfeed22c9)) + - Correct epoch to match specified date (commit: [a28fcea](https://github.com/filecoin-project/lotus/commit/a28fceaa559b6c7e1b5df09383af56a5c2f51caa)) + - Fast butterfly migration to validate migration (commit: [37a0dca](https://github.com/filecoin-project/lotus/commit/37a0dca11ebfadebad3920a337b4f1b2fba08a7b)) + - Make docsgen (commit: [daba4ff](https://github.com/filecoin-project/lotus/commit/daba4ff5f0e97ab6ed444a34f61499a64b92a220)) + - Update go-state-types (commit: [244ca0b](https://github.com/filecoin-project/lotus/commit/244ca0b5f32a2af684f3f9586b92861a06bb8833)) + - Revert FIP0052 (commit: [68ed494](https://github.com/filecoin-project/lotus/commit/68ed494a6e497ac556eb93b28b2536c881dc9a4c)) + - Modify upgrade schedule and params (commit: [fa0dfdf](https://github.com/filecoin-project/lotus/commit/fa0dfdfd9f89fab8491f3e613909782ab9bb7cee)) + - Update go-state-types (commit: [19ae05f](https://github.com/filecoin-project/lotus/commit/19ae05f3b3a589e28efe4690c5816dfc1c7866a6)) + +### Dependencies +github.com/filecoin-project/go-state-types (v0.11.0-rc1 -> v0.11.1): # v1.22.0 / 2023-04-21 @@ -90,32 +167,6 @@ verifiedregistry bafk2bzacedej3dnr62g2je2abmyjg3xqv4otvh6e26du5fcrhvw7zgcaaez3a github.com/filecoin-project/go-state-types (v0.11.0-rc1 -> v0.11.1): -# v1.22.0-rc1 / 2023-04-13 - - -This is the third release candidate for the upcoming MANDATORY 1.22.0 release of Lotus. This release will deliver the nv19 Lighting and nv20 Thunder network upgrade. - -Note that this release candidate sets the calibration upgrade epoch, and does NOT set the epoch at which mainnet will upgrade; that detail will be finalized in the 1.22.0 release. - -The Lighting and Thunder upgrade introduces the following Filecoin Improvement Proposals (FIPs), delivered by builtin-actors v11 (see actors [v11.0.0-rc.1](https://github.com/filecoin-project/builtin-actors/releases/tag/v11.0.0-rc1)): - -- [FIP 0060](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0060.md) - Thirty day market deal maintenance interval -- [FIP 0061](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0061.md) - WindowPoSt grindability fix -- [FIP 0062](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0062.md) - Fallback method handler for multisig actor -- [FIP 0052](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0052.md) - Deals and sectors can be created and extended in 3.5 year intervals (+2 years from current params) -- [Activation bug fix](https://github.com/filecoin-project/builtin-actors/issues/914) - internal refactor of sector info fields fixing several outstanding bugs - -## Lighting and Thunder - -As you may have noticed, that we are doing a two-stage incremental network upgrades in this release. This essentially means that there will be two network versions rolled out together -- nv19 and nv20. -The two stage roll out is required for FIP-0061 - which introduces a new proof that reduces the grindability of windowPoSt and furthur secures the network. At the first upgrade, the new proof type will start to be accepted by the protocol, while the second upgrade (nv20) marks the spot when the old proof type will no longer be accepted. This allows for a smooth rollover period during which both proof types are accepted. Lotus will start generating the new proof types immediately after the nv19 upgrade. -This is something we've safely done before. The second upgrade is something of a "ghost" upgrade -- no migration runs, and no code changes, except that clients will start reporting the new network version of nv20 to the FVM. - -## Calibration nv19 Lighting and nv20 Thunder Upgrade - -This release candidate sets the calibration-net nv19 Lighting upgrade at epoch 489394, 2023-04-20T16:30:00Z and nv20 Thunder upgrade will be triggered automatically 11520 epoch later. The bundle the network will be using is [v10.0.0 actors](https://github.com/filecoin-project/builtin-actors/releases/tag/v10.0.0-rc.1) -(located at `build/actors/v11.tar.zst`) upon/post migration, manifest CID `bafy2bzacedyne7vbddp2inj64ubztcvkmfkdnahwo353sltkqtsyzckioneuu`. - # v1.20.4 / 2023-03-17 This is a patch release intended to alleviate performance issues reported by some users since the nv18 upgrade.