ref-fvm
ref-fvm copied to clipboard
Reference implementation of the Filecoin Virtual Machine
The ability to "drop privileges" (i.e., send all new messages as some "nobody" account) could significantly reduce the risk of "confused deputy" bugs. Even if there isn't a built-in feature,...
Developers will build a lot of things on Filecoin. Since early on, we want to encourage a culture of composability and reusability. One way of achieving this is to create...
Define how code (WASM, EVM) will be represented in IPLD.
The current VM has a set of system exit codes, reserved (unused) exit codes, and a hardcoded set of actor codes to signal common conditions (e.g. not found, forbidden, illegal...
The iterator will have to yield a smart pointer that: 1. Can be dereferenced immutably with no effect. 2. Can be dereferenced mutably, marking the value as changed. 3. Can...
At the moment, we trace the state of every _invoked_ actor, but we don't include the state _after_ it returns. For completeness, we should include the _after_ state giving us:...
At the moment, the FVM _discards_ intermediate state and only flushes the final state-tree. However, for debugging (tracing, etc.), intermediate state can be useful. We should provide a way to...
- `BLOCK_GAS_LIMIT`: Neither the FVM nor the builtin actors care about the block gas limit. And if they did, it would have to be a runtime parameter passed from the...
The fvm-workbench is a testing platform that executes actor code on a stand-alone VM. It is especially useful for gas tracing. Two of its three crates are independent of the...
Basically, we need to make sure we can attach a new syscall to an FVM instance from a _different_ crate. We should write an integration test that: 1. Constructs a...