-
Notifications
You must be signed in to change notification settings - Fork 198
feat: walletconnect feature docs #10917
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
📝 WalkthroughWalkthroughThree new WalletConnect documentation files are added to guide users on connecting ShapeShift wallets across different platforms and scenarios: an overview with platform matrix, wallet connection methods (QR codes and deep links), and DApp integration workflows (paste link, desktop, and mobile deep links). Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~5 minutes
Suggested reviewers
Poem
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Add simplified documentation for WalletConnect features: - WalletConnect Wallet: Connect external wallets to ShapeShift - Current: QR code connection - Coming: Direct connection (mobile web) - PR #10912 - Future: iOS wallet detection - #10893 - WalletConnect to dApps: Connect ShapeShift wallet to DApps - Paste connection links - Deep link support (app.shapeshift.com/wc) - Works across desktop, mobile web, and mobile app Docs focused on what we support and how it works, with minimal fluff and clear platform support matrices. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
The WalletConnect modal already shows wallet buttons on mobile web that deep link to wallet apps - this is already live. The "Direct Connection" feature is about skipping the WalletConnect modal entirely by showing wallet buttons directly in ShapeShift's UI. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
- Use "Connect dApp" button (not Settings menu) - Note: only works with native wallet currently - Remove fluff "What You Can Do" section 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Mobile app supports both paste link and deep link methods, not just deep link only. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
- Fix terminology: "Deep Link via WalletConnect Modal" for mobile web - Clarify mobile app supports both paste link and deep link - Add PR #10879 as initial direct connection implementation - Note iOS wallet detection is a spike in progress - Add demo video link for direct connection feature 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Updated the WalletConnect DApps documentation to clarify deep linking methods for both desktop and mobile applications, including notes on the status of the apps.
Updated WalletConnect documentation for clarity and added links for further details.
Updated the WalletConnect documentation to improve clarity and structure.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (3)
docs/features/walletconnect.md (1)
5-5: Add missing period after "etc."Line 5 uses "etc)" without a period; standard American English style requires "etc." with a period.
Apply this diff to fix the grammar:
-WalletConnect allows ShapeShift to securely connect with external wallets (typically mobile ones e.g MM Mobile, Zerion, Trust etc), and dApps to connect to ShapeShift as a wallet. +WalletConnect allows ShapeShift to securely connect with external wallets (typically mobile ones e.g MM Mobile, Zerion, Trust etc.), and dApps to connect to ShapeShift as a wallet.docs/features/walletconnect-dapps.md (1)
1-48: Well-documented DApp connection workflows.The three connection methods are clearly explained with step-by-step instructions and supporting visual assets. The status notes on lines 19 and 35 appropriately flag current limitations and expected timelines.
One minor consideration: the time-sensitive notes (WC format fix expected "in a few days" as of 10/27/2025, iOS app expected "~1 day") will need future updates as those dates pass. Consider whether to include update reminders or track this documentation as a follow-up task.
docs/features/walletconnect-wallet.md (1)
39-39: Format bare URL as markdown link.Line 39 contains a bare URL without markdown formatting. Per MD034, bare URLs should be wrapped in angle brackets or converted to markdown links.
Apply this diff to format the URL:
-https://github.com/user-attachments/assets/c72816f5-3683-4c91-b964-c516b84f199e +[Direct connection video](https://github.com/user-attachments/assets/c72816f5-3683-4c91-b964-c516b84f199e)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
Disabled knowledge base sources:
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (3)
docs/features/walletconnect-dapps.md(1 hunks)docs/features/walletconnect-wallet.md(1 hunks)docs/features/walletconnect.md(1 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
**/*
📄 CodeRabbit inference engine (.cursor/rules/naming-conventions.mdc)
**/*: ALWAYS use appropriate file extensions
Flag files without kebab-case
Files:
docs/features/walletconnect-wallet.mddocs/features/walletconnect-dapps.mddocs/features/walletconnect.md
🧠 Learnings (3)
📓 Common learnings
Learnt from: gomesalexandre
PR: shapeshift/web#10879
File: src/context/WalletProvider/WalletConnectV2/useDirectConnect.ts:15-23
Timestamp: 2025-10-22T22:12:31.955Z
Learning: In shapeshift/web WalletConnect V2 direct connection (src/context/WalletProvider/WalletConnectV2/useDirectConnect.ts), gomesalexandre prefers using native URL schemes only (metamask://, trust://, zerion://) and not universal links/app links for deep-linking.
Learnt from: gomesalexandre
PR: shapeshift/web#10206
File: src/config.ts:127-128
Timestamp: 2025-08-07T11:20:44.614Z
Learning: gomesalexandre prefers required environment variables without default values in the config file (src/config.ts). They want explicit configuration and fail-fast behavior when environment variables are missing, rather than having fallback defaults.
Learnt from: gomesalexandre
PR: shapeshift/web#10458
File: src/plugins/walletConnectToDapps/types.ts:7-7
Timestamp: 2025-09-10T15:34:29.604Z
Learning: gomesalexandre is comfortable relying on transitive dependencies (like abitype through ethers/viem) rather than explicitly declaring them in package.json, preferring to avoid package.json bloat when the transitive dependency approach works reliably in practice.
Learnt from: gomesalexandre
PR: shapeshift/web#10461
File: src/plugins/walletConnectToDapps/components/modals/ContractInteractionBreakdown.tsx:0-0
Timestamp: 2025-09-13T16:45:18.813Z
Learning: gomesalexandre prefers aggressively deleting unused/obsolete code files ("ramboing") rather than fixing technical issues in code that won't be used, demonstrating his preference for keeping codebases clean and PR scope focused.
Learnt from: gomesalexandre
PR: shapeshift/web#10503
File: .env:56-56
Timestamp: 2025-09-16T13:17:02.938Z
Learning: gomesalexandre prefers to enable feature flags globally in the base .env file when the intent is to activate features everywhere, even when there are known issues like crashes, demonstrating his preference for intentional global feature rollouts over cautious per-environment enablement.
📚 Learning: 2025-10-22T22:12:31.955Z
Learnt from: gomesalexandre
PR: shapeshift/web#10879
File: src/context/WalletProvider/WalletConnectV2/useDirectConnect.ts:15-23
Timestamp: 2025-10-22T22:12:31.955Z
Learning: In shapeshift/web WalletConnect V2 direct connection (src/context/WalletProvider/WalletConnectV2/useDirectConnect.ts), gomesalexandre prefers using native URL schemes only (metamask://, trust://, zerion://) and not universal links/app links for deep-linking.
Applied to files:
docs/features/walletconnect-wallet.mddocs/features/walletconnect-dapps.mddocs/features/walletconnect.md
📚 Learning: 2025-10-22T22:11:22.918Z
Learnt from: gomesalexandre
PR: shapeshift/web#10879
File: src/context/WalletProvider/WalletConnectV2/components/WalletConnectDirectRow.tsx:64-81
Timestamp: 2025-10-22T22:11:22.918Z
Learning: In early WalletConnect POC/features behind a flag, gomesalexandre prioritizes connection correctness/stability over UX polish; minimal safety guards (like preventing concurrent connects) are preferred, while visuals will be wired later by reallybeard.
Applied to files:
docs/features/walletconnect-wallet.md
🪛 LanguageTool
docs/features/walletconnect-dapps.md
[grammar] ~21-~21: Ensure spelling is correct
Context: ...Apps can connect directly to ShapeShift webapp: 1. Visit DApp 2. Connect Wallet → WalletCon...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
[style] ~43-~43: Using many exclamation marks might seem excessive (in this case: 3 exclamation marks for a text that’s 1365 characters long)
Context: ...p, notice ShapeShift wallet is connected! Note, some dApps use the old WalletCon...
(EN_EXCESSIVE_EXCLAMATION)
docs/features/walletconnect.md
[style] ~5-~5: In American English, abbreviations like “etc.” require a period.
Context: ...obile ones e.g MM Mobile, Zerion, Trust etc), and dApps to connect to ShapeShift as...
(ETC_PERIOD)
🪛 markdownlint-cli2 (0.18.1)
docs/features/walletconnect-wallet.md
39-39: Bare URL used
(MD034, no-bare-urls)
🔇 Additional comments (2)
docs/features/walletconnect.md (1)
1-24: Clear and well-structured overview page.The documentation effectively introduces the two WalletConnect modes and provides a helpful platform support matrix for quick reference. The cross-links to detailed documentation are appropriately placed.
docs/features/walletconnect-wallet.md (1)
1-38: Well-documented wallet connection workflows with clear status tracking.The current methods are clearly explained with step-by-step instructions. The "Coming Soon" section appropriately signals the direct connection feature with PR references for tracking, and the emphasis on native wallet buttons (MetaMask, Trust, Zerion) aligns with the implementation approach.
premiumjibles
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks sane 🤌
Description
Docs to reference to for ops and marketing alike re: current state of WC things
Issue (if applicable)
closes N/A
Risk
None, docs only
Testing
Engineering
Operations
Screenshots (if applicable)
Summary by CodeRabbit