fix(web): offer mobile EVM wallets when window.ethereum is missing #32
No reviewers
Labels
No labels
agent:implement
agent:ready
api
bot
bug
ci
enhancement
ready
security
terra-classic
testing
ux
web
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
code/cl8y-ecosystem-legal!32
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/15-evm-mobile-wallets"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
/sign/evmno longer dead-ends onNo EVM wallet found (install MetaMask or similar)when Safari/Chrome/Firefox have no injected EIP-1193 provider (GitLab #15).ethereum.providers[],window.ethereum, andwindow.BinanceChain(with a short wait for late MetaMask iOS / Binance WebView inject). Several providers require an explicit pick.https://link.metamask.io/dapp/…), Open in Binance Web3, Copy link (portal URL, query intact). In-page WalletConnectpersonal_signwhen Legal-ownedVITE_WC_PROJECT_IDis set (hidden when unset).account=0x…continuity: a different connected address is a hard fail. API EIP-191 verify is unchanged. Terra/Solana/Telegram pages are unchanged (EVM still has no Open in Keplr).Closes #15
Test plan
cd web && npx vitest run— 102 passed (provider discovery, deeplink allowlist, claimed-account, WC pairing, signShell busy reset)evm-sign+sign-pages+terra-sign+redirect— 24 passed with 5 workers (fullyParallel), then retestsigned_latest: trueVITE_WC_PROJECT_IDis set on the Legal portal build if in-page WC should appear in productionAcceptance criteria
/sign/evm?property=…never dead-ends on install-MetaMask without a next step (Open in MetaMask / Open in Binance Web3 / Copy link / WC)window.ethereum→signed_latestwindow.BinanceChainonly →signed_latestsigned_latestwindow.ethereumpath still works (evm-signregression)requestuntil terms are scrolled and the checkbox is checkedaccount=0x…mismatch fails closed (nosigned_latestfor the claimed account)skills/portal-sign-disclosure/SKILL.mdandsignShell.tscomments no longer say EVM must omit extraControlsapi/src/verify/evm.rs; not re-run in this MR (existing CItest:rust)Invariants / docs
skills/portal-sign-disclosure/SKILL.md— EVM extraControls, deeplink origin bind, WC, account continuityskills/testing-coverage/SKILL.md— EVM mobile artifactsskills/terra-classic-adr036/SKILL.md— do not mount Terra CTAs on EVMREADME.mdEVM section +web/.env.example(VITE_WC_PROJECT_IDalso gates EVM WC)packages/cl8y-clickwrap/README.md— integrators still redirect tosign_urls.evm; passaccountchanged the description
added 1 commit
78048288- test(web): stabilize EVM mobile e2e and ignore Connect clicks while busyCompare with previous version
mentioned in commit
72c45a73d5