Skip to content

feat(vibenet): track ERC-8168 update — payer authorizes before the user signs - #182

Open
chunter-cb wants to merge 1 commit into
mainfrom
feat/erc8168-update
Open

chunter-cb wants to merge 1 commit into
mainfrom
feat/erc8168-update

Conversation

@chunter-cb

Copy link
Copy Markdown
Contributor

Updates the account demo to the latest ERC-8168 draft (ethereum/ERCs#1555).

Merge after https://github.com/base/vibenet/pull/73 is deployed. This ui sends the renamed transaction param, which the payer running today doesn't accept.

  • Payer first, then one user signature. When the offer lists payer_signTransaction, signComposed serializes the transaction without sender_auth. It gets payerAuth from the payer through the new ComposePayer.authorize hook, then the user signs once with it in place and the page broadcasts. A payer rejection no longer comes after the user has signed.
  • payer_sendTransaction uses { transaction }.
  • The getTerms gasLimit now covers only the user calls (the spec excludes phase 0; the payer adds paymentGas).
  • Adds a COST_EXCEEDS_LIMIT message, handles a missing paymentAmount (the amount is still priced from rate), and refuses native-token offers, which this dialog doesn't build.
  • Rebuilds vendor/aa from viem feat/aa-tx-split (37aa9cf1f), exports serializeTransaction, encodePayment and requiredPaymentAmount, and refreshes the hand-written ERC-8168 types (which still had the old {numerator, denominator} rate).

Testing

  • tsc passes (only stale .next route types fail), and eslint passes on the changed files.
  • vitest: 417 tests pass.
  • The same payer-first flow, run from this rebuilt bundle (tmp/smoke-eoa-payer.mjs in vibenet), landed USDV-paid and free-grant transactions on live vibenet against the payer from vibenet#73.

…r signs)

- payer_signTransaction is called on the unsigned tx and returns payerAuth;
  the sender signs once with it in place, then the page broadcasts
- co-sign param renamed to `transaction`; getTerms gasLimit excludes phase 0
- COST_EXCEEDS_LIMIT message; tolerate an absent paymentAmount
- rebuild vendor/aa from viem feat/aa-tx-split (37aa9cf1f); refresh ERC-8168 types
@cb-heimdall

Copy link
Copy Markdown
Collaborator

🟡 Heimdall Review Status

Requirement Status More Info
Reviews 🟡 0/1
Denominator calculation
Show calculation
1 if user is bot 0
1 if user is external 0
2 if repo is sensitive 0
From .codeflow.yml 1
Additional review requirements
Show calculation
Max 0
0
From CODEOWNERS 0
Global minimum 0
Max 1
1
1 if commit is unverified 0
Sum 1

@vercel

vercel Bot commented Oct 6, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
omni-ui Ready Ready Preview Oct 6, 2026 5:51pm UTC

Request Review

This branch was successfully deployed

1 active deployment
Preview — ed99cd6a Deployed Oct 6, 2026 by vercel[bot]
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