Skip to content
This repository has been archived by the owner on Jan 3, 2023. It is now read-only.

Experimental/fvm m2 #205

Draft
wants to merge 214 commits into
base: eudico
Choose a base branch
from
Draft
Changes from 17 commits
Commits
Show all changes
214 commits
Select commit Hold shift + click to select a range
3370847
Implement FIP-0031
arajasek Mar 1, 2022
13a4602
gomod: update specs-actors@v8
vyzo Apr 4, 2022
a9ae38a
wire in nv16 migration signature and manifests
vyzo Apr 4, 2022
08a5950
actor manifests and metadata
vyzo Apr 4, 2022
770608a
update templates for actor shims
vyzo Apr 4, 2022
cdd5420
agen
vyzo Apr 4, 2022
efa57bb
make agen gofmt
vyzo Apr 4, 2022
7712fc0
rerun agen to gofmt
vyzo Apr 4, 2022
c3fb330
embed actors v8 bundle
vyzo Apr 4, 2022
f26d19e
load actor bundle at startup and initialize the manifest CID from the…
vyzo Apr 4, 2022
5e3112f
introduce a marker type for builtin actor loading to make DI work
vyzo Apr 4, 2022
17d72f0
use a sync.Once for manifest loading to avoid interference from paral…
vyzo Apr 4, 2022
10b07ec
update filecoin-ffi
vyzo Apr 6, 2022
ddede20
update fvm construction
vyzo Apr 6, 2022
a8547ed
make manifest cid access thread-safe
vyzo Apr 6, 2022
ad00d59
gitignore actor bundles
vyzo Apr 7, 2022
34022f3
add script to fetch bundles
vyzo Apr 7, 2022
a375d53
add make rules to fetch actor bundles
vyzo Apr 7, 2022
7191352
fix itest migrations
vyzo Apr 7, 2022
c9ac002
make gateway a variable
vyzo Apr 7, 2022
1dbfb3b
fetch builtin actor bundles as part of prepare workflow
vyzo Apr 7, 2022
44e42bf
fix sync_test
vyzo Apr 7, 2022
aba27d9
make gen
vyzo Apr 7, 2022
3e72a08
fix rand_test
vyzo Apr 7, 2022
36cb76a
genesis depends on actor bundle
vyzo Apr 7, 2022
45a65c5
update specs-actors
vyzo Apr 7, 2022
8f121ab
patch agen to deal with v8 deal proposals
vyzo Apr 7, 2022
9ee5793
make gen
vyzo Apr 7, 2022
e8b902b
initialize system actor for nv16 at genesis
vyzo Apr 7, 2022
752ce9e
make tests work
vyzo Apr 8, 2022
5d6e9ec
patch genesis state tree to get the right code IDs
vyzo Apr 8, 2022
fcf69e7
register mapping for methods using the real code cid
vyzo Apr 8, 2022
2c9ea8c
fix test
vyzo Apr 8, 2022
73e7c42
mark TODO for fixing policy stuffs in test
vyzo Apr 8, 2022
12554ba
fix forks_test
vyzo Apr 8, 2022
c35e769
fix conformance driver
vyzo Apr 8, 2022
77613b5
fix lint
vyzo Apr 8, 2022
339b7db
Integrate FIP 0027
arajasek Mar 12, 2022
124fe26
WIP annoying errors
ZenGround0 Apr 7, 2022
7163fe6
Post rebase fix
ZenGround0 Apr 7, 2022
60d0957
More fixes
ZenGround0 Apr 8, 2022
0f6da17
Lint
ZenGround0 Apr 8, 2022
8562798
Use go-fil-markets tag
ZenGround0 Apr 11, 2022
cd5829a
update specs-actors
vyzo Apr 12, 2022
19593ed
fix forks_test
vyzo Apr 12, 2022
54f3121
removed dead code from builtin actor template init funcs
vyzo Apr 12, 2022
508c060
remove unnecessary isv8 state boolean from agen
vyzo Apr 12, 2022
1643ec4
less wonky market/state.go.template
vyzo Apr 12, 2022
1f7c89d
make gen
vyzo Apr 12, 2022
93f1fac
simplify DI -- no need for the special key for builtin actor loading
vyzo Apr 12, 2022
0ac8708
simplify fetch-bundles script
vyzo Apr 12, 2022
3b1964c
remove manifest from upgrade schedule, get it inside the migration in…
vyzo Apr 12, 2022
dec2b31
fix lint
vyzo Apr 12, 2022
5f62227
fix sync_test
vyzo Apr 12, 2022
f28bd05
fix rand_test
vyzo Apr 12, 2022
07e4024
fix lint
vyzo Apr 12, 2022
395c772
make the miner load the manifest so that it can correctly map actors
vyzo Apr 12, 2022
507b835
need a blockstore for the manifest loader
vyzo Apr 12, 2022
6bd2d89
use memory blockstore for miner manifest loading
vyzo Apr 14, 2022
30ed847
make fetch-bundles.sh portable.
raulk Apr 13, 2022
1c1d8e0
update specs-actors/v8@master
vyzo Apr 14, 2022
65de3e7
add retries to curl when fetching bundles
vyzo Apr 14, 2022
1866eeb
go mod tidy
vyzo Apr 14, 2022
2690b69
fix rebase issues
vyzo Apr 14, 2022
cede67b
make gen
vyzo Apr 14, 2022
c5e3ca3
fix more rebase issues
vyzo Apr 14, 2022
534e43e
fix lotus-shed
vyzo Apr 14, 2022
beb3369
add LoadManifestFromBundle, use it in miner init
vyzo Apr 15, 2022
e2e2cd8
rename patchStateTree to patchManifestCodeCids
vyzo Apr 15, 2022
d1fd3f5
Merge pull request #8429 from filecoin-project/vyzo/fip-0031
magik6k Apr 15, 2022
959b62a
new bundle fetcher
vyzo Apr 19, 2022
995caaa
update filecoin-ffi
vyzo Apr 19, 2022
7e1c55c
use build tags to embed appropriate bundles
vyzo Apr 19, 2022
eb7fc47
update CI workflow for bundle fetching
vyzo Apr 19, 2022
adaa02f
load testing bundles for tests
vyzo Apr 19, 2022
942f05a
set LOTUS_SRC_DIR for tests in CI
vyzo Apr 19, 2022
0426011
fix lotus-seed
vyzo Apr 19, 2022
34dfc78
only check hash if we have the file
vyzo Apr 19, 2022
3e5037d
Merge pull request #8509 from filecoin-project/feat/actor-bundles
raulk Apr 19, 2022
b60d795
FVM: Support exectraces
arajasek Mar 13, 2022
5ceaeaf
fix TODO for proof type, now that we have the testing bundle
vyzo Apr 20, 2022
8ea00a3
update builtin-actors bundle
vyzo Apr 21, 2022
1366901
preload manifest in cli
vyzo Apr 21, 2022
75f00e9
improve concurrency story of manifest state
vyzo Apr 21, 2022
090c655
remove log spam
vyzo Apr 21, 2022
688e8f3
fix multisig creation to not use the synthetic CIDs after v8
vyzo Apr 21, 2022
2d93697
make gen
vyzo Apr 21, 2022
270f962
Merge pull request #8527 from filecoin-project/fix/itests-nv16-msig
vyzo Apr 21, 2022
a7dc3f5
Merge pull request #8521 from filecoin-project/fix/itests-nv16
arajasek Apr 21, 2022
0def6cb
fix paymentch actor code ID for construction
vyzo Apr 21, 2022
f017d43
make gen
vyzo Apr 21, 2022
bc32eec
Merge pull request #8530 from filecoin-project/fix/nv16-itests-paych
vyzo Apr 21, 2022
eb9aa03
Set interop (caterpillarnet) params
arajasek Apr 21, 2022
3eb0077
Update actors
arajasek Apr 22, 2022
ea4f599
Make MarketListDeals and DealsList return points for MarketDeal
travisperson Apr 22, 2022
52d5d57
Merge pull request #8540 from filecoin-project/fix/market-deal-api-po…
arajasek Apr 23, 2022
30ed272
fetch testing-fwp bundle
vyzo Apr 22, 2022
7c9ce49
update bundles
vyzo Apr 22, 2022
31d1937
don't parse error messages, just check exit codes
vyzo Apr 22, 2022
53ca3b6
normalize itest PrecommitChallengeDelay to 10, matching the test bundles
vyzo Apr 22, 2022
b29a182
fix docgen
vyzo Apr 26, 2022
f80d10f
make docsgen
vyzo Apr 26, 2022
0295d22
Merge pull request #8537 from filecoin-project/fix/nv16-testing-bundles
vyzo Apr 27, 2022
f0673da
Reset interopnet
travisperson Apr 29, 2022
17e1fcb
Merge pull request #8569 from filecoin-project/chore/reset-interopnet
arajasek May 2, 2022
baef8c0
chore: update golang and go-ipfs
Stebalien Apr 19, 2022
c7fdfb0
ci: fix linting
Stebalien Apr 20, 2022
65df0b8
dear linter, using xerrors is what we want to do.
vyzo Apr 21, 2022
0b49f34
go mod
vyzo May 4, 2022
78899be
feat: vm: add actor error backtraces to FVM
Stebalien Apr 20, 2022
b7ca802
use filecoin-ffi@fix/issue-523
vyzo May 4, 2022
f9a5c17
update builtin-actors
vyzo May 4, 2022
89418a5
propagate gas outputs in fvm ApplyRet
vyzo May 4, 2022
a8f97b5
kill test depending on ffi generated stuffs that no longer exist
vyzo May 4, 2022
ca9ad49
go mod tidy
vyzo May 4, 2022
de1df6b
update test-vectors
vyzo May 4, 2022
b5d3487
update filecoin-ffi@fix/issue-523
vyzo May 4, 2022
26a780a
Gas estimation: Refactor the special PayCh collect case
arajasek May 6, 2022
8282484
Gas estimation: Overestimate by 2 around the M1 upgrade
arajasek May 6, 2022
5fb6928
Estimate gas across the upgrade with per message multipliers
May 9, 2022
e1a3ef4
Merge pull request #8620 from filecoin-project/feat/upgrade-gas-est
May 9, 2022
24e68fe
update filecoin-ffi to 57accc2a83db1c84.
raulk May 9, 2022
6050d04
Merge tag 'v1.15.2' into feat/nv16-merge-v1.15.2
raulk May 10, 2022
c6c7d87
remove bad entries from .gitignore.
raulk May 10, 2022
830a948
fix ffi version.
raulk May 10, 2022
e0a52da
run gen.
raulk May 10, 2022
8218109
set build version to 1.16.0-dev.
raulk May 10, 2022
0a06445
Merge pull request #8628 from filecoin-project/feat/nv16-merge-v1.15.2
raulk May 10, 2022
7ba14f7
Merge branch 'feat/nv16' into fix/nv16-gas-outputs
raulk May 10, 2022
b4dae33
reinstantiate sealer test.
raulk May 10, 2022
10d77f1
run gen.
raulk May 10, 2022
1814187
Merge pull request #8593 from filecoin-project/fix/nv16-gas-outputs
raulk May 10, 2022
fbcd4c7
fix: upgrades: correct error message for v16 migration
arajasek May 10, 2022
f0867a9
Merge pull request #8629 from filecoin-project/arajasek-patch-2
magik6k May 11, 2022
74f3002
dynamic loading of builtin actor bundles
vyzo May 11, 2022
73f6402
bundle fetcher script does not exist any more
vyzo May 11, 2022
98730b9
fix lint
vyzo May 11, 2022
37d94a3
move cli bundle loading back to init
vyzo May 11, 2022
de9ee7b
fix lint
vyzo May 11, 2022
da8bda3
fix typo
vyzo May 12, 2022
26d07fd
move bundle fetcher to node/bundle instead of chain/actors
vyzo May 12, 2022
7b6f109
add retry logic for bundle fetcher
vyzo May 12, 2022
70bf990
LOTUS_PATH is the canonical way to get the repo path
vyzo May 12, 2022
7be42d9
refactor to pass the network bundle name through ldflags from build
vyzo May 12, 2022
14f597d
pass NetworkBundle through ldflags
vyzo May 12, 2022
a803021
add TODO about the bundle load cost
vyzo May 12, 2022
37b8072
fix lotus-seed
vyzo May 12, 2022
515a2db
use embeded toml spec for actor bundles
vyzo May 12, 2022
30d3398
rename bundle.toml to bundles.toml
vyzo May 12, 2022
68b280b
add comments in the DI bundle loader
vyzo May 12, 2022
8a8fb56
Merge pull request #8642 from filecoin-project/feat/nv16-bundles
vyzo May 12, 2022
05c7d86
Reset caterpillar
geoff-vball May 14, 2022
56d30d3
Update interopnet genesis car
geoff-vball May 15, 2022
b4be759
don't store dev bundle release keys in the datastore
vyzo May 16, 2022
46a85fc
niceties for development bundle loading
vyzo May 16, 2022
30283e6
add basic readme for bundle specifications
vyzo May 16, 2022
221e795
fix typo
vyzo May 16, 2022
5eccdaa
fix typo
vyzo May 16, 2022
06f6b28
fix typo
vyzo May 16, 2022
60bf397
fix typo
vyzo May 16, 2022
eee73ee
use switch for release/path logic
vyzo May 16, 2022
6360107
godocs for bundle struct
vyzo May 16, 2022
31301e2
storage blah
vyzo May 16, 2022
5c0c4d6
more storage blah
vyzo May 16, 2022
314b417
use network bundle names consistent with the network name
vyzo May 16, 2022
5981495
Update build/README-bundle.md
vyzo May 16, 2022
e9ece8e
improve comment
vyzo May 16, 2022
daf452a
flexible bundle loading
vyzo May 17, 2022
d949b6c
fix envvar handling
vyzo May 17, 2022
ccb2e44
make path/url be a map of network name to car uri
vyzo May 17, 2022
31c8460
fix typo
vyzo May 17, 2022
dbbbab4
use dev bundle release
vyzo May 17, 2022
86e1144
Merge pull request #8666 from filecoin-project/feat/nv16-flexibundle
vyzo May 17, 2022
93417fc
Merge pull request #8660 from filecoin-project/fix/issue-8659
vyzo May 17, 2022
ee11018
Merge pull request #8658 from filecoin-project/feat/nv16-dev-bundle
vyzo May 17, 2022
8cca9b1
Use new go-state-types accessors
arajasek Apr 20, 2022
b2b20e4
Fix tests
arajasek May 15, 2022
3b23ba0
Address review
arajasek May 16, 2022
f6805f2
Merge pull request #8534 from filecoin-project/asr/refactor
arajasek May 17, 2022
3c2fcce
fix: genesis: only sign preseal deals after v16
arajasek May 17, 2022
a7fb84e
update interop info
jennijuju May 18, 2022
67a7ed0
upgrade to v16 sooner!
jennijuju May 18, 2022
243d18d
Merge pull request #8669 from filecoin-project/jen/inter
geoff-vball May 18, 2022
e7b4242
reset interopnet
geoff-vball May 18, 2022
125272a
make devnet get the right bundle
jennijuju May 18, 2022
cd2a998
Merge pull request #8675 from filecoin-project/jen/devnet
vyzo May 18, 2022
91daae2
add the network name to the bundle key in the datastore
vyzo May 18, 2022
45392a2
Merge pull request #8678 from filecoin-project/fix/nv16-bundle-key
vyzo May 18, 2022
d39b9a8
Makefile: also build lotus-fountain and lotus-stats on devnets
arajasek May 18, 2022
c0a00f4
Reset interopnet
geoff-vball May 18, 2022
9be120a
Reset interopnet take 5
geoff-vball May 19, 2022
40aafba
upgrade filecoin-ffi to integrate fvm 1.0.0-rc.1 and builtin-actors v…
raulk May 19, 2022
6fecccd
Update builtin-actors to dev/20220520
arajasek May 20, 2022
c3d91dd
Merge pull request #8687 from filecoin-project/raulk/integrate-fvm-m1…
arajasek May 20, 2022
89bca05
fix: vm: support raw blocks in chain export
Stebalien May 20, 2022
e717d51
Merge pull request #8702 from filecoin-project/chore/backport-raw-exp…
arajasek May 23, 2022
edab6c5
start devnet at version16
vyzo Apr 12, 2022
6a8cc39
lotus chain install cmd
vyzo Apr 12, 2022
dff24e7
some hacks to make things work
vyzo Apr 12, 2022
4c074fd
add chain exec command
vyzo Apr 13, 2022
f127122
remove known actor/method restrictions from StateWaitMsg
vyzo Apr 13, 2022
b6f7740
chain invoke command
vyzo Apr 13, 2022
17a5a15
rename installation and creation commands.
raulk Apr 13, 2022
ad3687d
disable indexer
vyzo May 5, 2022
deb78ea
update filecoin-ffi
vyzo May 23, 2022
273a189
update filecoin-ffi
vyzo May 23, 2022
019269e
update builtin-actors bundle
vyzo May 23, 2022
cfb2240
update go-state-types
vyzo May 23, 2022
a62560c
update reference to spec-actors/v8, now go-state-types
vyzo May 23, 2022
d8dc66c
Merge remote-tracking branch 'lotus/experimental/fvm-m2' into experim…
adlrocha May 31, 2022
4aa6382
update go.sum
adlrocha May 31, 2022
28b7527
fixes for eudico to compile
adlrocha May 31, 2022
8980968
upgrade nv16. load custom builtin-bundler
adlrocha Jun 1, 2022
8c5476c
update builtin-actors bundle and filecoin-ffi to point fork
adlrocha Jun 1, 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
7 changes: 0 additions & 7 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -48,7 +48,6 @@ commands:
- run: sudo apt-get install ocl-icd-opencl-dev libhwloc-dev
- run: git submodule sync
- run: git submodule update --init
- fetch_builtin_actors
download-params:
steps:
- restore_cache:
@@ -84,12 +83,6 @@ commands:
name: fetch all tags
command: |
git fetch --all
fetch_builtin_actors:
steps:
- run:
name: fetch builtin actor bundles
command: |
build/builtin-actors/fetch-bundles.sh
packer_build:
description: "Run a packer build"
parameters:
7 changes: 0 additions & 7 deletions .circleci/template.yml
Original file line number Diff line number Diff line change
@@ -48,7 +48,6 @@ commands:
- run: sudo apt-get install ocl-icd-opencl-dev libhwloc-dev
- run: git submodule sync
- run: git submodule update --init
- fetch_builtin_actors
download-params:
steps:
- restore_cache:
@@ -84,12 +83,6 @@ commands:
name: fetch all tags
command: |
git fetch --all
fetch_builtin_actors:
steps:
- run:
name: fetch builtin actor bundles
command: |
build/builtin-actors/fetch-bundles.sh
packer_build:
description: "Run a packer build"
parameters:
12 changes: 4 additions & 8 deletions Makefile
Original file line number Diff line number Diff line change
@@ -57,14 +57,6 @@ build/.update-modules:

