You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This endpoint takes address, tipset_keys, actor_method_number and method_params and tries to find the parameter type for a given method, then decode given params. Basically it servers as means of validation that the params for a given method have a correct format.
Issue summary
A part of #3639
This endpoint takes
address
,tipset_keys
,actor_method_number
andmethod_params
and tries to find the parameter type for a given method, then decode given params. Basically it servers as means of validation that the params for a given method have a correct format.Here's the Go version of this endpoint: https://github.com/filecoin-project/lotus/blob/5e76b05b17771da6939c7b0bf65127c3dc70ee23/node/impl/full/state.go#L542-L558
Forest is missing a sizeable piece of infrastructure in order to be able to implement this feature, the investigation can start here:
https://github.com/filecoinproject/lotus/blob/ac85a2e23b437f7935abeff24d7280b827ca88d9/chain/consensus/compute_state.go#L41-L58. This points at several missing pieces in
fil-actor-states
that allow for exporting methods.Here's an example of how a method is exported in Lotus:
bytes
, perhaps using an enum.MethodMeta
is put together on Lotus side: https://github.com/filecoin-project/lotus/blob/a83f120f3277501db6ee060701d789b4dbe6f1fa/chain/vm/invoker.go#L88-L167. All the methods seem to have exactly one param, it's type is extracted via reflection from any given actor method. For anything older thatVersion7
there is a special case, because there's also aruntime
parameter on each of the methods.Here's what we currently have:
The above is missing a mapping between methods and params. It also does not look like the Parameters are used anywhere.
Task summary
Acceptance Criteria
Other information and links
The text was updated successfully, but these errors were encountered: