Open
Description
Since solidity is the most used language for EVM, we'd like to align to solidity for the EVM features, the current implementation of zink solved the problem translating WASM to EVM bytecode but missed EVM specific features, the missing parts are mainly in the assembly code logic level & syntax
Jump Table
- Function reallocations are broken with nested different functions #268
- Add tests for multiple jumps to the same target #279
- Gather offset target shifting with label and function shifting #280
- Handle backward jumps in large contract #285
Control Flow
EVM Featured & ABI
- Support contract calls #254
- Improve the declaration of events #255
- Gather the declaration of errors #256
- Special variables and functions #257
- Inherit contract methods from traits #259
- Transient storage for contracts #260
- Mark caller as a special address #273
- Function approve is broken in the erc20 example #274
- Introduce
ADDMOD
andMULMOD
#275 - Merge storage declarations into derive macro Storage #288
- Block and transaction properties #289
- Introduce byte arrays #291
Error Handlings
Memory & Types
- Support dynamic arrays in storage #219
- Load dynamic arrays from calldata #249
- Dynamic arrays as parameters of internal functions #250
- Interface of fixed array in storage #251
- Load fixed arrays from calldata #252
- Handle fixed arrays in memory #253
- Support struct as function parameters #261
- Handle memory allocations for local variables #269
Metadata
Metadata
Assignees
Labels
No labels
Type
Projects
Status
In progress