Skip to content

feat(vibenet): account demo on Keystore-free EIP-8130 (EOA + delegation) - #177

Draft
chunter-cb wants to merge 5 commits into
mainfrom
feat/aa-eoa-no-keystore
Draft

chunter-cb wants to merge 5 commits into
mainfrom
feat/aa-eoa-no-keystore

Conversation

@chunter-cb

@chunter-cb chunter-cb commented Sep 30, 2026 •

Copy link
Copy Markdown
Contributor

The vibenet devnet now runs EIP-8130 at Everest with the Keystore off, and the call wire gained a per-call value. The old vendor/aa bundle encoded calls as [to, data] and built Keystore-only flows, so every 8130 send from the demos failed to decode.

What changed

  • vendor/aa: rebuilt from viem feat/aa-tx-split (chunter-cb/viem@1c72469), core eip8130 + eip8168 only, straight from TS sources (no viem build step). Hand-written index.d.ts rewritten to match; every declared name exists in the bundle.
  • Account engine: accounts are K1 EOAs (generate or import). Sends compose payer payment → phase 0 → phase 1, optional nonce-free mode, and self-pay / free grant / USDV via the ERC-8168 payer. USDV amount uses the offer's WAD rate at the signed gas and fee.
  • UI: Create (new / unused / import key), Transact with payer rejection retries, and a slimmer explorer owned-account view (Overview / Activity).

Removed for now

Keystore features and code delegation will come back later in a different form; the prior implementation is on main at cd24bff.

  • Keystore-only: session keys and policies, owner management, sub-accounts, P-256 / passkey signers, smart accounts and address derivation, config-sequence recovery, the apps directory, and the 4337 / Base Sepolia path. Stored records of those are dropped on load.
  • EOA code delegation: the Delegate Code control, the Code Delegation card and explorer section, and the delegation gas term. Stored delegate activity is shown as a regular transaction.

B20, Validity, and Race the Agent compile unchanged against the new engine.

Testing

  • npm run typecheck, npm run lint (0 errors), npm test (415 passing), next build.
  • Not yet run against a live devnet: the payer co-sign and relay paths, and B20's browser payer co-signing.

Pairs with base/vibenet#68 (payer + devnet config).

…plit

Bundle straight from the viem TypeScript sources instead of the stale _esm
build, export only what the app imports, and rewrite index.d.ts to the
EOA + delegation + ERC-8168 surface (no Keystore, WebAuthn or 4337).
Accounts are secp256k1 EOAs. The engine composes phased calls with an
optional delegation change, nonce-free sends and an ERC-8168 payer (token
payment priced from the offer rate), and reads the current delegation from
eth_getCode. Legacy Keystore-era records are dropped on load.
Create generates or imports a K1 key; Transact adds a Delegate Code control,
a nonce-free option and payer rejection recovery (requote, min gas, USDV
fallback). Removes session keys, owners, sub-accounts, passkeys and the apps
directory; the explorer account view shows Overview / Delegation / Activity.
@vercel

vercel Bot commented Sep 30, 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 Sep 30, 2026 11:53am UTC

Request Review

@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

This branch was successfully deployed

1 active deployment
Preview — 83ef7e3a Deployed Sep 30, 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