Commit Graph

70 Commits

Author SHA1 Message Date
Steven Allen
30981d0fdd
feat: refactor: actor bundling system (#8838)
1. Include the builtin-actors in the lotus source tree.
2. Embed the bundle on build instead of downloading at runtime.
3. Avoid reading the bundle whenever possible by including bundle
   metadata (the bundle CID, the actor CIDs, etc.).
4. Remove everything related to dependency injection.
    1. We're no longer downloading the bundle, so doing anything ahead
       of time doesn't really help.
    2. We register the manifests on init because, unfortunately, they're
       global.
    3. We explicitly load the current actors bundle in the genesis
       state-tree method.
    4. For testing, we just change the in-use bundle with a bit of a
       hack. It's not great, but using dependency injection doesn't make
       any sense either because, again, the manifest information is
       global.
    5. Remove the bundle.toml file. Bundles may be overridden by
       specifying an override path in the parameters file, or an
       environment variable.

fixes #8701
2022-06-13 10:15:00 -07:00
Geoff Stuart
b7010c9e60 Implement function to migrate actors with only code changes 2022-06-10 15:52:32 -04:00
Aayush
e79c2eaa4a gofmt 2022-06-09 18:32:20 -04:00
Aayush
b211c51643 invoker: gen the registry 2022-06-09 16:09:23 -04:00
Aayush
c95ad7229f Revert "VM: Refactor pricelist to be based on network versions"
This reverts commit 25b2e144b8.
2022-05-30 15:25:33 -04:00
Aayush
4fa04abb8c Add disable flag for Skyr upgrade 2022-05-26 18:20:49 -04:00
Geoff Stuart
30e7f89662 Check for manifest CID while loading bundle 2022-05-26 17:30:32 -04:00
Aayush Rajasekaran
6924a3d5f2 Fix calculation of Drand round from Filecoin epochs 2022-05-25 12:43:52 -04:00
Aayush Rajasekaran
e87bb5db6a
Merge pull request #8680 from filecoin-project/feat/nv16-migration-bundle
[nv16] Ensure v8 bundle is loaded during migration
2022-05-24 14:33:22 -04:00
Steven Allen
f7c610ee23 feat: vm: drop nv14 support from the FVM
The next FVM version will only support nv15+.

This change also disables the FVM before nv15, even if enabled through
the environment variable. This allows "catching up" from before nv15.
2022-05-23 09:50:54 -07:00
vyzo
811bb58c5a always load the bundle into the blockstore during the migration 2022-05-18 20:20:17 +03:00
Aayush
b2b20e469f Fix tests 2022-05-17 15:21:27 -04:00
Aayush
8cca9b1970 Use new go-state-types accessors 2022-05-17 15:21:27 -04:00
Aayush Rajasekaran
fbcd4c7a6f
fix: upgrades: correct error message for v16 migration 2022-05-10 11:36:12 -04:00
vyzo
3b1964c507 remove manifest from upgrade schedule, get it inside the migration instead 2022-04-14 19:33:24 +03:00
vyzo
752ce9e590 make tests work 2022-04-14 19:31:14 +03:00
vyzo
71913521f9 fix itest migrations 2022-04-14 19:30:47 +03:00
vyzo
a8547ed840 make manifest cid access thread-safe 2022-04-14 19:30:47 +03:00
vyzo
f26d19ed7d load actor bundle at startup and initialize the manifest CID from the loaded file 2022-04-14 19:29:22 +03:00
vyzo
a9ae38a1ce wire in nv16 migration signature and manifests 2022-04-14 19:29:22 +03:00
Aayush
3370847f3e Implement FIP-0031 2022-04-14 19:28:16 +03:00
Aayush
25b2e144b8 VM: Refactor pricelist to be based on network versions 2022-03-25 15:06:10 -04:00
Aayush
9ea623e125 Rename the Lotus VM to LegacyVM 2022-03-15 19:40:17 -04:00
Aayush
e6117c49ef Address review 2022-03-15 19:34:59 -04:00
Aayush
673f558ba5 Rename vm.VMI to vm.Interface 2022-03-15 19:34:39 -04:00
Aayush
05fa9c81de Rename FVM envvar to LOTUS_USE_FVM_EXPERIMENTAL 2022-03-12 11:03:43 -05:00
Aayush
d2054e8653 FVM: support nv15 2022-03-11 17:03:34 -05:00
Aayush
dd91857bf6 Merge branch 'master' into feat/fvm 2022-02-28 22:17:20 -05:00
Steven Allen
04bc4405c7 fix: chain: check against the inclusion price at the correct height
We need to use the height at which the messages will be executed, not
the height of the previous tipset. This brings the gas checking for
validation with the gas we actually _charge_ during message execution.

This only matters for the Calico upgrade (the only upgrade where we
changed the gas prices).

This change could potentially cause a block at that height to be
rejected if it includes a message with insufficient gas for inclusion.
However, that _should_ have shown up as a miner penalty when we executed
the blocks in the following tipset. Given that there were no miner
penalties at 265199-265201, this change should be "safe".
2022-02-21 18:12:51 +00:00
Aayush
6e1d5c5733 Merge branch 'master' into feat/fvm 2022-02-18 13:33:06 -05:00
Aayush
afc29ed445 feat: tweak v15 migration params 2022-02-16 13:04:48 -05:00
Steven Allen
e8bdf8171b chore: cleanup fil vested calculation
1. Move lock, loading, etc into GetFilVested.
2. Call it directly when creating the FVM.
3. Detach GetFilLocked from state manager.

Really, this just makes it a bit easier to reason about this code.
2022-02-08 20:54:53 -08:00
Steven Allen
e8d771fcac pass only fil-vested into FVM 2022-02-08 15:26:20 -08:00
Steven Allen
32b3618c74 fvm: feed in correct "base" circulating supply 2022-02-08 13:20:03 -08:00
Aayush Rajasekaran
2a669b95fb :Hook up the FVM 2022-02-04 12:46:15 -08:00
vyzo
9d92b6eb92 correctly wrap hotview in the context for compute_state 2022-02-04 16:57:08 +02:00
vyzo
73c741f20c reify cold objects on block validation/application 2022-02-04 16:19:28 +02:00
Aayush Rajasekaran
71c6d05902
chore: chain: fix log 2022-01-24 11:18:01 -05:00
Aayush
9ec1abf880 :Fix: create a new VM for each epoch 2022-01-17 16:28:22 -05:00
Aayush Rajasekaran
6f8d00310b Merge branch 'master' into ntwk-butterfly-snapnet 2022-01-12 19:12:02 -05:00
Aayush Rajasekaran
083c5b003c Address review 2022-01-12 12:57:34 -05:00
Aayush Rajasekaran
7559e4311e Support faster Get, retry flushes on error 2022-01-11 20:30:34 -05:00
Aayush Rajasekaran
a41b4acec3 Use channels to trigger flushes in a dedicated goroutine 2022-01-11 19:44:56 -05:00
Aayush Rajasekaran
5ff6148444 implement stubs 2022-01-11 18:03:37 -05:00
Jennifer Wang
cd8d3a0c88 Update the ntwk v15 name to OhSnap 2022-01-11 17:41:20 -05:00
Aayush Rajasekaran
25768a291e Implement an autobatcher 2022-01-11 17:20:10 -05:00
Aayush Rajasekaran
8aabe1b488 Fast migration for v15 2022-01-11 17:19:38 -05:00
Aayush Rajasekaran
d645c5fbab Remove unnecessary params from VerifyWinningPost 2022-01-11 12:06:39 -05:00
zenground0
33f2d24f54 Snap Deals Integration
- FSM handles the actual cc upgrade process including error states
- PoSting (winning and window) works over upgraded and upgrading sectors
- Integration test and changes to itest framework to reduce flakes
- Update CLI to handle new upgrade
- Update dependencies
2022-01-10 15:39:38 +05:30
Aayush Rajasekaran
5ec5ebac31 Fix circsuypply calc around null blocks 2022-01-05 14:17:40 -05:00