@reown/appkit-core-react-native 0.0.0-feat-coinbase-20250723185200 → 0.0.0-feat-multichain-20250725133522

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 (124) hide show
  1. package/lib/commonjs/controllers/AccountController.js.map +1 -1
  2. package/lib/commonjs/controllers/ApiController.js +1 -2
  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.map +1 -1
  9. package/lib/commonjs/controllers/EnsController.js +4 -4
  10. package/lib/commonjs/controllers/EnsController.js.map +1 -1
  11. package/lib/commonjs/controllers/EventsController.js +4 -4
  12. package/lib/commonjs/controllers/EventsController.js.map +1 -1
  13. package/lib/commonjs/controllers/ModalController.js.map +1 -1
  14. package/lib/commonjs/controllers/OnRampController.js +117 -53
  15. package/lib/commonjs/controllers/OnRampController.js.map +1 -1
  16. package/lib/commonjs/controllers/OptionsController.js.map +1 -1
  17. package/lib/commonjs/controllers/PublicStateController.js.map +1 -1
  18. package/lib/commonjs/controllers/RouterController.js.map +1 -1
  19. package/lib/commonjs/controllers/SendController.js +5 -5
  20. package/lib/commonjs/controllers/SendController.js.map +1 -1
  21. package/lib/commonjs/controllers/SnackController.js.map +1 -1
  22. package/lib/commonjs/controllers/SwapController.js.map +1 -1
  23. package/lib/commonjs/controllers/ThemeController.js.map +1 -1
  24. package/lib/commonjs/controllers/TransactionsController.js +3 -3
  25. package/lib/commonjs/controllers/TransactionsController.js.map +1 -1
  26. package/lib/commonjs/index.js +0 -7
  27. package/lib/commonjs/index.js.map +1 -1
  28. package/lib/commonjs/utils/ApiUtil.js.map +1 -1
  29. package/lib/commonjs/utils/AssetUtil.js.map +1 -1
  30. package/lib/commonjs/utils/ConstantsUtil.js +9 -422
  31. package/lib/commonjs/utils/ConstantsUtil.js.map +1 -1
  32. package/lib/commonjs/utils/CoreHelperUtil.js +2 -3
  33. package/lib/commonjs/utils/CoreHelperUtil.js.map +1 -1
  34. package/lib/commonjs/utils/EventUtil.js.map +1 -1
  35. package/lib/commonjs/utils/FetchUtil.js +34 -10
  36. package/lib/commonjs/utils/FetchUtil.js.map +1 -1
  37. package/lib/commonjs/utils/RouterUtil.js.map +1 -1
  38. package/lib/commonjs/utils/StorageUtil.js +35 -3
  39. package/lib/commonjs/utils/StorageUtil.js.map +1 -1
  40. package/lib/commonjs/utils/SwapApiUtil.js.map +1 -1
  41. package/lib/commonjs/utils/SwapCalculationUtil.js.map +1 -1
  42. package/lib/commonjs/utils/TypeUtil.js +25 -0
  43. package/lib/commonjs/utils/TypeUtil.js.map +1 -1
  44. package/lib/module/controllers/AccountController.js.map +1 -1
  45. package/lib/module/controllers/ApiController.js +2 -3
  46. package/lib/module/controllers/ApiController.js.map +1 -1
  47. package/lib/module/controllers/AssetController.js.map +1 -1
  48. package/lib/module/controllers/BlockchainApiController.js +16 -37
  49. package/lib/module/controllers/BlockchainApiController.js.map +1 -1
  50. package/lib/module/controllers/ConnectionController.js.map +1 -1
  51. package/lib/module/controllers/ConnectionsController.js.map +1 -1
  52. package/lib/module/controllers/EnsController.js +2 -2
  53. package/lib/module/controllers/EnsController.js.map +1 -1
  54. package/lib/module/controllers/EventsController.js +1 -1
  55. package/lib/module/controllers/EventsController.js.map +1 -1
  56. package/lib/module/controllers/ModalController.js.map +1 -1
  57. package/lib/module/controllers/OnRampController.js +116 -52
  58. package/lib/module/controllers/OnRampController.js.map +1 -1
  59. package/lib/module/controllers/OptionsController.js.map +1 -1
  60. package/lib/module/controllers/PublicStateController.js.map +1 -1
  61. package/lib/module/controllers/RouterController.js.map +1 -1
  62. package/lib/module/controllers/SendController.js +2 -2
  63. package/lib/module/controllers/SendController.js.map +1 -1
  64. package/lib/module/controllers/SnackController.js.map +1 -1
  65. package/lib/module/controllers/SwapController.js.map +1 -1
  66. package/lib/module/controllers/ThemeController.js.map +1 -1
  67. package/lib/module/controllers/TransactionsController.js +1 -1
  68. package/lib/module/controllers/TransactionsController.js.map +1 -1
  69. package/lib/module/index.js +0 -1
  70. package/lib/module/index.js.map +1 -1
  71. package/lib/module/utils/ApiUtil.js.map +1 -1
  72. package/lib/module/utils/AssetUtil.js.map +1 -1
  73. package/lib/module/utils/ConstantsUtil.js +9 -422
  74. package/lib/module/utils/ConstantsUtil.js.map +1 -1
  75. package/lib/module/utils/CoreHelperUtil.js +1 -1
  76. package/lib/module/utils/CoreHelperUtil.js.map +1 -1
  77. package/lib/module/utils/EventUtil.js.map +1 -1
  78. package/lib/module/utils/FetchUtil.js +34 -10
  79. package/lib/module/utils/FetchUtil.js.map +1 -1
  80. package/lib/module/utils/RouterUtil.js.map +1 -1
  81. package/lib/module/utils/StorageUtil.js +35 -3
  82. package/lib/module/utils/StorageUtil.js.map +1 -1
  83. package/lib/module/utils/SwapApiUtil.js.map +1 -1
  84. package/lib/module/utils/SwapCalculationUtil.js.map +1 -1
  85. package/lib/module/utils/TypeUtil.js +23 -1
  86. package/lib/module/utils/TypeUtil.js.map +1 -1
  87. package/lib/typescript/controllers/ApiController.d.ts.map +1 -1
  88. package/lib/typescript/controllers/BlockchainApiController.d.ts +5 -2
  89. package/lib/typescript/controllers/BlockchainApiController.d.ts.map +1 -1
  90. package/lib/typescript/controllers/ModalController.d.ts +1 -1
  91. package/lib/typescript/controllers/ModalController.d.ts.map +1 -1
  92. package/lib/typescript/controllers/OnRampController.d.ts +3 -2
  93. package/lib/typescript/controllers/OnRampController.d.ts.map +1 -1
  94. package/lib/typescript/index.d.ts +0 -1
  95. package/lib/typescript/index.d.ts.map +1 -1
  96. package/lib/typescript/utils/ConstantsUtil.d.ts +4 -414
  97. package/lib/typescript/utils/ConstantsUtil.d.ts.map +1 -1
  98. package/lib/typescript/utils/FetchUtil.d.ts.map +1 -1
  99. package/lib/typescript/utils/StorageUtil.d.ts +3 -1
  100. package/lib/typescript/utils/StorageUtil.d.ts.map +1 -1
  101. package/lib/typescript/utils/TypeUtil.d.ts +16 -3
  102. package/lib/typescript/utils/TypeUtil.d.ts.map +1 -1
  103. package/package.json +4 -4
  104. package/src/controllers/ApiController.ts +2 -3
  105. package/src/controllers/BlockchainApiController.ts +23 -40
  106. package/src/controllers/EnsController.ts +2 -2
  107. package/src/controllers/EventsController.ts +1 -1
  108. package/src/controllers/ModalController.ts +1 -2
  109. package/src/controllers/OnRampController.ts +178 -81
  110. package/src/controllers/SendController.ts +2 -2
  111. package/src/controllers/TransactionsController.ts +1 -1
  112. package/src/index.ts +0 -6
  113. package/src/utils/ConstantsUtil.ts +8 -424
  114. package/src/utils/CoreHelperUtil.ts +1 -1
  115. package/src/utils/FetchUtil.ts +37 -10
  116. package/src/utils/StorageUtil.ts +42 -3
  117. package/src/utils/TypeUtil.ts +30 -3
  118. package/lib/commonjs/controllers/NetworkController.js +0 -90
  119. package/lib/commonjs/controllers/NetworkController.js.map +0 -1
  120. package/lib/module/controllers/NetworkController.js +0 -85
  121. package/lib/module/controllers/NetworkController.js.map +0 -1
  122. package/lib/typescript/controllers/NetworkController.d.ts +0 -34
  123. package/lib/typescript/controllers/NetworkController.d.ts.map +0 -1
  124. 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',
