-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Introduce v2 actors #3936
Introduce v2 actors #3936
Conversation
26e68a7
to
24ae920
Compare
cc99ecd
to
1dc69e3
Compare
2b22715
to
62ae8ef
Compare
I'm not sure what to do about the genesis code. It does some pretty hacky things to deal with the lack of power (adds fake power, adds sectors, then removes the fake power). I guess we can add a I'm not actually sure if we're doing this correctly anyways. We're setting |
Also, correctly handle multiple ADT versions.
Otherwise, we're going to end up with an import cycle between the adt and this version.
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`.
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.
1438904
to
8b35f48
Compare
The actual actors version is v2, not v1. Using Version1 internally was really confusing.
// This error is going to be really nasty. | ||
return cid.Undef, xerrors.Errorf("network upgrade failed: %v", msgs.Messages()) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1 to just halting the chain, I think that's significantly better than allowing a (likely very broken) chain to continue and break state further.
(The answer might be different post-liftoff)
Generally looks good, flagged some nits that i can address |
Submodules might need to be updated (or they're wrong in |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Payment channel changes LGTM 👍
I feel like the last option is probably the most conservative here |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Other than the gas estimation thing, this looks shippable
* update oni for specs-actors v2 upgrade filecoin-project/lotus#3936 * Update lotus with wallet changes Co-authored-by: Steven Allen <[email protected]>
Mostly opening this for illustrative purposes, but we could merge into #3781 fairly safely. Not gonna work correctly until all the
TODO: ActorUpgrade
s are resolved, though.Big TODOs:
Some calls/operations will fail across the upgrade. Any funds associated with these operations (except the gas) will be returned to the sender.
Open Concerns: