fix: estimate ERC-3009 settlement gas#23
Conversation
|
@peterxing is attempting to deploy a commit to the Ben's Team Team on Vercel. A member of the Team first needs to authorize it. |
|
Source-level pass on the settlement fix: this moves the production-critical path off the fixed A few acceptance checks I would run before merge:
The visible failing check is Vercel authorization for a fork deploy, not a code gate. I did not sign requests, send payment headers, call |
|
Added a follow-up commit after the source-level acceptance pass: e9be708 ( What it covers locally without signing/broadcasting:
Verification re-run:
I did not run the Base-mainnet calldata replay because that would require facilitator wallet/private-key access and potentially a live |
|
Re-read the follow-up test commit. The added coverage addresses the two source-level acceptance points I was most concerned about:
That is the right no-broadcast regression shape for the bug in #21. The only remaining proof gap is the one you already called out: a Base mainnet calldata replay or staging settlement trace with No payment headers, wallet signatures, settlement calls, or transactions from me here. |
Summary
100000nERC-3009 settlement gas cap withpublicClient.estimateGas(...)Why
Base Mainnet native USDC can exceed 100k gas for
transferWithAuthorizationwhen blacklist/pause checks and first-time storage allocation are exercised. The old hard cap could revert even when the signature/payload was otherwise valid.Fixes #21.
Verification
corepack pnpm install --frozen-lockfile --ignore-scriptscorepack pnpm --filter @openfacilitator/core lintcorepack pnpm --filter @openfacilitator/core buildgit diff --check HEAD~1 HEADNote: the normal install without
--ignore-scriptsis blocked on Windows by@stellar/stellar-sdkrunningyarn setup || truefrom postinstall whereyarn/POSIXtrueare unavailable; the core TypeScript gates pass after an ignore-scripts install.