@reown/appkit-core-react-native 0.0.0-feat-multichain-20250724181758 → 0.0.0-feat-multichain-20250725183909

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 (128) hide show
  1. package/lib/commonjs/controllers/AccountController.js +1 -66
  2. package/lib/commonjs/controllers/AccountController.js.map +1 -1
  3. package/lib/commonjs/controllers/ApiController.js.map +1 -1
  4. package/lib/commonjs/controllers/AssetController.js.map +1 -1
  5. package/lib/commonjs/controllers/BlockchainApiController.js +17 -38
  6. package/lib/commonjs/controllers/BlockchainApiController.js.map +1 -1
  7. package/lib/commonjs/controllers/ConnectionController.js.map +1 -1
  8. package/lib/commonjs/controllers/ConnectionsController.js +2 -2
  9. package/lib/commonjs/controllers/ConnectionsController.js.map +1 -1
  10. package/lib/commonjs/controllers/EnsController.js +4 -4
  11. package/lib/commonjs/controllers/EnsController.js.map +1 -1
  12. package/lib/commonjs/controllers/EventsController.js +4 -4
  13. package/lib/commonjs/controllers/EventsController.js.map +1 -1
  14. package/lib/commonjs/controllers/ModalController.js.map +1 -1
  15. package/lib/commonjs/controllers/OnRampController.js +117 -53
  16. package/lib/commonjs/controllers/OnRampController.js.map +1 -1
  17. package/lib/commonjs/controllers/OptionsController.js.map +1 -1
  18. package/lib/commonjs/controllers/PublicStateController.js.map +1 -1
  19. package/lib/commonjs/controllers/RouterController.js.map +1 -1
  20. package/lib/commonjs/controllers/SendController.js +5 -5
  21. package/lib/commonjs/controllers/SendController.js.map +1 -1
  22. package/lib/commonjs/controllers/SnackController.js.map +1 -1
  23. package/lib/commonjs/controllers/SwapController.js.map +1 -1
  24. package/lib/commonjs/controllers/ThemeController.js.map +1 -1
  25. package/lib/commonjs/controllers/TransactionsController.js +3 -3
  26. package/lib/commonjs/controllers/TransactionsController.js.map +1 -1
  27. package/lib/commonjs/index.js +0 -7
  28. package/lib/commonjs/index.js.map +1 -1
  29. package/lib/commonjs/utils/ApiUtil.js.map +1 -1
  30. package/lib/commonjs/utils/AssetUtil.js.map +1 -1
  31. package/lib/commonjs/utils/ConstantsUtil.js +10 -422
  32. package/lib/commonjs/utils/ConstantsUtil.js.map +1 -1
  33. package/lib/commonjs/utils/CoreHelperUtil.js +2 -3
  34. package/lib/commonjs/utils/CoreHelperUtil.js.map +1 -1
  35. package/lib/commonjs/utils/EventUtil.js.map +1 -1
  36. package/lib/commonjs/utils/FetchUtil.js +34 -10
  37. package/lib/commonjs/utils/FetchUtil.js.map +1 -1
  38. package/lib/commonjs/utils/RouterUtil.js.map +1 -1
  39. package/lib/commonjs/utils/StorageUtil.js +35 -2
  40. package/lib/commonjs/utils/StorageUtil.js.map +1 -1
  41. package/lib/commonjs/utils/SwapApiUtil.js.map +1 -1
  42. package/lib/commonjs/utils/SwapCalculationUtil.js.map +1 -1
  43. package/lib/commonjs/utils/TypeUtil.js +25 -0
  44. package/lib/commonjs/utils/TypeUtil.js.map +1 -1
  45. package/lib/module/controllers/AccountController.js +1 -66
  46. package/lib/module/controllers/AccountController.js.map +1 -1
  47. package/lib/module/controllers/ApiController.js.map +1 -1
  48. package/lib/module/controllers/AssetController.js.map +1 -1
  49. package/lib/module/controllers/BlockchainApiController.js +16 -37
  50. package/lib/module/controllers/BlockchainApiController.js.map +1 -1
  51. package/lib/module/controllers/ConnectionController.js.map +1 -1
  52. package/lib/module/controllers/ConnectionsController.js +1 -1
  53. package/lib/module/controllers/ConnectionsController.js.map +1 -1
  54. package/lib/module/controllers/EnsController.js +2 -2
  55. package/lib/module/controllers/EnsController.js.map +1 -1
  56. package/lib/module/controllers/EventsController.js +1 -1
  57. package/lib/module/controllers/EventsController.js.map +1 -1
  58. package/lib/module/controllers/ModalController.js.map +1 -1
  59. package/lib/module/controllers/OnRampController.js +116 -52
  60. package/lib/module/controllers/OnRampController.js.map +1 -1
  61. package/lib/module/controllers/OptionsController.js.map +1 -1
  62. package/lib/module/controllers/PublicStateController.js.map +1 -1
  63. package/lib/module/controllers/RouterController.js.map +1 -1
  64. package/lib/module/controllers/SendController.js +2 -2
  65. package/lib/module/controllers/SendController.js.map +1 -1
  66. package/lib/module/controllers/SnackController.js.map +1 -1
  67. package/lib/module/controllers/SwapController.js.map +1 -1
  68. package/lib/module/controllers/ThemeController.js.map +1 -1
  69. package/lib/module/controllers/TransactionsController.js +1 -1
  70. package/lib/module/controllers/TransactionsController.js.map +1 -1
  71. package/lib/module/index.js +0 -1
  72. package/lib/module/index.js.map +1 -1
  73. package/lib/module/utils/ApiUtil.js.map +1 -1
  74. package/lib/module/utils/AssetUtil.js.map +1 -1
  75. package/lib/module/utils/ConstantsUtil.js +10 -422
  76. package/lib/module/utils/ConstantsUtil.js.map +1 -1
  77. package/lib/module/utils/CoreHelperUtil.js +1 -1
  78. package/lib/module/utils/CoreHelperUtil.js.map +1 -1
  79. package/lib/module/utils/EventUtil.js.map +1 -1
  80. package/lib/module/utils/FetchUtil.js +34 -10
  81. package/lib/module/utils/FetchUtil.js.map +1 -1
  82. package/lib/module/utils/RouterUtil.js.map +1 -1
  83. package/lib/module/utils/StorageUtil.js +35 -2
  84. package/lib/module/utils/StorageUtil.js.map +1 -1
  85. package/lib/module/utils/SwapApiUtil.js.map +1 -1
  86. package/lib/module/utils/SwapCalculationUtil.js.map +1 -1
  87. package/lib/module/utils/TypeUtil.js +23 -1
  88. package/lib/module/utils/TypeUtil.js.map +1 -1
  89. package/lib/typescript/controllers/AccountController.d.ts +0 -21
  90. package/lib/typescript/controllers/AccountController.d.ts.map +1 -1
  91. package/lib/typescript/controllers/BlockchainApiController.d.ts +5 -2
  92. package/lib/typescript/controllers/BlockchainApiController.d.ts.map +1 -1
  93. package/lib/typescript/controllers/ModalController.d.ts +1 -1
  94. package/lib/typescript/controllers/ModalController.d.ts.map +1 -1
  95. package/lib/typescript/controllers/OnRampController.d.ts +3 -2
  96. package/lib/typescript/controllers/OnRampController.d.ts.map +1 -1
  97. package/lib/typescript/index.d.ts +0 -1
  98. package/lib/typescript/index.d.ts.map +1 -1
  99. package/lib/typescript/utils/ConstantsUtil.d.ts +5 -414
  100. package/lib/typescript/utils/ConstantsUtil.d.ts.map +1 -1
  101. package/lib/typescript/utils/FetchUtil.d.ts.map +1 -1
  102. package/lib/typescript/utils/StorageUtil.d.ts +3 -1
  103. package/lib/typescript/utils/StorageUtil.d.ts.map +1 -1
  104. package/lib/typescript/utils/TypeUtil.d.ts +16 -3
  105. package/lib/typescript/utils/TypeUtil.d.ts.map +1 -1
  106. package/package.json +8 -7
  107. package/src/controllers/AccountController.ts +1 -90
  108. package/src/controllers/BlockchainApiController.ts +23 -40
  109. package/src/controllers/ConnectionsController.ts +1 -1
  110. package/src/controllers/EnsController.ts +2 -2
  111. package/src/controllers/EventsController.ts +1 -1
  112. package/src/controllers/ModalController.ts +1 -2
  113. package/src/controllers/OnRampController.ts +178 -81
  114. package/src/controllers/SendController.ts +2 -2
  115. package/src/controllers/TransactionsController.ts +1 -1
  116. package/src/index.ts +0 -6
  117. package/src/utils/ConstantsUtil.ts +10 -424
  118. package/src/utils/CoreHelperUtil.ts +1 -1
  119. package/src/utils/FetchUtil.ts +37 -10
  120. package/src/utils/StorageUtil.ts +42 -2
  121. package/src/utils/TypeUtil.ts +30 -3
  122. package/lib/commonjs/controllers/NetworkController.js +0 -90
  123. package/lib/commonjs/controllers/NetworkController.js.map +0 -1
  124. package/lib/module/controllers/NetworkController.js +0 -85
  125. package/lib/module/controllers/NetworkController.js.map +0 -1
  126. package/lib/typescript/controllers/NetworkController.d.ts +0 -34
  127. package/lib/typescript/controllers/NetworkController.d.ts.map +0 -1
  128. package/src/controllers/NetworkController.ts +0 -120
@@ -1,10 +1,9 @@
1
1
  import type { ChainNamespace } from '@reown/appkit-common-react-native';
2
2
  import type { Features } from './TypeUtil';
3
3
 
4
- //TODO: enable this again after implemented
5
4
  const defaultFeatures: Features = {
6
5
  swaps: true,
7
- onramp: false,
6
+ onramp: true,
8
7
  socials: ['email', 'google', 'x', 'discord', 'apple', 'facebook', 'github', 'farcaster'],
9
8
  showWallets: true
10
9
  };
@@ -15,6 +14,7 @@ export const OnRampErrorType = {
15
14
  INVALID_AMOUNT: 'INVALID_AMOUNT',
16
15
  INCOMPATIBLE_REQUEST: 'INCOMPATIBLE_REQUEST',
17
16
  BAD_REQUEST: 'BAD_REQUEST',
17
+ NO_VALID_QUOTES: 'NO_VALID_QUOTES',
18
18
  FAILED_TO_LOAD: 'FAILED_TO_LOAD',
19
19
  FAILED_TO_LOAD_COUNTRIES: 'FAILED_TO_LOAD_COUNTRIES',
20
20
  FAILED_TO_LOAD_PROVIDERS: 'FAILED_TO_LOAD_PROVIDERS',
@@ -70,7 +70,7 @@ export const ConstantsUtil = {
70
70
  'BICO',
71
71
  'CRV',
72
72
  'ENS',
73
- 'MATIC',
73
+ 'POL',
74
74
  'OP'
75
75
  ],
76
76
 
@@ -100,7 +100,7 @@ export const ConstantsUtil = {
100
100
  'BICO',
101
101
  'CRV',
102
102
  'ENS',
103
- 'MATIC',
103
+ 'POL',
104
104
  'OP',
105
105
  'METAL',
106
106
  'DAI',
@@ -273,269 +273,16 @@ export const ConstantsUtil = {
273
273
 
274
274
  SEND_SUPPORTED_NAMESPACES: ['eip155', 'solana'],
275
275
 
276
+ ONRAMP_SUPPORTED_NAMESPACES: ['eip155', 'solana', 'bip122'],
277
+
276
278
  CONVERT_SLIPPAGE_TOLERANCE: 1,
277
279
 
278
280
  DEFAULT_FEATURES: defaultFeatures,
279
281
 
280
- //based on country-to-currency npm library
281
- COUNTRY_CURRENCIES: {
282
- AD: 'EUR',
283
- AE: 'AED',
284
- AF: 'AFN',
285
- AG: 'XCD',
286
- AI: 'XCD',
287
- AL: 'ALL',
288
- AM: 'AMD',
289
- AN: 'ANG',
290
- AO: 'AOA',
291
- AQ: 'USD',
292
- AR: 'ARS',
293
- AS: 'USD',
294
- AT: 'EUR',
295
- AU: 'AUD',
296
- AW: 'AWG',
297
- AX: 'EUR',
298
- AZ: 'AZN',
299
- BA: 'BAM',
300
- BB: 'BBD',
301
- BD: 'BDT',
302
- BE: 'EUR',
303
- BF: 'XOF',
304
- BG: 'BGN',
305
- BH: 'BHD',
306
- BI: 'BIF',
307
- BJ: 'XOF',
308
- BL: 'EUR',
309
- BM: 'BMD',
310
- BN: 'BND',
311
- BO: 'BOB',
312
- BQ: 'USD',
313
- BR: 'BRL',
314
- BS: 'BSD',
315
- BT: 'BTN',
316
- BV: 'NOK',
317
- BW: 'BWP',
318
- BY: 'BYN',
319
- BZ: 'BZD',
320
- CA: 'CAD',
321
- CC: 'AUD',
322
- CD: 'CDF',
323
- CF: 'XAF',
324
- CG: 'XAF',
325
- CH: 'CHF',
326
- CI: 'XOF',
327
- CK: 'NZD',
328
- CL: 'CLP',
329
- CM: 'XAF',
330
- CN: 'CNY',
331
- CO: 'COP',
332
- CR: 'CRC',
333
- CU: 'CUP',
334
- CV: 'CVE',
335
- CW: 'ANG',
336
- CX: 'AUD',
337
- CY: 'EUR',
338
- CZ: 'CZK',
339
- DE: 'EUR',
340
- DJ: 'DJF',
341
- DK: 'DKK',
342
- DM: 'XCD',
343
- DO: 'DOP',
344
- DZ: 'DZD',
345
- EC: 'USD',
346
- EE: 'EUR',
347
- EG: 'EGP',
348
- EH: 'MAD',
349
- ER: 'ERN',
350
- ES: 'EUR',
351
- ET: 'ETB',
352
- FI: 'EUR',
353
- FJ: 'FJD',
354
- FK: 'FKP',
355
- FM: 'USD',
356
- FO: 'DKK',
357
- FR: 'EUR',
358
- GA: 'XAF',
359
- GB: 'GBP',
360
- GD: 'XCD',
361
- GE: 'GEL',
362
- GF: 'EUR',
363
- GG: 'GBP',
364
- GH: 'GHS',
365
- GI: 'GIP',
366
- GL: 'DKK',
367
- GM: 'GMD',
368
- GN: 'GNF',
369
- GP: 'EUR',
370
- GQ: 'XAF',
371
- GR: 'EUR',
372
- GS: 'FKP',
373
- GT: 'GTQ',
374
- GU: 'USD',
375
- GW: 'XOF',
376
- GY: 'GYD',
377
- HK: 'HKD',
378
- HM: 'AUD',
379
- HN: 'HNL',
380
- HR: 'EUR',
381
- HT: 'HTG',
382
- HU: 'HUF',
383
- ID: 'IDR',
384
- IE: 'EUR',
385
- IL: 'ILS',
386
- IM: 'GBP',
387
- IN: 'INR',
388
- IO: 'USD',
389
- IQ: 'IQD',
390
- IR: 'IRR',
391
- IS: 'ISK',
392
- IT: 'EUR',
393
- JE: 'GBP',
394
- JM: 'JMD',
395
- JO: 'JOD',
396
- JP: 'JPY',
397
- KE: 'KES',
398
- KG: 'KGS',
399
- KH: 'KHR',
400
- KI: 'AUD',
401
- KM: 'KMF',
402
- KN: 'XCD',
403
- KP: 'KPW',
404
- KR: 'KRW',
405
- KW: 'KWD',
406
- KY: 'KYD',
407
- KZ: 'KZT',
408
- LA: 'LAK',
409
- LB: 'LBP',
410
- LC: 'XCD',
411
- LI: 'CHF',
412
- LK: 'LKR',
413
- LR: 'LRD',
414
- LS: 'LSL',
415
- LT: 'EUR',
416
- LU: 'EUR',
417
- LV: 'EUR',
418
- LY: 'LYD',
419
- MA: 'MAD',
420
- MC: 'EUR',
421
- MD: 'MDL',
422
- ME: 'EUR',
423
- MF: 'EUR',
424
- MG: 'MGA',
425
- MH: 'USD',
426
- MK: 'MKD',
427
- ML: 'XOF',
428
- MM: 'MMK',
429
- MN: 'MNT',
430
- MO: 'MOP',
431
- MP: 'USD',
432
- MQ: 'EUR',
433
- MR: 'MRU',
434
- MS: 'XCD',
435
- MT: 'EUR',
436
- MU: 'MUR',
437
- MV: 'MVR',
438
- MW: 'MWK',
439
- MX: 'MXN',
440
- MY: 'MYR',
441
- MZ: 'MZN',
442
- NA: 'NAD',
443
- NC: 'XPF',
444
- NE: 'XOF',
445
- NF: 'AUD',
446
- NG: 'NGN',
447
- NI: 'NIO',
448
- NL: 'EUR',
449
- NO: 'NOK',
450
- NP: 'NPR',
451
- NR: 'AUD',
452
- NU: 'NZD',
453
- NZ: 'NZD',
454
- OM: 'OMR',
455
- PA: 'PAB',
456
- PE: 'PEN',
457
- PF: 'XPF',
458
- PG: 'PGK',
459
- PH: 'PHP',
460
- PK: 'PKR',
461
- PL: 'PLN',
462
- PM: 'EUR',
463
- PN: 'NZD',
464
- PR: 'USD',
465
- PS: 'ILS',
466
- PT: 'EUR',
467
- PW: 'USD',
468
- PY: 'PYG',
469
- QA: 'QAR',
470
- RE: 'EUR',
471
- RO: 'RON',
472
- RS: 'RSD',
473
- RU: 'RUB',
474
- RW: 'RWF',
475
- SA: 'SAR',
476
- SB: 'SBD',
477
- SC: 'SCR',
478
- SD: 'SDG',
479
- SE: 'SEK',
480
- SG: 'SGD',
481
- SH: 'SHP',
482
- SI: 'EUR',
483
- SJ: 'NOK',
484
- SK: 'EUR',
485
- SL: 'SLE',
486
- SM: 'EUR',
487
- SN: 'XOF',
488
- SO: 'SOS',
489
- SR: 'SRD',
490
- SS: 'SSP',
491
- ST: 'STN',
492
- SV: 'USD',
493
- SX: 'ANG',
494
- SY: 'SYP',
495
- SZ: 'SZL',
496
- TC: 'USD',
497
- TD: 'XAF',
498
- TF: 'EUR',
499
- TG: 'XOF',
500
- TH: 'THB',
501
- TJ: 'TJS',
502
- TK: 'NZD',
503
- TL: 'USD',
504
- TM: 'TMT',
505
- TN: 'TND',
506
- TO: 'TOP',
507
- TR: 'TRY',
508
- TT: 'TTD',
509
- TV: 'AUD',
510
- TW: 'TWD',
511
- TZ: 'TZS',
512
- UA: 'UAH',
513
- UG: 'UGX',
514
- UM: 'USD',
515
- US: 'USD',
516
- UY: 'UYU',
517
- UZ: 'UZS',
518
- VA: 'EUR',
519
- VC: 'XCD',
520
- VE: 'VED',
521
- VG: 'USD',
522
- VI: 'USD',
523
- VN: 'VND',
524
- VU: 'VUV',
525
- WF: 'XPF',
526
- WS: 'WST',
527
- XK: 'EUR',
528
- YE: 'YER',
529
- YT: 'EUR',
530
- ZA: 'ZAR',
531
- ZM: 'ZMW',
532
- ZW: 'ZWG'
533
- },
534
-
535
282
  NETWORK_DEFAULT_CURRENCIES: {
536
283
  'eip155:1': 'ETH', // Ethereum Mainnet
537
284
  'eip155:56': 'BNB', // Binance Smart Chain
538
- 'eip155:137': 'MATIC', // Polygon
285
+ 'eip155:137': 'POL', // Polygon
539
286
  'eip155:42161': 'ETH_ARBITRUM', // Arbitrum One
540
287
  'eip155:43114': 'AVAX', // Avalanche C-Chain
541
288
  'eip155:10': 'ETH_OPTIMISM', // Optimism
@@ -555,169 +302,8 @@ export const ConstantsUtil = {
555
302
  'eip155:7700': 'CANTO', // Canto
556
303
  'eip155:59144': 'ETH_LINEA', // Linea
557
304
  'eip155:1101': 'ETH_POLYGONZKEVM', // Polygon zkEVM
558
- 'eip155:196': 'XIN' // Mixin
559
- },
560
-
561
- COUNTRY_DEFAULT_PAYMENT_METHOD: {
562
- AE: ['CREDIT_DEBIT_CARD', 'BINANCE_P2P', 'UAE_BANK_TRANSFER'],
563
- AR: ['CREDIT_DEBIT_CARD', 'AR_BANK_TRANSFER', 'BINANCE_P2P'],
564
- AT: ['CREDIT_DEBIT_CARD', 'SEPA', 'BINANCE_P2P'],
565
- AU: ['CREDIT_DEBIT_CARD', 'APPLE_PAY', 'BINANCE_P2P'],
566
- BD: ['BINANCE_P2P', 'BINANCE_CASH_BALANCE', 'CREDIT_DEBIT_CARD'],
567
- BE: ['CREDIT_DEBIT_CARD', 'BANCONTACT', 'BINANCE_P2P'],
568
- BG: ['CREDIT_DEBIT_CARD', 'SEPA', 'BINANCE_P2P'],
569
- BR: ['PIX', 'CREDIT_DEBIT_CARD', 'BINANCE_P2P'],
570
- CA: ['CREDIT_DEBIT_CARD', 'INTERAC', 'APPLE_PAY'],
571
- CH: ['CREDIT_DEBIT_CARD', 'SEPA', 'BINANCE_P2P'],
572
- CL: ['CREDIT_DEBIT_CARD', 'KHIPU', 'CL_BANK_TRANSFER'],
573
- CN: ['CREDIT_DEBIT_CARD', 'APPLE_PAY'],
574
- CO: ['PSE', 'CO_BANK_TRANSFER', 'ASTROPAY'],
575
- CY: ['CREDIT_DEBIT_CARD', 'SEPA', 'BINANCE_P2P'],
576
- CZ: ['CREDIT_DEBIT_CARD', 'SEPA', 'BINANCE_P2P'],
577
- DE: ['CREDIT_DEBIT_CARD', 'SEPA', 'BINANCE_P2P'],
578
- DK: ['CREDIT_DEBIT_CARD', 'SEPA', 'BINANCE_P2P'],
579
- EC: ['CREDIT_DEBIT_CARD', 'APPLE_PAY', 'GOOGLE_PAY'],
580
- EE: ['CREDIT_DEBIT_CARD', 'SEPA', 'BINANCE_P2P'],
581
- ES: ['CREDIT_DEBIT_CARD', 'SEPA', 'BINANCE_P2P'],
582
- FI: ['CREDIT_DEBIT_CARD', 'SEPA', 'BINANCE_P2P'],
583
- FR: ['CREDIT_DEBIT_CARD', 'SEPA', 'BINANCE_P2P'],
584
- GB: ['CREDIT_DEBIT_CARD', 'SEPA', 'BINANCE_P2P'],
585
- GR: ['CREDIT_DEBIT_CARD', 'SEPA', 'BINANCE_P2P'],
586
- HK: ['BINANCE_P2P', 'CREDIT_DEBIT_CARD', 'APPLE_PAY'],
587
- HR: ['CREDIT_DEBIT_CARD', 'SEPA', 'BINANCE_P2P'],
588
- HU: ['CREDIT_DEBIT_CARD', 'SEPA', 'BINANCE_P2P'],
589
- ID: ['BINANCE_P2P', 'ID_BANK_TRANSFER', 'CREDIT_DEBIT_CARD'],
590
- IE: ['CREDIT_DEBIT_CARD', 'SEPA', 'BINANCE_P2P'],
591
- IL: ['CREDIT_DEBIT_CARD', 'APPLE_PAY', 'GOOGLE_PAY'],
592
- IN: ['UPI', 'IMPS', 'BINANCE_P2P'],
593
- IT: ['CREDIT_DEBIT_CARD', 'SEPA', 'BINANCE_P2P'],
594
- JP: ['CREDIT_DEBIT_CARD', 'APPLE_PAY', 'GOOGLE_PAY'],
595
- KE: ['BINANCE_P2P', 'MOBILE_MONEY', 'CREDIT_DEBIT_CARD'],
596
- KR: ['CREDIT_DEBIT_CARD', 'APPLE_PAY', 'ASTROPAY'],
597
- LT: ['CREDIT_DEBIT_CARD', 'SEPA', 'BINANCE_P2P'],
598
- LV: ['CREDIT_DEBIT_CARD', 'SEPA', 'BINANCE_P2P'],
599
- MA: ['BINANCE_P2P', 'CREDIT_DEBIT_CARD', 'APPLE_PAY'],
600
- MX: ['SPEI', 'CREDIT_DEBIT_CARD', 'BINANCE_P2P'],
601
- MY: ['CREDIT_DEBIT_CARD', 'MY_BANK_TRANSFER', 'APPLE_PAY'],
602
- NG: ['BINANCE_P2P', 'NG_BANK_TRANSFER', 'CREDIT_DEBIT_CARD'],
603
- NL: ['IDEAL', 'CREDIT_DEBIT_CARD', 'SEPA'],
604
- NO: ['CREDIT_DEBIT_CARD', 'SEPA', 'BINANCE_P2P'],
605
- NP: ['BINANCE_P2P', 'ASTROPAY', 'CREDIT_DEBIT_CARD'],
606
- NZ: ['CREDIT_DEBIT_CARD', 'BINANCE_P2P', 'APPLE_PAY'],
607
- PH: ['GCASH', 'BINANCE_P2P', 'PH_BANK_TRANSFER'],
608
- PK: ['BINANCE_P2P', 'ASTROPAY', 'CREDIT_DEBIT_CARD'],
609
- PL: ['CREDIT_DEBIT_CARD', 'SEPA', 'BINANCE_P2P'],
610
- PR: ['CREDIT_DEBIT_CARD', 'GOOGLE_PAY'],
611
- PT: ['CREDIT_DEBIT_CARD', 'SEPA', 'BINANCE_P2P'],
612
- RO: ['CREDIT_DEBIT_CARD', 'SEPA', 'BINANCE_P2P'],
613
- SA: ['CREDIT_DEBIT_CARD', 'APPLE_PAY', 'BINANCE_P2P'],
614
- SE: ['CREDIT_DEBIT_CARD', 'SEPA', 'BINANCE_P2P'],
615
- SG: ['CREDIT_DEBIT_CARD', 'GRABPAY', 'SHOPEEPAY'],
616
- SI: ['CREDIT_DEBIT_CARD', 'SEPA', 'BINANCE_P2P'],
617
- SK: ['CREDIT_DEBIT_CARD', 'SEPA', 'BINANCE_P2P'],
618
- TH: ['PROMPTPAY', 'CREDIT_DEBIT_CARD', 'THAI_QR'],
619
- TR: ['BINANCE_P2P', 'CREDIT_DEBIT_CARD', 'FAST'],
620
- TW: ['BINANCE_P2P', 'CREDIT_DEBIT_CARD', 'APPLE_PAY'],
621
- UA: ['BINANCE_P2P', 'CREDIT_DEBIT_CARD', 'GOOGLE_PAY'],
622
- US: ['CREDIT_DEBIT_CARD', 'APPLE_PAY', 'GOOGLE_PAY'],
623
- VN: ['BINANCE_P2P', 'VN_BANK_TRANSFER', 'CREDIT_DEBIT_CARD'],
624
- ZA: ['BINANCE_P2P', 'LOCAL_BANK_TRANSFER', 'CREDIT_DEBIT_CARD']
625
- },
626
-
627
- CURRENCY_SUGGESTED_VALUES: {
628
- AED: [50, 100, 500],
629
- AMD: [5000, 10000, 50000],
630
- ANG: [50, 100, 500],
631
- AOA: [10000, 20000, 50000],
632
- ARS: [20000, 35000, 50000],
633
- AUD: [50, 100, 150],
634
- AZN: [50, 100, 200],
635
- BDT: [2500, 5000, 10000],
636
- BGN: [50, 100, 200],
637
- BHD: [10, 20, 50],
638
- BOB: [150, 300, 500],
639
- BRL: [100, 200, 500],
640
- BWP: [200, 500, 1000],
641
- CAD: [50, 100, 150],
642
- CHF: [50, 100, 150],
643
- CLP: [10000, 20000, 50000],
644
- CNY: [200, 500, 1000],
645
- COP: [50000, 100000, 200000],
646
- CRC: [10000, 20000, 50000],
647
- CZK: [500, 1000, 2000],
648
- DKK: [200, 500, 1000],
649
- DOP: [2000, 5000, 10000],
650
- DZD: [3000, 5000, 10000],
651
- EGP: [2000, 5000, 10000],
652
- EUR: [50, 100, 150],
653
- GBP: [50, 100, 150],
654
- GEL: [100, 200, 500],
655
- GHS: [100, 200, 500],
656
- GTQ: [200, 500, 1000],
657
- HKD: [200, 500, 1000],
658
- HNL: [500, 1000, 2000],
659
- HRK: [200, 500, 1000],
660
- HTG: [3000, 5000, 10000],
661
- HUF: [5000, 10000, 20000],
662
- IDR: [100000, 200000, 500000],
663
- ILS: [100, 200, 500],
664
- INR: [1000, 2000, 5000],
665
- IQD: [30000, 50000, 100000],
666
- ISK: [5000, 10000, 20000],
667
- JOD: [20, 50, 100],
668
- JPY: [5000, 10000, 20000],
669
- KES: [1000, 2000, 5000],
670
- KGS: [1000, 2000, 5000],
671
- KHR: [250000, 500000, 1000000],
672
- KRW: [50000, 100000, 200000],
673
- KWD: [10, 20, 50],
674
- KZT: [10000, 20000, 50000],
675
- LAK: [500000, 1000000, 2000000],
676
- LBP: [2000000, 3000000, 5000000],
677
- LKR: [5000, 6000, 7000],
678
- MAD: [200, 500, 1000],
679
- MDL: [500, 1000, 2000],
680
- MMK: [50000, 100000, 200000],
681
- MNT: [100000, 200000, 500000],
682
- MWK: [5000, 10000, 20000],
683
- MXN: [500, 1000, 2000],
684
- MYR: [100, 200, 500],
685
- NGN: [5000, 10000, 20000],
686
- NIO: [1000, 2000, 5000],
687
- NOK: [500, 1000, 2000],
688
- NPR: [3000, 5000, 10000],
689
- NZD: [50, 100, 150],
690
- OMR: [10, 20, 50],
691
- PAB: [50, 100, 200],
692
- PEN: [100, 200, 500],
693
- PGK: [1000, 2000, 5000],
694
- PHP: [1000, 2000, 5000],
695
- PKR: [5000, 10000, 20000],
696
- PLN: [100, 200, 500],
697
- PYG: [200000, 300000, 500000],
698
- QAR: [100, 200, 500],
699
- RON: [100, 200, 500],
700
- RSD: [2000, 5000, 10000],
701
- RWF: [5000, 10000, 20000],
702
- SAR: [100, 200, 500],
703
- SEK: [500, 1000, 2000],
704
- SGD: [50, 100, 150],
705
- THB: [1000, 2000, 5000],
706
- TJS: [500, 1000, 2000],
707
- TND: [100, 200, 500],
708
- TRY: [500, 1000, 2000],
709
- TWD: [1000, 2000, 5000],
710
- TZS: [5000, 10000, 20000],
711
- UAH: [1000, 2000, 5000],
712
- UGX: [20000, 50000, 100000],
713
- USD: [50, 100, 150],
714
- UYU: [1000, 2000, 5000],
715
- UZS: [300000, 500000, 1000000],
716
- VND: [500000, 1000000, 2000000],
717
- XAF: [5000, 10000, 20000],
718
- XCD: [100, 200, 500],
719
- XOF: [5000, 10000, 20000],
720
- ZAR: [500, 1000, 2000],
721
- ZMW: [500, 1000, 2000]
305
+ 'eip155:196': 'XIN', // Mixin
306
+ 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp': 'SOL',
307
+ 'bip122:000000000019d6689c085ae165831e93': 'BTC'
722
308
  }
723
309
  };
@@ -199,7 +199,7 @@ export const CoreHelperUtil = {
199
199
  const { timeZone } = new Intl.DateTimeFormat().resolvedOptions();
200
200
  const country = ct.getCountryForTimezone(timeZone);
201
201
 
202
- return country ? country.id : 'US'; // 'id' is the ISO country code (e.g., "GB" for United Kingdom)
202
+ return country ? country.id : 'US'; // 'id' is the ISO country code (e.g., "US" for United States)
203
203
  } catch (error) {
204
204
  return 'US';
205
205
  }
@@ -88,26 +88,53 @@ export class FetchUtil {
88
88
  }
89
89
 
90
90
  private createUrl({ path, params }: RequestArguments) {
91
- const url = new URL(path, this.baseUrl);
92
- if (params) {
93
- Object.entries(params).forEach(([key, value]) => {
94
- if (value) {
95
- url.searchParams.append(key, value);
96
- }
97
- });
91
+ let fullUrl: string;
92
+
93
+ const isAbsoluteUrl = path.startsWith('http://') || path.startsWith('https://');
94
+
95
+ if (isAbsoluteUrl) {
96
+ fullUrl = path;
97
+ } else {
98
+ const baseUrl = this.baseUrl.endsWith('/') ? this.baseUrl : `${this.baseUrl}/`;
99
+ const pathUrl = path.startsWith('/') ? path.substring(1) : path;
100
+ fullUrl = `${baseUrl}${pathUrl}`;
98
101
  }
99
102
 
103
+ const allParams: Record<string, string | undefined> = { ...params };
100
104
  if (this.clientId) {
101
- url.searchParams.append('clientId', this.clientId);
105
+ allParams['clientId'] = this.clientId;
106
+ }
107
+
108
+ const queryParams: string[] = [];
109
+ for (const key in allParams) {
110
+ const value = allParams[key];
111
+ if (value !== undefined && value !== null && value !== '') {
112
+ queryParams.push(`${encodeURIComponent(key)}=${encodeURIComponent(value)}`);
113
+ }
114
+ }
115
+
116
+ if (queryParams.length > 0) {
117
+ const queryString = queryParams.join('&');
118
+ if (fullUrl.includes('?')) {
119
+ fullUrl = `${fullUrl}&${queryString}`;
120
+ } else {
121
+ fullUrl = `${fullUrl}?${queryString}`;
122
+ }
102
123
  }
103
124
 
104
- return url.toString();
125
+ return fullUrl;
105
126
  }
106
127
 
107
128
  private async processResponse<T>(response: Response) {
108
129
  if (!response.ok) {
109
130
  if (response.headers.get('content-type')?.includes('application/json')) {
110
- return Promise.reject((await response.json()) as T);
131
+ try {
132
+ const errorData = await response.json();
133
+
134
+ return Promise.reject(errorData);
135
+ } catch (jsonError) {
136
+ return Promise.reject(`Code: ${response.status} - ${response.statusText}`);
137
+ }
111
138
  }
112
139
 
113
140
  const errorText = await response.text();
@@ -4,6 +4,7 @@ import type {
4
4
  OnRampFiatCurrency,
5
5
  OnRampFiatLimit,
6
6
  OnRampServiceProvider,
7
+ OnRampCountryDefaults,
7
8
  WcWallet
8
9
  } from './TypeUtil';
9
10
  import {
@@ -48,7 +49,7 @@ export const StorageUtil = {
48
49
  try {
49
50
  await OptionsController.getStorage().removeItem(ConstantsUtil.STORAGE_KEYS.WC_DEEPLINK);
50
51
  } catch {
51
- console.info('Unable to delete WalletConnect deep link');
52
+ console.info('Unable to remove WalletConnect deep link');
52
53
  }
53
54
  },
54
55
 
@@ -180,7 +181,8 @@ export const StorageUtil = {
180
181
  await OptionsController.getStorage().removeItem(
181
182
  ConstantsUtil.STORAGE_KEYS.CONNECTED_WALLET_IMAGE_URL
182
183
  );
183
- } catch {
184
+ } catch (e) {
185
+ console.error(e);
184
186
  console.info('Unable to remove Connected Wallet Image URL');
185
187
  }
186
188
  },
@@ -293,6 +295,44 @@ export const StorageUtil = {
293
295
  return [];
294
296
  },
295
297
 
298
+ async setOnRampCountriesDefaults(countriesDefaults: OnRampCountryDefaults[]) {
299
+ try {
300
+ const timestamp = Date.now();
301
+
302
+ await OptionsController.getStorage().setItem(
303
+ ConstantsUtil.STORAGE_KEYS.ONRAMP_COUNTRIES_DEFAULTS,
304
+ { data: countriesDefaults, timestamp }
305
+ );
306
+ } catch {
307
+ console.info('Unable to set OnRamp Countries Defaults');
308
+ }
309
+ },
310
+
311
+ async getOnRampCountriesDefaults() {
312
+ try {
313
+ const result = await OptionsController.getStorage().getItem(
314
+ ConstantsUtil.STORAGE_KEYS.ONRAMP_COUNTRIES_DEFAULTS
315
+ );
316
+
317
+ if (!result) {
318
+ return [];
319
+ }
320
+
321
+ const { data, timestamp } = result;
322
+
323
+ // Cache for 1 week
324
+ if (timestamp && DateUtil.isMoreThanOneWeekAgo(timestamp)) {
325
+ return [];
326
+ }
327
+
328
+ return (data as OnRampCountryDefaults[]) ?? [];
329
+ } catch {
330
+ console.info('Unable to get OnRamp Countries Defaults');
331
+ }
332
+
333
+ return [];
334
+ },
335
+
296
336
  async setOnRampServiceProviders(serviceProviders: OnRampServiceProvider[]) {
297
337
  try {
298
338
  const timestamp = Date.now();
@@ -1,5 +1,10 @@
1
- import type { AccountType, CaipAddress, CaipNetworkId } from '@reown/appkit-common-react-native';
2
- import type { SocialProvider, Transaction } from '@reown/appkit-common-react-native';
1
+ import type {
2
+ AccountType,
3
+ CaipAddress,
4
+ CaipNetworkId,
5
+ SocialProvider,
6
+ Transaction
7
+ } from '@reown/appkit-common-react-native';
3
8
 
4
9
  import { OnRampErrorType } from './ConstantsUtil';
5
10
 
@@ -293,11 +298,12 @@ export interface BlockchainApiSwapTokensRequest {
293
298
 
294
299
  export interface BlockchainApiOnRampQuotesRequest {
295
300
  countryCode: string;
296
- paymentMethodType: string;
301
+ paymentMethodType?: string;
297
302
  destinationCurrencyCode: string;
298
303
  sourceAmount: number;
299
304
  sourceCurrencyCode: string;
300
305
  walletAddress: string;
306
+ excludeProviders?: string[];
301
307
  }
302
308
 
303
309
  export interface BlockchainApiSwapTokensResponse {
@@ -319,6 +325,21 @@ export type BlockchainApiOnRampWidgetResponse = {
319
325
  widgetUrl: string;
320
326
  };
321
327
 
328
+ export class BlockchainOnRampError extends Error {
329
+ code: string;
330
+ constructor(code: string, message: string) {
331
+ super(message);
332
+ this.code = code;
333
+ this.message = message;
334
+ }
335
+ }
336
+
337
+ // -- OptionsController Types ---------------------------------------------------
338
+ export interface Token {
339
+ address: string;
340
+ image?: string;
341
+ }
342
+
322
343
  // -- OptionsController Types ---------------------------------------------------
323
344
  export type CustomWallet = Pick<
324
345
  WcWallet,
@@ -801,6 +822,12 @@ export type OnRampCountry = {
801
822
  name: string;
802
823
  };
803
824
 
825
+ export type OnRampCountryDefaults = {
826
+ countryCode: string;
827
+ defaultCurrencyCode: string;
828
+ defaultPaymentMethods: string[];
829
+ };
830
+
804
831
  export type OnRampFiatCurrency = {
805
832
  currencyCode: string;
806
833
  name: string;