Skip to content

[sdk, simplex]: sign and submit bids against EntryPoint v0.9 #1367

Description

@seunlanlege

Background

The SDK and simplex build, sign and submit bids as user operations for EntryPoint v0.8 only. Once SolverAccount (#1366) and SimplexPaymaster (#1365) move to v0.9, bids have to be signed for and sent to the v0.9 EntryPoint (0x433709009B8330FDa32311DF1C2AFA402eD8D009).

What is pinned to v0.8

  • EntryPointV08 in sdk/packages/sdk/src/configs/chain.ts (16 chains) and getEntryPointV08Address in ChainConfigService.ts, used by Bid.ts and GasEstimator.ts
  • simplex's FillerConfigService.getEntryPointAddress, which returns the v0.8 address
  • The SolverAccount address per chain, which the delegation check compares against

Proposed change

  • Add the v0.9 EntryPoint to the chain config and make the lookup version-aware instead of V08-named.
  • Sign against v0.9. CryptoUtils already takes the EntryPoint address as a parameter, and v0.9 keeps the ERC4337 / 1 domain and the same type hash, so only the address changes.
  • Read nonces from the v0.9 EntryPoint. Each EntryPoint keeps its own.
  • Point the config at the new SolverAccount addresses, and confirm DelegationService re-delegates a wallet that is still delegated to the old one.
  • At startup, call eth_supportedEntryPoints on each configured bundler and fail with a clear message if v0.9 is missing.
  • Post open orderbook bids again. Posted user operations are signed for one EntryPoint, so everything posted before the cutover has to be withdrawn and signed again.

To confirm

  • The bundlers solvers use accept v0.9 on every supported chain, including the default the simplex init wizard picks. The custom bundler is tracked in HyperFx Custom Bundler Tracking issue #1363.
  • External signers that check the typed-data domain or the delegate address (Turnkey and MPCVault policies) are updated for the v0.9 EntryPoint and the new SolverAccount.
  • BID_PVG_ESTIMATION_ACCOUNT_CODE still gives a sound preVerificationGas estimate on a v0.9 bundler.

Affected files

  • sdk/packages/sdk/src/configs/chain.ts, ChainConfigService.ts
  • sdk/packages/sdk/src/protocols/intents/Bid.ts, BidManager.ts, GasEstimator.ts, CryptoUtils.ts
  • sdk/packages/simplex/src/services/FillerConfigService.ts, DelegationService.ts, ContractInteractionService.ts
  • sdk/packages/simplex/src/orderbook/limit-orders.ts
  • Tests and the e2e environment that hard-code the v0.8 address
  • simplex docs and the simplex init wizard

Acceptance

  • A bid built by the SDK is accepted by a v0.9 bundler and filled on a testnet
  • simplex re-delegates, posts its open bids again and fills through v0.9 without manual steps
  • simplex refuses to start against a bundler that does not list v0.9

Activity

  1. added this to the EntryPoint v0.9 milestone on Oct 1, 2026
  2. seunlanlege commented on Oct 9, 2026

    @seunlanlege
    MemberAuthor

    closed in #1371

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions