Skip to content

Latest commit

 

History

History
171 lines (118 loc) · 4.13 KB

RELEASES.md

File metadata and controls

171 lines (118 loc) · 4.13 KB

v0.1.10

Changes

  • gather wasm related logic to module wasm in codegen
  • introduce WASM environment for in codegen
  • Structured compiler output of zinkc
  • Renaming without_dispatcher to pure in zint
  • use tiny-keccak instead of sha3 in zabi

v0.1.9

Changes

  • 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 of zint
  • Remove clap in elko

FIXED

  • Missing logic of adapt package alias in conta

v0.1.8

Added

  • ABI output in zink compiler
  • no_std solidity ABI

Changes

  • Solidity compatible ABI
  • Refactor zabi a wrapper a sol-abi
  • Conditional compilation for abi related crates
  • Compile zinkc binary in crate zinkc
  • Use generated ABI for the constructor tests
  • Rename zinkc-filetests to filetests

v0.1.7

Added

  • testing utils for deployment

v0.1.6

Added

  • Contract constructor implementation.

v0.1.5

Added

  • Function dispatcher
    • Crate zabi
    • Host function emit_abi
    • new proc-macro zink::external
    • dispatcher flag for elko and zinkc
    • Jump with offset in jump table
  • Contract instance in zint
    • Built-in tests for all examples
    • filetests of the compiler

Changed

  • 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

Fixed

  • Add up original PC offset while shifting themselves in PC relocation
  • clean stack on loading data from data section

v0.1.4

Added

  • proc-macro for storage
  • proc-macro for event logging
  • Update documents for storage and events

Fixed

  • Publishing logic of conta

v0.1.3

Added

  • Event logging APIs
  • Examples for logging
  • Data section parser in codegen
  • Documents for event logging APIs
  • Benchmarks for event logging APIs

v0.1.2

Added

  • Storage related built-in functions
    • sstore and sload
  • impl_tests for generating arithmetic tests
  • Project logo
  • rust-cache in CI
  • Documents for storage APIs
  • Benchmarks for event storage APIs

v0.1.1

Added

  • Code section in codegen
  • Instruction select
  • Params test for select

V0.1.0

The MVP of the zink project, provides various tools for developing EVM contracts with rust and WASM.

Binaries

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.

Components

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

Added

  • provided basic functionalities in v0.1.0 to verify thoughts, the final target of it is example fibonaaci, which means, everything used in the fibonacci example now works!
  • add, sub, mul are available now, plus all comparison operand like gt, lt, ge, le, bitwise also have implementations operators like shr 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 add br_table, select... to align wasm MVP in the future releases.~*