From 389dc28860d24c221b8e30d71fbc2ec105e80e7d Mon Sep 17 00:00:00 2001 From: Mikers Date: Wed, 1 Nov 2023 09:36:00 -0700 Subject: [PATCH 1/9] add support for v12 check invariants and also a default case to reduce future confusion (#11371) --- cmd/lotus-shed/invariants.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/cmd/lotus-shed/invariants.go b/cmd/lotus-shed/invariants.go index 51d746f79d0..e74a0dd24c2 100644 --- a/cmd/lotus-shed/invariants.go +++ b/cmd/lotus-shed/invariants.go @@ -16,6 +16,7 @@ import ( "github.com/filecoin-project/go-state-types/builtin" v10 "github.com/filecoin-project/go-state-types/builtin/v10" v11 "github.com/filecoin-project/go-state-types/builtin/v11" + v12 "github.com/filecoin-project/go-state-types/builtin/v12" v8 "github.com/filecoin-project/go-state-types/builtin/v8" v9 "github.com/filecoin-project/go-state-types/builtin/v9" @@ -149,6 +150,13 @@ var invariantsCmd = &cli.Command{ if err != nil { return xerrors.Errorf("checking state invariants: %w", err) } + case actorstypes.Version12: + messages, err = v12.CheckStateInvariants(actorTree, abi.ChainEpoch(epoch), actorCodeCids) + if err != nil { + return xerrors.Errorf("checking state invariants: %w", err) + } + default: + return xerrors.Errorf("unsupported actor version: %v", av) } fmt.Println("completed, took ", time.Since(startTime)) From 56b0348e87b3f1f06ead70ec8836d0da6f18a20a Mon Sep 17 00:00:00 2001 From: Steven Allen Date: Fri, 27 Oct 2023 07:37:16 -0700 Subject: [PATCH 2/9] fix: api: compute the effective gas cost with the correct base-fee (#11357) fixes #11252 --- itests/eth_transactions_test.go | 17 ++++++++++++++++- node/impl/full/eth.go | 8 +++++++- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/itests/eth_transactions_test.go b/itests/eth_transactions_test.go index 8d836573da9..3c131a256f8 100644 --- a/itests/eth_transactions_test.go +++ b/itests/eth_transactions_test.go @@ -81,12 +81,16 @@ func TestValueTransferValidSignature(t *testing.T) { receipt, err := waitForEthTxReceipt(ctx, client, hash) require.NoError(t, err) require.NotNil(t, receipt) + require.EqualValues(t, ethAddr, receipt.From) + require.EqualValues(t, ethAddr2, *receipt.To) + require.EqualValues(t, hash, receipt.TransactionHash) // Success. require.EqualValues(t, ethtypes.EthUint64(0x1), receipt.Status) + // Validate that we sent the expected transaction. ethTx, err := client.EthGetTransactionByHash(ctx, &hash) - require.Nil(t, err) + require.NoError(t, err) require.EqualValues(t, ethAddr, ethTx.From) require.EqualValues(t, ethAddr2, *ethTx.To) require.EqualValues(t, tx.ChainID, ethTx.ChainID) @@ -269,6 +273,17 @@ func TestContractInvocation(t *testing.T) { // Success. require.EqualValues(t, ethtypes.EthUint64(0x1), receipt.Status) + + // Validate that we correctly computed the gas outputs. + mCid, err := client.EthGetMessageCidByTransactionHash(ctx, &hash) + require.NoError(t, err) + require.NotNil(t, mCid) + + invokResult, err := client.StateReplay(ctx, types.EmptyTSK, *mCid) + require.NoError(t, err) + require.EqualValues(t, invokResult.GasCost.GasUsed, big.NewInt(int64(receipt.GasUsed))) + effectiveGasPrice := big.Div(invokResult.GasCost.TotalCost, invokResult.GasCost.GasUsed) + require.EqualValues(t, effectiveGasPrice, big.Int(receipt.EffectiveGasPrice)) } func TestGetBlockByNumber(t *testing.T) { diff --git a/node/impl/full/eth.go b/node/impl/full/eth.go index 424756f8140..a4e413b128e 100644 --- a/node/impl/full/eth.go +++ b/node/impl/full/eth.go @@ -2277,7 +2277,13 @@ func newEthTxReceipt(ctx context.Context, tx ethtypes.EthTx, lookup *api.MsgLook return api.EthTxReceipt{}, xerrors.Errorf("failed to lookup tipset %s when constructing the eth txn receipt: %w", lookup.TipSet, err) } - baseFee := ts.Blocks()[0].ParentBaseFee + // The tx is located in the parent tipset + parentTs, err := cs.LoadTipSet(ctx, ts.Parents()) + if err != nil { + return api.EthTxReceipt{}, xerrors.Errorf("failed to lookup tipset %s when constructing the eth txn receipt: %w", ts.Parents(), err) + } + + baseFee := parentTs.Blocks()[0].ParentBaseFee gasOutputs := vm.ComputeGasOutputs(lookup.Receipt.GasUsed, int64(tx.Gas), baseFee, big.Int(tx.MaxFeePerGas), big.Int(tx.MaxPriorityFeePerGas), true) totalSpent := big.Sum(gasOutputs.BaseFeeBurn, gasOutputs.MinerTip, gasOutputs.OverEstimationBurn) From 3a74a2422af47d8fd58d5ec6e48a60da1c2d381f Mon Sep 17 00:00:00 2001 From: Steven Allen Date: Fri, 27 Oct 2023 07:37:51 -0700 Subject: [PATCH 3/9] fix: api: compute gasUsedRatio based on max gas in the tipset (#11354) We were computing this based on the max block gas, but this is incorrect. The new value isn't entirely correct either (we should probably compute an average of the gas used in each block in the tipset?), but it's good enough. fixes #10515 --- node/impl/full/eth.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/node/impl/full/eth.go b/node/impl/full/eth.go index a4e413b128e..f4d9d837172 100644 --- a/node/impl/full/eth.go +++ b/node/impl/full/eth.go @@ -825,10 +825,11 @@ func (a *EthModule) EthFeeHistory(ctx context.Context, p jsonrpc.RawParams) (eth } rewards, totalGasUsed := calculateRewardsAndGasUsed(rewardPercentiles, txGasRewards) + maxGas := build.BlockGasLimit * int64(len(ts.Blocks())) // arrays should be reversed at the end baseFeeArray = append(baseFeeArray, ethtypes.EthBigInt(basefee)) - gasUsedRatioArray = append(gasUsedRatioArray, float64(totalGasUsed)/float64(build.BlockGasLimit)) + gasUsedRatioArray = append(gasUsedRatioArray, float64(totalGasUsed)/float64(maxGas)) rewardsArray = append(rewardsArray, rewards) oldestBlkHeight = uint64(ts.Height()) blocksIncluded++ From 71ba2e4ac4e6434451fc3cbcc7810abf7802f7c2 Mon Sep 17 00:00:00 2001 From: Aayush Rajasekaran Date: Wed, 1 Nov 2023 18:08:23 -0400 Subject: [PATCH 4/9] fix: sync: iterate over returned messages directly (#11373) --- chain/sync.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/chain/sync.go b/chain/sync.go index 7830a977112..d8892a84ef8 100644 --- a/chain/sync.go +++ b/chain/sync.go @@ -1094,8 +1094,8 @@ func (syncer *Syncer) fetchMessages(ctx context.Context, headers []*types.TipSet requestErr = multierror.Append(requestErr, err) } else { isGood := true - for index, ts := range headers[nextI:lastI] { - cm := result[index] + for index, cm := range result { + ts := headers[nextI+index] if err := checkMsgMeta(ts, cm.Bls, cm.Secpk, cm.BlsIncludes, cm.SecpkIncludes); err != nil { log.Errorf("fetched messages not as expected: %s", err) isGood = false From ba79d56b30bd6059fb50b2ca73ce9c7f77ced89d Mon Sep 17 00:00:00 2001 From: Jiaying Wang Date: Thu, 2 Nov 2023 03:52:31 +0800 Subject: [PATCH 5/9] update both mainnet and calib upgrade epoch --- build/params_mainnet.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/params_mainnet.go b/build/params_mainnet.go index be7116103a4..b4fe5e701cc 100644 --- a/build/params_mainnet.go +++ b/build/params_mainnet.go @@ -95,8 +95,8 @@ const UpgradeLightningHeight = 2809800 // 2023-05-18T13:00:00Z const UpgradeThunderHeight = UpgradeLightningHeight + 2880*21 -// ??????? -var UpgradeWatermelonHeight = abi.ChainEpoch(9999999999) +// 2023-11-29T13:30:00Z +var UpgradeWatermelonHeight = abi.ChainEpoch(3431940) // This fix upgrade only ran on calibrationnet const UpgradeWatermelonFixHeight = -1 From d8b63c738c54f8e3173e6ca58f5c507af3bbe3fd Mon Sep 17 00:00:00 2001 From: Jiaying Wang Date: Thu, 2 Nov 2023 05:43:57 +0800 Subject: [PATCH 6/9] update version --- build/version.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/version.go b/build/version.go index 99f5b950005..c4ec6ff81a9 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.24.0-rc3" +const BuildVersion = "1.24.0-rc4" func UserVersion() string { if os.Getenv("LOTUS_VERSION_IGNORE_COMMIT") == "1" { From 7c0e9ea5c742d281fe7359bdcf807192f8a7d831 Mon Sep 17 00:00:00 2001 From: jennijuju Date: Thu, 2 Nov 2023 06:15:25 +0800 Subject: [PATCH 7/9] docs gen --- build/openrpc/full.json.gz | Bin 34208 -> 34208 bytes build/openrpc/gateway.json.gz | Bin 10470 -> 10470 bytes build/openrpc/miner.json.gz | Bin 16372 -> 16372 bytes build/openrpc/worker.json.gz | Bin 6051 -> 6051 bytes documentation/en/cli-lotus-miner.md | 2 +- documentation/en/cli-lotus-worker.md | 2 +- documentation/en/cli-lotus.md | 2 +- 7 files changed, 3 insertions(+), 3 deletions(-) diff --git a/build/openrpc/full.json.gz b/build/openrpc/full.json.gz index f27d909974404dd00a5c41b05c1a0140ffe1cc2f..bc7aab3633aa4c49ccf010c7e89dce2392ebf050 100644 GIT binary patch literal 34208 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
tvB2Fz(3u4u-z?x}mF|xI-O;~0`akQV{|iwv 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 literal 34208 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 C5598% delta 5972 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 C9LjM3 diff --git a/documentation/en/cli-lotus-miner.md b/documentation/en/cli-lotus-miner.md index 63f655b96f9..a8f59fadf5f 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.24.0-rc3 + 1.24.0-rc4 COMMANDS: init Initialize a lotus miner repo diff --git a/documentation/en/cli-lotus-worker.md b/documentation/en/cli-lotus-worker.md index 186e42401e7..dc70d8314aa 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.24.0-rc3 + 1.24.0-rc4 COMMANDS: run Start lotus worker diff --git a/documentation/en/cli-lotus.md b/documentation/en/cli-lotus.md index 71a0a2ba7e4..8aab199e3f3 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.24.0-rc3 + 1.24.0-rc4 COMMANDS: daemon Start a lotus daemon process From b67d1563ed63cf1ef3a6795e279be65481d13473 Mon Sep 17 00:00:00 2001 From: Jiaying Wang <42981373+jennijuju@users.noreply.github.com> Date: Thu, 2 Nov 2023 06:40:07 +0800 Subject: [PATCH 8/9] Update CHANGELOG.md --- CHANGELOG.md | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fbf66945a30..0e5ddfe28aa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,12 @@ # Lotus changelog -# v1.24.0-rc3 / 2023-10-31 +# 1.24.0-rc4 / 2023-11-02 -This is the third release candidate of the upcoming **MANDATORY Lotus v1.24.0** release, which will deliver the Filecoin network version 21, codenamed Watermelon 🍉. +This is the 4th release candidate of the upcoming **MANDATORY Lotus v1.24.0** release, which will deliver the Filecoin network version 21, codenamed Watermelon 🍉. -**This release candidate does NOT set an upgrade epoch for mainnet. However, it includes a patch for the calibration testnet to fix an issue where partitions with expired sectors had to be compacted before they could be moved. Unfortunately, this bug impacts consensus and necessitates a coordinated upgrade on the Calibration network to deploy the new code. The calibration network is scheduled to upgrade all miner actors to the new, fixed miner actor CID at epoch 1070494, which is expected to occur at 2023-11-07T13:00:00Z.** +This release candidate also sets an upgrade epoch for mainnet at `3431940` 2023-11-29T13:30:00Z. + +**It includes a patch for the calibration testnet to fix an issue where partitions with expired sectors had to be compacted before they could be moved. Unfortunately, this bug impacts consensus and necessitates a coordinated upgrade on the Calibration network to deploy the new code. The calibration network is scheduled to upgrade all miner actors to the new, fixed miner actor CID at epoch 1070494, which is expected to occur at 2023-11-07T13:00:00Z.** The Filecoin network version 21 delivers the following FIPs: @@ -99,7 +101,7 @@ This feature release requires a **minimum Go version of v1.19.12 or higher to su - feat: sealing: flag to run data_cid untied from addpiece ([filecoin-project/lotus#10797](https://github.com/filecoin-project/lotus/pull/10797)) - feat: Lotus Gateway: add MpoolPending, ChainGetBlock and MinerGetBaseInfo ([filecoin-project/lotus#10929](https://github.com/filecoin-project/lotus/pull/10929)) -## Improvements +## Improvements && Bug Fixe - chore: update ffi & fvm ([filecoin-project/lotus#11040](https://github.com/filecoin-project/lotus/pull/11040)) - feat: Make sure we don't store duplidate actor events caused to reorgs in events.db ([filecoin-project/lotus#11015](https://github.com/filecoin-project/lotus/pull/11015)) - sealing: Use only non-assigned deals when selecting snap sectors ([filecoin-project/lotus#11002](https://github.com/filecoin-project/lotus/pull/11002)) @@ -177,6 +179,10 @@ This feature release requires a **minimum Go version of v1.19.12 or higher to su - fix: cli: Change arg wording in change-beneficiary cmd ([filecoin-project/lotus#10823](https://github.com/filecoin-project/lotus/pull/10823)) - refactor: streamline error handling in CheckPendingMessages (#10818) ([filecoin-project/lotus#10818](https://github.com/filecoin-project/lotus/pull/10818)) - feat: Add tmp indices to events table while performing migration to V2 + - fix: sync: iterate over returned messages directly #11373 + - fix: api: compute the effective gas cost with the correct base-fee #11357 + - fix: check invariants: v12 check #11371 + - fix: api: compute gasUsedRatio based on max gas in the tipset #11354 # v1.23.2 / 2023-06-28 From aaf80542fc6871c1245fae86daa0abb7557c9d60 Mon Sep 17 00:00:00 2001 From: jennijuju Date: Thu, 2 Nov 2023 07:42:46 +0800 Subject: [PATCH 9/9] add a callout for actor cid --- CHANGELOG.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0e5ddfe28aa..64a560bd94e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,7 @@ The Filecoin network version 21 delivers the following FIPs: The actor bundles for the calibration network can be checked as follows: +**before 1070494** ``` lotus state actor-cids --network-version=21 Network Version: 21 @@ -47,6 +48,14 @@ cron bafk2bzacec4gdxxkqwxqqodsv6ug5dmdbqdfqwyqfek3yhxc2wweh5psxaeq6 datacap bafk2bzacecq5ppfskxgv3iea3jarsix6jdduuhwsn4fbvngtbmzelzmlygorm ``` +**after 1070494** +``` +lotus state actor-cids --network-version=21 +Network Version: 21 +Actor Version: 12 +Manifest CID: bafy2bzacedrunxfqta5skb7q7x32lnp4efz2oq7fn226ffm7fu5iqs62jkmvs +``` + ## New features - Implement and support [FIP0052: Increase Max Sector Commitment to 3.5 years](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0052.md) - fix: docs: Update SectorLifetime to be in line with FIP-0052 ([filecoin-project/lotus#11314](https://github.com/filecoin-project/lotus/pull/11314))