lotus/chain
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
..
actors [WIP] Network upgrade support 2020-09-11 20:16:29 -07:00
beacon Update to specs v0.9.6 2020-09-07 15:48:41 -04:00
events Update to specs v0.9.6 2020-09-07 15:48:41 -04:00
exchange Merge branch 'master' into blocksync-refactor 2020-09-08 14:22:43 +01:00
gen Use latest version if no upgrade height is specified 2020-09-07 17:43:14 -04:00
market Update to specs v0.9.6 2020-09-07 15:48:41 -04:00
messagepool [WIP] Network upgrade support 2020-09-11 20:16:29 -07:00
metrics Update to specs v0.9.6 2020-09-07 15:48:41 -04:00
state [WIP] Network upgrade support 2020-09-11 20:16:29 -07:00
stmgr [WIP] Network upgrade support 2020-09-11 20:16:29 -07:00
store Revert "only subscribe to pubsub topics once we are synced" 2020-09-08 00:32:26 -04:00
sub [WIP] Network upgrade support 2020-09-11 20:16:29 -07:00
types Fix tests 2020-09-07 15:48:42 -04:00
vectors Fix tests 2020-09-07 15:48:42 -04:00
vm [WIP] Network upgrade support 2020-09-11 20:16:29 -07:00
wallet Update to specs v0.9.6 2020-09-07 15:48:41 -04:00
badtscache.go Fix bad block rason if ValidateBlock fails 2020-07-08 03:55:56 +02:00
block_receipt_tracker.go Lint everything 2020-08-20 20:46:36 -07:00
sync_manager_test.go fix incoming tipset bucketing 2019-12-11 21:41:24 +01:00
sync_manager.go Lint everything 2020-08-20 20:46:36 -07:00
sync_test.go Revert "only subscribe to pubsub topics once we are synced" 2020-09-08 00:32:26 -04:00
sync.go [WIP] Network upgrade support 2020-09-11 20:16:29 -07:00
syncstate.go Add StageFetchingMessages to sync status 2020-09-08 20:42:20 +02:00
types_test.go Delete GasPrice from this world 2020-08-06 23:08:42 +02:00