Crate recall_fendermint_vm_actor_interface

Crate recall_fendermint_vm_actor_interface 

Source
Expand description

The modules in this crate a thin interfaces to builtin-actors, so that the rest of the system doesn’t have to copy-paste things such as actor IDs, method numbers, method parameter data types.

This is similar to how the FVM library contains copies for actors it assumes to be deployed, like the init-actor. There, it’s to avoid circular project dependencies. Here, we have the option to reference the actor projects directly and re-export what we need, or to copy the relevant pieces of code. By limiting this choice to this crate, the rest of the application can avoid ad-hoc magic numbers.

The actor IDs can be found in singletons, while the code IDs are in builtins

Modules§

account
activity
adm
blob_reader
blobs
bucket
burntfunds
chainmetadata
cron
diamond
Helper data structures to declare diamond pattern contracts.
eam
ethaccount
evm
gas_market
init
ipc
multisig
placeholder
Placeholders can be used for delegated address types. The FVM automatically creates one if the recipient of a transaction doesn’t exist. Then, the executor replaces the code later based on the namespace in the delegated address.
recall_config
reward
system
timehub

Macros§

revert_errors
Define an error type that implements [ContractRevert] and is a union of multiple other such types. Intended to be used when a contract calls other contracts that can also revert with known custom error types, so that we can get something readable even if the error doesn’t directly come from the contract we call.

Constants§

EMPTY_ARR
Something we can use for empty state, similar to how the FVM uses EMPTY_ARR_CID.