Skip to content

Commit b3c7516

Browse files
committed
split into two FIPs; WIP.
1 parent f775764 commit b3c7516

File tree

2 files changed

+25
-40
lines changed

2 files changed

+25
-40
lines changed

FIPS/fip-nnnn-eam-eeoa.md

Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
---
22
fip: <to be assigned>
3-
title: Filecoin EVM runtime (FEVM)
4-
author: Raúl Kripalani (@raulk), Steven Allen (@stebalien), Dimitris Vyzovitis (@vyzo), Aayush Rajasekaran (@arajasek)
5-
Akosh Farkash (@aakoshh)
3+
title: Ethereum Address Manager (EAM) and Ethereum Externally Owned Account (EEOA)
4+
author: Raúl Kripalani (@raulk), Steven Allen (@stebalien)
65
discussions-to: <URL>
76
status: Draft
87
type: Technical Core
@@ -15,22 +14,13 @@ replaces: N/A
1514

1615
# Ethereum Address Manager (EAM) and Ethereum Externally Owned Account (EEOA)
1716

18-
1917
## Simple Summary
2018

21-
## Abstract
22-
19+
TODO.
2320

24-
Foreign runtimes often make assumptions on the environment. One such assumption
25-
has to do with addressing schemes. To support native Ethereum addressing, this
26-
FIP introduces the Ethereum Address Manager actor (2), which leverages the f4
27-
addressing class introduced in FIP-0048 to assign Ethereum-compatible addresses
28-
to EVM smart contracts.
21+
## Abstract
2922

30-
Validation of native Ethereum transactions is enabled by the Ethereum Account
31-
actor (3), which represents Ethereum Externally-Owned Accounts in Filecoin. It
32-
currently acts like a placeholder for a more sophisticated future version of an
33-
Account Abstraction system.
23+
TODO.
3424

3525
## Change Motivation
3626

FIPS/fip-nnnn-evm-runtime.md

Lines changed: 20 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
---
22
fip: <to be assigned>
33
title: Filecoin EVM runtime (FEVM)
4-
author: Raúl Kripalani (@raulk), Steven Allen (@stebalien), Dimitris Vyzovitis (@vyzo), Aayush Rajasekaran (@arajasek)
5-
Akosh Farkash (@aakoshh)
4+
author: Raúl Kripalani (@raulk), Steven Allen (@stebalien)
65
discussions-to: <URL>
76
status: Draft
87
type: Technical Core
@@ -22,41 +21,36 @@ replaces: N/A
2221
- [Simple Summary](#simple-summary)
2322
- [Abstract](#abstract)
2423
- [Change Motivation](#change-motivation)
25-
- [Specification: EVM runtime actor](#specification-evm-runtime-actor)
26-
- [Deployment](#deployment)
24+
- [Specification](#specification)
25+
- [Installation](#installation)
26+
- [Prototype actor](#prototype-actor)
2727
- [State](#state)
2828
- [Actor interface (methods)](#actor-interface-methods)
2929
- [Method number `0` (`Constructor`)](#method-number-0-constructor)
3030
- [Method number `2` (`InvokeContract`)](#method-number-2-invokecontract)
3131
- [Method number `3` (`GetBytecode`)](#method-number-3-getbytecode)
3232
- [Method number `4` (`GetStorageAt`)](#method-number-4-getstorageat)
3333
- [Method number `5` (`InvokeContractDelegate`)](#method-number-5-invokecontractdelegate)
34-
- [Method numbers >= 1024**](#method-numbers--1024)
35-
- [Smart contract deployment](#smart-contract-deployment)
36-
- [Smart contract execution](#smart-contract-execution)
37-
- [Cross-contract calls](#cross-contract-calls)
38-
- [Ethereum addressing](#ethereum-addressing)
34+
- [Method numbers >= 1024 (`HandleFilecoinMethod`)**](#method-numbers--1024-handlefilecoinmethod)
35+
- [Addressing](#addressing)
36+
- [Ethereum zero address](#ethereum-zero-address)
3937
- [Opcode support](#opcode-support)
4038
- [Opcodes without remarks](#opcodes-without-remarks)
4139
- [Opcodes with remarks](#opcodes-with-remarks)
4240
- [Precompiles](#precompiles)
43-
- [Gas](#gas)
41+
- [Ethereum precompiles](#ethereum-precompiles)
42+
- [Filecoin precompiles](#filecoin-precompiles)
43+
- [Migration](#migration)
44+
- [Other considerations](#other-considerations)
45+
- [Historical support](#historical-support)
46+
- [Transaction types](#transaction-types)
47+
- [Native currency](#native-currency)
4448
- [Errors](#errors)
45-
- [Specification: Ethereum Address Manager (EAM)](#specification-ethereum-address-manager-eam)
46-
- [Deployment](#deployment-1)
47-
- [Procedure](#procedure)
48-
- [State](#state-1)
49-
- [Actor interface (methods)](#actor-interface-methods-1)
50-
- [Method number `1` (`Create`)](#method-number-1-create)
51-
- [Method number `2` (`Create2`)](#method-number-2-create2)
52-
- [Specification: Ethereum Externally Owned Account (EEOA)](#specification-ethereum-externally-owned-account-eeoa)
53-
- [Specification: Ethereum JSON-RPC API](#specification-ethereum-json-rpc-api)
54-
- [Specification: Filecoin Virtual Machine changes](#specification-filecoin-virtual-machine-changes)
55-
- [Added syscalls](#added-syscalls)
56-
- [Removed syscalls](#removed-syscalls)
49+
- [Filecoin Virtual Machine changes](#filecoin-virtual-machine-changes)
50+
- [Added syscalls](#added-syscalls)
51+
- [Removed syscalls](#removed-syscalls)
5752
- [Changed syscalls](#changed-syscalls)
5853
- [New externs](#new-externs)
59-
- [Memory limits](#memory-limits)
6054
- [Client changes](#client-changes)
6155
- [Tipset CID](#tipset-cid)
6256
- [Actor events](#actor-events)
@@ -66,6 +60,7 @@ replaces: N/A
6660
- [Security Considerations](#security-considerations)
6761
- [Incentive Considerations](#incentive-considerations)
6862
- [Product Considerations](#product-considerations)
63+
- [Gas](#gas)
6964
- [Implementation](#implementation)
7065
- [Appendix A: Notable differences between FEVM and EVM for smart contract developers](#appendix-a-notable-differences-between-fevm-and-evm-for-smart-contract-developers)
7166
- [Appendix B: Upgrades](#appendix-b-upgrades)
@@ -129,7 +124,7 @@ EVM storage (u256 => u256 map) is backed by a specialized data structure based o
129124

130125
Contrary to traditional EVM storage, the KAMT is an enumerable data structure. However, no operations are provided for smart contracts to enumerate keys, at least not at this stage. This property merely facilitates external observability and debuggability.
131126

132-
TODO: specify these optimizations, or the KAMT.
127+
TODO: specify the KAMT.
133128

134129
### Actor interface (methods)
135130

@@ -474,7 +469,7 @@ _Errors_
474469

475470
### Other considerations
476471

477-
#### Historical support
472+
#### Historical support
478473

479474
EVM opcode and precompile support is restricted to the Ethereum Paris fork. Historical Ethereum behaviors are not supported.
480475

0 commit comments

Comments
 (0)