- gather wasm related logic to module wasm in
codegen
- introduce WASM environment for in
codegen
- Structured compiler output of
zinkc
- Renaming
without_dispatcher
topure
inzint
- use
tiny-keccak
instead ofsha3
inzabi
- Refactor conta with
toml_edit
- Optional exports wasm-opt from zinkc
- Use full revm instead of ethers in zint
- Remove ethers
- Move out ccli and conta
- Use
anyhow::Result
instead for the result ofzint
- Remove clap in elko
- Missing logic of adapt package alias in conta
- ABI output in zink compiler
- no_std solidity ABI
- Solidity compatible ABI
- Refactor
zabi
a wrapper asol-abi
- Conditional compilation for abi related crates
- Compile
zinkc
binary in cratezinkc
- Use generated ABI for the constructor tests
- Rename zinkc-filetests to filetests
- testing utils for deployment
- Contract constructor implementation.
- Function dispatcher
- Crate
zabi
- Host function
emit_abi
- new
proc-macro
zink::external
dispatcher
flag forelko
andzinkc
- Jump with offset in jump table
- Crate
Contract
instance inzint
- Built-in tests for all examples
- filetests of the compiler
- Map functions in codegen for different usages
- Move
zink
to the top level - Move previous compiler tests to the top level
- Move examples out of crates
- The PC order of return and callee labels
- Add up original PC offset while shifting themselves in PC relocation
- clean stack on loading data from data section
proc-macro
for storageproc-macro
for event logging- Update documents for storage and events
- Publishing logic of
conta
- Event logging APIs
- Examples for logging
- Data section parser in
codegen
- Documents for event logging APIs
- Benchmarks for event logging APIs
- Storage related built-in functions
sstore
andsload
impl_tests
for generating arithmetic tests- Project logo
- rust-cache in CI
- Documents for storage APIs
- Benchmarks for event storage APIs
- Code section in
codegen
- Instruction
select
- Params test for
select
The MVP of the zink project, provides various tools for developing
EVM contracts with rust
and WASM
.
name | description |
---|---|
elko |
Zink's package manager, can create and build zink project. |
zinkc |
The zink compiler, can compile simple wasm to EVM bytecode. |
For supporting nearly everything, plz keep tuned for v0.3.0
.
name | description |
---|---|
zinkgen |
Zink code generator |
zinkc |
Zink compiler |
zink |
Rust library for developing program with zink |
zint |
Basic test utils including evm wrapper for testing usages |
zinkup |
Zink toolchain installer |
- provided basic functionalities in
v0.1.0
to verify thoughts, the final target of it is examplefibonaaci
, which means, everything used in thefibonacci
example now works! add
,sub
,mul
are available now, plus all comparison operand likegt
,lt
,ge
,le
,bitwise
also have implementations operators likeshr
require the order of the stack will have bugs*.- The compilation of locals currently works without any hardcode, ideally, we don't need to refactor it in the future!
- Same as locals, works without any hardcode, but some logic related to the jump table
need to be refactored after introducing
selector
. if
,else
,block
,loop
,br_if
now works without any hardcode, need to addbr_table
,select
... to align wasm MVP in the future releases.~*