Conversation
There was a problem hiding this comment.
Pull request overview
Adds initial support for WalletConnect stellar_signAuthEntry (Soroban authorization entry signing) across the mobile app, including signing logic, UI display, analytics, and E2E/mock-dApp tooling to exercise the flow.
Changes:
- Implement Soroban auth entry signing (
signAuthEntry) and wire it into WalletConnect request approval flow. - Update WalletConnect request UI to display auth entry XDR, add i18n strings, and add analytics tracking for successful auth entry signing.
- Add mock-dApp endpoint/client support and E2E flow + CI/workflow updates to run WalletConnect mock-dApp tests.
Reviewed changes
Copilot reviewed 22 out of 23 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| src/services/analytics/transactions.ts | Adds trackSignedAuthEntry analytics tracker. |
| src/services/analytics/index.ts | Exposes trackSignedAuthEntry via analytics instance/interface. |
| src/config/analyticsConfig.ts | Adds SIGN_AUTH_ENTRY_SUCCESS event constant. |
| src/ducks/walletKit.ts | Adds SIGN_AUTH_ENTRY RPC method + params type. |
| src/helpers/stellar.ts | Implements signAuthEntry helper that signs SorobanAuthorizationEntry. |
| src/hooks/useGetActiveAccount.ts | Exposes signAuthEntry bound to the active account key. |
| src/helpers/walletKitUtil.ts | Handles stellar_signAuthEntry in approveSessionRequest (validation, signing, response, toast, analytics). |
| src/providers/WalletKitProvider.tsx | Treats sign_auth_entry as non-transaction request; adds E2E-only origin-check bypass; wires signAuthEntry into request approval. |
| src/components/screens/WalletKit/DappRequestBottomSheetContent.tsx | Updates request UI to support auth entry requests (title + content rendering). |
| src/components/screens/WalletKit/AuthEntryDisplay.tsx | New component to render raw auth entry XDR in a scrollable view. |
| src/i18n/locales/en/translations.json | Adds common.authEntry + WalletKit/dApp request strings for sign-auth-entry. |
| src/i18n/locales/pt/translations.json | Adds Portuguese equivalents for new sign-auth-entry strings. |
| src/components/WalletConnectE2EHelper.tsx | Adds UI/actions to request signAuthEntry from the mock-dApp server. |
| scripts/run-e2e-tests.sh | Adds env plumbing + on-the-fly generation for E2E_TEST_SOROBAN_AUTH_ENTRY_XDR; broadens mock-dApp flow detection. |
| e2e/flows/walletconnect/SignAuthEntryMockDapp.yaml | New Maestro flow covering the happy-path sign-auth-entry WalletConnect flow. |
| mock-dapp/src/walletconnect.ts | Adds mock-dApp WalletConnect client method + namespace support for stellar_signAuthEntry. |
| mock-dapp/src/routes.ts | Adds HTTP route to trigger stellar_signAuthEntry requests. |
| mock-dapp/package-lock.json | Updates lockfile for added dependency. |
| tests/helpers/stellar.test.ts | Adds unit tests validating signAuthEntry output and signature correctness. |
| tests/components/screens/SendScreen/screens/TransactionAmountScreen.test.tsx | Updates mocks for useGetActiveAccount to include signAuthEntry. |
| tests/components/screens/SendScreen/screens/SendCollectibleReview.test.tsx | Updates mocks for useGetActiveAccount to include signAuthEntry. |
| .github/workflows/ios-e2e.yml | Enables mock-dApp WalletConnect flows (SignMessage + SignAuthEntry) in matrix. |
| .github/workflows/android-e2e.yml | Enables mock-dApp WalletConnect flows (SignMessage + SignAuthEntry) in matrix. |
Files not reviewed (1)
- mock-dapp/package-lock.json: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 49 out of 51 changed files in this pull request and generated 4 comments.
Files not reviewed (1)
- mock-dapp/package-lock.json: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 49 out of 51 changed files in this pull request and generated 4 comments.
Files not reviewed (1)
- mock-dapp/package-lock.json: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
…r-mobile into lf-dapp-sign-auth-entry
| * @function handleCancelSecurityWarning | ||
| * @returns {void} | ||
| */ | ||
| const handleCancelSecurityWarning = useCallback(() => { |
There was a problem hiding this comment.
@leofelix077 is this useCallback function wrapping removal intentional?
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 51 out of 53 changed files in this pull request and generated 5 comments.
Files not reviewed (1)
- mock-dapp/package-lock.json: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Closes #717
Closes #742
Screen.Recording.2026-03-06.at.14.16.55.mov
Screen.Recording.2026-03-06.at.14.18.09.mov
Checklist
PR structure
Testing
Release