All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
5.0.0 - 2024-03-08
- (precompile) add a bool to bytes32 helper function (#1170)
- precompile with generic context (#1155)
- Add boxed precompile trait (#1131)
4.1.0 - 2024-02-22
- bump c-kzg, add portable feature, make it default (#1106)
- clippy cleanup (#1112)
4.0.1 - 2024-02-17
- rename and pass optimism-default-handler to revm-primitives (#1098)
4.0.0 - 2024-02-12
- (precompile) don't allocate if padding is not needed (#1075)
- (precompile) simplify bn128 precompile implementations (#1074)
- (precompile) make use of padding utilities, simplify secp256k1 (#1073)
- precompile bn128 copy (#1071)
- (revm) Add helpers to Build Revm with Context (#1068)
3.0.0 - 2024-02-07
Precompiles are refactored from list to HashMap, this allows adding arbitrary precompiles to the list.
- (op) Ecotone hardfork (#1009)
- EvmBuilder and External Contexts (#888)
- add asm-keccak feature (#972)
Canyon
hardfork behindoptimism
feature flag (#871)- (interpreter) add more helper methods to memory (#794)
- (precompile) use Aurora modexp lib. (#769)
- derive more traits (#745)
- (ci) Workflow Touchups (#901)
- bump c-kzg and enable blst portable feature (#1059)
- (deps) bump secp256k1 from 0.28.1 to 0.28.2 (#1038)
- (Cancun) update Cancun precompiles docs (#1015)
- (log) use alloy_primitives::Log (#975)
- (deps) bump k256 from 0.13.2 to 0.13.3 (#959)
- (deps) bump secp256k1 from 0.28.0 to 0.28.1 (#954)
- (deps) bump once_cell from 1.18.0 to 1.19.0 (#908)
- bump k256 and use normalize_s (#870)
- simplify use statements (#864)
- (precompiles) Make PrecompileWithAddress field public, from impl (#857)
- change addresses to iterator and add into_addresses (#855)
- bump c-kzg to v0.4.0 (#849)
- Refactor precompile list from Hash to vec (#823)
- (eip4844) update kzg trusted setup (#822)
- secp256k1 from 0.27 to 0.28 (#817)
- for now support 1.69 rust compiler (#814)
- document everything, dedup existing docs (#741)
date 02.10.2023
Migration to alloy primitive types.
Full git log:
- af4146a - feat: Alloy primitives (#724) (15 hours ago)
date 28.09.2023
Summary:
- Cancun EIP-4844 precompile. It is behind
c-kzg
that is enabled by default the reason is that c-kzg fails to build on wasm and some docker images. - no_std support
- small fixes to return out of gas for modepx and pairing precompiles.
Full git log:
- 4f916be - chore: bump c-kzg to create lib (#758) (5 hours ago)
- f79d0e1 - feat: Optimism execution changes (#682) (16 hours ago)
- b9938a8 - chore(deps): bump sha2 from 0.10.7 to 0.10.8 (#752) (30 hours ago) <dependabot[bot]>
- 8206193 - feat: add "kzg" as a separate feature (#746) (2 hours ago)
- 73f6ad7 - modexp gas check (#737) (24 hours ago)
- cb39117 - fix(eip4844): Pass eth tests, additional conditions added. (#735) (6 days ago)
- fa13fea - (lorenzo/main) feat: implement EIP-4844 (#668) (11 days ago)
- 175aaec - Removed the last dependencies breaking no-std build. (#669) (4 weeks ago)
- 0fa4504 - fix: pairing cost formula (#659) (4 weeks ago)
- eb6a9f0 - Revert "feat: alloy migration (#535)" (#616) (6 weeks ago)
- c1bad0d - chore: spell check (#615) (6 weeks ago)
- f95b7a4 - feat: alloy migration (#535) (6 weeks ago)
- 5cdaa97 - chore: avoid unnecessary allocations (#581) (6 weeks ago)
- 30bfa73 - fix(doc): Inline documentation of re-exports (#560) (9 weeks ago)
date: 03.05.2023
Bump revm primitives.
date: 14.04.2023
- b2c5262 - fix: k256 compile error (#451) (7 days ago)
date: 04.04.2023
Small changes
Changelog:
- 992a11c - (HEAD -> v/310, origin/lib_versions) bump all (89 minutes ago)
- d935525 - chore(deps): bump secp256k1 from 0.26.0 to 0.27.0 (#429) (2 weeks ago) <dependabot[bot]>
- f2656b7 - chore: add primitive SpecId to precompile SpecId conversion (#408) (4 weeks ago)
date: 29.01.2023
Renamed to revm-precompiles
from revm_precompiles
date: 22.11.2022
Bump dependency versions.
date: 06.09.2022
Small release:
- refactor(precompiles): Vec -> BTreeMap (#177) (3 weeks ago)
- Cache precompile map with once_cell
- Bump dependencies version
date: 11.06.2022
Small release:
- Bump k256,secp256 libs
- rename Byzantine to Byzantium
date: 30.04.2022
Promoting it to stable version, and i dont expect for precompiles to change in any significant way in future.
- propagate the back the error of Signature::try_from. Thanks to: Nicolas Trippar
- Updating dependency versions: secp256k1, k256,primitive_types
date: 20.1.2022
- Added feature for k256 lib. We now have choise to use bitcoin c lib and k256 for ecrecovery.
- switch stacks H256 with U256
- Error type is changed to
Return
in revm so it is in precompiles.
Removed parity-crypto and use only needed secp256k1 lib. Added ecrecover
feature to allow dissabling it for wasm windows builds.
Initial version.