Commit Graph

121 Commits

Author SHA1 Message Date
Aayush
596307b32a Merge branch 'master' into feat/nv18-fevm 2022-12-14 21:38:30 -05:00
Aayush
720451c89e Merge branch 'master' into feat/nv18-fevm 2022-12-14 19:54:47 -05:00
Geoff Stuart
ae4010ffb6 Drop actor keys from chain/actors/manifest.go 2022-12-13 18:02:34 -05:00
vyzo
5386bc2625
NV18: FEVM: setup FEVM during genesis: create ETH0 actor (#9664)
* setup FEVM during genesis: create ETH0 actor

* make gen

* doExec expects to,from not from, to

* give EAM a predictable address

* update go-state-types

* proper constructor params

* workaround the situation with empty contracts

* put fevm construction after miner construction

* lint

* fix TestAPI itest

off by 1, the new miner is not 1001 anymore; that's ETH0.

* add itest for ETH0 setup

* improve test: check eth0 address
2022-11-16 17:42:38 -08:00
vyzo
30083949a0 fix genesis SetupEAM
Only when actors version is >= 10
2022-11-10 04:35:41 +02:00
vyzo
2b23372ad3 fixup merge artifacts 2022-11-10 02:51:57 +02:00
Raúl Kripalani
32617a61df fix eth_feeHistory: add missing param. 2022-11-09 19:47:06 +02:00
Raúl Kripalani
57a515f7a8 genesis: instantiate EAM at id 10. 2022-11-09 19:38:19 +02:00
vyzo
335d0bec3e set predictable address for account actors in genesis 2022-11-09 11:11:20 +02:00
Geoff Stuart
7c62f9e6ab Update builtin-actors to dev/20220922-v9-1 2022-10-06 11:06:21 -04:00
Geoff Stuart
530e6a02fc Setup datacap actor 2022-10-06 11:06:21 -04:00
Aayush
0efca4d266 introduce v9 actors and nv17 2022-09-09 21:40:15 -04:00
Geoff Stuart
56c7e7a8d6 Remove old functions for getting actors cids 2022-06-29 14:58:58 -04:00
vyzo
3ad2fc5c4a feat: FVM Debug Dual Execution 2022-06-28 18:00:04 -04:00
Łukasz Magiera
e65fae28de chore: fix imports 2022-06-14 17:00:51 +02:00
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
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
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
vyzo
e2e2cd87ff rename patchStateTree to patchManifestCodeCids 2022-04-15 20:18:41 +03:00
vyzo
5d6e9ec65b patch genesis state tree to get the right code IDs 2022-04-14 19:31:14 +03:00
Aayush
9ea623e125 Rename the Lotus VM to LegacyVM 2022-03-15 19:40:17 -04:00
Aayush
d58babe32c fix: set FilVested when constructing VmOpts 2022-02-24 12:04:05 -05:00
Aayush
9bb936b75c chore: refactor: rename NewVM to NewLotusVM 2022-02-24 12:04:05 -05:00
Aayush Rajasekaran
670bd993f3 Refactor: VM: Remove the NetworkVersionGetter 2021-12-17 19:14:21 -05:00
Łukasz Magiera
bc384c01e3 Merge remote-tracking branch 'origin/master' into deps/update-ctx-dsbs 2021-12-17 13:01:22 +01:00
Aayush Rajasekaran
1f04cc1f23 VM: Circ supply should be constant per epoch 2021-12-17 00:29:55 -05:00
Aayush Rajasekaran
dfb65ed89f Plumb contexts through 2021-12-11 17:04:00 -05:00
Łukasz Magiera
95b128b7bc chain: Cleanup consensus logic 2021-09-02 18:09:37 +02:00
ZenGround0
6da26dcefc Remove network version panic 2021-08-10 13:07:30 -04:00
Łukasz Magiera
9bd312881d VMSys doesn't belong in chainstore 2021-07-27 15:30:23 +02:00
Steven Allen
eb0a15faf0 fix(genesis): set initial balances to 0 2021-06-18 15:44:37 -07:00
Aayush Rajasekaran
7714537239 Allow starting networks from arbitrary actor versions 2021-05-26 12:48:14 -04:00
Łukasz Magiera
43c62f4406
Revert "Allow starting networks from arbitrary actor versions" 2021-05-26 12:33:08 +02:00
Aayush Rajasekaran
cf574ca9a1 Allow starting networks from arbitrary actor versions 2021-05-25 19:30:20 -04:00
Aayush Rajasekaran
fe473e111c Fix creation of remainder account when it's not a multisig 2021-03-12 17:12:41 -05:00
Łukasz Magiera
58d7627168
Merge pull request #5730 from filecoin-project/asr/genesis-rootkey
Customize verifreg root key and remainder account when making genesis
2021-03-08 22:42:09 +01:00
Aayush Rajasekaran
fc03a0773b gen/genesis: Allow remainder to be either account or msig 2021-03-06 01:43:48 -05:00
Aayush Rajasekaran
279f9e6fec gen/genesis: Allow verifreg rootkey to be either account or msig 2021-03-06 01:43:48 -05:00
Raúl Kripalani
3795cc2bd2 segregate chain and state blockstores.
This paves the way for better object lifetime management.

Concretely, it makes it possible to:
- have different stores backing chain and state data.
- having the same datastore library, but using different parameters.
- attach different caching layers/policies to each class of data, e.g.
  sizing caches differently.
- specifying different retention policies for chain and state data.

This separation is important because:
- access patterns/frequency of chain and state data are different.
- state is derivable from chain, so one could never expunge the chain
  store, and only retain state objects reachable from the last finality
  in the state store.
2021-02-28 22:49:44 +00:00
Raúl Kripalani
b0cbc932bd consolidate all blockstores in blockstore package. 2021-01-29 20:01:00 +00:00
Aayush Rajasekaran
adee4b2a5e Setup remainder msig signers when parsing genesis template 2020-11-18 02:56:30 -05:00
Łukasz Magiera
a1e1b03ca4 Optionally allow bitswap for chainstore 2020-11-03 23:44:44 +01:00
Steven Allen
748d2e82a7 unshare the journal
Motivation:

* Run lotus with the race detector enabled (primary motivation).
* Allow multiple lotus nodes in a process (not a high priority).

Previously, the journal was shared between all lotus instances, but it was
initialized for every new node. This caused safety problems in tests (at a
minimum).

This patch explicitly passes the journal to all services that need it.
2020-10-09 13:23:07 -07:00
Steven Allen
e803cf151f introduce separate state-tree versions
Instead of versioning the state tree along with the actors, version it
separately. This structure may not upgrade every time we update actors.
2020-10-07 12:04:32 -07:00
Aayush Rajasekaran
f55b18eabe Add funds that have left FilReserve to circ supply 2020-10-05 23:54:57 -04:00
Steven Allen
87351fa35c move version to actors, from builtin
Otherwise, we're going to end up with an import cycle between the adt and this
version.
2020-09-25 12:49:39 -07:00
Steven Allen
1bf3b4989d rename imports to match actors code
`sed -i 's/\bv0\(\w\)\(\w*\)/\L\1\E\20/g' **/*.go`
2020-09-18 14:59:27 -07:00
Steven Allen
cc4d5306eb Progress 2020-09-14 15:43:12 -07:00
Łukasz Magiera
683a58195e More terraforming in chain/ 2020-09-14 14:46:38 +02:00