Skip to content

feat(#416 ③): tier-setup self-pay (ETH) gas fallback — no aPNTs deadlock#418

Merged
jhfnetboy merged 1 commit into
masterfrom
feat/tier-setup-self-pay
Jul 2, 2026
Merged

feat(#416 ③): tier-setup self-pay (ETH) gas fallback — no aPNTs deadlock#418
jhfnetboy merged 1 commit into
masterfrom
feat/tier-setup-self-pay

Conversation

@jhfnetboy

Copy link
Copy Markdown
Member

docs/CREATE_FLOW_BETA_BUG.md #3. tier-setup ran its wiring + tier-limit UserOps only through PaymasterV4 (aPNTs), so a brand-new account with no aPNTs hit AA33 and couldn't pre-deploy / raise tiers — an onboarding deadlock.

Adds a Gas toggle: Sponsored (aPNTs) (default, unchanged) or Self-pay (ETH) — the latter drops usePaymaster so the account pays gas from its own ETH. Unblocks users who hold ETH but no aPNTs.

tsc + lint + build green. Frontend-only (no SDK dependency). Complements ① (#417, deploy-at-birth); ② (bake tier profile at birth) is tracked upstream in aastar-sdk#266.

…adlock

tier-setup ran its wiring + tier-limit UserOps ONLY through PaymasterV4 (aPNTs), so a
brand-new account with no aPNTs hit AA33 and couldn't pre-deploy / raise tiers — an
onboarding deadlock (docs/CREATE_FLOW_BETA_BUG.md #3). Add a Gas toggle: Sponsored (aPNTs,
default — unchanged) or Self-pay (ETH), which drops usePaymaster so the account pays gas
from its own ETH. Unblocks users who hold ETH but no aPNTs. tsc + lint green.
@jhfnetboy jhfnetboy requested a review from fanhousanbu as a code owner July 2, 2026 12:57
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@clestons clestons left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review: #418 — feat(#416 ③): tier-setup ETH self-pay fallback

#416 fix plan #3 的最小化实现,解除 aPNTs 死锁。

核心逻辑

usePaymaster: gasMode === "apnts",
...(gasMode === "apnts" ? { paymasterAddress: canonical?.paymasterV4 } : {}),

eth 模式:usePaymaster: falsepaymasterAddress 字段整体省略(非 undefined)✓
apnts 模式:与改前完全等价,向后兼容 ✓
gasModeapply() 调用时捕获,for 循环内多次 UserOp 全部使用同一模式 ✓
默认 "apnts",现有用户行为不变 ✓
type="button" 防止误触 form submit ✓

[L — 非阻塞] ARIA 缺失

toggle 无 role="group" / aria-pressed,屏幕阅读器无法感知当前选中态。可后续补。

总结

最小化、精确的死锁解除。配合 #417(deploy-at-birth)+ sdk#267(resolveTierProfile)组成完整的 onboarding 修复链。

APPROVE

轮次 执行者 裁决
R1 Sonnet 4.6 APPROVE(L 非阻塞:ARIA toggle)

@jhfnetboy jhfnetboy merged commit 47303db into master Jul 2, 2026
14 checks passed
@jhfnetboy jhfnetboy deleted the feat/tier-setup-self-pay branch July 2, 2026 14:53
@github-actions github-actions Bot locked and limited conversation to collaborators Jul 2, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants