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
4193235b59
Allow creation of state tree v3s
2021-04-30 22:41:02 -04:00
Aayush Rajasekaran
f1ded63d60
v4 specs-actors integration, nv12 migration
2021-04-27 02:02:44 -04:00
Steven Allen
1f62c07789
add back logging
2021-01-21 15:21:19 -08:00
Steven Allen
1a790f5ee3
use actors state-tree abstraction
...
Well, not fully, but this is enough to ensure we use the correct bitwidth and such.
2021-01-21 15:21:19 -08:00
Steven Allen
9d2c430138
remove abstract map constructor/loader
...
Different maps have different parameters now so we just construct/load them manually where needed.
2021-01-21 15:21:19 -08:00
Aayush Rajasekaran
ba3b32cfe7
Pull in actors v3
2021-01-21 15:21:18 -08:00
Jakub Sztandera
cb0513f4c1
Add test
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-10-20 01:30:40 +02:00
Jakub Sztandera
be42dd824b
state: optimize state snapshot address cache
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-10-20 00:43:51 +02: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
Steven Allen
2315db161b
cleanup state-tree loading
...
And remove incorrect comment.
2020-09-28 16:46:29 -07:00
Steven Allen
ca9448bc11
rename actors v1 -> actors v2
...
The actual actors version is v2, not v1. Using Version1 internally was really confusing.
2020-09-28 13:13:18 -07:00
Steven Allen
271ceb968a
add v1 support to the state tree
2020-09-25 12:55:10 -07:00
Steven Allen
7d3bd146e6
rebase fixup
2020-09-25 12:51:02 -07: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
Raúl Kripalani
68663060dc
add state.StateTree#Version() accessor.
2020-09-24 17:58:49 +01:00
Steven Allen
ab070f2ebe
copy actor object when iterating over actors
...
This is a pretty big footgun.
2020-09-22 11:09:41 -07:00
Steven Allen
24ae9205fe
cross-version state tree diff
2020-09-21 12:50:12 -07:00
Steven Allen
cc4d5306eb
Progress
2020-09-14 15:43:12 -07:00
Łukasz Magiera
38f87981c1
Fix some build errors
2020-09-14 13:14:06 +02:00
Steven Allen
d3594835c4
[WIP] Network upgrade support
...
This patch starts adding support for network upgrades.
* It adds an actors abstraction layer for loading abstract (cross-version) actors.
* It starts switching over to a shared deadline type.
* It adds an abstraction for ADTs (hamt/amt).
* It removes the callback-based API in the StateManager (difficult to abstract
across actor versions).
* It _does not_ actually add support for actors v2. We can do that in a followup
patch but that should be relatively easy.
This patch is heavily WIP and does not compile. Feel free to push changes
directly to this branch.
Notes:
* State tree access now needs a network version, because the HAMT type will change.
* I haven't figured out a nice way to abstract over changes to the _message_
types. However, many of them will be type aliased to actors v0 in actors v2 so
we can likely continue using the v0 versions (or use the v2 versions
everywhere). I've been renaming imports to `v0*` to make it clear that we're
importing types from a _specific_ actors version.
TODO:
* Consider merging incremental improvements? We'd have to get this compiling
again first but we could merge in the new abstractions, and slowly switch over.
* Finish migrating to the new abstractions.
* Remove all actor state types from the public API. See `miner.State.Info()` for
the planned approach here.
* Fix the tests. This is likely going to be a massive pain.
2020-09-11 20:16:29 -07:00
Steven Allen
5733c71c50
Lint everything
...
We were ignoring quite a few error cases, and had one case where we weren't
actually updating state where we wanted to. Unfortunately, if the linter doesn't
pass, nobody has any reason to actually check lint failures in CI.
There are three remaining XXXs marked in the code for lint.
2020-08-20 20:46:36 -07:00
whyrusleeping
b3a31d8823
add function to check entire state tree balance
2020-08-12 15:45:46 -07:00
Steven Allen
9248e5a572
Update specs-actors, cbor-gen, and go-address
2020-08-12 10:32:39 -07:00
Steven Allen
5fc83f4d05
Refactor to use actor adt types instead of directly using HAMTs and AMTs
...
This way there's a single source of truth. Preparation for fixing
https://github.com/filecoin-project/specs-actors/issues/517 (requires changing
HAMT parameters).
2020-07-23 09:34:57 -07:00
Jakub Sztandera
5605aae269
Fix even more lint warnings
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-06-02 16:29:39 +02:00
Jeromy
bb6e8de056
cache address resolutions in state tree
2020-04-03 16:26:52 -07:00
Jeromy
7a475d5ca5
drop outdated comment
2020-04-02 18:52:18 -07:00
Jeromy
89b15c03cf
nil out layers when dropping to allow for GC
2020-04-02 18:20:49 -07:00
Jeromy
212c346c21
avoid flushing disk when doing state tree snapshots
2020-04-02 17:18:25 -07:00
Aayush Rajasekaran
09a46e5d80
fix some gas charge bugs, and make our new account actor creation follow GFC
2020-03-25 08:25:03 -04:00
Lucas Molas
d21cb96ddb
doc: add comments related to actor code review
2020-03-18 16:43:58 -07:00
whyrusleeping
114cb2d2aa
squash the spec shim and the vmcontext into the new runtime type
2020-03-09 21:44:29 -07:00
whyrusleeping
4e9e3f3dc3
make state tree snapshots properly stack based
2020-03-04 17:19:15 -08:00
whyrusleeping
0da2f81252
get most of the chain validation tests passing
2020-03-03 16:06:41 -08:00
Łukasz Magiera
ae634ef7df
actors: Remove addrass aliases
2020-02-25 21:54:58 +01:00
Łukasz Magiera
cd10a3126b
actors: drop a bunch of type aliases
2020-02-25 21:35:15 +01:00
Łukasz Magiera
b8428423a1
get chain to runnable state
2020-02-22 14:10:46 +01:00
Łukasz Magiera
c744dc06c6
Fix implicit account creation
2020-02-21 18:13:50 +01:00
Łukasz Magiera
e9019c8bcc
Working Genesis Generator
2020-02-18 22:38:08 +01:00
Łukasz Magiera
d5027bfbb2
Fix amt bug
2020-02-14 21:33:41 +01:00
Łukasz Magiera
c544c2b5c5
Set hamt bitwidth
2020-02-14 15:14:39 +01:00
Łukasz Magiera
e5ab64a3ab
Fix client market impl, gofmt
2020-02-13 01:15:33 +01:00
Łukasz Magiera
526cfea568
state: fix actor lookup
2020-02-12 08:22:55 +01:00
whyrusleeping
028a113737
Make it all build
2020-02-04 14:19:05 -08:00
whyrusleeping
dfe87c9f6f
update to latest hamt changes
2020-02-03 18:52:18 -08:00
whyrusleeping
dcd01df2d3
wire up tracing into state tree flush, add pprof flag
2020-01-22 11:53:06 -08:00
Jakub Sztandera
1ed62628a7
Update go-log to v2
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-01-08 20:22:31 +01:00