Geoff Stuart
94add978b0
chore: actors: Allow builtin-actors to return a map of methods ( #9342 )
...
* Allow builtin-actors to return a map of methods
* go mod
* Fix tests
* Fix tests, check carefully please
2022-09-21 10:56:58 -04:00
Aayush
0efca4d266
introduce v9 actors and nv17
2022-09-09 21:40:15 -04:00
Łukasz Magiera
08b22edd89
fix make gen
2022-08-29 16:25:30 +02:00
Łukasz Magiera
e65fae28de
chore: fix imports
2022-06-14 17:00:51 +02:00
vyzo
3b1964c507
remove manifest from upgrade schedule, get it inside the migration instead
2022-04-14 19:33:24 +03:00
vyzo
19593eda3b
fix forks_test
2022-04-14 19:33:24 +03:00
zenground0
60d09579be
More fixes
2022-04-14 19:32:56 +03:00
vyzo
12554baed4
fix forks_test
2022-04-14 19:31:34 +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
673f558ba5
Rename vm.VMI to vm.Interface
2022-03-15 19:34:39 -04:00
Aayush
d2054e8653
FVM: support nv15
2022-03-11 17:03:34 -05:00
Aayush
9bb936b75c
chore: refactor: rename NewVM to NewLotusVM
2022-02-24 12:04:05 -05:00
Aayush Rajasekaran
c3c46e9097
Fix Drand fetching around null tipsets
2021-09-29 11:57:59 -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
e6902304d5
fix: address expensive fork review
2021-08-30 16:20:23 -07:00
Steven Allen
165735d01a
fix: correctly handle null blocks when detecting an expensive fork
...
Also improve/fix documentation to reflect the _actual_ tipset that's
passed into upgrades.
And update some comments.
fixes #7192
2021-08-27 15:04:01 -07:00
Łukasz Magiera
05a3710288
chainstore: Fix test build
2021-07-27 15:53:47 +02:00
ZenGround0
9fc4a25bd1
Fix tests with bad network version refs
2021-07-22 09:49:47 -04:00
Steven Allen
cf81c897df
test: handle null blocks in TestForkRefuseCall
...
Otherwise, this fails on rare occasions.
2021-07-14 17:41:24 -07:00
frrist
0519c77c24
polish(stmgr): define ExecMonitor for message applicaiton callback
2021-06-07 11:03:18 -07:00
Peter Rabbitson
25a77d905d
Centralize everything on ipfs/go-log/v2
...
I am not entirely sure this is right, but everything seems to build...
2021-04-06 15:04:32 +02: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
Steven Allen
4890d83acb
test: assert that pre-migrations are actually run
2021-01-27 16:12:08 -08:00
Steven Allen
39d4f6780d
pre-migration: refactor timing specification
...
There are now three times:
1. StartWithin: start within X epochs of the upgrade.
2. DontStartWithin: don't start within X epochs of the upgrade.
3. StopWithin: stop within X epochs of the upgrade.
2021-01-27 16:09:07 -08:00
Steven Allen
56054b0ad3
sort pre-migrations
2021-01-27 12:57:47 -08:00
Steven Allen
4072f24bf2
test pre-migrations
2021-01-27 12:57:17 -08:00
Steven Allen
8d3cc632ac
add support for running pre-migrations and caching their results
...
This can significantly speedup state migrations.
2021-01-27 12:55:53 -08:00
Steven Allen
5e23933757
fix import of v0 for test
...
We're still on actors v0 in this test.
2020-10-21 12:18:38 -07:00
Steven Allen
bcabe7b3b5
migrate methods to abstracted methods
...
Method numbers never change anyways. At worst, we'll deprecate old methods and
have to explicitly import them from the correct actors version to use them.
2020-10-21 12:18:37 -07:00
Steven Allen
4e730b5ec8
port to v2 imports
2020-10-21 12:16:23 -07:00
Łukasz Magiera
7d2f06cfbd
Fix WalletSign in tests
2020-10-09 01:34:48 +02:00
Łukasz Magiera
8783c7434e
Merge remote-tracking branch 'origin/master' into feat/signing-backends
2020-10-09 00:50:41 +02:00
Steven Allen
e8253d22c6
only forbid Call* at expensive forks
2020-10-07 16:14:11 -07:00
Steven Allen
1fea550ce5
test that we refuse explicit calls at the migration epochs
2020-10-07 15:33:14 -07:00
Steven Allen
fe912223bd
pass an explicit upgrade height to migrations
...
The tipset height may not be the correct one, given null blocks.
2020-10-07 15:31:12 -07:00
Steven Allen
c5de617af6
decouple network version and upgrades
...
Not all upgrades require network version bumps.
2020-10-02 17:10:57 -07:00
Steven Allen
e865ba0c64
improve upgrade schedule configurable
...
Unfortunately, it looks like functional ops cannot be passed in via lotus's
di system.
2020-10-01 15:18:59 -07:00
Steven Allen
1cc0f74744
make the upgrade schedule fully configurable
...
This should help with testing.
2020-10-01 15:02:40 -07:00
Steven Allen
c88d124954
use built-in actor ID
...
The init actor will not allow the account actor to exec an arbitrary actor.
2020-09-28 14:43:55 -07:00
Steven Allen
947d1e2902
Merge branch 'master' into asr/spec-v1
2020-09-28 12:53:40 -07:00
Steven Allen
5f3160cf5b
continue expanding vm abstraction layer
2020-09-28 12:48:08 -07:00
Łukasz Magiera
ef28ebb14a
Ignition upgrades, much excite.
2020-09-25 23:55:37 -07:00
Steven Allen
8b35f480c4
initial vm conversion
...
We're probably going to want to change some of these design decisions down the
road, but this is a good starting point.
* We may want to use a more general test for "is actor valid at epoch". Maybe
just a function?
* I'd like to push some of the actor metadata down into the actor types
themselves. Ideally, we'd be able to register actors with a simple
`Register(validation, manyActors...)` call.
2020-09-25 12:49:39 -07:00
Steven Allen
32a699d6a3
Add some actors policy setters for testing
...
Addresses:
* a307e4593a (r491966115)
* a307e4593a (r491966634)
Note: This puts everything into a policy package to avoid a dependency cycle
between the build package, the miner package, and the types package. This is
also why I introduced a GetPreCommitChallengeDelay function and removed the
variable.
2020-09-23 15:00:52 -07:00
Aayush Rajasekaran
a876a0ba44
Use actor state addresses
2020-09-23 02:32:40 -04: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
Aayush Rajasekaran
053cfc1cc7
Migrate verifreg actor
2020-09-17 03:55:23 -04:00