ref-fvm icon indicating copy to clipboard operation
ref-fvm copied to clipboard

FVM M2.1: Talc release (1)

Open raulk opened this issue 3 years ago • 0 comments

Goal

To allow early experimenters to get an initial impression of running FEVM contracts on Filecoin. Only basic contracts will be supported at this stage, i.e. contracts that are self-contained, do not make calls to other contracts nor to precompiles. For example, ERC-20 contracts should be deployable at this stage. No Ethereum JSON-RPC API is supported at this stage, and contracts can only be deployed by Filecoin messages via Init actor deployment. No universal addressing scheme is supported yet.

On the specs track, we plan to complete the specs work for Universal Addressing (#690) and wrap up the full picture for Account Abstraction and native Ethereum transaction support (https://github.com/filecoin-project/fvm-specs/issues/92 and https://github.com/filecoin-project/FIPs/discussions/388).

Implementation scope

  • Getting fvm-evm into the built-in actors bundle.
  • Drop/stash speculative and unused code in fvm-evm (e.g. bridge/registry?)
    • At this stage, EVM contract deployment is performed by instantiating the EVM runtime directly.
    • We are aiming to discard the bridge/registry as part of #690. If it ends up being necessary, we will reintroduce the components (potentially with different responsibilities/behaviour).
  • Map the Filecoin context to EVM calls.
  • Precompiles: ecrecover, sha256, sha3, ripemd160 (requires multihash work).
  • Implement REVERT and SELFDESTRUCT behaviour.
  • Integration tests.

Work burndown

  • [ ] #689
  • [ ] #627 (to support ecrecover precompile)
  • [ ] #690
  • [ ] #693
  • [ ] #695 (ecrecover, sha256, sha3, ripemd160)

(more to follow)

raulk avatar Aug 08 '22 11:08 raulk