Skip to content
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

[pull] main from bluealloy:main #37

Merged
merged 122 commits into from
Apr 11, 2024
Merged

[pull] main from bluealloy:main #37

merged 122 commits into from
Apr 11, 2024

Conversation

pull[bot]
Copy link

@pull pull bot commented Feb 22, 2024

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

pawurb and others added 30 commits February 22, 2024 00:50
Signed-off-by: GitHub Action <[email protected]>
Co-authored-by: GitHub Action <[email protected]>
* feat: add with_handler method to EvmBuilder

* improve docs

* add imports to docs

* fix docs

* move with_handler to BuilderStage
* Add `clone` to `ContextWithHandlerCfg`

* Fix `clippy` error.

`HandlerCfg` implements `Copy`, i prefer `.clone()` to be more redable but pass test is more important :)
* fix: add ToString for no_std

* fmt

* support no_std for some types
* Add `db` and `db_mut` to evm

* Fix format
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](auto-impl-rs/auto_impl@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] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* 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

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
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](alloy-rs/core@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] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
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](alloy-rs/core@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] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat: Add boxed precompile trait

* add box

* Add mut Box and ref Arc precompiles, rename
…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.
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](alloy-rs/core@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] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [walkdir](https://github.com/BurntSushi/walkdir) from 2.4.0 to 2.5.0.
- [Commits](BurntSushi/walkdir@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] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* 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 <[email protected]>
* feat: add more JournaledState methods to EvmContext

* Update crates/revm/src/journaled_state.rs
* feat: use `impl` instead of `dyn` in `GetInspector`

* chore: clippy
* feat: precompile with generic context

* move ContextPrecompile to revm crate

* nits

* hashmap and comments

* fmt
dependabot bot and others added 29 commits March 29, 2024 12:10
Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.36.0 to 1.37.0.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](tokio-rs/tokio@tokio-1.36.0...tokio-1.37.0)

---
updated-dependencies:
- dependency-name: tokio
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat: TracerEip3155 optionally traces memory

BREAKING CHANGE: the TracerEIP3155 constructor takes an additional
"include_memory" flag

* perf: use hex::encode_prefixed for TracerEip3155

* refactor: use builder pattern for TracerEip3155

BREAKING CHANGE: update constructor syntax for TracerEip3155

* refactor: use String for TracerEip3155 memory
* fix examples->generate_block_traces reuse TracerEip3155.gas_inspector issue

* fmt code

* clear the eip3155 tracer state so that it can be used in next transaction

* print summary and clean state when create_end

* update documentation

* fix left nits
* nit: Use uint macro & fix various small things

* Move MAX_POSITIVE_VALUE back to tests
* feat: add tests for shift instructions

* Use LatestSpec instead of CancunSpec

* Run cargo fmt

* Use parans instead of brackets

* Simplify host/interpreter initialization

* Remove unused imports

* Remove test case comments

* Use U256 types
Signed-off-by: GitHub Action <[email protected]>
Co-authored-by: GitHub Action <[email protected]>
Bumps [secp256k1](https://github.com/rust-bitcoin/rust-secp256k1) from 0.28.2 to 0.29.0.
- [Changelog](https://github.com/rust-bitcoin/rust-secp256k1/blob/master/CHANGELOG.md)
- [Commits](rust-bitcoin/rust-secp256k1@secp256k1-0.28.2...secp256k1-0.29.0)

---
updated-dependencies:
- dependency-name: secp256k1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…#1243)

* feat(interpreter): remove SPEC generic from gas calculation functions

* feat(interpreter): make most gas cost calculation functions `const`

* set_final_refund

* unused

* fix: optimism

* chore: use `is_london: bool` instead of `SpecId` in `Gas::set_final_refund`
* feat: alloydb

* chore: turn on needed deps for test

* derive

* correct address

* chore: remove arc

* feat: actually make Transport and Network generic to accept any transport or network

* chore: condense markers into one, more idiomatic
* fix typo

* fix typo
* check without microbench
* cleanup
* feat: add modifies_memory macro

* refactor
* fix examples->generate_block_traces reuse TracerEip3155.gas_inspector issue

* fmt code

* clear the eip3155 tracer state so that it can be used in next transaction

* print summary and clean state when create_end

* update documentation

* fix left nits

* add cancun upgrade block number

* remove outdated doc

* remove outdated doc

* remove empty file

* TS is unit used to trigger the hardork

---------

Co-authored-by: rakita <[email protected]>
* eof

* feat(EOF): Header decoder

* EofBody decode

* disable eof deprecated opcodes

* add eof instructions

* temp tests

* rjump instructions

* eof rjump with tests

* EOF bytecode

* callf, retf, jumpf

* tests for callf,retf,jumpf

* small rename

* add dataload, dataloadn and datacopy opcodes

* refactor calls

* blueprint for creates

* eof create inputs

* some wip

* add eofcreate structs and exccall flow

* wip eofcreate code flow and handlers

* fix tests

* eof creates

* refactor eofcreate a little

* some work on extcall

* feat: refactor simplify CallInput, eof extcalls

* feat: restructure OpCode and add stack input/output num

* add flags for stack_io and not_eof

* wip eof verification

* wip validation

* EOF Bytecode validity

* insturction and jump validation seems good

* merged eof validate function

* EOP test runner, fex fixes

* RETURNDATALOAD, fix call bugs, refactor gas warm/cold calc

* debug session, rjumpv imm fix

* fixing validation bugs, bytecode decoder for EOF in revme

* pass most of validation tests

* bounds check moved to decode

* Fix merge compilation, fmt

* TXCREATE work

* remove training wheels, panic on eof

* test fix and std

* std

* fix test

* fix valgrind

* fix tests

* clippy

* removed checked logic

* small change

* no std revm-test

* check pending TODOs

* build check no_std

* doc

* chore: move some files. cleanup comments

* fix fmt,clippy and compile error
@fubuloubu fubuloubu merged commit 28447b0 into ApeWorX:main Apr 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.