Skip to content

Commit 9d1e64e

Browse files
committed
Merge branch 'staging'
2 parents c7e1aa6 + 7688c3a commit 9d1e64e

51 files changed

Lines changed: 692 additions & 85 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

AGENTS.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@
2828
- **Files**: `.tsx` for React components, `.ts` for utilities/hooks
2929
- **Error Handling**: Use proper error boundaries, avoid throwing in render
3030
- **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
3133
- **Hooks**: Custom hooks in `src/hooks/`, follow `use*` naming convention
3234
- **Testing**: Jest with React Native Testing Library, tests in `__tests__/` directories
3335

CHANGELOG.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,22 @@
22

33
## Unreleased (develop)
44

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.
20+
521
## 4.49.1 (2026-07-14)
622

723
- fixed: iOS crashes on older devices

eslint.config.mjs

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,10 +53,41 @@ export default [
5353
message:
5454
'Avoid using styled() - prefer regular components with useTheme() and cacheStyles()'
5555
}
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+
}
5674
]
5775
}
5876
},
5977

78+
// Allow the shared icon wrappers to import react-native-vector-icons
79+
// directly, since they are the components that re-export it:
80+
{
81+
files: [
82+
'src/assets/vector/index.ts',
83+
'src/components/icons/ThemedIcons.tsx',
84+
'src/components/themed/VectorIcon.tsx'
85+
],
86+
rules: {
87+
'no-restricted-imports': 'off'
88+
}
89+
},
90+
6091
// Permit certain deprecated symbols:
6192
{
6293
files: ['**/*.ts', '**/*.tsx'],
@@ -424,7 +455,6 @@ export default [
424455

425456
'src/plugins/gui/providers/bityProvider.ts',
426457

427-
'src/plugins/gui/providers/moonpayProvider.ts',
428458
'src/plugins/gui/providers/mtpelerinProvider.ts',
429459

430460
'src/plugins/gui/providers/revolutProvider.ts',

ios/Podfile.lock

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,13 @@ PODS:
1515
- disklet (0.6.0):
1616
- React
1717
- DoubleConversion (1.1.6)
18-
- edge-core-js (2.46.1):
18+
- edge-core-js (2.47.1):
1919
- React-Core
20-
- edge-currency-accountbased (4.86.0):
20+
- edge-currency-accountbased (4.86.2):
2121
- React-Core
22-
- edge-currency-plugins (3.10.0):
22+
- edge-currency-plugins (3.11.0):
2323
- React-Core
24-
- edge-exchange-plugins (2.48.3):
24+
- edge-exchange-plugins (2.52.0):
2525
- React-Core
2626
- edge-login-ui-rn (3.36.0):
2727
- React-Core
@@ -1637,7 +1637,7 @@ PODS:
16371637
- Yoga
16381638
- react-native-mail (6.1.1):
16391639
- React-Core
1640-
- react-native-monero (0.4.1):
1640+
- react-native-monero (0.4.2):
16411641
- React-Core
16421642
- react-native-netinfo (11.4.1):
16431643
- React-Core
@@ -1665,7 +1665,7 @@ PODS:
16651665
- ReactCommon/turbomodule/bridging
16661666
- ReactCommon/turbomodule/core
16671667
- Yoga
1668-
- react-native-piratechain (0.6.0):
1668+
- react-native-piratechain (0.6.1):
16691669
- gRPC-Swift (~> 1.8)
16701670
- MnemonicSwift (~> 2.2)
16711671
- React-Core
@@ -1776,7 +1776,7 @@ PODS:
17761776
- react-native-zano (0.3.0):
17771777
- OpenSSL-Universal
17781778
- React-Core
1779-
- react-native-zcash (0.12.1):
1779+
- react-native-zcash (0.12.2):
17801780
- gRPC-Swift (~> 1.8)
17811781
- MnemonicSwift (~> 2.2)
17821782
- React-Core
@@ -3340,10 +3340,10 @@ SPEC CHECKSUMS:
33403340
CNIOWindows: 3047f2d8165848a3936a0a755fee27c6b5ee479b
33413341
disklet: ef8ef081e35a73fbed579888d29e49edc2f327cc
33423342
DoubleConversion: cb417026b2400c8f53ae97020b2be961b59470cb
3343-
edge-core-js: a860d213f1506a5e50a8c8243f9afdb89ca67f1f
3344-
edge-currency-accountbased: 4751c2e451ad34b1d7484dc6b850ee6d1d064ba9
3345-
edge-currency-plugins: a52a61270c53d48edf8a9fc08fe69f52afa5ca0e
3346-
edge-exchange-plugins: 67b8e493a4b6a7beb910309dc9d4379cfebd0a72
3343+
edge-core-js: c04529b2fc93a9ffca498c8b8bff94fc9e6e4b40
3344+
edge-currency-accountbased: 5184bc0ac18c90db1432666f0a4c206fcf17c606
3345+
edge-currency-plugins: 70f528377c9120f375d67284bf29ab1782429d69
3346+
edge-exchange-plugins: 6b0e9431c194a7b5c7db0f9e12ab201c3115ddf4
33473347
edge-login-ui-rn: 5b9c03326583d1dd4839ca34d065b2b75af5870f
33483348
EXConstants: 98bcf0f22b820f9b28f9fee55ff2daededadd2f8
33493349
Expo: 43d9e0c3108cc3a1c2739743e9b51086144ee4b0
@@ -3413,16 +3413,16 @@ SPEC CHECKSUMS:
34133413
react-native-in-app-review: 668f4c80d7f95945e0ad7833e98c466cb40d6808
34143414
react-native-keyboard-controller: c8968215c7ecdfc43663cfaf9ca991aad4179815
34153415
react-native-mail: 6e83813066984b26403d3fdfe79ac7bb31857e3c
3416-
react-native-monero: d9564cc15d75a0228f425acf9ba97f252f9425eb
3416+
react-native-monero: 8ea7a864e1481f662502472de7b460b0a73bf230
34173417
react-native-netinfo: cec9c4e86083cb5b6aba0e0711f563e2fbbff187
34183418
react-native-performance: f0471c84eda0f6625bd42a1f515b1b216f284b12
3419-
react-native-piratechain: ee2659672d55c924fba54a2bec0e86b027c5eb9b
3419+
react-native-piratechain: 8231f56c4de54c10932609d460e10b3a33127d89
34203420
react-native-render-html: 5afc4751f1a98621b3009432ef84c47019dcb2bd
34213421
react-native-safari-view: 07dc856a2663fef31eaca6beb79b111b8f6cf1f2
34223422
react-native-safe-area-context: 83e0ac3d023997de1c2e035af907cc4dc05f718c
34233423
react-native-webview: 69c118d283fccfbc4fca0cd680e036ff3bf188fa
34243424
react-native-zano: 74df6c044b24abcdc878d7dd858467f9559fd411
3425-
react-native-zcash: a1659a013db5997260582913de0eb9cef30f23dc
3425+
react-native-zcash: e64b8c0ff8cb453dce9ae383ae401fdb2fd3cb19
34263426
React-NativeModulesApple: df8e5bc59e78ca3040ffbf41336889f3bd0fad68
34273427
React-oscompat: ef5df1c734f19b8003e149317d041b8ce1f7d29c
34283428
React-perflogger: 9a151e0b4c933c9205fd648c246506a83f31395d

package-lock.json

Lines changed: 36 additions & 31 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "edge-react-gui",
3-
"version": "4.49.1",
3+
"version": "4.50.0",
44
"private": true,
55
"description": "Edge Wallet React GUI",
66
"homepage": "https://edge.app",
@@ -104,10 +104,10 @@
104104
"deprecated-react-native-prop-types": "^5.0.0",
105105
"detect-bundler": "^1.1.0",
106106
"disklet": "^0.6.0",
107-
"edge-core-js": "^2.46.1",
108-
"edge-currency-accountbased": "^4.85.4",
109-
"edge-currency-plugins": "^3.10.0",
110-
"edge-exchange-plugins": "^2.48.3",
107+
"edge-core-js": "^2.47.1",
108+
"edge-currency-accountbased": "^4.86.2",
109+
"edge-currency-plugins": "^3.11.0",
110+
"edge-exchange-plugins": "^2.52.0",
111111
"edge-info-server": "^3.12.0",
112112
"edge-login-ui-rn": "^3.36.0",
113113
"ethers": "^5.7.2",
@@ -148,11 +148,11 @@
148148
"react-native-linear-gradient": "^2.8.3",
149149
"react-native-localize": "^3.4.2",
150150
"react-native-mail": "^6.1.1",
151-
"react-native-monero": "0.4.1",
151+
"react-native-monero": "0.4.2",
152152
"react-native-patina": "^0.2.0",
153153
"react-native-performance": "^5.1.4",
154154
"react-native-permissions": "^4.1.5",
155-
"react-native-piratechain": "^0.6.0",
155+
"react-native-piratechain": "^0.6.1",
156156
"react-native-reanimated": "^4.1.3",
157157
"react-native-render-html": "^6.3.4",
158158
"react-native-reorderable-list": "^0.5.0",
@@ -170,7 +170,7 @@
170170
"react-native-wheel-picker-android": "^2.0.6",
171171
"react-native-worklets": "^0.6.1",
172172
"react-native-zano": "^0.3.0",
173-
"react-native-zcash": "^0.12.1",
173+
"react-native-zcash": "^0.12.2",
174174
"react-redux": "^8.1.1",
175175
"redux": "^4.2.1",
176176
"redux-thunk": "^2.3.0",

0 commit comments

Comments
 (0)