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.