Skip to content

Releases: cdump/evmole

Release 0.3.5

25 Jun 08:46
Compare
Choose a tag to compare

Changes since previous release:

  • 892d8ab v0.3.5
  • db2a5b0 benchmark: add sevm provider
  • 70cd4f8 benchmark: update results for evmole v0.3.5
  • 86a7d3c arguments: rewrite from scratch, huge accurancy improvement
  • d0ba8d1 add dev.sh script helper
  • 8565ce1 rust: add evmole/trace feature for dev
  • 278ef01 js selector: better js style
  • dbefeb2 selectors: small code refactoring
  • 0eedb9f selectors: use set for dedup
  • da383eb vm: sort opcodes, new opcodes
  • 5441b21 memory: add set_label function, return Element in load() memory,stack: make data field public
  • 88d35ee benchmark: update results for whatsabi v0.12.0
  • 75a4b61 compare: improve fixed-size-array normalize_args rule
  • 232d676 update bench
  • 4ba4c50 rust and js fmt
  • c323858 selectors: support vyper _selector_section_dense
  • ce98405 arguments: fix false bools
  • 862272d vm: add CODECOPY, increase CALLDATACOPY limit to 512
  • d6fe511 arguments: better string type
  • fab5fa8 rust: simplify try_into()
  • 770468e update benchmark results

Release 0.3.4

05 Jun 08:00
Compare
Choose a tag to compare

Changes since previous release:

  • 6050247 v0.3.4
  • 20dc657 benchmark: upgrade docker base images
  • 20b60d5 js: migrate eslint config
  • 77aea95 js: npm update
  • 0002b83 python: poetry update
  • b79a537 rust: cargo update
  • f9facaa benchmark: add optional arguments normalization rules in compare.py
  • d72828f arguments: fix false-positive bool types
  • e3fbdce arguments: fix unwanted args added by trustedForwarder msgSender
  • b2cb5dd py evm: add opcodes STOP, RETURN, MOD, MSIZE, MSTORE8, SSTORE, BALANCE, SELFBALANCE, GAS, CALL, DELEGATECALL, STATICCALL
  • 6a9b294 js evm: add opcodes STOP, RETURN, MOD, MSIZE, MSTORE8, SSTORE, BALANCE, SELFBALANCE, GAS, CALL, DELEGATECALL, STATICCALL
  • c673e66 rust evm: add opcodes STOP, RETURN, MOD, MSIZE, MSTORE8, SSTORE, BALANCE, SELFBALANCE, GAS, CALL, DELEGATECALL, STATICCALL
  • 872ff43 rust: pub vm fields
  • 20bb52e rust, js: use bop() helper in VM for binary operations
  • d6863e4 memory: add size()
  • d7f6ca5 rust: fmt fixes
  • 4dba9b5 benchmarks: run without network
  • 9dc174a benchmark: use docker buildkit
  • 725e2be fix typo in providers/simple
  • ed34a11 add cancun evm opcodes
  • 9a14a38 run cargo/npm/poetry update

Release 0.3.3

26 Feb 07:25
Compare
Choose a tag to compare

Changes since previous release:

Release 0.3.2

20 Jan 15:46
Compare
Choose a tag to compare

Changes since previous release:

  • 46f4bc2 v0.3.2
  • 03b9410 rust: fix empty code input
  • 78f27f6 python: fix empty code input
  • 95fbf58 python: fix test after Element migration
  • fee91a5 javascript: use Element with label, like in Rust implementation
  • 62702bd python: use Element with label, like in Rust implementation
  • 04cec2b cargo/npm/poetry: update deps
  • 85b988f memory: simplify algo - remove seq
  • f8f54b7 README: update benchmark results
  • 55aeb30 benchmark: update Cargo.lock
  • 69a887e benchmark: update heimdall-rs to v0.7.3
  • 4bce0e3 benchmark: use rust v1.75
  • 45d7068 benchmark: update whatsabi to v0.10.0
  • 691fdba rust: simplify code - replace 'if let' with 'let match'
  • f55cc09 use --no-cbor-metadata in examples bytecode
  • 64ef333 fix medals in readme
  • 7469bdb fix benchmark version in readme

Release 0.3.1

24 Dec 13:47
Compare
Choose a tag to compare

