You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: AGENTS.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -28,6 +28,8 @@
28
28
-**Files**: `.tsx` for React components, `.ts` for utilities/hooks
29
29
-**Error Handling**: Use proper error boundaries, avoid throwing in render
30
30
-**Text Components**: Use `EdgeText`, `Paragraph`, `SmallText`, `WarningText` instead of raw text
31
+
-**Component Reuse**: Strongly prefer reusing existing shared components over building new ones or dropping to raw library primitives. Before adding UI, look for a component that already covers the need (e.g. text via `EdgeText`), and keep color, sizing, and styling driven by `useTheme()` rather than hard-coded per call site. When nothing suitable exists, add a reusable, themed definition instead of a one-off
32
+
-**Spacing**: Keep a minimum of 1rem TOTAL space between an element and its neighbors, including screen edges. "Total" is the sum contributed across nearby and parent elements, so examine them rather than each element in isolation: scene-edge padding from `SceneWrapper`/`SceneContainer` (`DEFAULT_MARGIN_REM`, 0.5rem) plus an element's own 0.5rem margins via `Space`/`useSpaceStyle` compose to the 1rem total. An explicit override always takes precedence: the "unless otherwise specified" escape hatch applies to every case, screen edges included. The only built-in exception is flex layouts, which rely on flex gap and alignment for sibling spacing; even there, the 1rem screen-edge minimum still applies. Express spacing in rem through the layout primitives instead of hard-coded pixel margins
31
33
-**Hooks**: Custom hooks in `src/hooks/`, follow `use*` naming convention
32
34
-**Testing**: Jest with React Native Testing Library, tests in `__tests__/` directories
Copy file name to clipboardExpand all lines: CHANGELOG.md
+16Lines changed: 16 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,22 @@
2
2
3
3
## Unreleased (develop)
4
4
5
+
## 4.50.0 (2026-07-21)
6
+
7
+
- added: Changelly swap provider
8
+
- added: NYM swap provider (`nymswap`)
9
+
- added: Optional Bridgeless swap referral id via the `BRIDGELESS_INIT` env config, passed through to the swap plugin.
10
+
- added: Klarna and PayPal payment options on the Banxa buy path.
11
+
- changed: Route maestro test builds to a dedicated Zealot channel so they no longer appear in the production release list.
12
+
- changed: Add maestro test selectors (testIDs) to the create-wallet crypto selection scene and row.
13
+
- changed: Hide the wallet "Get Raw Keys" option behind Developer Mode, while still showing it for wallets that fail to load.
14
+
- fixed: Share button referral link now uses the dl.edge.app deep-link domain so appreferred attribution is tracked
15
+
- fixed: MoonPay "Send with Edge" sell link now opens the app to a pre-filled Send scene. All ramp redirect URLs (payment, success, fail, cancel) point at the claimed deep.edge.app.
16
+
- fixed: Banxa Google Pay and ACH sell payment methods after Banxa consolidated its Google Pay PSPs (`PRIMERGP`) and migrated ACH sell (`BRDGACHSELL`).
17
+
- fixed: Add NYM swap partner icon mapping for transaction history and details.
18
+
- fixed: Add n.exchange icon mapping for transaction history and details.
19
+
- removed: SideShift `privateKey` from env config; the swap integration no longer sends the affiliate secret header.
Copy file name to clipboardExpand all lines: eslint.config.mjs
+31-1Lines changed: 31 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -53,10 +53,41 @@ export default [
53
53
message:
54
54
'Avoid using styled() - prefer regular components with useTheme() and cacheStyles()'
55
55
}
56
+
],
57
+
58
+
// Warn on raw react-native-vector-icons imports to encourage migration
59
+
// toward shared, theme-driven icon components:
60
+
'no-restricted-imports': [
61
+
'warn',
62
+
{
63
+
patterns: [
64
+
{
65
+
group: [
66
+
'react-native-vector-icons',
67
+
'react-native-vector-icons/*'
68
+
],
69
+
message:
70
+
'Avoid importing react-native-vector-icons directly. Use a shared icon from src/components/icons/ThemedIcons or the VectorIcon component so color and size stay theme-driven, and add a new definition there if one is missing.'
71
+
}
72
+
]
73
+
}
56
74
]
57
75
}
58
76
},
59
77
78
+
// Allow the shared icon wrappers to import react-native-vector-icons
79
+
// directly, since they are the components that re-export it:
0 commit comments