# end git modules

# builtin actor bundles
builtin-actor-bundles:
./build/builtin-actors/fetch-bundles.sh

BUILD_DEPS+=builtin-actor-bundles

.PHONY: builtin-actor-bundles

## MAIN BINARIES

CLEAN+=build/.update-modules
@@ -79,15 +71,19 @@ debug: GOFLAGS+=-tags=debug
debug: build-devnets

2k: GOFLAGS+=-tags=2k
2k: GOFLAGS+=-ldflags=-X=github.com/filecoin-project/lotus/build.NetworkBundle=devnet
2k: build-devnets

calibnet: GOFLAGS+=-tags=calibnet
calibnet: GOFLAGS+=-ldflags=-X=github.com/filecoin-project/lotus/build.NetworkBundle=calibrationnet
calibnet: build-devnets

butterflynet: GOFLAGS+=-tags=butterflynet
butterflynet: GOFLAGS+=-ldflags=-X=github.com/filecoin-project/lotus/build.NetworkBundle=butterflynet
butterflynet: build-devnets

interopnet: GOFLAGS+=-tags=interopnet
interopnet: GOFLAGS+=-ldflags=-X=github.com/filecoin-project/lotus/build.NetworkBundle=caterpillarnet
interopnet: build-devnets

lotus: $(BUILD_DEPS)
3 changes: 0 additions & 3 deletions build/builtin-actors/README.md

This file was deleted.

2 changes: 0 additions & 2 deletions build/builtin-actors/bundles.env

This file was deleted.

85 changes: 0 additions & 85 deletions build/builtin-actors/fetch-bundles.sh

This file was deleted.

27 changes: 27 additions & 0 deletions build/builtin_actors.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package build

import (
"bytes"

"github.com/filecoin-project/lotus/chain/actors"

"github.com/BurntSushi/toml"
)

var BuiltinActorReleases map[actors.Version]string

func init() {
BuiltinActorReleases = make(map[actors.Version]string)

spec := BundleSpec{}

r := bytes.NewReader(BuiltinActorBundles)
_, err := toml.DecodeReader(r, &spec)
if err != nil {
panic(err)
}

for _, b := range spec.Bundles {
BuiltinActorReleases[b.Version] = b.Release
}
}
22 changes: 0 additions & 22 deletions build/builtin_actors_2k.go

This file was deleted.

22 changes: 0 additions & 22 deletions build/builtin_actors_butterfly.go

This file was deleted.

22 changes: 0 additions & 22 deletions build/builtin_actors_calibnet.go

This file was deleted.

22 changes: 0 additions & 22 deletions build/builtin_actors_interop.go

This file was deleted.

22 changes: 0 additions & 22 deletions build/builtin_actors_mainnet.go

This file was deleted.

21 changes: 21 additions & 0 deletions build/bundle.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package build

import (
_ "embed"

"github.com/filecoin-project/lotus/chain/actors"
)

var NetworkBundle string

//go:embed bundles.toml
var BuiltinActorBundles []byte

type BundleSpec struct {
Bundles []Bundle
}

type Bundle struct {
Version actors.Version
Release string
}
3 changes: 3 additions & 0 deletions build/bundles.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[[bundles]]
version = 8
release = "b71c2ec785aec23d"
9 changes: 0 additions & 9 deletions chain/actors/manifest.go
Original file line number Diff line number Diff line change
@@ -130,12 +130,3 @@ func LoadBundle(ctx context.Context, bs blockstore.Blockstore, av Version, data

return nil
}

func LoadManifestFromBundle(ctx context.Context, bs blockstore.Blockstore, av Version, data []byte) error {
if err := LoadBundle(ctx, bs, av, data); err != nil {
return err
}

cborStore := cbor.NewCborStore(bs)
return LoadManifests(ctx, cborStore)
}
13 changes: 6 additions & 7 deletions cli/init.go
Original file line number Diff line number Diff line change
@@ -2,21 +2,20 @@ package cli

import (
"context"
"fmt"

"github.com/filecoin-project/lotus/blockstore"
"github.com/filecoin-project/lotus/build"
"github.com/filecoin-project/lotus/chain/actors"
"github.com/filecoin-project/lotus/node/bundle"
)

func init() {
// preload manifest so that we have the correct code CID inventory for cli since that doesn't
// go through CI
if len(build.BuiltinActorsV8Bundle()) > 0 {
bs := blockstore.NewMemory()
// TODO loading the bundle in every cli invocation adds some latency; we should figure out a way
// to load actor CIDs without incurring this hit.
bs := blockstore.NewMemory()

if err := actors.LoadManifestFromBundle(context.TODO(), bs, actors.Version8, build.BuiltinActorsV8Bundle()); err != nil {
panic(fmt.Errorf("error loading actor manifest: %w", err))
}
if err := bundle.FetchAndLoadBundles(context.Background(), bs, build.BuiltinActorReleases); err != nil {
panic(err)
}
}
Loading