Commit Graph

50 Commits

Author SHA1 Message Date
TippyFlits
4313f990ce [WIP] feat: Add nv22 skeleton
Addition of Network Version 22 skeleton
2024-01-11 10:54:24 -05:00
Phi
8b5da86727 feat: introduce local nv21 skeleton
Introduce nv21 skeleton for local testing:

- Use local go-state-types with actor_version_checklist changes: https://github.com/filecoin-project/go-state-types/blob/master/actors_version_checklist.md
- Imports mock v12-actors bundle
- Define upgrade heights
- Generate adapters
- Add upgrade schedule and migration
- Add actorstype to the NewActorRegistry in /chain/consensus/computestate.go
- Add upgrade field to api/types.go/ForkUpgradeParams
- Add upgrade to node/impl/full/state.go
- Add network version to chain/state/statetree.go
- make jen
- make docsgen-cli
2023-08-16 20:01:48 +02:00
Aayush
3636af4cd9 feat: Introduce nv19 skeleton
Update to go-state-types v0.11.0-alpha-1

Introduce dummy v11 actor bundles

Make new actors adapters

Add upgrade to Upgrade Schedules

make jen

Update to go-state-types v0.11.0-alpha-2
2023-03-29 16:13:41 -04:00
Geoff Stuart
ae4010ffb6 Drop actor keys from chain/actors/manifest.go 2022-12-13 18:02:34 -05:00
Steven Allen
2651a38f89 Merge branch 'master' into feat/nv18 2022-11-22 10:08:54 -08:00
frrist
e61b9b2a65 refactor: add inspection methods to actor gen interface
- adds the following methods to all generated actor interfaces:
  - Code() cid.Cid
  - ActorKey() string
  - ActorVersion() actorstypes.Version
  - AllCodes() []cid.Cid
2022-11-16 17:22:18 -08:00
vyzo
6aee53fc8b make gen 2022-11-09 07:36:09 +02:00
vyzo
6373e9752c agen 2022-11-09 07:36:09 +02:00
Geoff Stuart
642555d0fb Fix discrepancies, run fiximports 2022-09-09 21:40:15 -04:00
Aayush
0efca4d266 introduce v9 actors and nv17 2022-09-09 21:40:15 -04:00
Łukasz Magiera
e65fae28de chore: fix imports 2022-06-14 17:00:51 +02:00
Aayush
8cca9b1970 Use new go-state-types accessors 2022-05-17 15:21:27 -04:00
vyzo
1f7c89d5d8 make gen 2022-04-14 19:33:24 +03:00
vyzo
7712fc044e rerun agen to gofmt 2022-04-14 19:29:22 +03:00
vyzo
cdd5420e0c agen 2022-04-14 19:29:22 +03:00
Aayush
3370847f3e Implement FIP-0031 2022-04-14 19:28:16 +03:00
Aayush Rajasekaran
1449644c34 Integrate v7 actors 2021-11-17 15:55:14 -05:00
Aayush Rajasekaran
7b4c657e90 Add v6 actors 2021-09-21 14:23:14 -04:00
Łukasz Magiera
1e4456138e Merge master into feat/nv13 2021-05-27 12:28:20 +02: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
Łukasz Magiera
c6cebb448f Cleanup actor adapter templates 2021-05-10 19:46:44 -04:00
Łukasz Magiera
1a84bd5842 chain actors: codegen templates for all actors 2021-05-10 19:46:44 -04:00
Aayush Rajasekaran
b5da2655dc Introduce v5 actors 2021-05-10 19:44:28 -04:00
Łukasz Magiera
63189cd81d Generate wrappers for new actor versions 2021-05-09 21:04:50 -04:00
Aayush Rajasekaran
f1ded63d60 v4 specs-actors integration, nv12 migration 2021-04-27 02:02:44 -04:00
Steven Allen
c31f5130e3 update imports to v3 2021-01-21 15:21:19 -08:00
Steven Allen
95c57d0ce3 and actually hook up loading logic 2021-01-21 15:21:19 -08:00
Aayush Rajasekaran
ee99e68614 Add v3 actors support for power 2021-01-21 15:21:19 -08:00
frrist
7b8dae92d9 feat: add power actor claim diff method 2020-10-28 16:52:52 -07:00
frrist
e33cc5ee12 polish: add ClaimsChanged method to power shim 2020-10-28 13:56:02 -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
b85bf82d00
Merge pull request #4318 from filecoin-project/asr/shed-won-power
Add a shed util to determine % of power that has won a block
2020-10-22 15:40:55 +02: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
c296e1bbca use actor abstraction in metrics command 2020-10-11 20:31:20 -07:00
Aayush Rajasekaran
bae3b7d594 add a shed util to determine % of power that has won a block 2020-10-11 19:05:54 -04: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
d9656f5220 add a generic load method for actor state
This will make it easier to load arbitrary actors. We can:

* Type switch (sort of unsafe, may want marker methods?)
* Use this with `vm.MutateActorState`.
2020-09-25 12:49:39 -07:00
Steven Allen
edb31e606a correctly load new actors 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
fb2b25c297 finish upgrading chainwatch 2020-09-18 13:43:30 -07:00
Aayush Rajasekaran
b4ee519282 Partial progress towards switching to miner and power interfaces 2020-09-16 01:37:49 -04:00
Steven Allen
92471d41d6 migrate precommit deposit function 2020-09-15 16:47:58 -07:00
Steven Allen
02bc5fab26 add power actor address alias 2020-09-15 14:56:00 -07:00
Łukasz Magiera
4419850195 state api impl fixes 2020-09-15 15:29:25 +02: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
Ł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