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: merge releases into master #10377

Merged
merged 81 commits into from
Mar 1, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
81 commits
Select commit Hold shift + click to select a range
22fbb37
chore: update lotus version to 1.19.0-rc1
Nov 16, 2022
d98b100
chore: Update changelog for v1.19.0-rc1
shrenujbansal Nov 16, 2022
0ff0f4d
Forgot to include linux binaries in goreleaser
ianconsolata Nov 16, 2022
ec9d2d1
small update
shrenujbansal Nov 16, 2022
1215305
Merge pull request #9665 from filecoin-project/gstuart/backport-linux…
arajasek Nov 16, 2022
7de8d32
update version
shrenujbansal Nov 16, 2022
19964df
Merge pull request #9661 from filecoin-project/generate-changelog-v1.…
shrenujbansal Nov 16, 2022
2ae22e1
Use context with goreleaser key
ianconsolata Nov 18, 2022
8586ea5
Use new workspace name in build script
ianconsolata Nov 18, 2022
ff5c576
Remove kubo download after installing
ianconsolata Nov 18, 2022
96f5697
Add binary name to goreleaser build configs
ianconsolata Nov 18, 2022
93698b6
Turn on goreleaser debug logging
ianconsolata Nov 18, 2022
93c2e02
Merge pull request #9685 from filecoin-project/gstuart/backport-gorel…
shrenujbansal Nov 18, 2022
af29d2d
Update Zondax/hid to 0.9.1
ianconsolata Nov 16, 2022
c117611
mod tidy
magik6k Nov 17, 2022
87c25e2
feat: wdpost: Configurable pre-check timeouts
magik6k Nov 17, 2022
0bf439f
Merge pull request #9702 from filecoin-project/1.19.0_backport_20221122
arajasek Nov 22, 2022
1968498
update build version and changelog
Nov 22, 2022
04d3d79
make gen and docsgen
Nov 22, 2022
7b443f5
small comment
shrenujbansal Nov 23, 2022
8864d71
Merge pull request #9707 from filecoin-project/sbansal/1.19.0-rc2_ver…
shrenujbansal Nov 23, 2022
724a7e1
Update CHANGELOG.md
shrenujbansal Nov 23, 2022
2520b16
Merge pull request #9710 from filecoin-project/sbansal/changelog-update
shrenujbansal Nov 23, 2022
2bc070a
Update go-state-types to v0.10.0-alpha-2
geoff-vball Nov 23, 2022
a435aeb
Merge pull request #9715 from filecoin-project/gstuart/update-gst-bac…
arajasek Nov 23, 2022
d9cd196
deps: upgrade go-merkledag to 0.8.1 (#9717)
rvagg Nov 24, 2022
cf56f24
Rely on local env varibale instead of context
ianconsolata Nov 28, 2022
8577272
fix: cliutil: Fix URL-based API endpoint parsing
magik6k Dec 2, 2022
d506d67
Remove testplans/*
ianconsolata Dec 6, 2022
35bcbdc
Remove trigger-testplans, lotus-soup
ianconsolata Dec 6, 2022
c726e4e
Remove build-debug
ianconsolata Dec 6, 2022
6b77b94
Merge pull request #9804 from filecoin-project/sbansal/v1.19.0_backpo…
shrenujbansal Dec 6, 2022
f864c49
Merge branch 'release/v1.18.1' into sbansal/merge_from_1.18.1
Dec 6, 2022
4331567
Merge branch 'releases' into sbansal/merge_from_1.18.1
Dec 6, 2022
e14f0c3
make docsgen
Dec 6, 2022
4e9322c
remove conflict remnant
Dec 6, 2022
84a1bda
Merge pull request #9806 from filecoin-project/sbansal/merge_from_1.18.1
jennijuju Dec 6, 2022
2b82a46
update CHANGELOG.md for 1.19.0
Dec 7, 2022
cdb4e7b
Switch release name template from "Release vX.X.X" to "vX.X.X":wq
ianconsolata Dec 5, 2022
7661c15
Update CHANGELOG with sub-bullets
rjan90 Dec 8, 2022
372f827
Add SnapDeals highlight to changelog
rjan90 Dec 8, 2022
bf17d61
Add links to docs
rjan90 Dec 8, 2022
401c655
Add link to Node cluster docs
rjan90 Dec 9, 2022
2871377
fix: sealing: Avoid nil dereference in debug log
magik6k Dec 9, 2022
b08130a
sealing: Add a guard check to getExpirationCached when sector not found
magik6k Dec 9, 2022
887f008
fix: sealing: Avoid nil dereference in debug log
magik6k Dec 9, 2022
1a5e38e
sealing: Add a guard check to getExpirationCached when sector not found
magik6k Dec 9, 2022
5c65613
Merge pull request #9830 from filecoin-project/asr/backport-panic-fix…
jennijuju Dec 11, 2022
ea4b578
v1.18.2
jennijuju Dec 11, 2022
0b30261
Merge pull request #9832 from filecoin-project/jen/chan
jennijuju Dec 11, 2022
2cbc29e
Merge branch 'releases' into release/v1.18.2
jennijuju Dec 11, 2022
9416ceb
Merge pull request #9833 from filecoin-project/release/v1.18.2
jennijuju Dec 11, 2022
da3892f
Merge pull request #9829 from filecoin-project/asr/backport-panic-fix…
jennijuju Dec 11, 2022
e89af89
update changelog
jennijuju Dec 11, 2022
d674c02
Merge pull request #9814 from filecoin-project/jen/cherrypick
jennijuju Dec 12, 2022
a56c7ac
update changelog
jennijuju Dec 13, 2022
2e769f1
Merge pull request #9807 from filecoin-project/sbansal/release_v1.19.…
jennijuju Dec 13, 2022
8574fa1
Merge branch 'release/v1.19.0' into jen/19
jennijuju Dec 13, 2022
64059ca
Merge pull request #9851 from filecoin-project/jen/19
jennijuju Dec 13, 2022
fab7ea6
feat: shed: test the nv18 migration
arajasek Feb 16, 2023
1ec02c5
Merge pull request #10296 from filecoin-project/asr/migration-test
arajasek Feb 17, 2023
510f980
tests: itests: blocktest properties (#10304)
snissn Feb 17, 2023
2ef5a74
chore: release v1.20.0-rc2
arajasek Feb 17, 2023
80aa6d1
Merge pull request #10310 from filecoin-project/asr/release
arajasek Feb 17, 2023
35c90d3
feat: gas: overestimate around the Hygge upgrade
arajasek Feb 23, 2023
8975f0b
feat: EthAPI: Add FilecoinAddressToEthAddress (#10343)
arajasek Feb 24, 2023
68b401a
fix: cli: better handle sending from EthAccount actors
Stebalien Feb 24, 2023
9fba14b
Merge pull request #10333 from filecoin-project/asr/overestimate
arajasek Feb 27, 2023
17e680e
fix: EthGetBalance: lookup balance at correct state
arajasek Feb 27, 2023
42bf65c
chore: deps: update to go-state-types v0.10.0
arajasek Feb 27, 2023
7422dea
Merge pull request #10344 from filecoin-project/steb/invoke-on-send
arajasek Feb 27, 2023
38f4a81
Merge pull request #10359 from filecoin-project/asr/update-gst
arajasek Feb 27, 2023
4accfac
Merge pull request #10358 from filecoin-project/asr/fix-get-actor
arajasek Feb 27, 2023
bd6e327
chore: deps: update to FFI v1.20.0
arajasek Feb 27, 2023
2e53ef6
Merge pull request #10360 from filecoin-project/asr/update-ffi
arajasek Feb 28, 2023
ad4bf73
chore: deps: update to actors v10.0.0
arajasek Feb 28, 2023
fb2f78b
Merge pull request #10369 from filecoin-project/asr/update-actors
arajasek Feb 28, 2023
6bd39ba
build: v1.20.0: release prep (#10368)
jennijuju Feb 28, 2023
852e864
Merge branch 'release/v1.20.0' into jen/v1200
jennijuju Mar 1, 2023
33bec58
Merge pull request #10371 from filecoin-project/jen/v1200
jennijuju Mar 1, 2023
19f1ad2
Merge branch 'releases' into asr/merge-release-into-master
arajasek Mar 1, 2023
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
47 changes: 35 additions & 12 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
# Lotus changelog

# 1.20.0-rc1 / 2023-02-14
# 1.20.0 / 2023-02-28

This is the first release candidate for the upcoming MANDATORY 1.20.0 release of Lotus. This release will deliver the Hygge network upgrade, introducing Filecoin network version 18. The centerpiece of the upgrade is the introduction of the [Filecoin Virtual Machine (FVM)’s Milestone 2.1](https://fvm.filecoin.io/), which will allow for EVM-compatible contracts to be deployed on the Filecoin network. This upgrade delivers user-programmablity to the Filecoin network for the first time!
This is a MANDATORY release of Lotus that delivers the [Hygge network upgrade](https://github.com/filecoin-project/community/discussions/74?sort=top#discussioncomment-4313888), introducing Filecoin network version 18. The centerpiece of the upgrade is the introduction of the [Filecoin Virtual Machine (FVM)’s Milestone 2.1](https://fvm.filecoin.io/), which will allow for EVM-compatible contracts to be deployed on the Filecoin network. This upgrade delivers user-programmablity to the Filecoin network for the first time!

Note that this release candidate does NOT set the epoch at which mainnet will upgrade; that detail will be finalized in the 1.20.0 release.
The Filecoin mainnet is scheduled to upgrade to nv18 at epoch 2683348, on March 14th at 2023-03-14T15:14:00Z. All node operators, including storage providers, must upgrade to this release before that time. Storage providers must update their daemons, miners, market and worker(s)/boost.
At the upgrade, a short migration will run that converts code actors v9 code CIDs to v10 CIDs, and installs the new Ethereum Address Manager singleton (see below). This is expected to be a lightweight migration that causes no service disruption.

The Hygge upgrade introduces the following Filecoin Improvement Proposals (FIPs), delivered in FVM3 (see FVM [v3.0.0-rc.1](https://github.com/filecoin-project/ref-fvm/pull/1664)) and builtin-actors v10 (see actors [v1.10.0-rc.1](https://github.com/filecoin-project/builtin-actors/releases/tag/v10.0.0-rc.1)):
The Hygge upgrade introduces the following Filecoin Improvement Proposals (FIPs), delivered in FVM3 (see FVM [v3.0.0](https://github.com/filecoin-project/ref-fvm/pull/1683)) and builtin-actors v10 (see actors [v10.0.0](https://github.com/filecoin-project/builtin-actors/releases/tag/v10.0.0)):

- [FIP-0048](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0048.md): f4 Address Class
- [FIP-0049](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0049.md): Actor events
Expand All @@ -25,30 +26,52 @@ The FEVM is principally delivered through the introduction of **the new [EVM act

The creation of EVM actors is managed by **the new** [Ethereum Address Manager actor (EAM)](https://github.com/filecoin-project/builtin-actors/tree/master/actors/eam), a singleton that is invoked in order to deploy EVM actors. In order to make usage of the FEVM as seamless as possible for users familiar with the Ethereum ecosystem, this upgrades also introduces **a dedicated actor to serve as “[Ethereum Accounts](https://github.com/filecoin-project/builtin-actors/tree/master/actors/ethaccount)**. This actor exists to allow for secp keys to be used in the Ethereum addressing scheme. **The last new built-in actor introduced is [the Placeholder actor](https://github.com/filecoin-project/builtin-actors/tree/master/actors/placeholder)**, a thin “shell” of an actor that can transform into either EVM or EthAccount actors. For more on the EAM, EthAccount, and Placeholder actors, please see [FIP-0055](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0055.md).

## Calibration nv18 Hygge Upgrade

This release candidate sets the calibration-net nv18 Hygge upgrade at epoch 322354, 22023-02-21T16:30:00Z. 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/v10.tar.zst`) upon/post migration, manifest CID `bafy2bzaced25ta3j6ygs34roprilbtb3f6mxifyfnm7z7ndquaruxzdq3y7lo`.
### v10 Built-in actor bundles

Bundles for all networks (mainnet, calibnet, etc.) are included in the lotus source tree (`build/actors/`) and embedded on build, for v10 actors you can find it [here](https://github.com/filecoin-project/lotus/blob/master/build/actors/v10.tar.zst).
Reminder: 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 18`.

The manifest CID & full list of actor code CIDs for nv18 using [actor v10](https://github.com/filecoin-project/builtin-actors/releases/tag/v10.0.0) is:

"_manifest": "bafy2bzacecsuyf7mmvrhkx2evng5gnz5canlnz2fdlzu2lvcgptiq2pzuovos"
"account": "bafk2bzaceampw4romta75hyz5p4cqriypmpbgnkxncgxgqn6zptv5lsp2w2bo"
"cron": "bafk2bzacedcbtsifegiu432m5tysjzkxkmoczxscb6hqpmrr6img7xzdbbs2g"
"datacap": "bafk2bzacealj5uk7wixhvk7l5tnredtelralwnceafqq34nb2lbylhtuyo64u"
"eam": "bafk2bzacedrpm5gbleh4xkyo2jvs7p5g6f34soa6dpv7ashcdgy676snsum6g"
"ethaccount": "bafk2bzaceaqoc5zakbhjxn3jljc4lxnthllzunhdor7sxhwgmskvc6drqc3fa"
"evm": "bafk2bzaceahmzdxhqsm7cu2mexusjp6frm7r4kdesvti3etv5evfqboos2j4g"
"init": "bafk2bzaced2f5rhir3hbpqbz5ght7ohv2kgj42g5ykxrypuo2opxsup3ykwl6"
"multisig": "bafk2bzaceduf3hayh63jnl4z2knxv7cnrdenoubni22fxersc4octlwpxpmy4"
"paymentchannel": "bafk2bzaceartlg4mrbwgzcwric6mtvyawpbgx2xclo2vj27nna57nxynf3pgc"
"placeholder": "bafk2bzacedfvut2myeleyq67fljcrw4kkmn5pb5dpyozovj7jpoez5irnc3ro"
"reward": "bafk2bzacebnhtaejfjtzymyfmbdrfmo7vgj3zsof6zlucbmkhrvcuotw5dxpq"
"storagemarket": "bafk2bzaceclejwjtpu2dhw3qbx6ow7b4pmhwa7ocrbbiqwp36sq5yeg6jz2bc"
"storageminer": "bafk2bzaced4h7noksockro7glnssz2jnmo2rpzd7dvnmfs4p24zx3h6gtx47s"
"storagepower": "bafk2bzacec4ay4crzo73ypmh7o3fjendhbqrxake46bprabw67fvwjz5q6ixq"
"system": "bafk2bzacedakk5nofebyup4m7nvx6djksfwhnxzrfuq4oyemhpl4lllaikr64"
"verifiedregistry": "bafk2bzacedfel6edzqpe5oujno7fog4i526go4dtcs6vwrdtbpy2xq6htvcg6"

## Node Operators

FVM has been running in lotus since v1.16.0 and up, and the new FEVM does not increase any node hardware spec requirement.

With FEVM on Filecoin, we aim to provide full compatibility with the existing EVM ecosystem and its tooling out of box and thus, lotus now provides a full set of [Ethereum-styled APIs](https://github.com/filecoin-project/lotus/blob/release/v1.20.0/node/impl/full/eth.go) for developers and token holders to interact with the Filecoin network as well.
With FEVM on Filecoin, we aim to provide full compatibility with the existing EVM ecosystem and its tooling out of the box.
Consequently, lotus now provides a full set of [Ethereum-styled APIs](https://github.com/filecoin-project/lotus/blob/release/v1.20.0/node/impl/full/eth.go) for developers and token holders to interact with the Filecoin network as well.
For full documentation on this new tooling, please see the [Lotus docs website](https://lotus.filecoin.io/lotus/configure/ethereum-rpc/).

**Enable Ethereum JSON RPC API**
**Enabling Ethereum JSON RPC API**

Note that Ethereum APIs are only supported in the lotus v1 API, meaning that any node operator who wants to enable Eth API services must be using the v1 API, instead of the v0 API. To enable Eth RPC, simply set `EnableEthRPC` to `true` in your node config.toml file; or set env var `LOTUS_FEVM_ENABLEETHRPC` to `1` before starting your lotus node.

**Eth tx hash and Filecoin message CID**

Most of the Eth APIs take Eth accounts and tx has as an input, and they start with `0x` , and that is what Ethereum tooling support. However, in Filecoin, we have Filecoin account formats where things start with `f` (`f410` specifically for eth accounts on Filecoin) and the messages are in the format of CIDs. To enable a smooth developer experience, Lotus internally converts between Ethereum address and Filecoin account address as needed. In addition, lotus also keeps a Eth tx hash <> Filecoin message CID map and stores them in a SQLite database as node sees a FEVM messages. The database is initiated and the maps are populated automatically in `~/<lotus_repo>/sqlite/txhash.db` for any node that as Eth RPC enabled. Node operators can configure how many historical mappings they wanna store by configuring `EthTxHashMappingLifetimeDays` .

**Events***
**Events**

[FIP-0049 introduces actor events](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0049.md) that can be emitted and externally observable during message execution. An `events.db` is created automatically under `~/<lotus_repo>/sqlite` to store these events if the node has Eth RPC enabled. Node operators can configure the events support base on their needs by configuration `Events` configurations.

Note: All three features are new and we welcome user feedbacks, create an issue if you have any enhancements that you’d like to see!
Note: All three features are new, and we welcome user feedback, please create an issue if you have any enhancements that you’d like to see!

# 1.19.0 / 2022-12-07

Expand Down
2 changes: 2 additions & 0 deletions api/api_full.go
Original file line number Diff line number Diff line change
Expand Up @@ -781,6 +781,8 @@ type FullNode interface {
EthAccounts(ctx context.Context) ([]ethtypes.EthAddress, error) //perm:read
// EthAddressToFilecoinAddress converts an EthAddress into an f410 Filecoin Address
EthAddressToFilecoinAddress(ctx context.Context, ethAddress ethtypes.EthAddress) (address.Address, error) //perm:read
// FilecoinAddressToEthAddress converts an f410 or f0 Filecoin Address to an EthAddress
FilecoinAddressToEthAddress(ctx context.Context, filecoinAddress address.Address) (ethtypes.EthAddress, error) //perm:read
// EthBlockNumber returns the height of the latest (heaviest) TipSet
EthBlockNumber(ctx context.Context) (ethtypes.EthUint64, error) //perm:read
// EthGetBlockTransactionCountByNumber returns the number of messages in the TipSet
Expand Down
15 changes: 15 additions & 0 deletions api/mocks/mock_full.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

13 changes: 13 additions & 0 deletions api/proxy_gen.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Binary file modified build/actors/v10.tar.zst
Binary file not shown.
Loading