Releases: Jon-Becker/heimdall-rs
Releases · Jon-Becker/heimdall-rs
0.8.5
What's Changed
- fix(dump): rpc sanity check for
trace_replayBlockTransactions
by @Jon-Becker in #491 - fix(decompile): safe array access when building abi by @Jon-Becker in #492
- chore(examples): add python example by @Jon-Becker in #493
- chore: update
README.md
by @Jon-Becker in #494 - chore(readme): update academic citations section by @becker-charles in #497
- chore(deps): alloy 0.3.3 by @fala13 in #498
- chore(readme): update academic citations by @Jon-Becker in #505
- qol(bifrost): ensure
build-essential
andlibssl-dev
are installed on linux machines by @Jon-Becker in #510 - feat: allow for loading/caching known
--abi
for improved signature resolution by @Jon-Becker in #516 - fix:
--abi
should default toNone
by @Jon-Becker in #517 - feat(decompile): resolve external calls, simplify internal logic around external calls by @Jon-Becker in #507
- fix(decode): respect
skip_resolving
ininspect
anddecompile
mods by @Jon-Becker in #527 - feat(decompile): experimental LLM postprocessing by @Jon-Becker in #529
- chore(meta): bump version to 0.8.5 by @Jon-Becker in #530
- feat(decompile): default
openai_api_key
to configured value if empty by @Jon-Becker in #531 - perf(decompile): harden llm postprocessing, will not hard error by @Jon-Becker in #532
New Contributors
- @becker-charles made their first contribution in #497
Full Changelog: 0.8.4...0.8.5
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