@@ -277,265 +277,10 @@ export const ConstantsUtil = {
277
277
 
278
278
  DEFAULT_FEATURES: defaultFeatures,
279
279
 
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
280
  NETWORK_DEFAULT_CURRENCIES: {
536
281
  'eip155:1': 'ETH', // Ethereum Mainnet
537
282
  'eip155:56': 'BNB', // Binance Smart Chain
538
- 'eip155:137': 'MATIC', // Polygon
283
+ 'eip155:137': 'POL', // Polygon
539
284
  'eip155:42161': 'ETH_ARBITRUM', // Arbitrum One
540
285
  'eip155:43114': 'AVAX', // Avalanche C-Chain
541
286
  'eip155:10': 'ETH_OPTIMISM', // Optimism
@@ -555,169 +300,8 @@ export const ConstantsUtil = {
555
300
  'eip155:7700': 'CANTO', // Canto
556
301
  'eip155:59144': 'ETH_LINEA', // Linea
557
302
  '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]
303
+ 'eip155:196': 'XIN', // Mixin
304
+ 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp': 'SOL',
305
+ 'bip122:000000000019d6689c085ae165831e93': 'BTC'
722
306
  }
723
307
  };
@@ -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 {
@@ -67,7 +68,7 @@ export const StorageUtil = {
67
68
  }
68
69
  OptionsController.getStorage().setItem(
69
70
  ConstantsUtil.STORAGE_KEYS.RECENT_WALLET,
70
- JSON.stringify(recentWallets)
71
+ recentWallets
71
72
  );
72
73
 
73
74
  return recentWallets;
@@ -82,7 +83,7 @@ export const StorageUtil = {
82
83
  try {
83
84
  await OptionsController.getStorage().setItem(
84
85
  ConstantsUtil.STORAGE_KEYS.RECENT_WALLET,
85
- JSON.stringify(wallets)
86
+ wallets
86
87
  );
87
88
  } catch {
88
89
  console.info('Unable to set recent wallets');
@@ -95,7 +96,7 @@ export const StorageUtil = {
95
96
  ConstantsUtil.STORAGE_KEYS.RECENT_WALLET
96
97
  );
97
98
 
98
- return recent ? JSON.parse(recent) : [];
99
+ return recent ?? [];
99
100
  } catch {
100
101
  console.info('Unable to get recent wallets');
101
102
  }
@@ -293,6 +294,44 @@ export const StorageUtil = {
293
294
  return [];
294
295
  },
295
296
 
297
+ async setOnRampCountriesDefaults(countriesDefaults: OnRampCountryDefaults[]) {
298
+ try {
299
+ const timestamp = Date.now();
300
+
301
+ await OptionsController.getStorage().setItem(
302
+ ConstantsUtil.STORAGE_KEYS.ONRAMP_COUNTRIES_DEFAULTS,
303
+ { data: countriesDefaults, timestamp }
304
+ );
305
+ } catch {
306
+ console.info('Unable to set OnRamp Countries Defaults');
307
+ }
308
+ },
309
+
310
+ async getOnRampCountriesDefaults() {
311
+ try {
312
+ const result = await OptionsController.getStorage().getItem(
313
+ ConstantsUtil.STORAGE_KEYS.ONRAMP_COUNTRIES_DEFAULTS
314
+ );
315
+
316
+ if (!result) {
317
+ return [];
318
+ }
319
+
320
+ const { data, timestamp } = result;
321
+
322
+ // Cache for 1 week
323
+ if (timestamp && DateUtil.isMoreThanOneWeekAgo(timestamp)) {
324
+ return [];
325
+ }
326
+
327
+ return (data as OnRampCountryDefaults[]) ?? [];
328
+ } catch {
329
+ console.info('Unable to get OnRamp Countries Defaults');
330
+ }
331
+
332
+ return [];
333
+ },
334
+
296
335
  async setOnRampServiceProviders(serviceProviders: OnRampServiceProvider[]) {
297
336
  try {
298
337
  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;