Ł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
Geoff Stuart
b7010c9e60
Implement function to migrate actors with only code changes
2022-06-10 15:52:32 -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
Aayush
3c2fcce2c3
fix: genesis: only sign preseal deals after v16
2022-05-17 18:42:43 -04: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
vyzo
e8b902b42f
initialize system actor for nv16 at genesis
2022-04-14 19:31:14 +03:00
Aayush Rajasekaran
90d78f924f
Merge pull request #8293 from filecoin-project/feat/fvm
...
Filecoin Virtual Machine integration
2022-03-16 15:51:56 -04:00
Darko Brdareski
79453663b3
feat: Add additional test annotations ( #8272 )
...
* Annotate api,proxy_util,blockstore_badger, policy tests
* Annotate splitstore: bsbadger / markset
* Annotate splitstore feature
* Annotate union/timed blockstore tests
* Annotate openrpc, diff_adt tests
* Annotate error,drand,events tests
* Annotate predicates_test
* Fix annotations
* Annotate tscache, gen tests
* Annotate fundmanager test
* Annotate repub and selection tests
* Annotate statetree_test
* Annotate forks_test
* Annotate searchwait_test.go
* Fix duplicated @@ symbols
* Annotate chain stmgr/store tests
* Annotate more (types) tests
* More tests annotated
* Annotate conformance chaos actor tests
* Annotate more integration tests
* Annotate journal system tests
* Annotate more tests.
* Annotate gas,head buffer behaviors
* Fix markset annotations
* doc: test annotations for the markets dagstore wrapper
* Annotate miner_api test in dagstore
* Annotate more test files
* Remove bad annotations from fsrepo
* Annotate wdpost system
* Remove bad annotations
* Renamce "conformance" to "chaos_actor" tests
* doc: stm annotations for blockheader & election proof tests
* Annotate remaining "A" tests
* annotate: stm for error_test
* memrepo_test.go
* Annotate "b" file tests
* message_test.go
* doc: stm annotate for fsrepo_test
* Annotate "c" file tests
* Annotate "D" test files
* message_test.go
* doc: stm annotate for chain, node/config & client
* docs: stm annotate node_test
* Annotate u,v,wl tests
* doc: stm annotations for various test files
* Annotate "T" test files
* doc: stm annotate for proxy_util_test & policy_test
* doc: stm annotate for various tests
* doc: final few stm annotations
* Add mempool unit tests
* Add two more memPool Add tests
* Update submodules
* Add check function tests
* Add stm annotations, refactor test helper
* Annotate api,proxy_util,blockstore_badger, policy tests
* Annotate splitstore: bsbadger / markset
solving merge conflicts
* Annotate splitstore feature
* Annotate union/timed blockstore tests
* Annotate openrpc, diff_adt tests
* Annotate error,drand,events tests
* Annotate predicates_test
* Fix annotations
* Annotate tscache, gen tests
* Annotate fundmanager test
* Annotate statetree_test
* Annotate forks_test
* Annotate searchwait_test.go
* Fix duplicated @@ symbols
* Annotate chain stmgr/store tests
* Annotate more (types) tests
* More tests annotated
* Annotate conformance chaos actor tests
* Annotate more integration tests
* Annotate journal system tests
* Annotate more tests.
* Annotate gas,head buffer behaviors
solve merge conflict
* Fix markset annotations
* Annotate miner_api test in dagstore
* Annotate more test files
* doc: test annotations for the markets dagstore wrapper
* Annotate wdpost system
* Renamce "conformance" to "chaos_actor" tests
* Annotate remaining "A" tests
* doc: stm annotations for blockheader & election proof tests
* annotate: stm for error_test
* Annotate "b" file tests
* memrepo_test.go
* Annotate "c" file tests
* message_test.go
* Annotate "D" test files
* doc: stm annotate for fsrepo_test
* Annotate u,v,wl tests
* message_test.go
* doc: stm annotate for chain, node/config & client
* docs: stm annotate node_test
* Annotate "T" test files
* doc: stm annotations for various test files
* Add mempool unit tests
solve merge conflict
* doc: stm annotate for proxy_util_test & policy_test
* doc: stm annotate for various tests
* doc: final few stm annotations
* Add two more memPool Add tests
* Update submodules
* Add check function tests
solve conflict
* Add stm annotations, refactor test helper
solve merge conflict
* Change CLI test kinds to "unit"
* Fix double merged test
* Fix ccupgrade_test merge
* Fix lint issues
* Add stm annotation to types_Test
* Test vectors submodule
* Add file annotation to burn_test
Co-authored-by: Nikola Divic <divicnikola@gmail.com>
Co-authored-by: TheMenko <themenkoprojects@gmail.com>
2022-03-16 18:37:34 +01: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
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
670bd993f3
Refactor: VM: Remove the NetworkVersionGetter
2021-12-17 19:14:21 -05:00
Aayush Rajasekaran
6f6f5d79fb
Refactor: State: Let Rand get network versions
2021-12-17 18:54:17 -05:00
Aayush Rajasekaran
aa1b770974
Rand: Refactor so that versioning lives in StateRand
2021-12-17 13:58:53 -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
Aayush Rajasekaran
1449644c34
Integrate v7 actors
2021-11-17 15:55:14 -05:00
Aayush Rajasekaran
bd2176c398
Test StateSearchMsg's use of the allowReplaced flag
2021-10-05 23:58:31 -04:00
Aayush Rajasekaran
a335cb3767
Update to latest actors
2021-10-01 17:11:05 -04:00
Aayush Rajasekaran
8756df2447
Fix tests after specs update
2021-09-29 21:27:49 -04:00
Aayush Rajasekaran
84b6734063
Incorporate the new PublishStorageDealsReturn
2021-09-29 19:13:13 -04:00
Aayush Rajasekaran
c3c46e9097
Fix Drand fetching around null tipsets
2021-09-29 11:57:59 -04:00
Aayush Rajasekaran
b9bfcc4b69
Randomness: Move getters from ChainAPI to StateAPI
2021-09-21 14:20:15 -04:00
Łukasz Magiera
30fccaa0bd
fix lint
2021-09-02 18:45:18 +02:00
Łukasz Magiera
95b128b7bc
chain: Cleanup consensus logic
2021-09-02 18:09:37 +02:00
Steven Allen
3235dbfaee
fix genesis for actors v2
2021-08-11 13:30:15 -07: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
Łukasz Magiera
dc642d0b7b
Merge remote-tracking branch 'origin/feat/nv13' into feat/nv13-1.11
2021-06-01 21:06:58 +02:00
Aayush Rajasekaran
c8cef1cb7e
Fix chain/gen randomness getting (test only)
2021-06-01 13:44:08 -04:00
Łukasz Magiera
ffa47659a1
Merge remote-tracking branch 'origin/feat/nv13' into feat/nv13-1.11
2021-05-31 21:38:34 +02:00
Łukasz Magiera
1e4456138e
Merge master into feat/nv13
2021-05-27 12:28:20 +02:00
Aayush Rajasekaran
21b4741e30
Fix randomness fetching around null blocks
2021-05-26 21:06:06 -04: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
Peter Rabbitson
aed7017ab2
Forgotten deadcode
2021-05-21 15:30:08 +02:00
Peter Rabbitson
308d1e9b7c
Fix logging around mineOne
...
- A nil MiningBaseInfo is *NOT* unexpected: it happens when one is in penalty
https://github.com/filecoin-project/lotus/blob/v1.9.0/chain/stmgr/utils.go#L500-L502
- Remove the log from IsRoundWinner(): all we care about is the randbase epoch
2021-05-21 15:00:21 +02:00
Łukasz Magiera
a5677d1b7a
ffiwrapper: Separate Prover interface
2021-05-19 15:20:23 +02:00
Łukasz Magiera
81b5d8c671
Make things build with both batchers
2021-05-18 16:53:49 +02:00
Łukasz Magiera
6278bdc69a
Make things build
2021-05-17 20:47:41 +02:00
Łukasz Magiera
506f39b294
WIP: Integrate FIP0013
2021-05-11 22:10:29 -04:00
Aayush Rajasekaran
b5da2655dc
Introduce v5 actors
2021-05-10 19:44:28 -04:00
Peter Rabbitson
b1db3fee78
Log more ComputeVRF() inputs as per Why's request
2021-05-06 10:18:08 +02:00
Peter Rabbitson
72134ff458
Add a mining-heartbeat INFO line at every epoch
2021-05-06 10:18:08 +02:00
Peter Rabbitson
3b0fc01e82
Log more ComputeVRF() inputs as per Why's request
2021-05-05 23:23:01 +02:00
Peter Rabbitson
14f6d170b2
Add a mining-heartbeat INFO line at every epoch
2021-05-05 23:23:01 +02:00
Łukasz Magiera
28a8636f0b
Merge pull request #5807 from filecoin-project/asr/remainder-acct-fix
...
Fix creation of remainder account when it's not a multisig
2021-04-01 16:31:19 +02:00
Łukasz Magiera
c41777dcd2
API proxy struct codegen ( #5854 )
...
* mostly working api proxy gen
* api: Consistent api names
* fix docsgen
* regenerate api struct
* api: expand external interfaces
* Add missing gen files
* apigen: fix perm detection
* api: Move perm tags to the interface
* gofmt
* worker perms
* docsgen
* docsgen: ignore tag comments
* apigen: add codegen warning
* gofmt
* missing actor type
* docsgen
* make linter happy
* fix lint
* apigen: use directives for tags
* docsgen
* regen openrpc docs
2021-03-23 13:42:56 +01: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
7f0f7d0b36
Merge branch 'master' into refactor/lib/blockstore
2021-02-28 19:55:23 +00:00
Raúl Kripalani
af429dba0f
Merge branch 'master' into chore/snake_context_through_blockstore_init
2021-01-29 21:21:46 +00:00
Raúl Kripalani
b0cbc932bd
consolidate all blockstores in blockstore package.
2021-01-29 20:01:00 +00:00
Steven Allen
716f10e570
remove unnecessary wrapper store in tests
...
This was causing a lot of warnings about not implementing View.
2021-01-27 12:57:47 -08:00
Steven Allen
ed3e0869c3
register tipsets with the chainstore when testing
2021-01-27 12:57:17 -08:00
Raúl Kripalani
a1da1dab85
add context to LockedRepo#Datastore().
2021-01-26 11:01:43 +00:00
Łukasz Magiera
e4f4fa2c7d
Update FFI more, fix zero aggregate sigs
2021-01-25 20:05:03 +01:00
Łukasz Magiera
bd6321d2c0
Fix lint
2021-01-25 15:35:00 +01:00
dignifiedquire
3d9eb226fa
refactor: switch to filecoin-ffi bls api for bls signatures
2021-01-20 16:19:07 +01:00
Peter Rabbitson
9334e73396
Snake a context through the Chain-blockstore creation
2021-01-04 15:27:52 +01:00
Jakub Sztandera
c7e3e9fa7f
Add IsNearUpgrade
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-12-19 21:51:07 +01:00
Jakub Sztandera
a3b325db5d
Disable consensus faults during upgrade orange
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-12-19 21:00:12 +01:00
Łukasz Magiera
24dd6e01d7
disable SF for finality epochs
2020-12-19 20:53:08 +01:00
zgfzgf
a415e49fdb
delete repeat call func
2020-12-02 20:05:01 +08:00
Łukasz Magiera
f850d77f1e
Merge pull request #4904 from filecoin-project/asr/genesis-remainder
...
Setup remainder msig signers when parsing genesis template
2020-11-24 17:06:17 +01:00
Aayush Rajasekaran
adee4b2a5e
Setup remainder msig signers when parsing genesis template
2020-11-18 02:56:30 -05:00
Steven Allen
423ff0631d
fix genesis
2020-11-16 19:04:17 +01:00
Łukasz Magiera
4d8327c29a
Fix miners with no sectors in node tests
2020-11-16 19:03:30 +01:00
Łukasz Magiera
6bea9dd178
Making sealing logic work with multiple seal proof types
2020-11-16 19:03:30 +01:00
Raúl Kripalani
3577300aee
Merge branch 'master' into badger-viewable
2020-11-06 19:34:25 +00:00
Łukasz Magiera
a1e1b03ca4
Optionally allow bitswap for chainstore
2020-11-03 23:44:44 +01:00
Raúl Kripalani
809111336a
Merge branch 'master' into badger-viewable
2020-11-03 18:29:10 +00:00
Aayush Rajasekaran
af8cc3d29f
Rename builtin actor generators
2020-11-02 18:42:30 -05:00
Raúl Kripalani
099c4b5e1d
migrate repo.Datastore(/chain) to repo.Blockstore().
2020-11-01 13:03:21 +00:00
Steven Allen
f23034305f
Handle worker key changes correctly in runtime
2020-10-24 02:57:17 -07:00
Steven Allen
8bb69f1e9c
Use pre-computed parent state root for lookback info
...
There's no need to call TipSetState and recompute it.
2020-10-23 19:40:01 -07:00
Steven Allen
b05613445e
Sign blocks with the worker key from the correct lookback epoch
2020-10-22 09:26:58 -07:00
Łukasz Magiera
041762a34f
Merge pull request #4383 from filecoin-project/steb/actor-v2-imports
...
Remove most v0 actor imports
2020-10-22 17:17:56 +02:00
Łukasz Magiera
05b459e4c5
Merge pull request #4379 from zgfzgf/feat-mining
...
optimize mining code
2020-10-22 16:12:40 +02:00
Steven Allen
30bda0b4c4
set network name everywhere
2020-10-21 12:18:38 -07:00
Steven Allen
710ac9d544
use the correct network version in genesis
...
1. Version 0 upgrades happen _after_ genesis.
2. Get rid of UseNewestNetwork. It's not useful and quite dangerous.
2020-10-21 12:18:38 -07:00
Steven Allen
4e730b5ec8
port to v2 imports
2020-10-21 12:16:23 -07:00
Aayush Rajasekaran
7f46ad19ac
VM: Enforce a call depth limit
2020-10-20 18:19:50 -04:00
zgfzgf
51aca86e98
optimize mining code
2020-10-14 08:44:42 +08:00
Jakub Sztandera
2b21fdef33
Refactor from crypto.SigType to types.KeyType
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-10-12 00:07:53 +02:00
Łukasz Magiera
a6d9b302fa
Merge pull request #3583 from filecoin-project/feat/signing-backends
...
Remote wallet backends
2020-10-10 02:58:02 +02: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
Łukasz Magiera
6e8efb9d2c
gofmt
2020-10-09 01:27:49 +02:00