Changes since previous release:

  • 4d2f4a2 v0.3.1
  • 61cb7ba v0.3.0
  • 8dda89d add evmole rust benchmark results, update readme
  • 95fad79 update release github workflow
  • 39f91e0 add rust implementation
  • 2c0ef14 add evmole-rs to benchmarks
  • 195584c python: remove fmt: off
  • 61d04ec fix arguments extractor logic
  • 9c5dcf9 fix selectors extractor logic
  • 0cd8ff3 evm/memory: fix javascript loop index overflow
  • 4241138 javascript: allow Uint8Array or hex-string inputs
  • b92ce32 add missing import to js example in README
  • 2e2ae38 add StackIndexError
  • 56a041d ruff: enable isort rules, use as formatter instead of black
  • 52d4f55 use shorter names for custom types in analyzers
  • 1062910 remove BadJumpDestError
  • 9bb3737 skip stack pop on REVERT
  • 7da69d0 convert benchmark/datasets folder to submodule

Release 0.2.2

19 Dec 14:04
Compare
Choose a tag to compare

Changes since previous release:

  • 300e18b v0.2.2
  • 93d17d5 update evmole benchmark results
  • 63eea8a fix uintX argument types
  • d1d98b3 unify py/js vm string()
  • 231c994 evm: check JUMPDEST only before real jump in JUMPI
  • 81c6b1f fix minimum required python version - 3.11
  • aaa37ad remove blacklisted ops
  • d1bf665 limit CALLDATACOPY size to 256
  • 44982c5 memory: do not sort in load()
  • ade13ce evm: fair gas_limit split on forks
  • 46c424d better type names in memory/stack print
  • ecffa2b js: fix algo desync with python implementation
  • e0b19df remove unnecessary asserts and paddings(python)
  • 36c3daa move CallData to evm module
  • 620e668 python: add str for UnsupportedOpError exception
  • 800d178 refactor vm
  • c9010d2 update evmole benchmark results
  • 1320c92 fix pytest stack test
  • 966fc78 refactor opcodes to simplify code and optimize exec time
  • 2852ac1 js: remove unnecessary toBigInt function from CallDataArgumentX classes
  • fa49089 arguments: better bool type handling

Release 0.2.1

14 Dec 13:05
Compare
Choose a tag to compare

Changes since previous release:

  • a5de571 v0.2.1
  • 92fb5e0 redesign benchmark results table
  • 1c65084 update evmole benchmark results
  • fd81aa3 fix missing value in CallDataArgumentDynamic
  • ee02c72 handle BadJumpDestError from VM
  • 9b1677a add exceptions types, don't ignore all errors
  • 9a50e79 support bytes32 argument type
  • e77c3c0 README: format time as .1f
  • fcbab6f benchmark: format time as .1f
  • 0df6a0b move blacklisted_ops to VM constructor level
  • e4ecdcf benchmark: print bad_fn in show_arguments(), as in markdown
  • 8bfe221 js: fix d.ts typescript
  • 354b051 README: change delimiter in benchmark table
  • 277d53a README: add heimdall-rs benchmark results
  • ebebd82 add providers/heimdall-rs

Release 0.2.0

13 Dec 13:11
Compare
Choose a tag to compare

Changes since previous release:

  • a526d06 v0.2.0
  • b133f65 update benchmarks results in readme, add arguments benchmark
  • e06c587 benchmark: generate markdown for arguments mode
  • 7a267b1 js: format code
  • 4f16820 js: fast hexToUint8Array for nodejs
  • 099b25a benchmark: add arguments mode
  • a6a40a9 update examples - add function arguments extraction
  • c96e550 add function arguments extractor
  • 689ef5a evm: add new opcodes, blacklisted opcodes, fix bugs in evm and memory
  • 3706ed2 providers: add arguments mode
  • e2d6bf9 providers/etherscan: add 'arguments' mode to save ground truth function arguments
  • 7810a42 python: make aiohttp dep optional - only install as benchmark extras
  • 40f7426 python: add to_bytes() in utils
  • b05ef4e python: evm stack elements are always 32 bytes now
  • 68599cb change pypi badge color
  • 5b4195c Update benchmark results: add evm-hound-rs
  • 51aa372 Add evm-hound-rs to benchmark
  • 5f3e63a simplify js/evm/opcodes
  • 264b799 evm/opcodes: remove unused stack_in/stack_out
  • 07de006 Add JavaScript require() example
  • 6ea6805 Fix errors in benchmark/README
  • fd536b7 Add link to Try It Online github pages

Release 0.1.2

25 Nov 11:06
Compare
Choose a tag to compare

Changes since previous release:

  • 5d64ae6 Build iife js version for browser, v0.1.2