Skip to content

Widen authorization-list nonce to hold full uint64 range#5

Open
ahmohamed wants to merge 1 commit into
masterfrom
tx-nonce-overflow
Open

Widen authorization-list nonce to hold full uint64 range#5
ahmohamed wants to merge 1 commit into
masterfrom
tx-nonce-overflow

Conversation

@ahmohamed
Copy link
Copy Markdown

Summary

  • EIP-7702 authorization entries can carry a nonce of 2^64-1 on chain (the spec rejects them but they still land in blocks), and the existing BIGINT column on t_transaction_authorization_lists.f_nonce overflows when pgx encodes uint64 values that exceed int64.
  • First observed at mainnet block 25060190, transaction 0xf0a1040198b59042cd218b899e010df69523e543ad4716f84d5d723230021d6b — one authorization entry with nonce=0xffffffffffffffff. execd stalled at block 25060189 with pgx errors unable to encode 0xffffffffffffffff into binary format for int8 (OID 20): 18446744073709551615 is greater than maximum value for int64.
  • Adds schema migration v12 (widenAuthorizationListNonce) which ALTERs the column to NUMERIC(20,0). The fresh-install path in createTransactionAuthorizationLists is updated to match.
  • Bumps ReleaseVersion to 0.6.1.

@ahmohamed ahmohamed requested review from AntiD2ta, Bez625 and xav May 15, 2026 01:12
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.

1 participant