-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Multiple Native Tokens [STALE] #148
Closed
Closed
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
PaulRBerg
force-pushed
the
feat/multiple-native-tokens
branch
2 times, most recently
from
May 24, 2024 19:17
9fe36fe
to
47f2369
Compare
feat: mint opcode (WIP) feat(primitives): reject tx if account lacks native assets feat(primitives): do not validate tx by base asset twice feat(primitives): reject txs with duplicate asset ids * refactor(primitives): make enum names more suggestive Add docs to `optimism` `InvalidTransaction` errors. (#884) feat(primitives): remove `tx.value` in favor of `tx.asset_values` refactor: format the code and fix build issues fix: resolve the build issues refactor: follow the Clippy suggestions fix: resolve build issues in tests refactor: fix case for CreateInitCodeSizeLimit error refactor: fix case for CreateInitCodeSizeLimit error (#896) chore(docs): Update top-level benchmark docs (#894) refactor(primitives): use the default value from AccountInfo refactor(revm): leverage StorageSlot methods, where appropriate refactor(primitives): simplify the AccountInfo comparison feat(primitives): adapt AccountInfo hashing to MNAs fix(ci): Workflow Touchups (#901) * fix(ci): github workflow touchups with rustdocs * fix(ci): remove unknown msrv chore(docs): revme readme update (#898) chore(deps): bump alloy-primitives from 0.5.0 to 0.5.2 (#900) Bumps [alloy-primitives](https://github.com/alloy-rs/core) from 0.5.0 to 0.5.2. - [Release notes](https://github.com/alloy-rs/core/releases) - [Changelog](https://github.com/alloy-rs/core/blob/main/CHANGELOG.md) - [Commits](https://github.com/alloy-rs/core/compare/v0.5.0...v0.5.2) --- updated-dependencies: - dependency-name: alloy-primitives dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> feat(revm): Evm Context Tests and test-utils Feature (#903) * feat(revm): evm context tests and test-utils * feat(revm): more evm context tests * fix(revm): clippy nits refactor(revm): leverage StorageSlot methods, where appropriate (#899) chore(deps): bump hashbrown from 0.14.2 to 0.14.3 (#885) Bumps [hashbrown](https://github.com/rust-lang/hashbrown) from 0.14.2 to 0.14.3. - [Changelog](https://github.com/rust-lang/hashbrown/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-lang/hashbrown/compare/v0.14.2...v0.14.3) --- updated-dependencies: - dependency-name: hashbrown dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> feat(examples): generate block traces (#895) feat: add serde derives for `CacheDB` under "serde" flag (#911) * add: serde derives under flag * add: serde traits to `EmptyDBTyped` * test: `CacheDB` serialization + deserialization feat: add some conversions to InstructionResult (#910) chore(docs): Update the benchmark docs to point to revm package (#906) benchmarks. feat(revm): implement prepend_state for BundleState (#907) * feat(revm): implement prepend_state for BundleState * refactor(revm): implement extend_state for BundleState * fix(revm): format for ci * refactor(revm): ci chore(deps): bump thiserror from 1.0.50 to 1.0.51 (#915) Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.50 to 1.0.51. - [Release notes](https://github.com/dtolnay/thiserror/releases) - [Commits](https://github.com/dtolnay/thiserror/compare/1.0.50...1.0.51) --- updated-dependencies: - dependency-name: thiserror dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> chore(deps): bump tokio from 1.34.0 to 1.35.0 (#909) Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.34.0 to 1.35.0. - [Release notes](https://github.com/tokio-rs/tokio/releases) - [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.34.0...tokio-1.35.0) --- updated-dependencies: - dependency-name: tokio dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> chore(deps): bump once_cell from 1.18.0 to 1.19.0 (#908) Bumps [once_cell](https://github.com/matklad/once_cell) from 1.18.0 to 1.19.0. - [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md) - [Commits](https://github.com/matklad/once_cell/compare/v1.18.0...v1.19.0) --- updated-dependencies: - dependency-name: once_cell dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> chore(deps): bump alloy-primitives from 0.5.2 to 0.5.3 (#914) Bumps [alloy-primitives](https://github.com/alloy-rs/core) from 0.5.2 to 0.5.3. - [Release notes](https://github.com/alloy-rs/core/releases) - [Changelog](https://github.com/alloy-rs/core/blob/main/CHANGELOG.md) - [Commits](https://github.com/alloy-rs/core/compare/v0.5.2...v0.5.3) --- updated-dependencies: - dependency-name: alloy-primitives dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> perf(primitives): optimize AccountInfo.is_empty() This is a small optimization for AccountInfo.is_empty() with regards to the short-circuiting of bool operators in Rust. refactor(primitives): remove the unused AccountInfo methods refactor(primitives): reuse code in AccountInfo fix(primitives): incorrect use of the cfg attribute perf(primitives): optimize Env.validate_tx() chore(interpreter): conditionally enable `optional_beneficiary_reward` - enable the `optional_beneficiary_reward` feature automatically when the `dev` feature is enabled. docs(interpreter): fix the name of the macro referenced by record_memory() perf(primitives): optimize AccountInfo.is_empty() (#922) * perf(primitives): optimize AccountInfo.is_empty() This is a small optimization for AccountInfo.is_empty() with regards to the short-circuiting of bool operators in Rust. * fix(primitives): incorrect use of the cfg attribute fix(primitives): incorrect use of the cfg attribute (#923) chore(interpreter): conditionally enable `optional_beneficiary_reward` (#925) - enable the `optional_beneficiary_reward` feature automatically when the `dev` feature is enabled. docs(interpreter): fix the name of the macro referenced by record_memory() (#926) chore(deps): bump tokio from 1.35.0 to 1.35.1 (#920) Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.35.0 to 1.35.1. - [Release notes](https://github.com/tokio-rs/tokio/releases) - [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.35.0...tokio-1.35.1) --- updated-dependencies: - dependency-name: tokio dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> chore(deps): bump anyhow from 1.0.75 to 1.0.76 (#921) Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.75 to 1.0.76. - [Release notes](https://github.com/dtolnay/anyhow/releases) - [Commits](https://github.com/dtolnay/anyhow/compare/1.0.75...1.0.76) --- updated-dependencies: - dependency-name: anyhow dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> chore(deps): bump alloy-rlp from 0.3.3 to 0.3.4 (#928) Bumps [alloy-rlp](https://github.com/alloy-rs/rlp) from 0.3.3 to 0.3.4. - [Changelog](https://github.com/alloy-rs/rlp/blob/main/CHANGELOG.md) - [Commits](https://github.com/alloy-rs/rlp/compare/v0.3.3...v0.3.4) --- updated-dependencies: - dependency-name: alloy-rlp dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> chore(deps): bump futures from 0.3.29 to 0.3.30 (#927) Bumps [futures](https://github.com/rust-lang/futures-rs) from 0.3.29 to 0.3.30. - [Release notes](https://github.com/rust-lang/futures-rs/releases) - [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) --- updated-dependencies: - dependency-name: futures dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> chore(deps): bump thiserror from 1.0.51 to 1.0.52 (#929) Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.51 to 1.0.52. - [Release notes](https://github.com/dtolnay/thiserror/releases) - [Commits](https://github.com/dtolnay/thiserror/compare/1.0.51...1.0.52) --- updated-dependencies: - dependency-name: thiserror dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> chore: relax Bytes requirement and use slice instead (#937) fix: make revm-primitives no-std with c-kzg feature (#933) refactor(interpreter): minor optimizations feat(ethersdb): propagate errors instead of panicking in basic_ref (#935) chore(deps): bump alloy-primitives from 0.5.3 to 0.5.4 (#934) Bumps [alloy-primitives](https://github.com/alloy-rs/core) from 0.5.3 to 0.5.4. - [Release notes](https://github.com/alloy-rs/core/releases) - [Changelog](https://github.com/alloy-rs/core/blob/main/CHANGELOG.md) - [Commits](https://github.com/alloy-rs/core/compare/v0.5.3...v0.5.4) --- updated-dependencies: - dependency-name: alloy-primitives dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> BREAKING CHANGE: deprecate SELFDESTRUCT feat(ci) #797: Comment output of cachegrind in PR (#932) * ci: adding cachegrind to PRs! * ci: making it trigger everytime a PR opens and a comment is made * ci: simplifying run rules * ci: making it work * ci: triggering again to see * ci: fixing arguments * ci: installing valgrind * ci: installing cg_annotate * ci: playing around a bit more * ci: this should get the first working comment * ci: this should get the first working comment (1) * ci: this should get the first working comment (2 :P) * ci: this should get the first working comment (3 :P) * ci: trying again lol * ci: trying again lol * ci: trying again lol * ci: trying again lol * ci: trying again lol * ci: trying again lol * ci: debugging * ci: debugging * ci: debugging * ci: debugging * ci: debugging * ci: debugging * ci: debugging * ci: debugging * ci: debugging * ci: debugging * ci: debugging * ci: debugging * ci: debugging * ci: sigh * ci: sigh * ci: sigh * ci: sigh * ci: sigh * ci: sigh * ci: sigh * ci: sigh * ci: sigh * ci: sigh * ci: sigh * ci: sigh * ci: sigh * ci: sigh * ci: sigh * ci: sigh * ci: sigh * ci: sigh * ci: sigh * ci: sigh * ci: sigh * ci: sigh * ci: sigh * ci: sigh * ci: sigh * ci: sigh * ci: sigh * ci: sigh * ci: sigh * ci: sigh * ci: sigh * ci: sigh * ci: sigh * ci: sigh * ci: sigh * ci: sigh * ci: sigh * ci: sigh * ci: sigh * ci: sigh * ci: sigh * ci: removing garbage * ci: adding edit last flag * ci: testing around with no previous comment edge case * ci: testing with permissions * ci: giving workflow further more permissions * ci: testing workflow refactor(interpreter): simplify the logic of calc.new_cost() refactor: implement TransferredAsset refactor(interpreter): simplify the logic of calc.new_cost() (#939) refactor(primitives): improve readability of Env.validate_tx() fix(primitives): Serialize trait for TransferredAsset refactor(primitives): improve readability of Env.validate_tx() (#924) fix(test): adapt tests to use TransferredAsset feat: charge gas for each Transferred Asset chore(deps): bump alloy-rlp from 0.3.3 to 0.3.4 (#944) Bumps [alloy-rlp](https://github.com/alloy-rs/rlp) from 0.3.3 to 0.3.4. - [Changelog](https://github.com/alloy-rs/rlp/blob/main/CHANGELOG.md) - [Commits](https://github.com/alloy-rs/rlp/compare/v0.3.3...v0.3.4) --- updated-dependencies: - dependency-name: alloy-rlp dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> chore(deps): bump enumn from 0.1.12 to 0.1.13 (#946) Bumps [enumn](https://github.com/dtolnay/enumn) from 0.1.12 to 0.1.13. - [Release notes](https://github.com/dtolnay/enumn/releases) - [Commits](https://github.com/dtolnay/enumn/compare/0.1.12...0.1.13) --- updated-dependencies: - dependency-name: enumn dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> chore(deps): bump thiserror from 1.0.50 to 1.0.55 (#947) Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.50 to 1.0.55. - [Release notes](https://github.com/dtolnay/thiserror/releases) - [Commits](https://github.com/dtolnay/thiserror/compare/1.0.50...1.0.55) --- updated-dependencies: - dependency-name: thiserror dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> chore(deps): bump serde_json from 1.0.108 to 1.0.110 (#949) Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.108 to 1.0.110. - [Release notes](https://github.com/serde-rs/json/releases) - [Commits](https://github.com/serde-rs/json/compare/v1.0.108...v1.0.110) --- updated-dependencies: - dependency-name: serde_json dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> chore(deps): bump anyhow from 1.0.77 to 1.0.79 (#950) Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.77 to 1.0.79. - [Release notes](https://github.com/dtolnay/anyhow/releases) - [Commits](https://github.com/dtolnay/anyhow/compare/1.0.77...1.0.79) --- updated-dependencies: - dependency-name: anyhow dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> chore(deps): bump secp256k1 from 0.28.0 to 0.28.1 (#954) Bumps [secp256k1](https://github.com/rust-bitcoin/rust-secp256k1) from 0.28.0 to 0.28.1. - [Changelog](https://github.com/rust-bitcoin/rust-secp256k1/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-bitcoin/rust-secp256k1/compare/secp256k1-0.28.0...secp256k1-0.28.1) --- updated-dependencies: - dependency-name: secp256k1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> chore(deps): bump thiserror from 1.0.55 to 1.0.56 (#953) Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.55 to 1.0.56. - [Release notes](https://github.com/dtolnay/thiserror/releases) - [Commits](https://github.com/dtolnay/thiserror/compare/1.0.55...1.0.56) --- updated-dependencies: - dependency-name: thiserror dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> ci(cachegrind): add PAT (#958) chore(deps): bump serde from 1.0.194 to 1.0.195 (#957) Bumps [serde](https://github.com/serde-rs/serde) from 1.0.194 to 1.0.195. - [Release notes](https://github.com/serde-rs/serde/releases) - [Commits](https://github.com/serde-rs/serde/compare/v1.0.194...v1.0.195) --- updated-dependencies: - dependency-name: serde dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> chore(deps): bump serde_json from 1.0.110 to 1.0.111 (#955) Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.110 to 1.0.111. - [Release notes](https://github.com/serde-rs/json/releases) - [Commits](https://github.com/serde-rs/json/compare/v1.0.110...v1.0.111) --- updated-dependencies: - dependency-name: serde_json dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Update cachegrind.yml add env (#960) chore(deps): bump k256 from 0.13.2 to 0.13.3 (#959) Bumps [k256](https://github.com/RustCrypto/elliptic-curves) from 0.13.2 to 0.13.3. - [Commits](https://github.com/RustCrypto/elliptic-curves/compare/k256/v0.13.2...k256/v0.13.3) --- updated-dependencies: - dependency-name: k256 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> refactor(interpreter): local return_error! macro (#956) * refactor(interpreter): local return_error! macro * add exhaustive check for return_ macros chore(deps): alloy 0.6 (#963) refactor(interpreter): consistency in all_results_are_covered() (#961) - export the return_error! macro to the crate level; - unite the 2 redundant match arms when initializing SuccessOrHalt from from InstructionResult; ci(cachegrind): pass action always (#965) refactor(interpreter): improve enum naming (#962) refactor(interpreter): consistency in all_results_are_covered() (#961) - export the return_error! macro to the crate level; - unite the 2 redundant match arms when initializing SuccessOrHalt from from InstructionResult; refactor(interpreter): improve enum naming (#962) feat: add asm-keccak feature (#972) chore(deps): bump ethers-core from 2.0.11 to 2.0.12 (#970) Bumps [ethers-core](https://github.com/gakonst/ethers-rs) from 2.0.11 to 2.0.12. - [Release notes](https://github.com/gakonst/ethers-rs/releases) - [Changelog](https://github.com/gakonst/ethers-rs/blob/master/CHANGELOG.md) - [Commits](https://github.com/gakonst/ethers-rs/commits) --- updated-dependencies: - dependency-name: ethers-core dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> fix: dont calculate initcode keccak on CREATE (#969) feat: EvmBuilder and External Contexts (#888) * rename main Evm structs, introduce wip external type * tests * Split evm and external context * continue previous commit * wip inspector handle register * add few more handlers for frame and host * Add instruction handle * add instruction handler registration and Inspector wrap * Rm Spec generic, more handlers, start factory * move towards the builder, allow EVM modify * wip on EvmBuilder and modify functionality * EvmBuilder with stages wip * Add wip stages for builer * make handle register simple function, add raw instruction table, split external data from registers * wip on simple builder functions and handler registry * Examples and cleanup * fix lifetime and fmt * Add more handlers, deduct caller, validate tx agains state * All handlers counted, started on docs, some cleanup * renaming and docs * Support all Inspector functionality with Handler * Handler restructured. Documentation added * more docs on registers * integrate builder, fmt, move optimism l1block * add utility builder stage functions * add precompiles, fix bugs with journal spec * spec to generic, optimism build * fix optimism test * fuck macros * clippy and fmt * fix trace block example * ci fixes * Flatten builder stages to generic and handler stage * EvmBuilder doc and refactor fn access * ignore rust code in book * make revme compile, will refactor this in future * Rename handles to Pre/Post Execution and ExecutionLoop * fix optimism clippy * small rename * FrameData and docs * check links mdbook * comments and cleanup * comment * Add initialize interepreter to first frame * clippy * clippy2 added release-plz config (#912) refactor(interpreter): refactor sstore_cost (#974) * Refactored logic * Fixed if condition to be istanbul specific + some refactoring in calculate function * Removed nested loop * Changed name and added inline * Refactored if-else flow * Removed needless return for clippy errors * refactor * fix clippy --------- Co-authored-by: Mihir Wadekar <mwadekar2000@gmail.com> remove test link (#976) refactor: enhance readability (#968) refactor(EvmBuilder): Remove unnecessary BuilderStage trait (#979) refactor(log): use alloy_primitives::Log (#975) * refactor(log): use alloy_primitives::Log * clippy + fmt * .toml fmt * refactor Host::log * refactor Host::log v2 fix: use maximum possible data fee for 4844 balance checks (#981) * fix: use maximum possible data fee for 4844 balance checks * fix docs * use unwrap_or_default to cover non-blob txs fix: cast overflow in 32-bits OS (#978) * fix: cast overflow in 32-bits OS * Fix type conversion issues in bitwise.rs, host.rs, host_env.rs, macros.rs, and system.rs * Fix error in as_usize_or_fail macro * Update CI configuration and add Cross.toml * Fix command arguments in ethereum-tests.yml * Update Ethereum tests workflow * Update Cross.toml with pre-build commands for i686 target chore(deps): bump bitflags from 2.4.1 to 2.4.2 (#983) Bumps [bitflags](https://github.com/bitflags/bitflags) from 2.4.1 to 2.4.2. - [Release notes](https://github.com/bitflags/bitflags/releases) - [Changelog](https://github.com/bitflags/bitflags/blob/main/CHANGELOG.md) - [Commits](https://github.com/bitflags/bitflags/compare/2.4.1...2.4.2) --- updated-dependencies: - dependency-name: bitflags dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> feat: Convert optimism panic into graceful error (#982) * feat(crates): custom evm error targeting optimism * fix(crates): alloc String * Update crates/primitives/src/result.rs Co-authored-by: rakita <rakita@users.noreply.github.com> --------- Co-authored-by: rakita <rakita@users.noreply.github.com> refactor(Inspector): Add CreateOutcome in create/create_end return (#980) * rename main Evm structs, introduce wip external type * tests * Split evm and external context * continue previous commit * wip inspector handle register * add few more handlers for frame and host * Add instruction handle * add instruction handler registration and Inspector wrap * Rm Spec generic, more handlers, start factory * move towards the builder, allow EVM modify * wip on EvmBuilder and modify functionality * EvmBuilder with stages wip * Add wip stages for builer * make handle register simple function, add raw instruction table, split external data from registers * wip on simple builder functions and handler registry * Examples and cleanup * fix lifetime and fmt * Add more handlers, deduct caller, validate tx agains state * All handlers counted, started on docs, some cleanup * renaming and docs * Support all Inspector functionality with Handler * Handler restructured. Documentation added * more docs on registers * integrate builder, fmt, move optimism l1block * add utility builder stage functions * add precompiles, fix bugs with journal spec * spec to generic, optimism build * fix optimism test * fuck macros * clippy and fmt * fix trace block example * ci fixes * Flatten builder stages to generic and handler stage * EvmBuilder doc and refactor fn access * ignore rust code in book * make revme compile, will refactor this in future * Rename handles to Pre/Post Execution and ExecutionLoop * fix optimism clippy * small rename * FrameData and docs * check links mdbook * comments and cleanup * comment * Add initialize interepreter to first frame * clippy * clippy2 * feat: create outcome * fix: createOutcome properties to pub and removed wrapper functions * review: fixed some review comments and added some improvement over instruction results * fix: removed unused is_revert method * review: adjusted comments, moved create_outcome to its own file * fix: no std check --------- Co-authored-by: rakita <dragan0rakita@gmail.com> chore: fix serde std flags for no-std build (#987) * use serde as no-std * optional serde std * delete comment #"std" * "preserve_order" * revme revert * Update bins/revme/Cargo.toml --------- Co-authored-by: Leo Alt <leo@ethereum.org> set deduct_caller in optimism handler (#988) refactor(Inspector): add CallOutcome to call/call_end (#985) * rename main Evm structs, introduce wip external type * tests * Split evm and external context * continue previous commit * wip inspector handle register * add few more handlers for frame and host * Add instruction handle * add instruction handler registration and Inspector wrap * Rm Spec generic, more handlers, start factory * move towards the builder, allow EVM modify * wip on EvmBuilder and modify functionality * EvmBuilder with stages wip * Add wip stages for builer * make handle register simple function, add raw instruction table, split external data from registers * wip on simple builder functions and handler registry * Examples and cleanup * fix lifetime and fmt * Add more handlers, deduct caller, validate tx agains state * All handlers counted, started on docs, some cleanup * renaming and docs * Support all Inspector functionality with Handler * Handler restructured. Documentation added * more docs on registers * integrate builder, fmt, move optimism l1block * add utility builder stage functions * add precompiles, fix bugs with journal spec * spec to generic, optimism build * fix optimism test * fuck macros * clippy and fmt * fix trace block example * ci fixes * Flatten builder stages to generic and handler stage * EvmBuilder doc and refactor fn access * ignore rust code in book * make revme compile, will refactor this in future * Rename handles to Pre/Post Execution and ExecutionLoop * fix optimism clippy * small rename * FrameData and docs * check links mdbook * comments and cleanup * comment * Add initialize interepreter to first frame * clippy * clippy2 * feat: add callOutcome and added to inspector.call * added meaningful rust docs feat(revme): make it runnable by goevmlab (#990) * feat(revme): make it usable by goevmlab * print outcome of test, propagate json flag chore(revme): add recovery of address from secret key (#992) * feat(revme): make it usable by goevmlab * print outcome of test, propagate json flag * chore(revme): add recovery of address from secret key fect(revme): EmptyDb Blockhash string, json-outcome flag, set prevrandao in statetest (#994) * Change empty blockhash keccak to string, print revme stateroot * Introduce -o for output, set prevrandao * fix cache test fix: optimism gas refunds (#989) * no gas refunds for deposits pre regolith * fix test * rename handle_call docs: update create docs (#999) Remove preserve_order in serde_json (#997) * init * no ^ chore: add getter for specId (#998) docs: update call end docs (#1000) chore: expose InstructionResult getters in Interpreter result (#1002) * chore: expose InstructionResult getters in Interpreter result * chore: reorder items feat(inspector): Share call/create inputs in Inspector call_end/create_end (#1003) * Share call/create inputs in Inspector call_end/create_end * test in revme that stack is there chore(Interpreter): Split calls to separate functions (#1005) chore(Inspector): Add return_memory_offset to Inspector::call (#1006) * chore(Interpreter): Split calls to separate functions * chore(Inspector): Add return_memory_offset to Inspector::call fix(Interpreter): is_revert should call is_revert (#1007) Burntpix criterion bench (#1004) * feat: criterion bench + svg creation * fix: clippy * fix: clippy * review: first batch of fix * review: removed lazy static, encapsulated into function * clippy * fix: link * feat: restructure * fix: using fixed bytes * removed genesis alloc * clippy fix(State): Preserve original values on delete revert (#1010) * fix(State): Preserve original values on delete revert * clear storage only if original is None chore(Test) : const to static (#1016) docs(Cancun): update Cancun precompiles docs (#1015) chore: make clippy happy (#1020) docs: add some docs to StorageSlot (#1019) refactor(Execution): Granular handles create/call,call_return,insert_call_outcome (#1024) * fix(State): Preserve original values on delete revert * clear storage only if original is None * refactor(ExecutionHandle): Introduce more granular handles create/call,call_return,insert_call_outcome * cleanup, rm comments, let Inspector use CallOutput * update doc * add alloc box feat(op): Ecotone hardfork (#1009) * Ecotone hardfork * Use bedrock cost function if Ecotone values are unset * Ecotone L1 fee tests * fmt * clippy chore(clippy): nightly clippy (#1025) refactor(op): Move op l1 block load to op handler (#1026) * chore(clippy): nightly clippy * refactor(op): Move op l1 block load to op handler chore(deps): bump alloy-sol-macro from 0.6.0 to 0.6.2 (#1013) Bumps [alloy-sol-macro](https://github.com/alloy-rs/core) from 0.6.0 to 0.6.2. - [Release notes](https://github.com/alloy-rs/core/releases) - [Changelog](https://github.com/alloy-rs/core/blob/main/CHANGELOG.md) - [Commits](https://github.com/alloy-rs/core/compare/v0.6.0...v0.6.2) --- updated-dependencies: - dependency-name: alloy-sol-macro dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> chore(deps): bump alloy-primitives from 0.6.0 to 0.6.2 (#1014) Bumps [alloy-primitives](https://github.com/alloy-rs/core) from 0.6.0 to 0.6.2. - [Release notes](https://github.com/alloy-rs/core/releases) - [Changelog](https://github.com/alloy-rs/core/blob/main/CHANGELOG.md) - [Commits](https://github.com/alloy-rs/core/compare/v0.6.0...v0.6.2) --- updated-dependencies: - dependency-name: alloy-primitives dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> chore(deps): bump serde from 1.0.195 to 1.0.196 (#1022) Bumps [serde](https://github.com/serde-rs/serde) from 1.0.195 to 1.0.196. - [Release notes](https://github.com/serde-rs/serde/releases) - [Commits](https://github.com/serde-rs/serde/compare/v1.0.195...v1.0.196) --- updated-dependencies: - dependency-name: serde dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> chore(deps): bump auto_impl from 1.1.0 to 1.1.2 (#1023) Bumps [auto_impl](https://github.com/auto-impl-rs/auto_impl) from 1.1.0 to 1.1.2. - [Release notes](https://github.com/auto-impl-rs/auto_impl/releases) - [Commits](https://github.com/auto-impl-rs/auto_impl/compare/v1.1.0...v1.1.2) --- updated-dependencies: - dependency-name: auto_impl dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> chore(deps): bump serde_json from 1.0.111 to 1.0.113 (#1027) Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.111 to 1.0.113. - [Release notes](https://github.com/serde-rs/json/releases) - [Commits](https://github.com/serde-rs/json/compare/v1.0.111...v1.0.113) --- updated-dependencies: - dependency-name: serde_json dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> chore(Inspector): add inspector depth test (#1028) * chore(clippy): nightly clippy * refactor(op): Move op l1 block load to op handler * add inspector test and optimism test chore: group handlers (#1030) * chore(clippy): nightly clippy * refactor(op): Move op l1 block load to op handler * add inspector test and optimism test * chore: switch lines feat: add `BytecodeLocked::original_bytecode` (#1037) chore(std): Add std HashMap,HashSet (#1041) fix previous commit (#1044) reorder crate listings to match the order in the book (#1047) feat: tweeks for v4.0 revm release (#1048) * chore: docs and Eq added * chore: add auto_impl to GetInspectors * chore: add reset_handler * fix build * Modify env box * Impl GetInspector and Generic Inspector * Add Evn helpers with spec_id * helpers env with spec * Add derefs to CfgEnvWithSpecId * helper function * Remove cfg.optimism field * Support Optimism by default if optimism feature is enabled * Add optimism_default_handler * Add optimism enable field * Optimism in builder * into_env_with_spec_id * add db * Add box * fix doc * fix tests and move it to proper place * Rename EnvWithSpecId to EnvWithHandlerCfg * fix compile chore(deps): bump ethers-providers from 2.0.11 to 2.0.13 (#1033) Bumps [ethers-providers](https://github.com/gakonst/ethers-rs) from 2.0.11 to 2.0.13. - [Release notes](https://github.com/gakonst/ethers-rs/releases) - [Changelog](https://github.com/gakonst/ethers-rs/blob/master/CHANGELOG.md) - [Commits](https://github.com/gakonst/ethers-rs/compare/ethers-providers-v2.0.11...ethers-providers-v2.0.13) --- updated-dependencies: - dependency-name: ethers-providers dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> chore(deps): bump ethers-contract from 2.0.11 to 2.0.13 (#1034) Bumps [ethers-contract](https://github.com/gakonst/ethers-rs) from 2.0.11 to 2.0.13. - [Release notes](https://github.com/gakonst/ethers-rs/releases) - [Changelog](https://github.com/gakonst/ethers-rs/blob/master/CHANGELOG.md) - [Commits](https://github.com/gakonst/ethers-rs/compare/ethers-contract-v2.0.11...ethers-contract-v2.0.13) --- updated-dependencies: - dependency-name: ethers-contract dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> chore(deps): bump alloy-sol-types from 0.6.0 to 0.6.2 (#1035) Bumps [alloy-sol-types](https://github.com/alloy-rs/core) from 0.6.0 to 0.6.2. - [Release notes](https://github.com/alloy-rs/core/releases) - [Changelog](https://github.com/alloy-rs/core/blob/main/CHANGELOG.md) - [Commits](https://github.com/alloy-rs/core/compare/v0.6.0...v0.6.2) --- updated-dependencies: - dependency-name: alloy-sol-types dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> chore(deps): bump ethers-core from 2.0.12 to 2.0.13 (#1036) Bumps [ethers-core](https://github.com/gakonst/ethers-rs) from 2.0.12 to 2.0.13. - [Release notes](https://github.com/gakonst/ethers-rs/releases) - [Changelog](https://github.com/gakonst/ethers-rs/blob/master/CHANGELOG.md) - [Commits](https://github.com/gakonst/ethers-rs/commits/ethers-core-v2.0.13) --- updated-dependencies: - dependency-name: ethers-core dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> chore(EvmBuilder): rename builder functions to HandlerCfg (#1050) feat(ci): release-plz on PR and bump ahash (#1054) * feat(ci): release-plz on PR and use stable rust * bump ahash * Update .github/workflows/ci.yml * Update .github/workflows/ci.yml feat(Handler): add push and pop of hanler registers (#1053) * chore(EvmBuilder): rename builder functions to HandlerCfg * feat(Handler): add push and pop of hanler registers * Rename _with_spec_id to _with_handler_cfg chore(deps): bump tokio from 1.35.1 to 1.36.0 (#1052) Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.35.1 to 1.36.0. - [Release notes](https://github.com/tokio-rs/tokio/releases) - [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.35.1...tokio-1.36.0) --- updated-dependencies: - dependency-name: tokio dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> chore(deps): bump eyre from 0.6.11 to 0.6.12 (#1051) Bumps [eyre](https://github.com/eyre-rs/eyre) from 0.6.11 to 0.6.12. - [Commits](https://github.com/eyre-rs/eyre/commits) --- updated-dependencies: - dependency-name: eyre dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> chore(deps): bump secp256k1 from 0.28.1 to 0.28.2 (#1038) Bumps [secp256k1](https://github.com/rust-bitcoin/rust-secp256k1) from 0.28.1 to 0.28.2. - [Changelog](https://github.com/rust-bitcoin/rust-secp256k1/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-bitcoin/rust-secp256k1/compare/secp256k1-0.28.1...secp256k1-0.28.2) --- updated-dependencies: - dependency-name: secp256k1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> feat(handler): Change spec id on &mut (#1055) tweeks: helper functions around Env (#1057) * feat(handler): Change spec id on &mut * tweeks. helper functions * Add env and env_mut * cfg mut chore: spelling on last commit (#1058) * spelling chore: bump c-kzg and enable blst portable feature (#1059) chore: tag v27, revm v4.0.0 release (#1061) * chore: release * small changes to changelog README path fix(op): skip validation on deposit tx (#1065) * fix(op): skip validation on deposit tx * compile it tests(revme): statetests new format and return error (#1066) * tests(revme): statetests new format and return error * Include README chore(revm): Add helpers to Build Revm with Context (#1068) * chore(revm): Add helpers to Build Revm with Context * Fix compile * fix * remove debug panic fix: typo on internal append_handle_register methods (#1069) * fix: typo on internal append_handle_register methods * change to append_handler_register fix: properly set context env (#1070) chore: precompile bn128 copy (#1071) feat(interpreter): relax `make_boxed_instruction_table::FN` to `FnMut` (#1076) refactor(precompile): make use of padding utilities, simplify secp256k1 (#1073) * refactor(precompile): make use of padding utilities, simplify secp256k1 * fix: Precompiles clones perf/refactor(precompile): simplify bn128 precompile implementations (#1074) perf(precompile): don't allocate if padding is not needed (#1075) * perf(precompile): don't allocate if padding is not needed * chore: rename `get_padded` functions chore(deps): bump indicatif from 0.17.7 to 0.17.8 (#1077) Bumps [indicatif](https://github.com/console-rs/indicatif) from 0.17.7 to 0.17.8. - [Release notes](https://github.com/console-rs/indicatif/releases) - [Commits](https://github.com/console-rs/indicatif/commits) --- updated-dependencies: - dependency-name: indicatif dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> chore(deps): bump thiserror from 1.0.56 to 1.0.57 (#1078) Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.56 to 1.0.57. - [Release notes](https://github.com/dtolnay/thiserror/releases) - [Commits](https://github.com/dtolnay/thiserror/compare/1.0.56...1.0.57) --- updated-dependencies: - dependency-name: thiserror dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> chore: release (#1067) Signed-off-by: GitHub Action <action@github.com> Co-authored-by: GitHub Action <action@github.com> chore: tag v28, revm v5.0.0 (#1079) chore: license date and revm docs (#1080) chore: cargo update (#1081) Add memory offset (#1032) * mems offset * Update evm.rs * Update context.rs * Update host.rs * Update host.rs * Update host.rs * use core instead of std * Update host.rs * Update evm.rs * Update interpreter.rs * clippy * Update interpreter.rs * rename Ranger to Range * Update inner_models.rs * Update inner_models.rs * Update evm.rs * Update execution.rs * Update evm.rs * Update evm.rs * Update evm.rs * Update host.rs * Update crates/interpreter/src/interpreter.rs Co-authored-by: Dan Cline <6798349+Rjected@users.noreply.github.com> * Update execution.rs * Update execution.rs * Update handler_register.rs * Update context.rs * Update frame.rs * Update execution.rs * Update execution.rs * Update evm.rs * Update handler_register.rs * Update eip3155.rs * Update eip3155.rs * Update customprinter.rs * Update inspector.rs * Update gas.rs * Update handler_register.rs * Update context.rs * Update execution.rs * Update evm.rs * Update inner_models.rs * Update handler_register.rs * Update handler_register.rs * Update inner_models.rs * Update crates/revm/src/inspector.rs --------- Co-authored-by: Dan Cline <6798349+Rjected@users.noreply.github.com> Co-authored-by: rakita <rakita@users.noreply.github.com> feat: improve OriginalValuesKnown docs (#1083) perf(precompile): use `Bytes` in precompile functions (#1085) * perf(precompile): use `Bytes` in precompile functions * fix: ecrecover * chore: clippy fix: Set is_optimism to true if default config (#1087) * fix: Set is_optimism to true if default config * add constructor * Switch places, brake new fn fix: optimism compilation (#1091) fix: modify cfg spec_id (#1095) (#1096) perf(state): avoid cloning full account (#1097) * perf(state): avoid cloning full account * fix fix: rename and pass optimism-default-handler to revm-primitives (#1098) * rename and pass optimism-default-handler to revm-primitives * revert chore(deps): bump alloy-primitives from 0.6.2 to 0.6.3 (#1093) Bumps [alloy-primitives](https://github.com/alloy-rs/core) from 0.6.2 to 0.6.3. - [Release notes](https://github.com/alloy-rs/core/releases) - [Changelog](https://github.com/alloy-rs/core/blob/main/CHANGELOG.md) - [Commits](https://github.com/alloy-rs/core/compare/v0.6.2...v0.6.3) --- updated-dependencies: - dependency-name: alloy-primitives dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> chore(deps): bump alloy-sol-macro from 0.6.2 to 0.6.3 (#1094) Bumps [alloy-sol-macro](https://github.com/alloy-rs/core) from 0.6.2 to 0.6.3. - [Release notes](https://github.com/alloy-rs/core/releases) - [Changelog](https://github.com/alloy-rs/core/blob/main/CHANGELOG.md) - [Commits](https://github.com/alloy-rs/core/compare/v0.6.2...v0.6.3) --- updated-dependencies: - dependency-name: alloy-sol-macro dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> chore: release (#1082) Signed-off-by: GitHub Action <action@github.com> Co-authored-by: GitHub Action <action@github.com> bump: tag v29 revm v6.0.0 (#1101) BREAKING CHANGE: remove BALANCEOF, in favor of the single BALANCE feat(interpreter/revm): first step in introducing MNAs refactor(primitives): simplify the iteration of transferred assets feat(interpreter): push MNAs to the stack feat(interpreter): pop MNAs from the stack fix: tests Update CHANGELOG.md (#1102) feat: disable smart contract creation feat: only allow minting for contracts chore: improve EIP-3155 implementation (#1105) feat: split off serde_json dependency to its own feature (#1104) * feat: split off serde_json dependency to its own feature * chore: rename to 'serde-json' chore(deps): bump alloy-sol-types from 0.6.2 to 0.6.3 (#1103) Bumps [alloy-sol-types](https://github.com/alloy-rs/core) from 0.6.2 to 0.6.3. - [Release notes](https://github.com/alloy-rs/core/releases) - [Changelog](https://github.com/alloy-rs/core/blob/main/CHANGELOG.md) - [Commits](https://github.com/alloy-rs/core/compare/v0.6.2...v0.6.3) --- updated-dependencies: - dependency-name: alloy-sol-types dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> feat: bump c-kzg, add portable feature, make it default (#1106) chore(deps): bump serde from 1.0.196 to 1.0.197 (#1107) Bumps [serde](https://github.com/serde-rs/serde) from 1.0.196 to 1.0.197. - [Release notes](https://github.com/serde-rs/serde/releases) - [Commits](https://github.com/serde-rs/serde/compare/v1.0.196...v1.0.197) --- updated-dependencies: - dependency-name: serde dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> chore(deps): bump anyhow from 1.0.79 to 1.0.80 (#1108) Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.79 to 1.0.80. - [Release notes](https://github.com/dtolnay/anyhow/releases) - [Commits](https://github.com/dtolnay/anyhow/compare/1.0.79...1.0.80) --- updated-dependencies: - dependency-name: anyhow dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> chore(deps): bump serde_json from 1.0.113 to 1.0.114 (#1110) Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.113 to 1.0.114. - [Release notes](https://github.com/serde-rs/json/releases) - [Commits](https://github.com/serde-rs/json/compare/v1.0.113...v1.0.114) --- updated-dependencies: - dependency-name: serde_json dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> fix: Handle fatal db error on load_account (#1111) chore: clippy cleanup (#1112) * chore: clippy and removal of +nightly in ci * use std * Use stable rust for clippy * fmt and stable rust * rm nightly items Remove DatabaseRef bound on CacheDB (#1113) Co-authored-by: jasalper <> fix(db): Set instruction result at outcome insert (#1117) fix EthersDB deadlock (#1089) * Update ethersdb.rs * Update lib.rs * Update lib.rs fix: replace tuple in sstore return with struct (#1115) * fix: replace tuple in sstore return with struct * fix: add comments * Update crates/interpreter/src/host.rs --------- Co-authored-by: rakita <rakita@users.noreply.github.com> Revert "fix EthersDB deadlock (#1089)" (#1118) This reverts commit 0055d58ba6c60f5bcc623009dce4040c03aefb4f. chore(refactor): Propagate fatal error (#1116) * chore: clippy and removal of +nightly in ci * use std * Use stable rust for clippy * fmt and stable rust * rm nightly items * temp * chore(refactor): Propagate fatal error * rm must_use as Return enforce it * cleanup Fix feature name for generate_block_traces example (#1120) Ensure `L1Block` is in the cache (#1121) adding more test for i256 (#1090) chore: release tag v30 revm v6.1.0 (#1100) Signed-off-by: GitHub Action <action@github.com> Co-authored-by: GitHub Action <action@github.com> chore: main CHANGELOG (#1122) chore: remove unused EvmInstructionTables type alias (#1123) feat: add with_handler method to EvmBuilder (#1124) * feat: add with_handler method to EvmBuilder * improve docs * add imports to docs * fix docs * move with_handler to BuilderStage Add `clone` method to `ContextWithHandlerCfg` (#1127) * Add `clone` to `ContextWithHandlerCfg` * Fix `clippy` error. `HandlerCfg` implements `Copy`, i prefer `.clone()` to be more redable but pass test is more important :) chore: add ToString for no_std add exports some types in no_std (#1128) * fix: add ToString for no_std * fmt * support no_std for some types chore: add helper function for spec id (#1130) Add `db` and `db_mut` to evm (#1133) * Add `db` and `db_mut` to evm * Fix format fix: make `feature = "optional_gas_refund"` work (#1134) chore(deps): bump auto_impl from 1.1.2 to 1.2.0 (#1132) Bumps [auto_impl](https://github.com/auto-impl-rs/auto_impl) from 1.1.2 to 1.2.0. - [Release notes](https://github.com/auto-impl-rs/auto_impl/releases) - [Commits](https://github.com/auto-impl-rs/auto_impl/compare/v1.1.2...v1.2.0) --- updated-dependencies: - dependency-name: auto_impl dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> refactor(interpreter/revm): naming feat(revm): MNAs support in transact_preverified() refactor: simplify access to `TxEnv.transferred_assets` feat(revm): implement Host.balance() Check runtime dynamically (#1135) * Check runtime dynamically * Drop futures as clippy suggests * Fix panic * Format * Support current_thread runtime * Revert unnecessary changes * Add a few documents * derive Clone thanks to removing runtime field feat: add evm script (#1039) * feat: add evm script add a script which can run arbitrary binaries * fix lint * move evm runner script to `revme` subcommand * cargo fmt * cli byecode,input,path, state options added, output result chore: remove clone for context in handler_register.rs (#1138) chore(deps): bump alloy-sol-macro from 0.6.3 to 0.6.4 (#1136) Bumps [alloy-sol-macro](https://github.com/alloy-rs/core) from 0.6.3 to 0.6.4. - [Release notes](https://github.com/alloy-rs/core/releases) - [Changelog](https://github.com/alloy-rs/core/blob/main/CHANGELOG.md) - [Commits](https://github.com/alloy-rs/core/compare/v0.6.3...v0.6.4) --- updated-dependencies: - dependency-name: alloy-sol-macro dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> chore(deps): bump alloy-primitives from 0.6.3 to 0.6.4 (#1137) Bumps [alloy-primitives](https://github.com/alloy-rs/core) from 0.6.3 to 0.6.4. - [Release notes](https://github.com/alloy-rs/core/releases) - [Changelog](https://github.com/alloy-rs/core/blob/main/CHANGELOG.md) - [Commits](https://github.com/alloy-rs/core/compare/v0.6.3...v0.6.4) --- updated-dependencies: - dependency-name: alloy-primitives dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Add VERBS to used by list (#1141) feat(revm): journal the minting of assets chore: make GitHub workflows not require no-std test: build issues chore: cargo update build: remove the redundant imports from std refactor: remove no_std mentions from codebase feat: Add boxed precompile trait (#1131) * feat: Add boxed precompile trait * add box * Add mut Box and ref Arc precompiles, rename perf(interpreter): evaluate instruction table constructor at compile time (#1140) Ideally this would also return `&'static` but since `InstructionTable` is generic over `H`, `&'static InstructionTable<H>` requires `H: 'static`, for which I haven't yet found a work-around. feat: implement the BURN opcode - refactor: include minted amount in the MINT receipt chore: upgrade GitHub actions to Node 20 chore: upgrade GitHub actions to Node 20 (#1145) chore(interpreter): factor out jump logic (#1146) chore(interpreter): use already-computed sign in SAR (#1147) refactor: CALLVALUE feat(interpreter): MNAs support for CALL/CALLCODE/DELEGATECALL refactor(interpreter): simplify the popping of transferred assets chore(deps): bump alloy-sol-types from 0.6.3 to 0.6.4 (#1148) Bumps [alloy-sol-types](https://github.com/alloy-rs/core) from 0.6.3 to 0.6.4. - [Release notes](https://github.com/alloy-rs/core/releases) - [Changelog](https://github.com/alloy-rs/core/blob/main/CHANGELOG.md) - [Commits](https://github.com/alloy-rs/core/compare/v0.6.3...v0.6.4) --- updated-dependencies: - dependency-name: alloy-sol-types dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> chore(deps): bump walkdir from 2.4.0 to 2.5.0 (#1149) Bumps [walkdir](https://github.com/BurntSushi/walkdir) from 2.4.0 to 2.5.0. - [Commits](https://github.com/BurntSushi/walkdir/compare/2.4.0...2.5.0) --- updated-dependencies: - dependency-name: walkdir dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> feat: add example for using a database by reference (#1150) * issue: cannot use databases by reference when using handlers * Make db_by_ref generic * Cleanup and cleaner debug error trait * misc: minimise changes * doc: add explanatory comment --------- Co-authored-by: rakita <dragan0rakita@gmail.com> feat: add more JournaledState methods to EvmContext (#1158) * feat: add more JournaledState methods to EvmContext * Update crates/revm/src/journaled_state.rs feat: use `impl` instead of `dyn` in `GetInspector` (#1157) * feat: use `impl` instead of `dyn` in `GetInspector` * chore: clippy feat: precompile with generic context (#1155) * feat: precompile with generic context * move ContextPrecompile to revm crate * nits * hashmap and comments * fmt Add Hardhat to the "Used by" list (#1164) feat: add PrecompileError::Other (#1165) * feat: add PrecompileError::Other * add PrecomileError::other feat: implement DatabaseCommit for DatabaseComponents (#1163) * feat: implement DatabaseCommit for DatabaseComponents * misc: apply review suggestions fix: reset tstorage on finalize (#1168) * fix: reset tstorage on finalize * destruct Self * change order * Update crates/revm/src/journaled_state.rs fix: gas cost calculation (#1166) * fix: gas cost calculation * Update crates/revm/src/inspector/gas.rs Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de> * Update crates/revm/src/inspector/gas.rs Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de> * fix: formatting chore(deps): bump ethers-core from 2.0.13 to 2.0.14 (#1162) Bumps [ethers-core](https://github.com/gakonst/ethers-rs) from 2.0.13 to 2.0.14. - [Release notes](https://github.com/gakonst/ethers-rs/releases) - [Changelog](https://github.com/gakonst/ethers-rs/blob/master/CHANGELOG.md) - [Commits](https://github.com/gakonst/ethers-rs/commits) --- updated-dependencies: - dependency-name: ethers-core dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> chore(deps): bump ethers-contract from 2.0.13 to 2.0.14 (#1161) Bumps [ethers-contract](https://github.com/gakonst/ethers-rs) from 2.0.13 to 2.0.14. - [Release notes](https://github.com/gakonst/ethers-rs/releases) - [Changelog](https://github.com/gakonst/ethers-rs/blob/master/CHANGELOG.md) - [Commits](https://github.com/gakonst/ethers-rs/commits) --- updated-dependencies: - dependency-name: ethers-contract dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> chore(deps): bump ethers-providers from 2.0.13 to 2.0.14 (#1160) Bumps [ethers-providers](https://github.com/gakonst/ethers-rs) from 2.0.13 to 2.0.14. - [Release notes](https://github.com/gakonst/ethers-rs/releases) - [Changelog](https://github.com/gakonst/ethers-rs/blob/master/CHANGELOG.md) - [Commits](https://github.com/gakonst/ethers-rs/commits) --- updated-dependencies: - dependency-name: ethers-providers dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> fix(interpreter): push to Stack in reverse order fix(revme): revme error output and remove double summary (#1169) feat: add insert method on instruction table (#1167) * feat: add insert method on instruction table * fix test * nits refactor in tests * clippy feat(precompile): add a bool to bytes32 helper function (#1170) feat(primitives): derive Default for SpecId (#1171) chore: release (#1125) Signed-off-by: GitHub Action <action@github.com> Co-authored-by: GitHub Action <action@github.com> bump: v32 tag, main changelog (#1172) feat(interpreter): OpCode struct constants (#1173) Currently the only way to instantiate an OpCode at compile time is by using unsafe or matching on the Option returned by `new` (unwrap is not stable). This PR adds the same `u8` opcode constants to the `OpCode` struct as well. feat: Restrict ContextPrecompiles only to EvmContext (#1174) * first stage move Precompiles inside EvmContext. Create InnerEvmContext * Move precompiles and split InnerEvmContext to its file * fix optimism, fmt and clippy chore: tag v32 revm v7.1.0 (#1176) doc: add memory section (#1177) chore(docs): Add memory md to summary (#1178) * doc: add memory section * chore(docs): Add memory to summary chore: refactor list in CHANGELOG.md (#1179) Update post_execution.rs (#1180) chore: improve error implementations (#1183) Make error messages consistent with Reth (starting lowercase, no full stops). Fix typo in readme (#1185) chore: fix some typos (#1189) Signed-off-by: kaifulee <cuishuang@outlook.com> chore(deps): bump anyhow from 1.0.80 to 1.0.81 (#1187) Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.80 to 1.0.81. - [Release notes](https://github.com/dtolnay/anyhow/releases) - [Commits](https://github.com/dtolnay/anyhow/compare/1.0.80...1.0.81) --- updated-dependencies: - dependency-name: anyhow dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> chore(deps): bump thiserror from 1.0.57 to 1.0.58 (#1188) Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.57 to 1.0.58. - [Release notes](https://github.com/dtolnay/thiserror/releases) - [Commits](https://github.com/dtolnay/thiserror/compare/1.0.57...1.0.58) --- updated-dependencies: - dependency-name: thiserror dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> fix: use std hashmap with "std" feature (#1193) Also caught by `-Zcheck-cfg`: ``` warning: unexpected `cfg` condition name: `std` --> crates/primitives/src/lib.rs:34:14 | 34 | if #[cfg(std)] { | ^^^ help: found config with similar value: `feature = "std"` | = help: expected names are: `clippy`, `debug_assertions`, `doc`, `docsrs`, `doctest`, `feature`, `miri`, `overflow_checks`, `panic`, `proc_macro`, `relocation_model`, `sanitize`, `sanitizer_cfi_generalize_pointers`, `sanitizer_cfi_normalize_integers`, `target_abi`, `target_arch`, `target_endian`, `target_env`, `target_family`, `target_feature`, `target_has_atomic`, `target_has_atomic_equal_alignment`, `target_has_atomic_load_store`, `target_os`, `target_pointer_width`, `target_thread_local`, `target_vendor`, `test`, `unix`, `windows` = help: consider using a Cargo feature instead or adding `println!("cargo:rustc-check-cfg=cfg(std)");` to the top of a `build.rs` = note: see <https://doc.rust-lang.org/nightly/cargo/reference/unstable.html#check-cfg> for more information about checking conditional configuration = note: `#[warn(unexpected_cfgs)]` on by default ``` bump: c-kzg v1.0.0 (#1190) chore: clippy (#1196) chore: fix wonky test (#1197) feat: optional nonce check (#1195) feat: use Message::from_digest in secp256k1 ecrecover (#1199) chore: add rustc-ice-*.txt to gitignore (#1200) Cargo fmt has had some issues recently, this should prevent accidentally committing the bug reports chore: expose functionality for custom EVMs (#1201) * chore: expose functionality for custom EVMs * reexport ecrecover docs: clarify None nonce (#1204) Documentation improvements (#1191) * Try to improve documentation * More documentation improvements * Self-review feat: add convert_boxed and insert_boxed for InstructionTable (#1194) * feat: add into_box and insert_boxed for InstructionTable Also adds an example for an instruction with captured context * fix tests with clones * fix valgrind * fix valgrind again * convert to boxed in insert_boxed * update docs for insert_boxed * make convert_boxed more concise * Update crates/interpreter/src/instructions/opcode.rs * Update crates/interpreter/src/instructions/opcode.rs feat: track MNAs ids feat: validate transferred & burned assets fix: test issues feat(interpreter): export utility macros (#1203) * feat(interpreter): export utility macros * chore: rename memory resize macro * chore: dollar crate feat: implement Default for EnvWithHandlerCfg (#1206) Change unwrap to ? to propagate errors (#1207) * Change unwrap to ? to propagate errors * Make clippy happy feat: add benchmarks for ecpairing, kzg, ecrecover precompiles (#1211) * feat: basic crypto benches * cleanup * more cleanup chore(deps): bump bitflags from 2.4.2 to 2.5.0 (#1210) Bumps [bitflags](https://github.com/bitflags/bitflags) from 2.4.2 to 2.5.0. - [Release notes](https://github.com/bitflags/bitflags/releases) - [Changelog](https://github.com/bitflags/bitflags/blob/main/CHANGELOG.md) - [Commits](https://github.com/bitflags/bitflags/compare/2.4.2...2.5.0) --- updated-dependencies: - dependency-name: bitflags dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> chore: release (#1175) Signed-off-by: GitHub Action <action@github.com> Co-authored-by: GitHub Action <action@github.com> Revert "feat: optional nonce check (#1195)" (#1212) * Revert "feat: optional nonce check (#1195)" This reverts commit fe841be0ed2b01c3a1e34c7d45c0c8cf65808db2. * typo feat: make all precompiles public (#1213) * feat: make all precompiles public * make inner function pub bump: v34 tag (#1214) fix eip3155 summary gas_used bug and add fork name (#1216) Co-authored-by: PanaW <panaw@PanaWs-MBP.lan> Improve `EthersDB` (#1208) * Improve EthersDB: - Rewrite(kinda) `new` function. - Add `set_block_number` function. - Move `block_on` function to separate module. …
PaulRBerg
force-pushed
the
feat/multiple-native-tokens
branch
from
May 24, 2024 19:17
47f2369
to
cca6e6e
Compare
Open
PaulRBerg
changed the title
feat: Multiple Native Tokens
feat: Multiple Native Tokens [STALE]
May 28, 2024
Merged
Closing in favor of #155. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
A big PR that closes #5, #22, and #74.
This PR is a replacement for #14, which we have closed as a result of the name change from MNAs to MNTs.