feat(evm): add evm2 call execution - #368
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
commit: |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a02483182e
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: d260e21d2e
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 837eed1a17
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
59e1a1b to
edf3ff5
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: edf3ff54e0
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Publishes ox/evm with Evm.create, Evm.callTx, and Evm.readAccountInfo over the evm2 engine, plus Database, Ethereum, ExecutionConfig, Precompiles, SpecId, and TxResult. Adds the READ_ACCOUNT ABI operation.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4bd86ed9eb
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| } | ||
|
|
||
| export declare namespace callTx { | ||
| type ErrorType = |
There was a problem hiding this comment.
Add MissingBlockHashError to callTx's union
The earlier error-union expansion remains incomplete after the new missing-block-hash behavior: when a contract requests an unseeded retained height, Database.fromMemory().getBlockHash throws the exported Database.MissingBlockHashError directly, as the deterministic test demonstrates, but this union cannot represent or narrow that runtime failure because Errors.GlobalErrorType only has the literal name 'Error'. Include Database.MissingBlockHashError in callTx.ErrorType.
Useful? React with 👍 / 👎.
| * @example | ||
| * ```ts twoslash | ||
| * // @noErrors | ||
| * import { TxResult } from 'ox/evm' |
There was a problem hiding this comment.
Import Evm in the remaining gas examples
Fresh evidence after the namespace-call fix is that the regularGasSpent and stateGasSpent examples now invoke Evm.callTx(...) but still import only TxResult (the second occurrence is at line 157). Since @noErrors suppresses the unresolved identifier, both invalid imports reach generated documentation; import Evm in both snippets.
Useful? React with 👍 / 👎.
|
|
||
| Added `ox/evm`, an EVM backed by `alloy-rs/evm2` compiled to WebAssembly, with read-only transaction execution. | ||
|
|
||
| ```ts |
There was a problem hiding this comment.
Remove the extra changeset example
The changeset continues past its one-sentence summary into a fenced code example, so the published release entry does not follow this repository's requirement that changeset entries consist of a single past-tense sentence. Keep the summary and remove the additional block.
AGENTS.md reference: AGENTS.md:L120-L120
Useful? React with 👍 / 👎.
Publishes
ox/evm:Evm.create,Evm.callTx, andEvm.readAccountInfooverthe evm2 engine, with
Database,Ethereum,SpecId, andTxResult.Read-only execution only. State a transaction writes is discarded, which is
evm2's own
call_txpath rather than a partial version of one; the transactionlifecycle and pending state follow separately.
Every
Evm.createoption is optional:databasedefaults to an empty in-memorysource,
specIdtoSpecId.latest, andchainIdsits flat on the optionsrather than nested. Precompile and handler-registry selection arrives with the
configuration surface, so until then the specification determines them.
Stacked on #366, which this targets.