Releases: Jon-Becker/heimdall-rs
Releases · Jon-Becker/heimdall-rs
0.8.4
What's Changed
- fix(decompile): filter fallback from ABI generation by @Jon-Becker in #469
- feat(cli): auto-check for new nightly version if on nightly by @Jon-Becker in #470
- chore: add
get_bytecode
,get_calldata
to args by @Jon-Becker in #471 - fix(common): redundant store_cache removed by @fala13 in #472
- feat(inspect): hack to serialize
DynSolValue
fordecodedInputs
/decodedOutputs
by @Jon-Becker in #474 - perf: use
hashbrown
forHashMap
andHashSet
by @Jon-Becker in #476 - chore(meta): bump version to 0.8.4 by @Jon-Becker in #478
- chore(vm): add vm benchmarking by @Jon-Becker in #480
- perf(vm): space efficient opcode implementations by @Jon-Becker in #481
- perf(vm): general performance/space improvements by @Jon-Becker in #482
Full Changelog: 0.8.3...0.8.4
0.8.3
What's Changed
- chore: separate
heimdall-vm
fromheimdall-common
by @Jon-Becker in #424 - chore(tests): tests to use
RPC_URL
,WS_RPC_URL
from env by @Jon-Becker in #427 - chore(tests): use criterion for benchmarks by @Jon-Becker in #428
- chore(tests): heavy integration to use large dataset by @Jon-Becker in #429
- fix(vm): fix overflows and panics within VM symbolic execution by @Jon-Becker in #432
- fix(tests): heavy integration tests runs w/ env by @Jon-Becker in #434
- fix(tests): heavy integration test debugging by @Jon-Becker in #436
- perf: remove redundant clones, cleanup by @Jon-Becker in #438
- meta(funding): add
FUNDING.json
by @Jon-Becker in #441 - perf(*): purge unnecessary
.clone()
s by @Jon-Becker in #442 - fix(decompile): handle tuple arguments correctly in ABI/source generation by @Jon-Becker in #443
- feat(decompile): simplify storage getter functions to
public
vars by @Jon-Becker in #446 - feat(decompile): proper constant, improved internal call decompilation by @Jon-Becker in #450
- chore:
ethers
->alloy
migration by @Jon-Becker in #454 - fix(vm): clamp memory offsets/sizes to sane values by @Jon-Becker in #466
- chore(meta): bump version to
0.8.3
by @Jon-Becker in #467
Full Changelog: 0.8.2...0.8.3
0.8.2
What's Changed
- chore(common): remove
cleanup.rs
, move logic to individual postprocessors by @Jon-Becker in #417 - feat(compiler): more accurate compiler detection via heuristics by @Jon-Becker in #419
- fix(decompile): change "bytes memory" to "bytes" in json abi output by @fala13 in #418
- refactor(evm): update
find_cast
return type toParamType
by @iankressin in #415 - chore(meta): bump version to
0.8.2
by @Jon-Becker in #420
Full Changelog: 0.8.1...0.8.2
0.8.1
What's Changed
- fix(decompile): skip invalid signatures where
sig.params.len() < analyzed_function.params.len()
by @Jon-Becker in #407
Full Changelog: 0.8.0...0.8.1
0.8.0
What's Changed
- fix(decode): if skip-resolving returns an
Err
, use fallback by @Jon-Becker in #266 - chore(cli): remove panicky
unwrap()
s, use Result<(), ..>` by @Jon-Becker in #267 - chore: remove
BYTECODE_REGEX
size cap, use operation agnostic logging by @Jon-Becker in #271 - fix(bytecode):
BYTECODE_REGEX
needs * by @Jon-Becker in #272 - fix(threading): dont unwrap,
tx.send()
willErr
iftimeout
is r… by @Jon-Becker in #273 - fix(vm): range underflow error by @jeffchen006 in #287
- feat(logging): abstract logging logic to macros by @iankressin in #302
- chore(common): hardening common,
.unwrap()
purge by @Jon-Becker in #283 - feat(tests): add nextest.toml for backoff by @Jon-Becker in #331
- chore(logger): abstract logging methods to macros by @Jon-Becker in #327
- feat: add mesc
--rpc-url
support by @sslivkoff in #320 - decode offline example with local selectors by @krakovia-evm in #333
- feat(vm): support for EIP-1153,
TSTORE
andTLOAD
by @Jon-Becker in #336 - fix(vm): clamp
U256
conversions to<type>::MAX
by @Jon-Becker in #338 - feat(decompile): support all contracts regardless of compiler by @Jon-Becker in #340
- fix(vm): clamp
CALLDATACOPY
offset & size to prevent vec overflow by @Jon-Becker in #345 - test(inspect): dont count
RpcError
as failure case by @Jon-Becker in #344 - fix(common): update openai model to
gpt-3.5-turbo-instruct
by @Jon-Becker in #350 - fix(decode): dont output trace if
--quiet
is set by @Jon-Becker in #351 - feat(logging): logging overhaul, use
tracing
andtracing-subscriber
by @Jon-Becker in #356 - feat(bifrost):
try
/catch
based build system update by @Jon-Becker in #358 - fix(snapshot): fail-fast if no selectors were found by @Jon-Becker in #359
- chore: fix typos by @xiaoxianBoy in #366
- meta: major crates refactor / rewrite by @Jon-Becker in #372
- Support Ws and Ipc providers by @fala13 in #369
- chore: cleanup, remove unused deps by @Jon-Becker in #395
- feat(vm): orphan branches which cause panics during symbolic execution by @Jon-Becker in #396
- feat(decompile): increased accuracy wrt return types, variable type inference by @Jon-Becker in #397
- feat(vm):
MCOPY
,BLOBHASH
,BLOBBASEFEE
,PREVRANDAO
support by @Jon-Becker in #398 - feat(decode): parse & decode constructor arguments from deployment bytecode by @Jon-Becker in #399
- chore(deps): bump to clap 4 by @DaniPopes in #400
- fix(decompile): only replace entire exprs with known variables by @Jon-Becker in #401
- meta: bump version to
0.8.0
by @Jon-Becker in #403 - perf(decode): improve
score_signature
heuristic by @Jon-Becker in #402
New Contributors
- @jeffchen006 made their first contribution in #287
- @sslivkoff made their first contribution in #320
- @krakovia-evm made their first contribution in #333
- @xiaoxianBoy made their first contribution in #366
- @fala13 made their first contribution in #369
- @DaniPopes made their first contribution in #400
Full Changelog: 0.7.3...0.8.0
0.7.3
What's Changed
- fix(symbolic-execution): add growth loop-detection heuristic by @Jon-Becker in #251
- feat(decompile): add support for
LOG0
anonymous events by @Jon-Becker in #255 - fix(symbolic-exec): break out of infinite
JUMP
loops by @Jon-Becker in #256 - feat(symbolic-execution): implement & utilize
run_with_timeout
by @Jon-Becker in #257 - feat(bifrost): add hacky nightly build system by @Jon-Becker in #258
- chore: remove panicky
unwrap()
s, useResult<(), ..>
by @Jon-Becker in #261 - fix(rpc): fix RPC backoff, add tests by @Jon-Becker in #263
Full Changelog: 0.7.2...0.7.3
0.7.2
What's Changed
- chore(ci): add
--nocapture
flag to heavy integration tests by @Jon-Becker in #238 - fix(inspect): fix panics within
wei_to_ether
,decode
by @Jon-Becker in #239 - feat: implement byte tracking in EVM memory by @jmcph4 in #242
- chore(decode): cleanup decode, simplify logic, add comments by @Jon-Becker in #245
- chore:
heimdall-common
replacements by @iankressin in #241 - chore(build): bump version to 0.7.2 by @Jon-Becker in #248
New Contributors
Full Changelog: 0.7.1...0.7.2
0.7.1
What's Changed
- feat(inspect):
--skip-resolving
flag,--transpose-api-key
fixes by @Jon-Becker in #234
Full Changelog: 0.7.0...0.7.1
0.7.0
What's Changed
- chore(logging): use macro
debug_max!(..)
throughout codebase by @Jon-Becker in #215 - feat(cli): add
--name
flag by @PraneshASP in #182 - fix(evm): SHL/SHR
shift > 255
check must come before operation by @Jon-Becker in #220 - feat(resources): add exponential backoff to
call_transpose
by @Jon-Becker in #225 - feat:
inspect
transaction inspection module by @Jon-Becker in #221 - refactor(snapshot): code split by @iankressin in #198
New Contributors
- @PraneshASP made their first contribution in #182
Full Changelog: 0.6.5...0.7.0
0.6.5
What's Changed
- feat(meta): overhaul github actions, templates by @Jon-Becker in #168
- feat(meta): stabilize tests, use nextest for workflows by @Jon-Becker in #171
- perf(logging): impl Default for Logger, add timestamp to messages by @Jon-Becker in #170
- feat(meta): add daily heavy-integration.yml workflow by @Jon-Becker in #172
- chore(meta): improve documentation, comments, doctests for dx by @Jon-Becker in #173
- fix(ci): add issue template to todo.yml workflow by @Jon-Becker in #176
- feat(snapshot): sort selectors ascending by @iankressin in #184
- feat: separate outputs by chain by @iankressin in #185
- fix(snapshot): add partial bitwise masking case exclusion by @Jon-Becker in #191
- feat(cli): add
--output
flag by @solidoracle in #189 - perf(cli): use
less
for--output print
handling by @Jon-Becker in #196 - feat(rpc): add exponential backoff to rpc methods by @Jon-Becker in #197
- chore: deprecate etherface, switch to openchain by @Jon-Becker in #205
- feat(decode): fallback to calldata type guessing by @Jon-Becker in #188
- chore(build): bump version to 0.6.5 by @Jon-Becker in #214
New Contributors
- @iankressin made their first contribution in #184
- @solidoracle made their first contribution in #189
Full Changelog: 0.6.4...0.6.5