Skip to content

test: add bundle type JSON vector generation tests#186

Merged
prestwich merged 6 commits intomainfrom
prestwich/evm-eval
Feb 3, 2026
Merged

test: add bundle type JSON vector generation tests#186
prestwich merged 6 commits intomainfrom
prestwich/evm-eval

Conversation

@prestwich
Copy link
Member

Summary

  • Add generate_eth_bundle_vectors test to crates/bundle/src/send/bundle.rs
  • Add generate_call_bundle_vectors test to crates/bundle/src/call/ty.rs
  • Tests generate JSON vectors for cross-implementation verification with the TypeScript SDK
  • Tests are #[ignore] to avoid polluting normal test output

Test plan

  • cargo clippy -p signet-bundle --all-features passes
  • cargo +nightly fmt applied
  • Vectors used successfully in TypeScript SDK tests

🤖 Generated with Claude Code

prestwich and others added 6 commits February 3, 2026 11:05
Add comprehensive integration tests verifying the three distinct
fill-handling behaviors across different drivers:

- Call Bundle (SignetBundleDriver): OUTPUT missing fills without
  validation, just reports detected orders and fills
- Send Bundle (SignetEthBundleDriver): ERROR on missing fills,
  stopping execution unless tx is marked revertible
- Block Driver (SignetDriver): DROP TXN on missing fills, rejecting
  the invalid transaction but continuing block processing

Tests use a shared scenario with three fill states (full, partial,
missing) to verify each driver behaves correctly.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Remove redundant closure in wallet creation and apply rustfmt.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Address PR review feedback:
- Remove unused `host_txs` parameter from `order_bundle()` function
- Consolidate three identical `call_bundle` tests into one comprehensive
  test since call bundle performs no fill validation

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Address PR review feedback by verifying orderer balance changes:
- accepts_with_valid_fills: assert balance decreased after order executed
- drops_tx_on_partial_fills: assert balance unchanged when order dropped

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Update fill_behavior tests to use tokio::time::Instant instead of
std::time::Instant to match the updated SignetEthBundleDriver API.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add test functions that generate JSON test vectors for EthBundle and
CallBundle types. These vectors are used by the TypeScript SDK to verify
cross-implementation serialization compatibility.

The tests are marked #[ignore] to avoid polluting normal test output
while remaining available for vector regeneration when needed.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@prestwich prestwich requested a review from a team as a code owner February 3, 2026 21:15
@prestwich
Copy link
Member Author

same as #184 and #179 but for bundles

@prestwich prestwich enabled auto-merge (squash) February 3, 2026 21:53
@prestwich prestwich merged commit dfba891 into main Feb 3, 2026
6 checks passed
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