Skip to content
This repository has been archived by the owner on Dec 20, 2023. It is now read-only.

Actor state types for IPC actors. #35

Closed
3 tasks
Tracked by #30 ...
adlrocha opened this issue Dec 9, 2022 · 1 comment
Closed
3 tasks
Tracked by #30 ...

Actor state types for IPC actors. #35

adlrocha opened this issue Dec 9, 2022 · 1 comment
Labels

Comments

@adlrocha
Copy link
Contributor

adlrocha commented Dec 9, 2022

Background

In the MVP of IPC, the IPC actors were targeting Filecoin's Legacy-VM. Consequently, the definition of all their params and their state were defined as Go types within the code base. Our newly implemented IPC actors targeting the FVM are written in Rust and through the process of re-writing them some parameters and state types have changed slightly. Also, the fact that we are now using Rust for the actor implementations implies that we need to ensure that the CBOR serialization used for the types is interoperable between Go and Rust

(note: by using cbor_gen we should get this by-design, however, silly mistakes can easily be introduced like not flagging a Vec<u8> to be serialized as a slice a bytes and Go trying then to deserialize it as []uint8 instead of []byte).

Goal

The goal of this issue is to create a package including all the state and params from the IPC actors to support their integration in the Lotus code base (so we can send messages with serialized params and interact seamlessly with the state of the FVM actors).

Tasks

Go types and cbor_gen serialization for:

@adlrocha
Copy link
Contributor Author

A first pass over all the types and some auxiliary methods required (at the time of writing) to interact from Go with the actors have been implemented in this repo: https://github.com/consensus-shipyard/go-ipc-types. Refer to that repo for updates and additional issues regarding IPC Go types.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

1 participant