@reown/appkit-core-react-native 1.2.4 → 2.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (150) hide show
  1. package/lib/commonjs/controllers/ApiController.js +11 -11
  2. package/lib/commonjs/controllers/ApiController.js.map +1 -1
  3. package/lib/commonjs/controllers/BlockchainApiController.js +187 -14
  4. package/lib/commonjs/controllers/BlockchainApiController.js.map +1 -1
  5. package/lib/commonjs/controllers/ConnectionController.js +7 -1
  6. package/lib/commonjs/controllers/ConnectionController.js.map +1 -1
  7. package/lib/commonjs/controllers/ConnectionsController.js +205 -0
  8. package/lib/commonjs/controllers/ConnectionsController.js.map +1 -0
  9. package/lib/commonjs/controllers/ConnectorController.js +1 -0
  10. package/lib/commonjs/controllers/ConnectorController.js.map +1 -1
  11. package/lib/commonjs/controllers/OnRampController.js +421 -0
  12. package/lib/commonjs/controllers/OnRampController.js.map +1 -0
  13. package/lib/commonjs/controllers/OptionsController.js +11 -3
  14. package/lib/commonjs/controllers/OptionsController.js.map +1 -1
  15. package/lib/commonjs/controllers/RouterController.js +3 -2
  16. package/lib/commonjs/controllers/RouterController.js.map +1 -1
  17. package/lib/commonjs/controllers/SendController.js +5 -5
  18. package/lib/commonjs/controllers/SendController.js.map +1 -1
  19. package/lib/commonjs/controllers/SwapController.js +51 -40
  20. package/lib/commonjs/controllers/SwapController.js.map +1 -1
  21. package/lib/commonjs/controllers/ThemeController.js +9 -1
  22. package/lib/commonjs/controllers/ThemeController.js.map +1 -1
  23. package/lib/commonjs/controllers/TransactionsController.js +2 -2
  24. package/lib/commonjs/controllers/TransactionsController.js.map +1 -1
  25. package/lib/commonjs/index.js +10 -3
  26. package/lib/commonjs/index.js.map +1 -1
  27. package/lib/commonjs/utils/AssetUtil.js +5 -6
  28. package/lib/commonjs/utils/AssetUtil.js.map +1 -1
  29. package/lib/commonjs/utils/ConstantsUtil.js +599 -6
  30. package/lib/commonjs/utils/ConstantsUtil.js.map +1 -1
  31. package/lib/commonjs/utils/CoreHelperUtil.js +28 -0
  32. package/lib/commonjs/utils/CoreHelperUtil.js.map +1 -1
  33. package/lib/commonjs/utils/FetchUtil.js +15 -4
  34. package/lib/commonjs/utils/FetchUtil.js.map +1 -1
  35. package/lib/commonjs/utils/StorageUtil.js +218 -0
  36. package/lib/commonjs/utils/StorageUtil.js.map +1 -1
  37. package/lib/commonjs/utils/SwapApiUtil.js +19 -10
  38. package/lib/commonjs/utils/SwapApiUtil.js.map +1 -1
  39. package/lib/module/controllers/ApiController.js +11 -11
  40. package/lib/module/controllers/ApiController.js.map +1 -1
  41. package/lib/module/controllers/BlockchainApiController.js +187 -14
  42. package/lib/module/controllers/BlockchainApiController.js.map +1 -1
  43. package/lib/module/controllers/ConnectionController.js +7 -1
  44. package/lib/module/controllers/ConnectionController.js.map +1 -1
  45. package/lib/module/controllers/ConnectionsController.js +200 -0
  46. package/lib/module/controllers/ConnectionsController.js.map +1 -0
  47. package/lib/module/controllers/ConnectorController.js +1 -0
  48. package/lib/module/controllers/ConnectorController.js.map +1 -1
  49. package/lib/module/controllers/OnRampController.js +416 -0
  50. package/lib/module/controllers/OnRampController.js.map +1 -0
  51. package/lib/module/controllers/OptionsController.js +11 -3
  52. package/lib/module/controllers/OptionsController.js.map +1 -1
  53. package/lib/module/controllers/RouterController.js +3 -2
  54. package/lib/module/controllers/RouterController.js.map +1 -1
  55. package/lib/module/controllers/SendController.js +5 -5
  56. package/lib/module/controllers/SendController.js.map +1 -1
  57. package/lib/module/controllers/SwapController.js +51 -40
  58. package/lib/module/controllers/SwapController.js.map +1 -1
  59. package/lib/module/controllers/ThemeController.js +9 -1
  60. package/lib/module/controllers/ThemeController.js.map +1 -1
  61. package/lib/module/controllers/TransactionsController.js +2 -2
  62. package/lib/module/controllers/TransactionsController.js.map +1 -1
  63. package/lib/module/index.js +2 -1
  64. package/lib/module/index.js.map +1 -1
  65. package/lib/module/utils/AssetUtil.js +5 -6
  66. package/lib/module/utils/AssetUtil.js.map +1 -1
  67. package/lib/module/utils/ConstantsUtil.js +598 -5
  68. package/lib/module/utils/ConstantsUtil.js.map +1 -1
  69. package/lib/module/utils/CoreHelperUtil.js +26 -0
  70. package/lib/module/utils/CoreHelperUtil.js.map +1 -1
  71. package/lib/module/utils/FetchUtil.js +15 -4
  72. package/lib/module/utils/FetchUtil.js.map +1 -1
  73. package/lib/module/utils/StorageUtil.js +219 -0
  74. package/lib/module/utils/StorageUtil.js.map +1 -1
  75. package/lib/module/utils/SwapApiUtil.js +19 -10
  76. package/lib/module/utils/SwapApiUtil.js.map +1 -1
  77. package/lib/typescript/controllers/AccountController.d.ts +2 -2
  78. package/lib/typescript/controllers/AccountController.d.ts.map +1 -1
  79. package/lib/typescript/controllers/ApiController.d.ts +1 -1
  80. package/lib/typescript/controllers/ApiController.d.ts.map +1 -1
  81. package/lib/typescript/controllers/BlockchainApiController.d.ts +27 -2
  82. package/lib/typescript/controllers/BlockchainApiController.d.ts.map +1 -1
  83. package/lib/typescript/controllers/ConnectionController.d.ts +2 -0
  84. package/lib/typescript/controllers/ConnectionController.d.ts.map +1 -1
  85. package/lib/typescript/controllers/ConnectionsController.d.ts +43 -0
  86. package/lib/typescript/controllers/ConnectionsController.d.ts.map +1 -0
  87. package/lib/typescript/controllers/ConnectorController.d.ts.map +1 -1
  88. package/lib/typescript/controllers/NetworkController.d.ts +1 -1
  89. package/lib/typescript/controllers/NetworkController.d.ts.map +1 -1
  90. package/lib/typescript/controllers/OnRampController.d.ts +54 -0
  91. package/lib/typescript/controllers/OnRampController.d.ts.map +1 -0
  92. package/lib/typescript/controllers/OptionsController.d.ts +7 -2
  93. package/lib/typescript/controllers/OptionsController.d.ts.map +1 -1
  94. package/lib/typescript/controllers/PublicStateController.d.ts +1 -1
  95. package/lib/typescript/controllers/PublicStateController.d.ts.map +1 -1
  96. package/lib/typescript/controllers/RouterController.d.ts +5 -3
  97. package/lib/typescript/controllers/RouterController.d.ts.map +1 -1
  98. package/lib/typescript/controllers/SwapController.d.ts +1 -1
  99. package/lib/typescript/controllers/SwapController.d.ts.map +1 -1
  100. package/lib/typescript/controllers/ThemeController.d.ts +1 -1
  101. package/lib/typescript/controllers/ThemeController.d.ts.map +1 -1
  102. package/lib/typescript/index.d.ts +2 -1
  103. package/lib/typescript/index.d.ts.map +1 -1
  104. package/lib/typescript/utils/AssetUtil.d.ts +2 -2
  105. package/lib/typescript/utils/AssetUtil.d.ts.map +1 -1
  106. package/lib/typescript/utils/ConstantsUtil.d.ts +474 -1
  107. package/lib/typescript/utils/ConstantsUtil.d.ts.map +1 -1
  108. package/lib/typescript/utils/CoreHelperUtil.d.ts +5 -2
  109. package/lib/typescript/utils/CoreHelperUtil.d.ts.map +1 -1
  110. package/lib/typescript/utils/FetchUtil.d.ts +5 -5
  111. package/lib/typescript/utils/FetchUtil.d.ts.map +1 -1
  112. package/lib/typescript/utils/NetworkUtil.d.ts +1 -1
  113. package/lib/typescript/utils/NetworkUtil.d.ts.map +1 -1
  114. package/lib/typescript/utils/StorageUtil.d.ts +26 -2
  115. package/lib/typescript/utils/StorageUtil.d.ts.map +1 -1
  116. package/lib/typescript/utils/SwapApiUtil.d.ts.map +1 -1
  117. package/lib/typescript/utils/TypeUtil.d.ts +164 -25
  118. package/lib/typescript/utils/TypeUtil.d.ts.map +1 -1
  119. package/package.json +3 -2
  120. package/src/controllers/AccountController.ts +2 -2
  121. package/src/controllers/ApiController.ts +12 -7
  122. package/src/controllers/BlockchainApiController.ts +238 -15
  123. package/src/controllers/ConnectionController.ts +10 -2
  124. package/src/controllers/ConnectionsController.ts +291 -0
  125. package/src/controllers/ConnectorController.ts +1 -0
  126. package/src/controllers/NetworkController.ts +1 -1
  127. package/src/controllers/OnRampController.ts +585 -0
  128. package/src/controllers/OptionsController.ts +19 -13
  129. package/src/controllers/PublicStateController.ts +1 -1
  130. package/src/controllers/RouterController.ts +17 -3
  131. package/src/controllers/SendController.ts +5 -5
  132. package/src/controllers/SwapController.ts +58 -48
  133. package/src/controllers/ThemeController.ts +11 -2
  134. package/src/controllers/TransactionsController.ts +2 -2
  135. package/src/index.ts +6 -1
  136. package/src/utils/AssetUtil.ts +5 -7
  137. package/src/utils/ConstantsUtil.ts +584 -5
  138. package/src/utils/CoreHelperUtil.ts +38 -3
  139. package/src/utils/FetchUtil.ts +16 -9
  140. package/src/utils/NetworkUtil.ts +1 -1
  141. package/src/utils/StorageUtil.ts +267 -2
  142. package/src/utils/SwapApiUtil.ts +22 -10
  143. package/src/utils/TypeUtil.ts +185 -29
  144. package/lib/commonjs/utils/ConnectionUtil.js +0 -33
  145. package/lib/commonjs/utils/ConnectionUtil.js.map +0 -1
  146. package/lib/module/utils/ConnectionUtil.js +0 -27
  147. package/lib/module/utils/ConnectionUtil.js.map +0 -1
  148. package/lib/typescript/utils/ConnectionUtil.d.ts +0 -4
  149. package/lib/typescript/utils/ConnectionUtil.d.ts.map +0 -1
  150. package/src/utils/ConnectionUtil.ts +0 -27
@@ -1,12 +1,30 @@
1
+ import type { ChainNamespace } from '@reown/appkit-common-react-native';
1
2
  import type { Features } from './TypeUtil';
2
3
 
4
+ //TODO: enable this again after implemented
3
5
  const defaultFeatures: Features = {
4
6
  swaps: true,
5
- email: true,
6
- emailShowWallets: true,
7
+ onramp: false,
8
+ email: false,
9
+ emailShowWallets: false,
7
10
  socials: ['x', 'discord', 'apple']
8
11
  };
9
12
 
13
+ export const OnRampErrorType = {
14
+ AMOUNT_TOO_LOW: 'INVALID_AMOUNT_TOO_LOW',
15
+ AMOUNT_TOO_HIGH: 'INVALID_AMOUNT_TOO_HIGH',
16
+ INVALID_AMOUNT: 'INVALID_AMOUNT',
17
+ INCOMPATIBLE_REQUEST: 'INCOMPATIBLE_REQUEST',
18
+ BAD_REQUEST: 'BAD_REQUEST',
19
+ FAILED_TO_LOAD: 'FAILED_TO_LOAD',
20
+ FAILED_TO_LOAD_COUNTRIES: 'FAILED_TO_LOAD_COUNTRIES',
21
+ FAILED_TO_LOAD_PROVIDERS: 'FAILED_TO_LOAD_PROVIDERS',
22
+ FAILED_TO_LOAD_METHODS: 'FAILED_TO_LOAD_METHODS',
23
+ FAILED_TO_LOAD_CURRENCIES: 'FAILED_TO_LOAD_CURRENCIES',
24
+ FAILED_TO_LOAD_LIMITS: 'FAILED_TO_LOAD_LIMITS',
25
+ UNKNOWN: 'UNKNOWN_ERROR'
26
+ } as const;
27
+
10
28
  export const ConstantsUtil = {
11
29
  FOUR_MINUTES_MS: 240000,
12
30
 
@@ -14,11 +32,18 @@ export const ConstantsUtil = {
14
32
 
15
33
  ONE_SEC_MS: 1000,
16
34
 
17
- EMAIL_REGEX: /^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)+$/,
35
+ EMAIL_REGEX: /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)+$/,
18
36
 
19
37
  LINKING_ERROR: 'LINKING_ERROR',
20
38
 
21
- NATIVE_TOKEN_ADDRESS: '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',
39
+ NATIVE_TOKEN_ADDRESS: {
40
+ eip155: '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',
41
+ solana: 'So11111111111111111111111111111111111111111',
42
+ polkadot: '0x',
43
+ bip122: '0x'
44
+ } as const satisfies Record<ChainNamespace, string>,
45
+
46
+ ONRAMP_ERROR_TYPES: OnRampErrorType,
22
47
 
23
48
  SWAP_SUGGESTED_TOKENS: [
24
49
  'ETH',
@@ -110,6 +135,116 @@ export const ConstantsUtil = {
110
135
  'WNT'
111
136
  ],
112
137
 
138
+ //TODO: replace with supported chains from backend
139
+ ACTIVITY_SUPPORTED_CHAINS: [
140
+ // Arbitrum
141
+ 'eip155:42161',
142
+ // BNB Chain
143
+ 'eip155:56',
144
+ // Ethereum
145
+ 'eip155:1',
146
+ // Blast
147
+ 'eip155:81457',
148
+ // Ape Chain
149
+ 'eip155:99999',
150
+ // Avalanche
151
+ 'eip155:43114',
152
+ // Abstract
153
+ 'eip155:900',
154
+ // opBNB
155
+ 'eip155:204',
156
+ // Astar zkEVM
157
+ 'eip155:3776',
158
+ // ZKsync Era
159
+ 'eip155:324',
160
+ // Berachain
161
+ 'eip155:80085',
162
+ // BOB
163
+ 'eip155:60808',
164
+ // Cyber
165
+ 'eip155:7560',
166
+ // Degen Chain
167
+ 'eip155:666666666',
168
+ // Fraxtal
169
+ 'eip155:252',
170
+ // Gravity Alpha
171
+ 'eip155:10003',
172
+ // Ink
173
+ 'eip155:999',
174
+ // Lens
175
+ 'eip155:1348',
176
+ // Lisk
177
+ 'eip155:113',
178
+ // Mode
179
+ 'eip155:34443',
180
+ // Base
181
+ 'eip155:8453',
182
+ // Mantle
183
+ 'eip155:5000',
184
+ // Optimism
185
+ 'eip155:10',
186
+ // Polygon
187
+ 'eip155:137',
188
+ // Celo
189
+ 'eip155:42220',
190
+ // Manta Pacific
191
+ 'eip155:169',
192
+ // Gnosis Chain
193
+ 'eip155:100',
194
+ // Fantom
195
+ 'eip155:250',
196
+ // Ronin
197
+ 'eip155:2020',
198
+ // Linea
199
+ 'eip155:59144',
200
+ // Metis Andromeda
201
+ 'eip155:1088',
202
+ // Aurora
203
+ 'eip155:1313161554',
204
+ // XDC
205
+ 'eip155:50',
206
+ // Cronos zkEVM
207
+ 'eip155:1030',
208
+ // Polygon zkEVM
209
+ 'eip155:1101',
210
+ // Polynomial
211
+ 'eip155:80001',
212
+ // Rari
213
+ 'eip155:1380012617',
214
+ // Redstone
215
+ 'eip155:690',
216
+ // Scroll
217
+ 'eip155:534352',
218
+ // Sei
219
+ 'eip155:1329',
220
+ // Soneium
221
+ 'eip155:1499',
222
+ // Sonic
223
+ 'eip155:7007',
224
+ // Swellchain
225
+ 'eip155:7777777',
226
+ // Taiko
227
+ 'eip155:167000',
228
+ // Viction
229
+ 'eip155:88',
230
+ // Unichain
231
+ 'eip155:12345',
232
+ // Wonder
233
+ 'eip155:8787',
234
+ // X Layer
235
+ 'eip155:196',
236
+ // World Chain
237
+ 'eip155:2008',
238
+ // ZERϴ
239
+ 'eip155:77777',
240
+ // ZkLink Nova
241
+ 'eip155:810180',
242
+ // re.al
243
+ 'eip155:666',
244
+ // Zora
245
+ 'eip155:7777777'
246
+ ],
247
+
113
248
  SWAP_SUPPORTED_NETWORKS: [
114
249
  // Ethereum'
115
250
  'eip155:1',
@@ -139,5 +274,449 @@ export const ConstantsUtil = {
139
274
 
140
275
  CONVERT_SLIPPAGE_TOLERANCE: 1,
141
276
 
142
- DEFAULT_FEATURES: defaultFeatures
277
+ DEFAULT_FEATURES: defaultFeatures,
278
+
279
+ //based on country-to-currency npm library
280
+ COUNTRY_CURRENCIES: {
281
+ AD: 'EUR',
282
+ AE: 'AED',
283
+ AF: 'AFN',
284
+ AG: 'XCD',
285
+ AI: 'XCD',
286
+ AL: 'ALL',
287
+ AM: 'AMD',
288
+ AN: 'ANG',
289
+ AO: 'AOA',
290
+ AQ: 'USD',
291
+ AR: 'ARS',
292
+ AS: 'USD',
293
+ AT: 'EUR',
294
+ AU: 'AUD',
295
+ AW: 'AWG',
296
+ AX: 'EUR',
297
+ AZ: 'AZN',
298
+ BA: 'BAM',
299
+ BB: 'BBD',
300
+ BD: 'BDT',
301
+ BE: 'EUR',
302
+ BF: 'XOF',
303
+ BG: 'BGN',
304
+ BH: 'BHD',
305
+ BI: 'BIF',
306
+ BJ: 'XOF',
307
+ BL: 'EUR',
308
+ BM: 'BMD',
309
+ BN: 'BND',
310
+ BO: 'BOB',
311
+ BQ: 'USD',
312
+ BR: 'BRL',
313
+ BS: 'BSD',
314
+ BT: 'BTN',
315
+ BV: 'NOK',
316
+ BW: 'BWP',
317
+ BY: 'BYN',
318
+ BZ: 'BZD',
319
+ CA: 'CAD',
320
+ CC: 'AUD',
321
+ CD: 'CDF',
322
+ CF: 'XAF',
323
+ CG: 'XAF',
324
+ CH: 'CHF',
325
+ CI: 'XOF',
326
+ CK: 'NZD',
327
+ CL: 'CLP',
328
+ CM: 'XAF',
329
+ CN: 'CNY',
330
+ CO: 'COP',
331
+ CR: 'CRC',
332
+ CU: 'CUP',
333
+ CV: 'CVE',
334
+ CW: 'ANG',
335
+ CX: 'AUD',
336
+ CY: 'EUR',
337
+ CZ: 'CZK',
338
+ DE: 'EUR',
339
+ DJ: 'DJF',
340
+ DK: 'DKK',
341
+ DM: 'XCD',
342
+ DO: 'DOP',
343
+ DZ: 'DZD',
344
+ EC: 'USD',
345
+ EE: 'EUR',
346
+ EG: 'EGP',
347
+ EH: 'MAD',
348
+ ER: 'ERN',
349
+ ES: 'EUR',
350
+ ET: 'ETB',
351
+ FI: 'EUR',
352
+ FJ: 'FJD',
353
+ FK: 'FKP',
354
+ FM: 'USD',
355
+ FO: 'DKK',
356
+ FR: 'EUR',
357
+ GA: 'XAF',
358
+ GB: 'GBP',
359
+ GD: 'XCD',
360
+ GE: 'GEL',
361
+ GF: 'EUR',
362
+ GG: 'GBP',
363
+ GH: 'GHS',
364
+ GI: 'GIP',
365
+ GL: 'DKK',
366
+ GM: 'GMD',
367
+ GN: 'GNF',
368
+ GP: 'EUR',
369
+ GQ: 'XAF',
370
+ GR: 'EUR',
371
+ GS: 'FKP',
372
+ GT: 'GTQ',
373
+ GU: 'USD',
374
+ GW: 'XOF',
375
+ GY: 'GYD',
376
+ HK: 'HKD',
377
+ HM: 'AUD',
378
+ HN: 'HNL',
379
+ HR: 'EUR',
380
+ HT: 'HTG',
381
+ HU: 'HUF',
382
+ ID: 'IDR',
383
+ IE: 'EUR',
384
+ IL: 'ILS',
385
+ IM: 'GBP',
386
+ IN: 'INR',
387
+ IO: 'USD',
388
+ IQ: 'IQD',
389
+ IR: 'IRR',
390
+ IS: 'ISK',
391
+ IT: 'EUR',
392
+ JE: 'GBP',
393
+ JM: 'JMD',
394
+ JO: 'JOD',
395
+ JP: 'JPY',
396
+ KE: 'KES',
397
+ KG: 'KGS',
398
+ KH: 'KHR',
399
+ KI: 'AUD',
400
+ KM: 'KMF',
401
+ KN: 'XCD',
402
+ KP: 'KPW',
403
+ KR: 'KRW',
404
+ KW: 'KWD',
405
+ KY: 'KYD',
406
+ KZ: 'KZT',
407
+ LA: 'LAK',
408
+ LB: 'LBP',
409
+ LC: 'XCD',
410
+ LI: 'CHF',
411
+ LK: 'LKR',
412
+ LR: 'LRD',
413
+ LS: 'LSL',
414
+ LT: 'EUR',
415
+ LU: 'EUR',
416
+ LV: 'EUR',
417
+ LY: 'LYD',
418
+ MA: 'MAD',
419
+ MC: 'EUR',
420
+ MD: 'MDL',
421
+ ME: 'EUR',
422
+ MF: 'EUR',
423
+ MG: 'MGA',
424
+ MH: 'USD',
425
+ MK: 'MKD',
426
+ ML: 'XOF',
427
+ MM: 'MMK',
428
+ MN: 'MNT',
429
+ MO: 'MOP',
430
+ MP: 'USD',
431
+ MQ: 'EUR',
432
+ MR: 'MRU',
433
+ MS: 'XCD',
434
+ MT: 'EUR',
435
+ MU: 'MUR',
436
+ MV: 'MVR',
437
+ MW: 'MWK',
438
+ MX: 'MXN',
439
+ MY: 'MYR',
440
+ MZ: 'MZN',
441
+ NA: 'NAD',
442
+ NC: 'XPF',
443
+ NE: 'XOF',
444
+ NF: 'AUD',
445
+ NG: 'NGN',
446
+ NI: 'NIO',
447
+ NL: 'EUR',
448
+ NO: 'NOK',
449
+ NP: 'NPR',
450
+ NR: 'AUD',
451
+ NU: 'NZD',
452
+ NZ: 'NZD',
453
+ OM: 'OMR',
454
+ PA: 'PAB',
455
+ PE: 'PEN',
456
+ PF: 'XPF',
457
+ PG: 'PGK',
458
+ PH: 'PHP',
459
+ PK: 'PKR',
460
+ PL: 'PLN',
461
+ PM: 'EUR',
462
+ PN: 'NZD',
463
+ PR: 'USD',
464
+ PS: 'ILS',
465
+ PT: 'EUR',
466
+ PW: 'USD',
467
+ PY: 'PYG',
468
+ QA: 'QAR',
469
+ RE: 'EUR',
470
+ RO: 'RON',
471
+ RS: 'RSD',
472
+ RU: 'RUB',
473
+ RW: 'RWF',
474
+ SA: 'SAR',
475
+ SB: 'SBD',
476
+ SC: 'SCR',
477
+ SD: 'SDG',
478
+ SE: 'SEK',
479
+ SG: 'SGD',
480
+ SH: 'SHP',
481
+ SI: 'EUR',
482
+ SJ: 'NOK',
483
+ SK: 'EUR',
484
+ SL: 'SLE',
485
+ SM: 'EUR',
486
+ SN: 'XOF',
487
+ SO: 'SOS',
488
+ SR: 'SRD',
489
+ SS: 'SSP',
490
+ ST: 'STN',
491
+ SV: 'USD',
492
+ SX: 'ANG',
493
+ SY: 'SYP',
494
+ SZ: 'SZL',
495
+ TC: 'USD',
496
+ TD: 'XAF',
497
+ TF: 'EUR',
498
+ TG: 'XOF',
499
+ TH: 'THB',
500
+ TJ: 'TJS',
501
+ TK: 'NZD',
502
+ TL: 'USD',
503
+ TM: 'TMT',
504
+ TN: 'TND',
505
+ TO: 'TOP',
506
+ TR: 'TRY',
507
+ TT: 'TTD',
508
+ TV: 'AUD',
509
+ TW: 'TWD',
510
+ TZ: 'TZS',
511
+ UA: 'UAH',
512
+ UG: 'UGX',
513
+ UM: 'USD',
514
+ US: 'USD',
515
+ UY: 'UYU',
516
+ UZ: 'UZS',
517
+ VA: 'EUR',
518
+ VC: 'XCD',
519
+ VE: 'VED',
520
+ VG: 'USD',
521
+ VI: 'USD',
522
+ VN: 'VND',
523
+ VU: 'VUV',
524
+ WF: 'XPF',
525
+ WS: 'WST',
526
+ XK: 'EUR',
527
+ YE: 'YER',
528
+ YT: 'EUR',
529
+ ZA: 'ZAR',
530
+ ZM: 'ZMW',
531
+ ZW: 'ZWG'
532
+ },
533
+
534
+ NETWORK_DEFAULT_CURRENCIES: {
535
+ 'eip155:1': 'ETH', // Ethereum Mainnet
536
+ 'eip155:56': 'BNB', // Binance Smart Chain
537
+ 'eip155:137': 'MATIC', // Polygon
538
+ 'eip155:42161': 'ETH_ARBITRUM', // Arbitrum One
539
+ 'eip155:43114': 'AVAX', // Avalanche C-Chain
540
+ 'eip155:10': 'ETH_OPTIMISM', // Optimism
541
+ 'eip155:250': 'FTM', // Fantom
542
+ 'eip155:100': 'xDAI', // Gnosis Chain (formerly xDai)
543
+ 'eip155:8453': 'ETH_BASE', // Base
544
+ 'eip155:1284': 'GLMR', // Moonbeam
545
+ 'eip155:1285': 'MOVR', // Moonriver
546
+ 'eip155:25': 'CRO', // Cronos
547
+ 'eip155:42220': 'CELO', // Celo
548
+ 'eip155:8217': 'KLAY', // Klaytn
549
+ 'eip155:1313161554': 'AURORA_ETH', // Aurora
550
+ 'eip155:40': 'TLOS', // Telos EVM
551
+ 'eip155:1088': 'METIS', // Metis Andromeda
552
+ 'eip155:2222': 'KAVA', // Kava EVM
553
+ 'eip155:7777777': 'ZETA', // ZetaChain
554
+ 'eip155:7700': 'CANTO', // Canto
555
+ 'eip155:59144': 'ETH_LINEA', // Linea
556
+ 'eip155:1101': 'ETH_POLYGONZKEVM', // Polygon zkEVM
557
+ 'eip155:196': 'XIN' // Mixin
558
+ },
559
+
560
+ COUNTRY_DEFAULT_PAYMENT_METHOD: {
561
+ AE: ['CREDIT_DEBIT_CARD', 'BINANCE_P2P', 'UAE_BANK_TRANSFER'],
562
+ AR: ['CREDIT_DEBIT_CARD', 'AR_BANK_TRANSFER', 'BINANCE_P2P'],
563
+ AT: ['CREDIT_DEBIT_CARD', 'SEPA', 'BINANCE_P2P'],
564
+ AU: ['CREDIT_DEBIT_CARD', 'APPLE_PAY', 'BINANCE_P2P'],
565
+ BD: ['BINANCE_P2P', 'BINANCE_CASH_BALANCE', 'CREDIT_DEBIT_CARD'],
566
+ BE: ['CREDIT_DEBIT_CARD', 'BANCONTACT', 'BINANCE_P2P'],
567
+ BG: ['CREDIT_DEBIT_CARD', 'SEPA', 'BINANCE_P2P'],
568
+ BR: ['PIX', 'CREDIT_DEBIT_CARD', 'BINANCE_P2P'],
569
+ CA: ['CREDIT_DEBIT_CARD', 'INTERAC', 'APPLE_PAY'],
570
+ CH: ['CREDIT_DEBIT_CARD', 'SEPA', 'BINANCE_P2P'],
571
+ CL: ['CREDIT_DEBIT_CARD', 'KHIPU', 'CL_BANK_TRANSFER'],
572
+ CN: ['CREDIT_DEBIT_CARD', 'APPLE_PAY'],
573
+ CO: ['PSE', 'CO_BANK_TRANSFER', 'ASTROPAY'],
574
+ CY: ['CREDIT_DEBIT_CARD', 'SEPA', 'BINANCE_P2P'],
575
+ CZ: ['CREDIT_DEBIT_CARD', 'SEPA', 'BINANCE_P2P'],
576
+ DE: ['CREDIT_DEBIT_CARD', 'SEPA', 'BINANCE_P2P'],
577
+ DK: ['CREDIT_DEBIT_CARD', 'SEPA', 'BINANCE_P2P'],
578
+ EC: ['CREDIT_DEBIT_CARD', 'APPLE_PAY', 'GOOGLE_PAY'],
579
+ EE: ['CREDIT_DEBIT_CARD', 'SEPA', 'BINANCE_P2P'],
580
+ ES: ['CREDIT_DEBIT_CARD', 'SEPA', 'BINANCE_P2P'],
581
+ FI: ['CREDIT_DEBIT_CARD', 'SEPA', 'BINANCE_P2P'],
582
+ FR: ['CREDIT_DEBIT_CARD', 'SEPA', 'BINANCE_P2P'],
583
+ GB: ['CREDIT_DEBIT_CARD', 'SEPA', 'BINANCE_P2P'],
584
+ GR: ['CREDIT_DEBIT_CARD', 'SEPA', 'BINANCE_P2P'],
585
+ HK: ['BINANCE_P2P', 'CREDIT_DEBIT_CARD', 'APPLE_PAY'],
586
+ HR: ['CREDIT_DEBIT_CARD', 'SEPA', 'BINANCE_P2P'],
587
+ HU: ['CREDIT_DEBIT_CARD', 'SEPA', 'BINANCE_P2P'],
588
+ ID: ['BINANCE_P2P', 'ID_BANK_TRANSFER', 'CREDIT_DEBIT_CARD'],
589
+ IE: ['CREDIT_DEBIT_CARD', 'SEPA', 'BINANCE_P2P'],
590
+ IL: ['CREDIT_DEBIT_CARD', 'APPLE_PAY', 'GOOGLE_PAY'],
591
+ IN: ['UPI', 'IMPS', 'BINANCE_P2P'],
592
+ IT: ['CREDIT_DEBIT_CARD', 'SEPA', 'BINANCE_P2P'],
593
+ JP: ['CREDIT_DEBIT_CARD', 'APPLE_PAY', 'GOOGLE_PAY'],
594
+ KE: ['BINANCE_P2P', 'MOBILE_MONEY', 'CREDIT_DEBIT_CARD'],
595
+ KR: ['CREDIT_DEBIT_CARD', 'APPLE_PAY', 'ASTROPAY'],
596
+ LT: ['CREDIT_DEBIT_CARD', 'SEPA', 'BINANCE_P2P'],
597
+ LV: ['CREDIT_DEBIT_CARD', 'SEPA', 'BINANCE_P2P'],
598
+ MA: ['BINANCE_P2P', 'CREDIT_DEBIT_CARD', 'APPLE_PAY'],
599
+ MX: ['SPEI', 'CREDIT_DEBIT_CARD', 'BINANCE_P2P'],
600
+ MY: ['CREDIT_DEBIT_CARD', 'MY_BANK_TRANSFER', 'APPLE_PAY'],
601
+ NG: ['BINANCE_P2P', 'NG_BANK_TRANSFER', 'CREDIT_DEBIT_CARD'],
602
+ NL: ['IDEAL', 'CREDIT_DEBIT_CARD', 'SEPA'],
603
+ NO: ['CREDIT_DEBIT_CARD', 'SEPA', 'BINANCE_P2P'],
604
+ NP: ['BINANCE_P2P', 'ASTROPAY', 'CREDIT_DEBIT_CARD'],
605
+ NZ: ['CREDIT_DEBIT_CARD', 'BINANCE_P2P', 'APPLE_PAY'],
606
+ PH: ['GCASH', 'BINANCE_P2P', 'PH_BANK_TRANSFER'],
607
+ PK: ['BINANCE_P2P', 'ASTROPAY', 'CREDIT_DEBIT_CARD'],
608
+ PL: ['CREDIT_DEBIT_CARD', 'SEPA', 'BINANCE_P2P'],
609
+ PR: ['CREDIT_DEBIT_CARD', 'GOOGLE_PAY'],
610
+ PT: ['CREDIT_DEBIT_CARD', 'SEPA', 'BINANCE_P2P'],
611
+ RO: ['CREDIT_DEBIT_CARD', 'SEPA', 'BINANCE_P2P'],
612
+ SA: ['CREDIT_DEBIT_CARD', 'APPLE_PAY', 'BINANCE_P2P'],
613
+ SE: ['CREDIT_DEBIT_CARD', 'SEPA', 'BINANCE_P2P'],
614
+ SG: ['CREDIT_DEBIT_CARD', 'GRABPAY', 'SHOPEEPAY'],
615
+ SI: ['CREDIT_DEBIT_CARD', 'SEPA', 'BINANCE_P2P'],
616
+ SK: ['CREDIT_DEBIT_CARD', 'SEPA', 'BINANCE_P2P'],
617
+ TH: ['PROMPTPAY', 'CREDIT_DEBIT_CARD', 'THAI_QR'],
618
+ TR: ['BINANCE_P2P', 'CREDIT_DEBIT_CARD', 'FAST'],
619
+ TW: ['BINANCE_P2P', 'CREDIT_DEBIT_CARD', 'APPLE_PAY'],
620
+ UA: ['BINANCE_P2P', 'CREDIT_DEBIT_CARD', 'GOOGLE_PAY'],
621
+ US: ['CREDIT_DEBIT_CARD', 'APPLE_PAY', 'GOOGLE_PAY'],
622
+ VN: ['BINANCE_P2P', 'VN_BANK_TRANSFER', 'CREDIT_DEBIT_CARD'],
623
+ ZA: ['BINANCE_P2P', 'LOCAL_BANK_TRANSFER', 'CREDIT_DEBIT_CARD']
624
+ },
625
+
626
+ CURRENCY_SUGGESTED_VALUES: {
627
+ AED: [50, 100, 500],
628
+ AMD: [5000, 10000, 50000],
629
+ ANG: [50, 100, 500],
630
+ AOA: [10000, 20000, 50000],
631
+ ARS: [20000, 35000, 50000],
632
+ AUD: [50, 100, 150],
633
+ AZN: [50, 100, 200],
634
+ BDT: [2500, 5000, 10000],
635
+ BGN: [50, 100, 200],
636
+ BHD: [10, 20, 50],
637
+ BOB: [150, 300, 500],
638
+ BRL: [100, 200, 500],
639
+ BWP: [200, 500, 1000],
640
+ CAD: [50, 100, 150],
641
+ CHF: [50, 100, 150],
642
+ CLP: [10000, 20000, 50000],
643
+ CNY: [200, 500, 1000],
644
+ COP: [50000, 100000, 200000],
645
+ CRC: [10000, 20000, 50000],
646
+ CZK: [500, 1000, 2000],
647
+ DKK: [200, 500, 1000],
648
+ DOP: [2000, 5000, 10000],
649
+ DZD: [3000, 5000, 10000],
650
+ EGP: [2000, 5000, 10000],
651
+ EUR: [50, 100, 150],
652
+ GBP: [50, 100, 150],
653
+ GEL: [100, 200, 500],
654
+ GHS: [100, 200, 500],
655
+ GTQ: [200, 500, 1000],
656
+ HKD: [200, 500, 1000],
657
+ HNL: [500, 1000, 2000],
658
+ HRK: [200, 500, 1000],
659
+ HTG: [3000, 5000, 10000],
660
+ HUF: [5000, 10000, 20000],
661
+ IDR: [100000, 200000, 500000],
662
+ ILS: [100, 200, 500],
663
+ INR: [1000, 2000, 5000],
664
+ IQD: [30000, 50000, 100000],
665
+ ISK: [5000, 10000, 20000],
666
+ JOD: [20, 50, 100],
667
+ JPY: [5000, 10000, 20000],
668
+ KES: [1000, 2000, 5000],
669
+ KGS: [1000, 2000, 5000],
670
+ KHR: [250000, 500000, 1000000],
671
+ KRW: [50000, 100000, 200000],
672
+ KWD: [10, 20, 50],
673
+ KZT: [10000, 20000, 50000],
674
+ LAK: [500000, 1000000, 2000000],
675
+ LBP: [2000000, 3000000, 5000000],
676
+ LKR: [5000, 6000, 7000],
677
+ MAD: [200, 500, 1000],
678
+ MDL: [500, 1000, 2000],
679
+ MMK: [50000, 100000, 200000],
680
+ MNT: [100000, 200000, 500000],
681
+ MWK: [5000, 10000, 20000],
682
+ MXN: [500, 1000, 2000],
683
+ MYR: [100, 200, 500],
684
+ NGN: [5000, 10000, 20000],
685
+ NIO: [1000, 2000, 5000],
686
+ NOK: [500, 1000, 2000],
687
+ NPR: [3000, 5000, 10000],
688
+ NZD: [50, 100, 150],
689
+ OMR: [10, 20, 50],
690
+ PAB: [50, 100, 200],
691
+ PEN: [100, 200, 500],
692
+ PGK: [1000, 2000, 5000],
693
+ PHP: [1000, 2000, 5000],
694
+ PKR: [5000, 10000, 20000],
695
+ PLN: [100, 200, 500],
696
+ PYG: [200000, 300000, 500000],
697
+ QAR: [100, 200, 500],
698
+ RON: [100, 200, 500],
699
+ RSD: [2000, 5000, 10000],
700
+ RWF: [5000, 10000, 20000],
701
+ SAR: [100, 200, 500],
702
+ SEK: [500, 1000, 2000],
703
+ SGD: [50, 100, 150],
704
+ THB: [1000, 2000, 5000],
705
+ TJS: [500, 1000, 2000],
706
+ TND: [100, 200, 500],
707
+ TRY: [500, 1000, 2000],
708
+ TWD: [1000, 2000, 5000],
709
+ TZS: [5000, 10000, 20000],
710
+ UAH: [1000, 2000, 5000],
711
+ UGX: [20000, 50000, 100000],
712
+ USD: [50, 100, 150],
713
+ UYU: [1000, 2000, 5000],
714
+ UZS: [300000, 500000, 1000000],
715
+ VND: [500000, 1000000, 2000000],
716
+ XAF: [5000, 10000, 20000],
717
+ XCD: [100, 200, 500],
718
+ XOF: [5000, 10000, 20000],
719
+ ZAR: [500, 1000, 2000],
720
+ ZMW: [500, 1000, 2000]
721
+ }
143
722
  };
@@ -1,11 +1,17 @@
1
1
  /* eslint-disable no-bitwise */
2
2
 
3
3
  import { Linking, Platform } from 'react-native';
4
- import { ConstantsUtil as CommonConstants, type Balance } from '@reown/appkit-common-react-native';
4
+ import {
5
+ ConstantsUtil as CommonConstants,
6
+ type Balance,
7
+ type CaipAddress,
8
+ type CaipNetwork
9
+ } from '@reown/appkit-common-react-native';
5
10
 
6
- import { ConstantsUtil } from './ConstantsUtil';
7
- import type { CaipAddress, CaipNetwork, DataWallet, LinkingRecord } from './TypeUtil';
11
+ import * as ct from 'countries-and-timezones';
8
12
 
13
+ import { ConstantsUtil } from './ConstantsUtil';
14
+ import type { DataWallet, LinkingRecord } from './TypeUtil';
9
15
  // -- Helpers -----------------------------------------------------------------
10
16
  async function isAppInstalledIos(deepLink?: string): Promise<boolean> {
11
17
  try {
@@ -172,10 +178,25 @@ export const CoreHelperUtil = {
172
178
  return CommonConstants.BLOCKCHAIN_API_RPC_URL;
173
179
  },
174
180
 
181
+ getBlockchainStagingApiUrl() {
182
+ return CommonConstants.BLOCKCHAIN_API_RPC_URL_STAGING;
183
+ },
184
+
175
185
  getAnalyticsUrl() {
176
186
  return CommonConstants.PULSE_API_URL;
177
187
  },
178
188
 
189
+ getCountryFromTimezone() {
190
+ try {
191
+ const { timeZone } = new Intl.DateTimeFormat().resolvedOptions();
192
+ const country = ct.getCountryForTimezone(timeZone);
193
+
194
+ return country ? country.id : 'US'; // 'id' is the ISO country code (e.g., "GB" for United Kingdom)
195
+ } catch (error) {
196
+ return 'US';
197
+ }
198
+ },
199
+
179
200
  getUUID() {
180
201
  if ((global as any)?.crypto.getRandomValues) {
181
202
  const buffer = new Uint8Array(16);
@@ -287,5 +308,19 @@ export const CoreHelperUtil = {
287
308
  }
288
309
 
289
310
  return requested;
311
+ },
312
+
313
+ debounce<F extends (...args: any[]) => any>(func: F, wait: number) {
314
+ let timeout: ReturnType<typeof setTimeout> | null = null;
315
+
316
+ return function (...args: Parameters<F>) {
317
+ if (timeout) {
318
+ clearTimeout(timeout);
319
+ }
320
+
321
+ timeout = setTimeout(() => {
322
+ func(...args);
323
+ }, wait);
324
+ };
290
325
  }
291
326
  };