forked from ethereum/forkcast
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path4750.json
More file actions
31 lines (31 loc) · 1.33 KB
/
4750.json
File metadata and controls
31 lines (31 loc) · 1.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
{
"id": 4750,
"title": "EIP-4750: EOF - Functions",
"status": "Review",
"description": "Individual sections for functions with `CALLF` and `RETF` instructions",
"author": "Andrei Maiboroda (@gumb0), Alex Beregszaszi (@axic), Paweł Bylica (@chfast)",
"type": "Standards Track",
"category": "Core",
"createdDate": "2022-01-10",
"discussionLink": "https://ethereum-magicians.org/t/eip-4750-eof-functions/8195",
"reviewer": "bot",
"forkRelationships": [
{
"forkName": "Fusaka",
"statusHistory": [
{
"status": "Declined"
}
]
},
{
"forkName": "Pectra",
"statusHistory": [
{
"status": "Declined"
}
]
}
],
"laymanDescription": "This introduces proper function support to EOF contracts by allowing multiple code sections, each representing a separate function. It adds two new instructions: CALLF to call functions and RETF to return from them. Functions have defined input/output parameters and their own isolated stack, improving code organization and analysis. Dynamic jumps (JUMP/JUMPI) are completely removed in favor of static function calls, making contracts more predictable and easier to optimize. A return stack tracks function call history, and JUMPDEST becomes a simple NOP instruction since jump analysis is no longer needed."
}