Skip to content

Conversation

avalonche
Copy link
Collaborator

@avalonche avalonche commented Oct 3, 2025

📝 Summary

Add permit function calls so that tee signer don't need funding to do the flashtestation transactions. Adds additional flashtestation tests and improves error handling.

CLI Changes

--flashtestations.use-permit enables the permit contract call and does not attempt to fund the tee key. It would use the builder key and many flags such as --flashtestations.rpc-url, --flashtestations.funding-key will not be needed to support flashtestations


✅ I have completed the following steps:

  • Run make lint
  • Run make test
  • Added tests (if applicable)

@avalonche avalonche force-pushed the flashtestations-permit branch 3 times, most recently from ad61301 to 75e520c Compare October 4, 2025 09:19

pub trait BuilderTransactions<ExtraCtx: Debug + Default = ()>: Debug {
fn simulate_builder_txs<Extra: Debug + Default>(
pub trait BuilderTransactions<ExtraCtx: Debug + Default = (), Extra: Debug + Default = ()> {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it starts to look scary :)

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we can move Extra fields to ExtraCtx :)

@avalonche avalonche mentioned this pull request Oct 6, 2025
3 tasks
@avalonche avalonche force-pushed the add-flashtestation-integration-tests branch from 260cb95 to 2bd3b66 Compare October 16, 2025 18:21
Base automatically changed from add-flashtestation-integration-tests to main October 16, 2025 18:34
@Copilot Copilot AI review requested due to automatic review settings October 18, 2025 06:32
@avalonche avalonche force-pushed the flashtestations-permit branch from 75e520c to ef81cca Compare October 18, 2025 06:32
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Adds permit-based registration and block proof verification for flashtestations so the TEE signer no longer needs funding; introduces new tests and refactors builder transaction simulation to support permit flows.

  • Introduces EIP-712 style permit functions on registry and builder policy contracts plus related signature/nonce logic.
  • Refactors builder transaction trait and implementations to generic over extra context and execution info, adding unified simulation helpers and error types.
  • Adds CLI flag --flashtestations.use-permit and corresponding test coverage for permit registration and block proof flows.

Reviewed Changes

Copilot reviewed 13 out of 13 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
crates/op-rbuilder/src/tests/mod.rs Updates test contract addresses used in setup.
crates/op-rbuilder/src/tests/flashtestations.rs Expands test suite with permit, invalid quote, unauthorized workload, and block proof scenarios; adjusts expected tx counts.
crates/op-rbuilder/src/flashtestations/service.rs Extends bootstrap to pass builder key and support permit flag gating RPC registration.
crates/op-rbuilder/src/flashtestations/mod.rs Adds permit-related function and error definitions to interfaces; simplifies revert enum.
crates/op-rbuilder/src/flashtestations/builder_tx.rs Implements permit registration and block proof signing logic; refactors simulation paths and error handling.
crates/op-rbuilder/src/flashtestations/args.rs Adds CLI arg flashtestations_use_permit.
crates/op-rbuilder/src/builders/standard/service.rs Passes builder key into flashtestations bootstrap with new signature.
crates/op-rbuilder/src/builders/standard/builder_tx.rs Adjusts trait usage for new generics and error-tolerant flashtestations integration.
crates/op-rbuilder/src/builders/mod.rs Re-exports new error/result types, removes obsolete helper.
crates/op-rbuilder/src/builders/flashblocks/service.rs Updates generic bounds to include execution info type for flashblocks.
crates/op-rbuilder/src/builders/flashblocks/payload.rs Adds FlashblocksExecutionInfo; updates trait bounds accordingly.
crates/op-rbuilder/src/builders/flashblocks/builder_tx.rs Adapts builder tx structures to new generic trait; commits state before flashtestations txs.
crates/op-rbuilder/src/builders/builder_tx.rs Major refactor: adds unified simulation utilities, new error variants, generic BuilderTxBase, and removes log_exists helper.

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@Copilot Copilot AI review requested due to automatic review settings October 18, 2025 10:27
@avalonche avalonche force-pushed the flashtestations-permit branch from 95a824c to 82c5fea Compare October 18, 2025 10:27
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Copilot reviewed 13 out of 13 changed files in this pull request and generated 5 comments.


Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@avalonche avalonche force-pushed the flashtestations-permit branch from 82c5fea to e79a2c9 Compare October 18, 2025 10:32
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.

2 participants