ref-fvm
ref-fvm copied to clipboard
Reference implementation of the Filecoin Virtual Machine
For Account Abstraction we will be needing to constrain the available syscalls for both validate contexts and invoke on abstract accounts. Work done here will also apply towards https://github.com/filecoin-project/ref-fvm/pull/654 though...
- [x] Implement f4 address support - PR: https://github.com/filecoin-project/ref-fvm/pull/860 - [ ] Add a checksum? Still TBD. - [x] Implement an embryo actor - PR: https://github.com/filecoin-project/builtin-actors/pull/667 - [x] And a...
- Auto-create embryos on send. - Allow overwriting embryo actors (used by the init actor).
This replaces the custom assert macros. Instead of overriding the assert macros, the user would: 1. Call `fvm_sdk::initialize()` at the top of their actor/tests. 2. Use the default `assert` macros....
Currently, we send EVM messages around as raw bytes. Really, we tend to treat all messages as "raw bytes". Unfortunately, if we continue to ignore the codec, M2.2 will be...
Currently, we execute no WASM code on value-only sends. This is convenient for performance reasons, but makes it impossible to: - Reject value transfers. - Perform actor-internal book-keeping for all...
Currently, `invoke_contract` just takes the parameters. Unfortunately, this means determining the caller's _ethereum_ address is expensive (requires calling back into the caller to retrieve it). Instead, we should modify the...
Currently, the built-in EVM actor is using a HAMT as the physical data structure to represent Ethereum smart contract storage. We know this is an inefficient data structure to map,...
Currently, if an EVM contract receives a message with a method number _other_ than the standard `invoke_contract` method number, it will: 1. Invoke the EVM with the paramters (as bytes)....
- [x] ec_recover https://github.com/filecoin-project/builtin-actors/pull/654 - [x] sha256 https://github.com/filecoin-project/builtin-actors/pull/615 - [x] ripemd160 https://github.com/filecoin-project/builtin-actors/pull/651 - [x] identity (this is just `Vec::from(input)`, no need for a test) - [x] modexp https://github.com/filecoin-project/builtin-actors/pull/654 - [x]...