Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: backport: release v1.16.0 back to master #8855

Merged
merged 45 commits into from
Jun 14, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
869f6ab
Use tagged version of specs-storage
arajasek May 30, 2022
130ef04
Merge pull request #8764 from filecoin-project/asr/storage
jennijuju May 31, 2022
cec9425
prep lotus v1.15.3
jennijuju May 30, 2022
c095d10
Update CHANGELOG.md
jennijuju Jun 1, 2022
a7e8f5a
Merge pull request #8761 from filecoin-project/jen/1153prep
jennijuju Jun 1, 2022
2f6a383
Merge pull request #8781 from filecoin-project/release/v1.15.3
jennijuju Jun 2, 2022
0c789b0
Call with no subcalls is nil instead of empty array for backwards com…
geoff-vball Jun 3, 2022
81cacd7
Implement function to access state of system actor
geoff-vball Jun 7, 2022
0e5e5f4
Merge pull request #8804 from filecoin-project/gstuart/exec-trace-con…
arajasek Jun 7, 2022
fbefd61
refactor: rename LOTUS_USE_FVM_EXPERIMENTAL
arajasek Jun 9, 2022
5c0f2c8
Add putObj and putMany to apiBlockstore
geoff-vball Jun 8, 2022
339692c
create function for migrating builtin actors with only code changes
geoff-vball Jun 7, 2022
87d1e8d
Merge pull request #8831 from filecoin-project/arajasek-patch-2
jennijuju Jun 9, 2022
d2fe574
fix: build: params_2k should not have the v16 upgrade set
arajasek Jun 10, 2022
3c4792d
review fixes
geoff-vball Jun 8, 2022
64d62f1
Review fixes v2
geoff-vball Jun 10, 2022
801c670
Remove ChainPutMany
geoff-vball Jun 10, 2022
bec1dc4
update specs-actors version
geoff-vball Jun 10, 2022
64ed93b
Merge pull request #8840 from filecoin-project/arajasek-patch-2
arajasek Jun 10, 2022
3f712c3
Example V9 migration function
geoff-vball Jun 10, 2022
b6a7e05
Merge pull request #8815 from filecoin-project/gstuart/lite-migration
arajasek Jun 10, 2022
131831c
Update cmd/lotus-shed/cid.go
arajasek Jun 8, 2022
7dcb11b
Update to tagged actors versions
arajasek Jun 8, 2022
d32ed44
Drop actor meta shimming for testing
arajasek Jun 8, 2022
dda9ac3
invoker: gen the registry
arajasek Jun 9, 2022
2d07131
Merge pull request #8845 from filecoin-project/asr/cherry-picks
arajasek Jun 10, 2022
d4d5ce3
only enable rcmgr by default in full nodes
vyzo May 31, 2022
ddc9425
feat: refactor: actor bundling system (#8838)
Stebalien Jun 13, 2022
1d821ed
Merge pull request #8847 from filecoin-project/jen/v16prep
arajasek Jun 13, 2022
2b8aaf7
update calib v16 skyr upgrade
jennijuju Jun 14, 2022
cda2154
chore: update butterfly for reset of v16
jennijuju Jun 14, 2022
69fae9d
Add new proofs version type
arajasek Jun 9, 2022
55dd92f
Merge pull request #8849 from filecoin-project/asr/proof-bump-v16
arajasek Jun 14, 2022
4b7f141
fix: build: make the build/actors/pack.sh script work on macos
Stebalien Jun 14, 2022
14e37ad
fix: build: add calibrationnet to the actors bundle
jennijuju Jun 14, 2022
3579168
upgrade to 8.0.0-rc.1 bundle & manifest
jennijuju Jun 14, 2022
b3adf6f
docsgen
jennijuju Jun 14, 2022
ca3282c
Merge branch 'releases' into jen/v1160
jennijuju Jun 14, 2022
9254085
correct the upgrade time comment
jennijuju Jun 14, 2022
b0c8dd5
remove wrongly added whiteblock cid
jennijuju Jun 14, 2022
82ead26
go mod tidy
jennijuju Jun 14, 2022
5624c71
Merge pull request #8851 from filecoin-project/jen/v1160
jennijuju Jun 14, 2022
5a67bb0
v1.16.0-rc1 changelog
jennijuju Jun 14, 2022
e3fbe53
Merge branch 'release/v1.16.0' into jen/backport
jennijuju Jun 14, 2022
6d21b72
Testplans: go mod tidy
arajasek Jun 14, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
127 changes: 87 additions & 40 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,67 +1,114 @@
# Lotus changelog

# 1.15.3-rc2 / 2022-05-24
# 1.16.0-rc1 / 2022-06-14

This is the second rc of an optional release of lotus, detailed changelog will be updated later.
This is the first release of the upcoming MANDATORY release of Lotus v1.16.0 that supports Filecoin network v16, codenamed the Skyr upgrade.
Filecoin nv16 upgrade will introduce non-programmable FVM(FVM m1) and switch the network from using go spec-actor to rust built-in actor. Full changelog will be published upon final release.

## Calibration-net Upgrade

This release candidate sets the caibration-net upgrade at epoch 1044660, 2022-06-16T17:30:00Z. The bundle that the network should be using is v8.0.0-rc.1(located at `build/actors/v8.tar.zst` ) upon migration, manifest CID `bafy2bzacedrdn6z3z7xz7lx4wll3tlgktirhllzqxb766dxpaqp3ukxsjfsba`.

Your lotus node will switch from legacy VM to FVM atomically upon the upgrade. Easily enable envvar `LOTUS_USE_FVM_TO_SYNC_MAINNET_V15` to sync calibration using FVM to sync network v15.

## 🆕 Things you may wanna know

### Built-in actor bundles

As the network introduces FVM, it's also switching from spec-actor (written in GoLang) to [built-in actor](https://github.com/filecoin-project/builtin-actors) (written in rust), in which the latter comes with[ importable bundles](https://github.com/filecoin-project/builtin-actors#importable-bundle). This means, like filecoin proof parameters, node operators now also need to fetch the actor bundles according to the network versions for the nodes to remain operational.

In lotus [v1.16.0-rc1](https://github.com/filecoin-project/lotus/releases/tag/v1.16.0-rc1), the bundles for all networks(mainnet, calibnet, and etc) are included in the lotus source tree (`build/actors/`) and embedded on build.

Lotus verifies that the bundle CIDs are the right ones upon build & upgrade against the values in `build/builtin_actors_gen.go`, according to the network you are building. You may also check the bundle manifest CID matches the bundle gen-ed values by running `lotus state actor-cids --network-version 16`.
(We will get into the CIDs more in the next section).

As you may have noticed, all bundles are also available at https://github.com/filecoin-project/builtin-actors/releases, thus you can also manually download the bundles and place them in the right path.

Note: use customized bundle will risk you to lose sync with the network!

## Actor Code CIDs

If you have followed the conversation in FIP discussion[ _Does the switch of CodeCIDs to _real_ content-addressing impact you_](https://github.com/filecoin-project/FIPs/discussions/310) and [FIP-0031](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0031.md)- [structure of the code cid](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0031.md#structure-of-code-cids), you should already know that from nv16, system actor code CIDs will be real content-addressing instead of being a static string like `(fil/7/account)`/ `(fil/8/storageminer)`.

For lotus users, we are making the change minimal for you. This means the `CODE` output when you run `lotus state get-actor` will now be the actual CID that represents the executable code for the actor, followed by wrapped synthetic id like the ones you've got before, i.e `fil/8/system`.

Moreover, this also means that in the future, whenever the actor code changes, the CID will change accordingly, in which will result in a need for a network upgrade for the network participants to have consensus over what executable code we should use for each system actor.

### Execution Trace

For developers that are dependent on lotus execution trace, you will need to enable `LOTUS_VM_ENABLE_TRACING` envvar to get the exact execution trace response as before. Without the envvar enabled, `Duration` and `GasCharges` fields will be missing from the new FVM trace.

# 1.15.3 / 2022-05-31

This is an optional release of lotus that include new APIs, some improvements and bug fixes.

## New Features
- feat: api: add StateGetNetworkParams api ([filecoin-project/lotus#8546](https://github.com/filecoin-project/lotus/pull/8546))
- feat: api: Implement StateLookupRobustAddress ([filecoin-project/lotus#8486](https://github.com/filecoin-project/lotus/pull/8486))
- sealing: DataCid on workers ([filecoin-project/lotus#8557](https://github.com/filecoin-project/lotus/pull/8557))
- feat: FVM: Support exectraces ([filecoin-project/lotus#8514](https://github.com/filecoin-project/lotus/pull/8514))

## Improvements
- ux: wallet: update delete usage ([filecoin-project/lotus#8442](https://github.com/filecoin-project/lotus/pull/8442))
- chore: config: default-disable kvlog ([filecoin-project/lotus#8477](https://github.com/filecoin-project/lotus/pull/8477))
- chore: cli: Alias cli commands for uniformity ([filecoin-project/lotus#8587](https://github.com/filecoin-project/lotus/pull/8587))

## Bug Fixes
- fix: Make deal making logs much less noisy ([filecoin-project/lotus#8622](https://github.com/filecoin-project/lotus/pull/8622))
- chore: merge releases back into master ([filecoin-project/lotus#8638](https://github.com/filecoin-project/lotus/pull/8638))
- fix: mpool: avoid deadlock on unsubscribe ([filecoin-project/lotus#8635](https://github.com/filecoin-project/lotus/pull/8635))
- feat: api: add StateGetNetworkParams api ([filecoin-project/lotus#8546](https://github.com/filecoin-project/lotus/pull/8546))
- fix: update StatApplied when fvm apply message ([filecoin-project/lotus#8545](https://github.com/filecoin-project/lotus/pull/8545))
- fix: ci: build macos and linux assets on tagged releases ([filecoin-project/lotus#8597](https://github.com/filecoin-project/lotus/pull/8597))
- fix: Clean up vanilla proof fetching errors for proper display ([filecoin-project/lotus#8564](https://github.com/filecoin-project/lotus/pull/8564))
- fix: Make markets logger less noisy when doing retrievals ([filecoin-project/lotus#8604](https://github.com/filecoin-project/lotus/pull/8604))
- fix: test: Fix flaky TestGatewayWalletMsig ([filecoin-project/lotus#8601](https://github.com/filecoin-project/lotus/pull/8601))
- chore:ci:make codecov quiet ([filecoin-project/lotus#8600](https://github.com/filecoin-project/lotus/pull/8600))
- fix: lotus-wallet: correct network in version ([filecoin-project/lotus#8563](https://github.com/filecoin-project/lotus/pull/8563))
- chore: cli: Alias cli commands for uniformity ([filecoin-project/lotus#8587](https://github.com/filecoin-project/lotus/pull/8587))
- chore: .gitignore: ignore built in actor bundles ([filecoin-project/lotus#8590](https://github.com/filecoin-project/lotus/pull/8590))
- fix: worker: Download proofs if PRU2 is enabled ([filecoin-project/lotus#8555](https://github.com/filecoin-project/lotus/pull/8555))
- ci: deps: macos build deps ([filecoin-project/lotus#8581](https://github.com/filecoin-project/lotus/pull/8581))
- chore:chore:chore ([filecoin-project/lotus#8586](https://github.com/filecoin-project/lotus/pull/8586))
- fix: sealing: Finalize snap sectors before submitting proofs ([filecoin-project/lotus#8582](https://github.com/filecoin-project/lotus/pull/8582))
- feat: vm: add actor error backtraces to FVM ([filecoin-project/lotus#8524](https://github.com/filecoin-project/lotus/pull/8524))
- sealing: DataCid on workers ([filecoin-project/lotus#8557](https://github.com/filecoin-project/lotus/pull/8557))
- fix: ux: update `lotus-wallet run` description ([filecoin-project/lotus#8528](https://github.com/filecoin-project/lotus/pull/8528))
- fix: market: Infer index provider topic from network name by default ([filecoin-project/lotus#8526](https://github.com/filecoin-project/lotus/pull/8526))
- deps: update [email protected] ([filecoin-project/lotus#8511](https://github.com/filecoin-project/lotus/pull/8511))
- chore: fix lint issue ([filecoin-project/lotus#8531](https://github.com/filecoin-project/lotus/pull/8531))
- chore: ci: update golang and go-ipfs ([filecoin-project/lotus#8512](https://github.com/filecoin-project/lotus/pull/8512))
- feat: FVM: Support exectraces ([filecoin-project/lotus#8514](https://github.com/filecoin-project/lotus/pull/8514))
- Feat: API: Implement StateLookupRobustAddress ([filecoin-project/lotus#8486](https://github.com/filecoin-project/lotus/pull/8486))
- fix:sealing:check index out of bounds against correct param length not return length ([filecoin-project/lotus#8475](https://github.com/filecoin-project/lotus/pull/8475))
- add 1475 bootstrapper ([filecoin-project/lotus#8495](https://github.com/filecoin-project/lotus/pull/8495))
- Bump version for xtools ([filecoin-project/lotus#8494](https://github.com/filecoin-project/lotus/pull/8494))
- fix: storiface: Make FSOverhead numbers more accurate ([filecoin-project/lotus#8481](https://github.com/filecoin-project/lotus/pull/8481))
- fix: node: fix comment for IndexProvider ([filecoin-project/lotus#8480](https://github.com/filecoin-project/lotus/pull/8480))
- ux: wallet: update delete usage ([filecoin-project/lotus#8442](https://github.com/filecoin-project/lotus/pull/8442))
- Fail to add expired precommits to a batch ([filecoin-project/lotus#8479](https://github.com/filecoin-project/lotus/pull/8479))
- chore: config: default-disable kvlog ([filecoin-project/lotus#8477](https://github.com/filecoin-project/lotus/pull/8477))
- chore: version: bump the version to v1.15.3-dev ([filecoin-project/lotus#8473](https://github.com/filecoin-project/lotus/pull/8473))
- fix: sealing: fail to add expired precommits to a batch ([filecoin-project/lotus#8479](https://github.com/filecoin-project/lotus/pull/8479))
- fix:sealing:check index out of bounds against correct param length not return length ([filecoin-project/lotus#8475](https://github.com/filecoin-project/lotus/pull/8475))
- fix: sealing: Finalize snap sectors before submitting proofs ([filecoin-project/lotus#8582](https://github.com/filecoin-project/lotus/pull/8582))
- chore: fix lint issue ([filecoin-project/lotus#8531](https://github.com/filecoin-project/lotus/pull/8531))
- feat: vm: add actor error backtraces to FVM ([filecoin-project/lotus#8524](https://github.com/filecoin-project/lotus/pull/8524))

## Dependency Updates
- github.com/filecoin-project/specs-storage (v0.2.2 -> v0.2.3-0.20220426183226-1a0a63c5990f):
- deps: update [email protected] ([filecoin-project/lotus#8511](https://github.com/filecoin-project/lotus/pull/8511))
- chore: deps: Use tagged version of specs-storage #8764

## Others
- chore: merge releases back into master ([filecoin-project/lotus#8638](https://github.com/filecoin-project/lotus/pull/8638))
- chore:ci:make codecov quiet ([filecoin-project/lotus#8600](https://github.com/filecoin-project/lotus/pull/8600))
- chore: version: bump the version to v1.15.3-dev ([filecoin-project/lotus#8473](https://github.com/filecoin-project/lotus/pull/8473))
- chore: .gitignore: ignore built in actor bundles ([filecoin-project/lotus#8590](https://github.com/filecoin-project/lotus/pull/8590))
- ci: deps: macos build deps ([filecoin-project/lotus#8581](https://github.com/filecoin-project/lotus/pull/8581))
- chore:chore:chore remove the wrong TODO ([filecoin-project/lotus#8586](https://github.com/filecoin-project/lotus/pull/8586))
- add 1475 bootstrapper ([filecoin-project/lotus#8495](https://github.com/filecoin-project/lotus/pull/8495))
- Bump version for xtools ([filecoin-project/lotus#8494](https://github.com/filecoin-project/lotus/pull/8494))
- chore: bundle: remove wrongly committed bundle cars #8763
## Contributors

| Contributor | Commits | Lines ± | Files Changed |
|-------------|---------|---------|---------------|
| Steven Allen | 4 | +607/-95 | 19 |
| Łukasz Magiera | 9 | +550/-37 | 43 |
| Geoff Stuart | 5 | +279/-219 | 27 |
| simlecode | 1 | +306/-39 | 20 |
| Aayush | 1 | +256/-34 | 10 |
| zenground0 | 11 | +214/-66 | 31 |
| Aayush Rajasekaran | 2 | +149/-99 | 8 |
| vyzo | 3 | +125/-81 | 4 |
| Masih H. Derkani | 1 | +134/-15 | 7 |
| Travis Person | 3 | +24/-32 | 6 |
| Rjan | 6 | +16/-16 | 9 |
| jennijuju | 3 | +9/-8 | 15 |
| @stebalien | 4 | +607/-95 | 19 |
| @magik6k | 9 | +550/-37 | 43 |
| @geoff-vball | 5 | +279/-219 | 27 |
| @simlecode | 1 | +306/-39 | 20 |
| @arajasek | 1 | +256/-34 | 10 |
| @zenground0 | 11 | +214/-66 | 31 |
| @arajasek | 2 | +149/-99 | 8 |
| @vyzo | 3 | +125/-81 | 4 |
| @Masih| 1 | +134/-15 | 7 |
| @travisperson | 3 | +24/-32 | 6 |
| @Rjan | 6 | +16/-16 | 9 |
| @jennijuju | 3 | +9/-8 | 15 |
| Rob Quist | 3 | +12/-4 | 3 |
| Icarus9913 | 1 | +3/-3 | 3 |
| swift-mx | 1 | +3/-0 | 1 |
| Phi-rjan | 1 | +1/-1 | 1 |
| lifei | 1 | +1/-0 | 1 |
| @Icarus9913 | 1 | +3/-3 | 3 |
| @swift-mx | 1 | +3/-0 | 1 |
| @Phi-rjan | 1 | +1/-1 | 1 |
| @lifei | 1 | +1/-0 | 1 |


# 1.15.2 / 2022-05-06
Expand Down
7 changes: 3 additions & 4 deletions build/params_2k.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,11 @@ import (
"os"
"strconv"

"github.com/ipfs/go-cid"

"github.com/filecoin-project/go-state-types/abi"
"github.com/filecoin-project/go-state-types/network"

"github.com/filecoin-project/lotus/chain/actors"
"github.com/filecoin-project/lotus/chain/actors/policy"
"github.com/ipfs/go-cid"
)

const BootstrappersFile = ""
Expand Down Expand Up @@ -53,7 +51,8 @@ var UpgradeHyperdriveHeight = abi.ChainEpoch(-16)
var UpgradeChocolateHeight = abi.ChainEpoch(-17)

var UpgradeOhSnapHeight = abi.ChainEpoch(-18)
var UpgradeSkyrHeight = abi.ChainEpoch(100)

var UpgradeSkyrHeight = abi.ChainEpoch(-19)

var DrandSchedule = map[abi.ChainEpoch]DrandEnum{
0: DrandMainnet,
Expand Down
7 changes: 3 additions & 4 deletions build/params_butterfly.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ var DrandSchedule = map[abi.ChainEpoch]DrandEnum{
0: DrandMainnet,
}

const GenesisNetworkVersion = network.Version14
const GenesisNetworkVersion = network.Version15

var NetworkBundle = "butterflynet"
var BundleOverrides map[actors.Version]string
Expand Down Expand Up @@ -46,10 +46,9 @@ const UpgradeTurboHeight = -15
const UpgradeHyperdriveHeight = -16
const UpgradeChocolateHeight = -17

const UpgradeOhSnapHeight = 240
const UpgradeOhSnapHeight = -18

// 2022-05-31T14:32:00Z
const UpgradeSkyrHeight = abi.ChainEpoch(333258)
const UpgradeSkyrHeight = abi.ChainEpoch(50)

var SupportedProofTypes = []abi.RegisteredSealProof{
abi.RegisteredSealProof_StackedDrg512MiBV1,
Expand Down
3 changes: 2 additions & 1 deletion build/params_calibnet.go
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,8 @@ const UpgradeChocolateHeight = 312746
// 2022-02-10T19:23:00Z
const UpgradeOhSnapHeight = 682006

var UpgradeSkyrHeight = abi.ChainEpoch(99999999999999)
// 2022-06-16T17:30:00Z
const UpgradeSkyrHeight = 1044660

var SupportedProofTypes = []abi.RegisteredSealProof{
abi.RegisteredSealProof_StackedDrg32GiBV1,
Expand Down
18 changes: 10 additions & 8 deletions chain/vm/fvm.go
Original file line number Diff line number Diff line change
Expand Up @@ -60,16 +60,18 @@ func (t *FvmExecutionTrace) ToExecutionTrace() types.ExecutionTrace {
}

ret := types.ExecutionTrace{
Msg: t.Msg,
MsgRct: t.MsgRct,
Error: t.Error,
Duration: 0,
GasCharges: nil,
Subcalls: make([]types.ExecutionTrace, len(t.Subcalls)),
Msg: t.Msg,
MsgRct: t.MsgRct,
Error: t.Error,
Subcalls: nil, // Should be nil when there are no subcalls for backwards compatibility
}

for i, v := range t.Subcalls {
ret.Subcalls[i] = v.ToExecutionTrace()
if len(t.Subcalls) > 0 {
ret.Subcalls = make([]types.ExecutionTrace, len(t.Subcalls))

for i, v := range t.Subcalls {
ret.Subcalls[i] = v.ToExecutionTrace()
}
}

return ret
Expand Down
2 changes: 1 addition & 1 deletion chain/vm/vmi.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ type Interface interface {
Flush(ctx context.Context) (cid.Cid, error)
}

var experimentalUseFvm = os.Getenv("LOTUS_USE_FVM_EXPERIMENTAL") == "1"
var experimentalUseFvm = os.Getenv("LOTUS_USE_FVM_TO_SYNC_MAINNET_V15") == "1"

func NewVM(ctx context.Context, opts *VMOpts) (Interface, error) {
if opts.NetworkVersion >= network.Version16 {
Expand Down