Releases: bluealloy/revm
revm: v3.1.0
Main changes can be summarizes in:
- f91d5f9 - refactor: remove gas blocks (#391) (5 weeks ago)
- removal of gas block allowed us to have more compact analysis data. Gas block from beginning didn't have big impact on performance but introduced not intuitive gas calculations that was
source of some bugs.
- removal of gas block allowed us to have more compact analysis data. Gas block from beginning didn't have big impact on performance but introduced not intuitive gas calculations that was
- 08ce847 - feat(Shanghai): All EIPs: push0, warm coinbase, limit/measure initcode (#376) (7 weeks ago)
- revm is Shanghai ready
- afc3066 - fix(db): preserve existing account state (#414) (4 weeks ago)
- There wasone bug inside CacheDB that was here for a long time, and would happen only if
selfdestruct/create2 is called in multiple transaction on same account on same cache data.
- There wasone bug inside CacheDB that was here for a long time, and would happen only if
- 92f08be - feat: json opcode traces EIP-3155 (#356) (7 weeks ago)
What's Changed
- feat: Different OutOfGas Error types by @chirag-bgh in #354
- chore(deps): bump proptest from 1.0.0 to 1.1.0 by @dependabot in #358
- chore(deps): bump serde_json from 1.0.91 to 1.0.92 by @dependabot in #357
- improvement: implement State for Arc by @Wodann in #360
- improvement: implement BlockHash for Arc by @Wodann in #361
- Use gas price in place of effective gas price for initial balance check by @gd-0 in #359
- improvement: add error details to InvalidTransaction::LackOfFundForGasLimit by @Wodann in #364
- feat: implement Debug for DatabaseComponentError if supported by @Wodann in #363
- improvement: use alloc & core for Arc impl by @Wodann in #367
- chore: rename Then to Than by @mattsse in #368
- fix: call create_end for all code paths by @Wodann in #362
- chore(deps): bump serde_json from 1.0.92 to 1.0.93 by @dependabot in #365
- chore(deps): bump bytes from 1.3.0 to 1.4.0 by @dependabot in #355
- chore(deps): bump futures from 0.3.25 to 0.3.26 by @dependabot in #353
- chore(deps): bump tokio from 1.24.2 to 1.25.0 by @dependabot in #352
- add no_std to primitives by @rakita in #366
- feat(Shanghai): All EIPs: push0, warm coinbase, limit/measure initcode by @rakita in #376
- fix: using pop_top instead of pop in eval_exp by @flyq in #379
- Add B160/B256 From primitive_types traits by @ufoscout in #380
- improvement: derive Debug for DatabaseComponentError by @Wodann in #377
- chore(deps): bump once_cell from 1.17.0 to 1.17.1 by @dependabot in #378
- Trace json by @pistomat in #356
- chore: fix compilation if serde not enabled by @rakita in #381
- impl NonceTooHigh/ NonceTooLow checks by @gd-0 in #383
- feat: add EVM::with_env by @mattsse in #385
- Add copyright start year by @sandakersmann in #387
- refactor: remove gas blocks by @onbjerg in #391
- chore(deps): bump tokio from 1.25.0 to 1.26.0 by @dependabot in #395
- feat: add API to retrieve unpadded bytecode by @Wodann in #397
- feat: add b256<->u256 from impls by @mattsse in #398
- feat: Add check for chainID by @chirag-bgh in #393
- chore: fix typo StorageChange by @mattsse in #403
- Update readme doc of
perf_analyse_created_bytecodes
by @rakita in #404 - feat: extend SuccessOrHalt by @mattsse in #405
- feat: use singular bytes for the jumpmap by @onbjerg in #402
- chore: add display impl for OpCode by @mattsse in #406
- chore: add primitive SpecId to precompile SpecId conversion by @mattsse in #408
- chore: enabled primtive default feature in precompile by @mattsse in #409
- feat: add contract+target to selfdestruct hook by @mattsse in #410
- fix(interpreter): halt on
CreateInitcodeSizeLimit
by @rkrasiuk in #412 - feat: Add all internals results to Halt by @rakita in #413
- fix(db): preserve existing account state by @rkrasiuk in #414
- feat: add Output::into_data by @mattsse in #420
- chore(deps): bump serde from 1.0.152 to 1.0.157 by @dependabot in #423
- chore(deps): bump serde_json from 1.0.93 to 1.0.94 by @dependabot in #401
- chore(deps): bump futures from 0.3.26 to 0.3.27 by @dependabot in #416
- chore(deps): bump enumn from 0.1.6 to 0.1.8 by @dependabot in #422
- chore(deps): bump thiserror from 1.0.38 to 1.0.40 by @dependabot in #421
- Update README.md - Add arbiter by @0xJepsen in #424
- chore(deps): bump secp256k1 from 0.26.0 to 0.27.0 by @dependabot in #429
- chore(deps): bump arbitrary from 1.2.3 to 1.3.0 by @dependabot in #428
- Comment Fix by @Kuly14 in #430
- Fix panic! message by @Kuly14 in #431
- chore(deps): bump serde from 1.0.157 to 1.0.158 by @dependabot in #425
- chore(deps): bump walkdir from 2.3.2 to 2.3.3 by @dependabot in #426
- chore(deps): bump serde_json from 1.0.94 to 1.0.95 by @dependabot in #434
- add feature for ignoring base fee check by @Rjected in #436
- Improve EthersDB::new by @wtdcode in #440
- chore: Bump libs by @rakita in #443
New Contributors
- @chirag-bgh made their first contribution in #354
- @pistomat made their first contribution in #356
- @sandakersmann made their first contribution in #387
- @rkrasiuk made their first contribution in #412
- @0xJepsen made their first contribution in #424
- @Kuly14 made their first contribution in #430
- @Rjected made their first contribution in #436
- @wtdcode made their first contribution in #440
Full Changelog: v20...v21
revm v3.0.0
date 29.01.2022
project versions:
- revm: v3.0.0
- revm-precompile: v2.0.0
- revm-primitives: v1.0.0
- revm-interpreter: v1.0.0
This is big release that has core changes that breaks compatibility. In summary:
- Project is refactored into
revm-primitives
,revm-precompile
,revm-interpreter
andrevm
to have more flexibility and separation of concerns. And include paths inrevm
reflect that. So try to find include as revm::primitives or revm::interpreter - Parity
primitive-types
was replaced withruint
for big numbers and subset of macros are used for nativeB160
/B256
types. - Interpreter instructions are unified and now all of them have same signature.
- web3 db was replaces with ethers alternative.
revmjs
lib was removed from crates.revm_precompiles
was renamed torevm-precompile.
- Return types are made to have more insight of what have happened inside
revm
. - Snailtracer benchmark got around 20% faster.
Github Changelog:
dc9818f - (HEAD -> o/bump, origin/bump_v20) Bump v20 (13 hours ago)
75ef0f1 - (origin/main, origin/HEAD) feat: Staticcall internal return (#349) (13 hours ago)
0194b37 - (t) fix bug introduced in last commit (13 hours ago)
7b00f32 - Cleanup imports (#348) (14 hours ago)
c14d7ea - fix: enable the examples to run with the current revm (#347) (16 hours ago)
329fd94 - Wrap all calls to interpreter.gas.erase_cost with checks if USE_GAS is enabled (#346) (2 days ago)
72355f4 - improvement: add logs & return value to revert (#343) (3 days ago)
142a1c9 - expose hashbrown::HashMap in primitives (#345) (3 days ago)
ba393d7 - fix: disable balance check (#342) (4 days ago)
876fad1 - refactor: simplify DatabaseComponentError (#339) (6 days ago)
81534ad - chore: includes to libs (#338) (7 days ago)
e2f4d32 - Creating revm-primitives, revm better errors and db components (#334) (10 days ago)
de83db6 - fix: feature flags (#330) (2 weeks ago)
b60269c - revm: mark with-serde feature as deprecated (#328) (2 weeks ago)
63bf475 - make load_account pub (#325) (3 weeks ago)
0ef0197 - Cleanup, move hot fields toggether in Interpreter (#321) (3 weeks ago)
81942d6 - enable proptest with arbitrary feature (#323) (3 weeks ago)
2be3798 - feat: revm-interpreter created (#320) (3 weeks ago)
7e98fef - fix: feature flag compiler errors (#256) (5 weeks ago)
488ef8a - Add example for fork + ref_transact impl (#296) (6 weeks ago) <0xDmtri>
56e6c22 - feat: allow disabling of balance checks (#297) (6 weeks ago)
8661467 - feat: Export CustomPrinter insector from revm (#300) (6 weeks ago)
222b8e9 - feature: substitute web3db to ethersdb (#293) (6 weeks ago) <0xDmtri>
fd01083 - feature(revm): Return bytes in Create calls (#289) (7 weeks ago)
2fb0933 - docs: Correct typo (#282) (7 weeks ago)
90fe01e - feat(interpreter): Unify instruction fn signature (#283) (7 weeks ago)
54e0333 - bug: Integer overflow while calculating the remaining gas in GasInspector (#287) (8 weeks ago)
acdbaac - native bits (#278) (8 weeks ago)
69e302b - feat(revm): Add prevrandao field to EnvBlock (#271) (2 months ago)
d1703cd - Export StorageSlot (#265) (3 months ago) <Francesco Cinà>
560bb03 - Fix: typos (#263) (3 months ago)
369244e - feat(refactor): make keccak in one place. (#247) (3 months ago)
c96c878 - feat: Migrate primitive_types::U256 to ruint::Uint<256, 4> (#239) (3 months ago)
New Contributors
- @Owen66 made their first contribution in #245
- @gd-0 made their first contribution in #259
- @ufoscout made their first contribution in #244
- @pcy190 made their first contribution in #263
- @rzadp made their first contribution in #282
- @0xDmtri made their first contribution in #293
- @Evalir made their first contribution in #328
- @andy-thomason made their first contribution in #345
- @ckoopmann made their first contribution in #346
- @flyq made their first contribution in #347
Full Changelog: v19...v20
tag v15: revm 2.0, precompiles v1.1.1
What's Changed
- Optimize calldataload. Some cleanup by @rakita in #168
- revm/evm: Return
ExecutionResult
, which includesgas_refunded
by @ngotchac in #169 - revm: Update account storage methods in CacheDB by @ngotchac in #171
- fix: set gas_block to empty bytecode by @rakita in #172
- chore(deps): bump serde from 1.0.140 to 1.0.143 by @dependabot in #166
- chore(deps): bump thiserror from 1.0.31 to 1.0.32 by @dependabot in #163
- chore(deps): bump serde_json from 1.0.82 to 1.0.83 by @dependabot in #162
- JournaledState by @rakita in #175
- Handle HighNonce tests by @rakita in #176
- chore(deps): bump k256 from 0.11.3 to 0.11.4 by @dependabot in #174
- chore(deps): bump futures from 0.3.21 to 0.3.23 by @dependabot in #173
- refactor(precompiles): Vec -> BTreeMap by @shekhirin in #177
- refactor(revm): use
u64
for gas refund counter by @shekhirin in #180 - feat(revm): more default trait implementations by @shekhirin in #181
- fix(revm): Fix balance overflow in
finalize
by @ngotchac in #182 - fix: Use
saturating_add
instead ofchecked_add
infinalize
by @ngotchac in #184 - chore(deps): bump serde from 1.0.143 to 1.0.144 by @dependabot in #178
- chore(deps): bump serde_json from 1.0.83 to 1.0.85 by @dependabot in #179
- Expose Ethereum test utilities in revme crate by @sveitser in #185
- Revert "refactor(revm): use u64 for gas refund counter (#180)" by @rakita in #187
- chore(ci): use ethtests profile for CI tests by @shekhirin in #188
- feat: expose hash on
BytecodeLocked
by @onbjerg in #189 - chore: export JournaledState by @mattsse in #190
- Add support for old forks. by @rakita in #191
- Cache precompile HashMap by @rakita in #192
- reexport revm_precompiles as precompiles by @mattsse in #197
- use Infallible for memory db's error type by @mattsse in #196
- chore(deps): bump sha2 from 0.10.2 to 0.10.3 by @dependabot in #195
- chore: add some derives for precompiles by @mattsse in #199
- chore(deps): bump once_cell from 1.13.0 to 1.13.1 by @dependabot in #193
- chore(deps): bump thiserror from 1.0.32 to 1.0.33 by @dependabot in #198
- chore(deps): bump futures from 0.3.23 to 0.3.24 by @dependabot in #194
- fix: make DatabaseRef::basic consistent with Database by @rakita in #201
- revme some cleanup by @rakita in #202
- chore(deps): bump sha2 from 0.10.3 to 0.10.5 by @dependabot in #203
- Cargo sort. Bump lib versions by @rakita in #208
- chore: export create address calls by @mattsse in #209
- Cfg choose create analysis, option on bytecode size limit by @rakita in #210
- current_opcode fn and rename program_counter to instruction_pointer by @rakita in #211
- Do gas calculation using u64 and not U256 by @rakita in #213
- revm bump v2.0.0, precompile bump v1.1.1 by @rakita in #212
New Contributors
- @ngotchac made their first contribution in #169
- @shekhirin made their first contribution in #177
- @sveitser made their first contribution in #185
Full Changelog: v14...v15
v11 - revm 1.6.0
I didn't do this in a while on Github.
You can check CHANGELOG.md
for global changes or evm related CHANGELOG.md
. Other then revm
, precompiles got updated in v6
and stabilized to v1.0.0
Commits from v5
to v11
:
- [precompiles] remove unused borsh by @rakita in #43
- Inspector fixup by @onbjerg in #46
- propagate the back the error parsing k256 ecrecover by @ntrippar in #50
- Comment unsafe. Introduce pop_top by @rakita in #51
- fix: make
*_ref
functions take&self
by @onbjerg in #53 - fix: export
Filth
by @onbjerg in #54 - fix: export missing machine structs by @onbjerg in #55
- feat: implement
DatabaseRef
forCacheDB
by @onbjerg in #56 - refactor: improve inspector ergonomics by @onbjerg in #57
- Refactor by @rakita in #52
- bump dependencies by @rakita in #63
- Bump getrandom from 0.2.3 to 0.2.5 by @dependabot in #60
- Bump futures from 0.3.17 to 0.3.21 by @dependabot in #64
- Bump ripemd from 0.1.0 to 0.1.1 by @dependabot in #66
- chore: turn off default features for zkp-u256 by @gakonst in #68
- Bump num_enum from 0.5.6 to 0.5.7 by @dependabot in #70
- Bump sha3 from 0.10.0 to 0.10.1 by @dependabot in #67
- Bump secp256k1 from 0.21.2 to 0.21.3 by @dependabot in #65
- fix: various inspector fixes by @onbjerg in #69
- feat: cache block hashes by @onbjerg in #71
- feat: call insp end functions on early return by @onbjerg in #73
- Bump secp256k1 from 0.21.3 to 0.22.0 by @dependabot in #72
- [revm] is_push optimization by @rakita in #76
- Bump k256 from 0.10.2 to 0.10.3 by @dependabot in #75
- Bump secp256k1 from 0.22.0 to 0.22.1 by @dependabot in #74
- Tests by @rakita in #78
- chore: do not pin k256 patch version by @gakonst in #81
- bump k256 to 0.10.4 by @gakonst in #82
- Gas fixes by @onbjerg in #83
- feat: mutable call inputs by @onbjerg in #84
- feat:
Inspector::log
by @onbjerg in #85 - feat: add some PartialEq derives by @mattsse in #90
- feat: add serde support to model types by @mattsse in #91
- Various fixes by @onbjerg in #93
- fix: impose a memory limit by @onbjerg in #86
- Update AccountInfo#code documentation by @alcuadrado in #94
- Bump getrandom from 0.2.5 to 0.2.6 by @dependabot in #95
- chore: refactor to exact option combinators by @huitseeker in #96
- Rework analysis by @rakita in #89
- chore: fix readme typo by @Pet3ris in #98
- chore: add missing derives by @mattsse in #102
- cargo clippy/fmt to nightly by @rakita in #103
- [revm] is_static for Inspector initialize_interp by @rakita in #109
- chore: typo fixes by @guanqun in #110
- empty keccak constant and remove access_list.clone by @joshieDo in #111
- fix: BLOCKHASH should return 0 if number not in last 256 blocks by @wardbradt in #112
- chore(deps): bump thiserror from 1.0.30 to 1.0.31 by @dependabot in #105
- chore(deps): bump serde from 1.0.136 to 1.0.137 by @dependabot in #107
- chore(deps): bump serde_json from 1.0.79 to 1.0.81 by @dependabot in #108
- chore(deps): bump js-sys from 0.3.56 to 0.3.57 by @dependabot in #100
- chore(deps): bump wasm-bindgen from 0.2.79 to 0.2.80 by @dependabot in #101
- chore(deps): bump hashbrown from 0.12.0 to 0.12.1 by @dependabot in #113
- feat: add getters for cachedb by @mattsse in #119
- chore(clippy): make clippy happy by @mattsse in #120
- chore(deps): bump auto_impl from 0.5.0 to 1.0.1 by @dependabot in #118
- chore: export evm_inner by @mattsse in #122
- chore(deps): bump parking_lot from 0.12.0 to 0.12.1 by @dependabot in #116
- Consensus error with gas block for SSTORE stipend check by @rakita in #124
- enable EIP2200 in Istanbul by @rakita in #125
- feat: add ord derives to specid by @mattsse in #127
- feat: add Subroutine debug clone derive by @mattsse in #128
- don't delete account and storage entries on commit by @mattsse in #126
- test: update statetest model to pass merge tests by @mattsse in #133
- chore(deps): bump secp256k1 from 0.22.1 to 0.23.1 by @dependabot in #137
- Return specific
Return
statuses inCALL
s by @meetmangukiya in #136 - Introduce account Touched/Cleared/None state in CacheDB by @rakita in #140
- chore(deps): bump secp256k1 from 0.23.1 to 0.23.3 by @dependabot in #139
- chore(deps): bump getrandom from 0.2.6 to 0.2.7 by @dependabot in #129
- chore(deps): bump wasm-bindgen from 0.2.80 to 0.2.81 by @dependabot in #130
- chore(deps): bump js-sys from 0.3.57 to 0.3.58 by @dependabot in #131
- chore(deps): bump serde from 1.0.137 to 1.0.138 by @dependabot in #141
- chore(deps): bump serde_json from 1.0.81 to 1.0.82 by @dependabot in #142
- bump k256 by @rakita in #143
New Contributors
- @ntrippar made their first contribution in #50
- @dependabot made their first contribution in #60
- @alcuadrado made their first contribution in #94
- @huitseeker made their first contribution in #96
- @Pet3ris made their first contribution in #98
- @guanqun made their first contribution in #110
- @joshieDo made their first contribution in #111
- @wardbradt made their first contribution in #112
- @meetmangukiya made their first contribution in #136
Full Changelog: v5...v11