Skip to content

Conversation

@prestwich
Copy link
Member

Summary

  • Add comprehensive integration tests verifying fill-handling behaviors across three drivers
  • Tests use shared scenarios with full, partial, and missing fills to verify correct behavior

Test Coverage

Call Bundle (SignetBundleDriver) - 3 tests:

  • No validation occurs, just reports detected orders and fills
  • All transactions execute regardless of fill state

Send Bundle (SignetEthBundleDriver) - 4 tests:

  • Validates fills and errors on insufficient/missing fills
  • Supports revertible transactions that get dropped instead of erroring

Block Driver (SignetDriver) - 3 tests:

  • Validates fills and drops invalid transactions
  • Block continues processing after a dropped transaction

Test plan

  • All 10 new tests pass locally
  • Existing test suite continues to pass

🤖 Generated with Claude Code

@prestwich prestwich requested a review from a team as a code owner February 2, 2026 18:28
@prestwich
Copy link
Member Author

@prestwich prestwich requested a review from Fraser999 February 3, 2026 13:55
prestwich and others added 5 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>
@prestwich prestwich merged commit 402aee7 into main Feb 3, 2026
11 of 12 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.

4 participants