@reown/appkit-core-react-native 1.1.1 → 1.2.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 (117) hide show
  1. package/lib/commonjs/controllers/ApiController.js +1 -1
  2. package/lib/commonjs/controllers/BlockchainApiController.js +107 -21
  3. package/lib/commonjs/controllers/BlockchainApiController.js.map +1 -1
  4. package/lib/commonjs/controllers/ConnectionController.js +4 -2
  5. package/lib/commonjs/controllers/ConnectionController.js.map +1 -1
  6. package/lib/commonjs/controllers/EventsController.js +7 -0
  7. package/lib/commonjs/controllers/EventsController.js.map +1 -1
  8. package/lib/commonjs/controllers/NetworkController.js +6 -0
  9. package/lib/commonjs/controllers/NetworkController.js.map +1 -1
  10. package/lib/commonjs/controllers/RouterController.js.map +1 -1
  11. package/lib/commonjs/controllers/SnackController.js +5 -0
  12. package/lib/commonjs/controllers/SnackController.js.map +1 -1
  13. package/lib/commonjs/controllers/SwapController.js +578 -6
  14. package/lib/commonjs/controllers/SwapController.js.map +1 -1
  15. package/lib/commonjs/controllers/ThemeController.js +1 -1
  16. package/lib/commonjs/controllers/ThemeController.js.map +1 -1
  17. package/lib/commonjs/index.js +14 -0
  18. package/lib/commonjs/index.js.map +1 -1
  19. package/lib/commonjs/utils/ConnectionUtil.js +33 -0
  20. package/lib/commonjs/utils/ConnectionUtil.js.map +1 -0
  21. package/lib/commonjs/utils/ConstantsUtil.js +29 -0
  22. package/lib/commonjs/utils/ConstantsUtil.js.map +1 -1
  23. package/lib/commonjs/utils/CoreHelperUtil.js +12 -12
  24. package/lib/commonjs/utils/CoreHelperUtil.js.map +1 -1
  25. package/lib/commonjs/utils/NetworkUtil.js +46 -0
  26. package/lib/commonjs/utils/NetworkUtil.js.map +1 -0
  27. package/lib/commonjs/utils/RouterUtil.js +1 -1
  28. package/lib/commonjs/utils/RouterUtil.js.map +1 -1
  29. package/lib/commonjs/utils/SwapApiUtil.js +58 -0
  30. package/lib/commonjs/utils/SwapApiUtil.js.map +1 -1
  31. package/lib/commonjs/utils/SwapCalculationUtil.js +73 -0
  32. package/lib/commonjs/utils/SwapCalculationUtil.js.map +1 -1
  33. package/lib/module/controllers/ApiController.js +1 -1
  34. package/lib/module/controllers/BlockchainApiController.js +107 -21
  35. package/lib/module/controllers/BlockchainApiController.js.map +1 -1
  36. package/lib/module/controllers/ConnectionController.js +4 -2
  37. package/lib/module/controllers/ConnectionController.js.map +1 -1
  38. package/lib/module/controllers/EventsController.js +7 -0
  39. package/lib/module/controllers/EventsController.js.map +1 -1
  40. package/lib/module/controllers/NetworkController.js +6 -0
  41. package/lib/module/controllers/NetworkController.js.map +1 -1
  42. package/lib/module/controllers/RouterController.js.map +1 -1
  43. package/lib/module/controllers/SnackController.js +5 -0
  44. package/lib/module/controllers/SnackController.js.map +1 -1
  45. package/lib/module/controllers/SwapController.js +578 -6
  46. package/lib/module/controllers/SwapController.js.map +1 -1
  47. package/lib/module/controllers/ThemeController.js +1 -1
  48. package/lib/module/controllers/ThemeController.js.map +1 -1
  49. package/lib/module/index.js +2 -0
  50. package/lib/module/index.js.map +1 -1
  51. package/lib/module/utils/ConnectionUtil.js +27 -0
  52. package/lib/module/utils/ConnectionUtil.js.map +1 -0
  53. package/lib/module/utils/ConstantsUtil.js +29 -0
  54. package/lib/module/utils/ConstantsUtil.js.map +1 -1
  55. package/lib/module/utils/CoreHelperUtil.js +12 -12
  56. package/lib/module/utils/CoreHelperUtil.js.map +1 -1
  57. package/lib/module/utils/NetworkUtil.js +40 -0
  58. package/lib/module/utils/NetworkUtil.js.map +1 -0
  59. package/lib/module/utils/RouterUtil.js +1 -1
  60. package/lib/module/utils/RouterUtil.js.map +1 -1
  61. package/lib/module/utils/SwapApiUtil.js +58 -0
  62. package/lib/module/utils/SwapApiUtil.js.map +1 -1
  63. package/lib/module/utils/SwapCalculationUtil.js +73 -1
  64. package/lib/module/utils/SwapCalculationUtil.js.map +1 -1
  65. package/lib/typescript/controllers/ApiController.d.ts +1 -1
  66. package/lib/typescript/controllers/BlockchainApiController.d.ts +6 -1
  67. package/lib/typescript/controllers/BlockchainApiController.d.ts.map +1 -1
  68. package/lib/typescript/controllers/ConnectionController.d.ts +3 -1
  69. package/lib/typescript/controllers/ConnectionController.d.ts.map +1 -1
  70. package/lib/typescript/controllers/EventsController.d.ts +2 -1
  71. package/lib/typescript/controllers/EventsController.d.ts.map +1 -1
  72. package/lib/typescript/controllers/NetworkController.d.ts +1 -0
  73. package/lib/typescript/controllers/NetworkController.d.ts.map +1 -1
  74. package/lib/typescript/controllers/RouterController.d.ts +3 -2
  75. package/lib/typescript/controllers/RouterController.d.ts.map +1 -1
  76. package/lib/typescript/controllers/SnackController.d.ts +2 -1
  77. package/lib/typescript/controllers/SnackController.d.ts.map +1 -1
  78. package/lib/typescript/controllers/SwapController.d.ts +87 -0
  79. package/lib/typescript/controllers/SwapController.d.ts.map +1 -1
  80. package/lib/typescript/controllers/ThemeController.d.ts +2 -2
  81. package/lib/typescript/controllers/ThemeController.d.ts.map +1 -1
  82. package/lib/typescript/index.d.ts +2 -0
  83. package/lib/typescript/index.d.ts.map +1 -1
  84. package/lib/typescript/utils/ConnectionUtil.d.ts +4 -0
  85. package/lib/typescript/utils/ConnectionUtil.d.ts.map +1 -0
  86. package/lib/typescript/utils/ConstantsUtil.d.ts +4 -0
  87. package/lib/typescript/utils/ConstantsUtil.d.ts.map +1 -1
  88. package/lib/typescript/utils/CoreHelperUtil.d.ts +2 -2
  89. package/lib/typescript/utils/CoreHelperUtil.d.ts.map +1 -1
  90. package/lib/typescript/utils/NetworkUtil.d.ts +8 -0
  91. package/lib/typescript/utils/NetworkUtil.d.ts.map +1 -0
  92. package/lib/typescript/utils/RouterUtil.d.ts.map +1 -1
  93. package/lib/typescript/utils/SwapApiUtil.d.ts +8 -0
  94. package/lib/typescript/utils/SwapApiUtil.d.ts.map +1 -1
  95. package/lib/typescript/utils/SwapCalculationUtil.d.ts +19 -0
  96. package/lib/typescript/utils/SwapCalculationUtil.d.ts.map +1 -1
  97. package/lib/typescript/utils/TypeUtil.d.ts +147 -6
  98. package/lib/typescript/utils/TypeUtil.d.ts.map +1 -1
  99. package/package.json +2 -2
  100. package/src/controllers/ApiController.ts +1 -1
  101. package/src/controllers/BlockchainApiController.ts +114 -17
  102. package/src/controllers/ConnectionController.ts +6 -2
  103. package/src/controllers/EventsController.ts +9 -1
  104. package/src/controllers/NetworkController.ts +8 -0
  105. package/src/controllers/RouterController.ts +6 -1
  106. package/src/controllers/SnackController.ts +7 -1
  107. package/src/controllers/SwapController.ts +759 -6
  108. package/src/controllers/ThemeController.ts +3 -3
  109. package/src/index.ts +2 -0
  110. package/src/utils/ConnectionUtil.ts +27 -0
  111. package/src/utils/ConstantsUtil.ts +120 -0
  112. package/src/utils/CoreHelperUtil.ts +20 -15
  113. package/src/utils/NetworkUtil.ts +33 -0
  114. package/src/utils/RouterUtil.ts +4 -1
  115. package/src/utils/SwapApiUtil.ts +89 -0
  116. package/src/utils/SwapCalculationUtil.ts +125 -0
  117. package/src/utils/TypeUtil.ts +214 -10
@@ -1,5 +1,10 @@
1
1
  import { type EventEmitter } from 'events';
2
- import type { Balance, SocialProvider, Transaction } from '@reown/appkit-common-react-native';
2
+ import type {
3
+ Balance,
4
+ SocialProvider,
5
+ ThemeMode,
6
+ Transaction
7
+ } from '@reown/appkit-common-react-native';
3
8
 
4
9
  export interface BaseError {
5
10
  message?: string;
@@ -66,6 +71,11 @@ export type SdkVersion =
66
71
  type EnabledSocials = Exclude<SocialProvider, 'farcaster'>;
67
72
 
68
73
  export type Features = {
74
+ /**
75
+ * @description Enable or disable the swaps feature. Enabled by default.
76
+ * @type {boolean}
77
+ */
78
+ swaps?: boolean;
69
79
  /**
70
80
  * @description Enable or disable the email feature. Enabled by default.
71
81
  * @type {boolean}
@@ -135,14 +145,6 @@ export type RequestCache =
135
145
  | 'only-if-cached'
136
146
  | 'reload';
137
147
 
138
- // -- ThemeController Types ---------------------------------------------------
139
-
140
- export type ThemeMode = 'dark' | 'light';
141
-
142
- export interface ThemeVariables {
143
- accent?: string;
144
- }
145
-
146
148
  // -- BlockchainApiController Types ---------------------------------------------
147
149
  export interface BlockchainApiIdentityRequest {
148
150
  address: string;
@@ -171,6 +173,56 @@ export interface BlockchainApiTransactionsResponse {
171
173
  next: string | null;
172
174
  }
173
175
 
176
+ export interface BlockchainApiSwapAllowanceResponse {
177
+ allowance: string;
178
+ }
179
+
180
+ export interface BlockchainApiGenerateSwapCalldataRequest {
181
+ projectId: string;
182
+ userAddress: string;
183
+ from: string;
184
+ to: string;
185
+ amount: string;
186
+ eip155?: {
187
+ slippage: string;
188
+ permit?: string;
189
+ };
190
+ }
191
+
192
+ export interface BlockchainApiGenerateSwapCalldataResponse {
193
+ tx: {
194
+ from: CaipAddress;
195
+ to: CaipAddress;
196
+ data: `0x${string}`;
197
+ amount: string;
198
+ eip155: {
199
+ gas: string;
200
+ gasPrice: string;
201
+ };
202
+ };
203
+ }
204
+
205
+ export interface BlockchainApiGenerateApproveCalldataRequest {
206
+ projectId: string;
207
+ userAddress: string;
208
+ from: string;
209
+ to: string;
210
+ amount?: number;
211
+ }
212
+
213
+ export interface BlockchainApiGenerateApproveCalldataResponse {
214
+ tx: {
215
+ from: CaipAddress;
216
+ to: CaipAddress;
217
+ data: `0x${string}`;
218
+ value: string;
219
+ eip155: {
220
+ gas: number;
221
+ gasPrice: string;
222
+ };
223
+ };
224
+ }
225
+
174
226
  export interface BlockchainApiTokenPriceRequest {
175
227
  projectId: string;
176
228
  currency?: 'usd' | 'eur' | 'gbp' | 'aud' | 'cad' | 'inr' | 'jpy' | 'btc' | 'eth';
@@ -186,6 +238,12 @@ export interface BlockchainApiTokenPriceResponse {
186
238
  }[];
187
239
  }
188
240
 
241
+ export interface BlockchainApiSwapAllowanceRequest {
242
+ projectId: string;
243
+ tokenAddress: string;
244
+ userAddress: string;
245
+ }
246
+
189
247
  export interface BlockchainApiGasPriceRequest {
190
248
  projectId: string;
191
249
  chainId: string;
@@ -221,6 +279,35 @@ export interface BlockchainApiLookupEnsName {
221
279
  }[];
222
280
  }
223
281
 
282
+ export interface BlockchainApiSwapQuoteRequest {
283
+ projectId: string;
284
+ chainId?: string;
285
+ amount: string;
286
+ userAddress: string;
287
+ from: string;
288
+ to: string;
289
+ gasPrice: string;
290
+ }
291
+
292
+ export interface BlockchainApiSwapQuoteResponse {
293
+ quotes: {
294
+ id: string | null;
295
+ fromAmount: string;
296
+ fromAccount: string;
297
+ toAmount: string;
298
+ toAccount: string;
299
+ }[];
300
+ }
301
+
302
+ export interface BlockchainApiSwapTokensRequest {
303
+ projectId: string;
304
+ chainId?: string;
305
+ }
306
+
307
+ export interface BlockchainApiSwapTokensResponse {
308
+ tokens: SwapToken[];
309
+ }
310
+
224
311
  // -- OptionsController Types ---------------------------------------------------
225
312
  export interface Token {
226
313
  address: string;
@@ -256,6 +343,51 @@ export type CustomWallet = Pick<
256
343
  >;
257
344
 
258
345
  // -- EventsController Types ----------------------------------------------------
346
+ export type EventName =
347
+ | 'MODAL_LOADED'
348
+ | 'MODAL_OPEN'
349
+ | 'MODAL_CLOSE'
350
+ | 'CLICK_ALL_WALLETS'
351
+ | 'CLICK_NETWORKS'
352
+ | 'SWITCH_NETWORK'
353
+ | 'SELECT_WALLET'
354
+ | 'CONNECT_SUCCESS'
355
+ | 'CONNECT_ERROR'
356
+ | 'DISCONNECT_SUCCESS'
357
+ | 'DISCONNECT_ERROR'
358
+ | 'CLICK_WALLET_HELP'
359
+ | 'CLICK_NETWORK_HELP'
360
+ | 'CLICK_GET_WALLET'
361
+ | 'EMAIL_LOGIN_SELECTED'
362
+ | 'EMAIL_SUBMITTED'
363
+ | 'DEVICE_REGISTERED_FOR_EMAIL'
364
+ | 'EMAIL_VERIFICATION_CODE_SENT'
365
+ | 'EMAIL_VERIFICATION_CODE_PASS'
366
+ | 'EMAIL_VERIFICATION_CODE_FAIL'
367
+ | 'EMAIL_EDIT'
368
+ | 'EMAIL_EDIT_COMPLETE'
369
+ | 'EMAIL_UPGRADE_FROM_MODAL'
370
+ | 'CLICK_SIGN_SIWE_MESSAGE'
371
+ | 'CLICK_CANCEL_SIWE'
372
+ | 'SIWE_AUTH_SUCCESS'
373
+ | 'SIWE_AUTH_ERROR'
374
+ | 'CLICK_TRANSACTIONS'
375
+ | 'ERROR_FETCH_TRANSACTIONS'
376
+ | 'LOAD_MORE_TRANSACTIONS'
377
+ | 'OPEN_SEND'
378
+ | 'OPEN_SWAP'
379
+ | 'INITIATE_SWAP'
380
+ | 'SWAP_SUCCESS'
381
+ | 'SWAP_ERROR'
382
+ | 'SEND_INITIATED'
383
+ | 'SEND_SUCCESS'
384
+ | 'SEND_ERROR'
385
+ | 'SOCIAL_LOGIN_STARTED'
386
+ | 'SOCIAL_LOGIN_SUCCESS'
387
+ | 'SOCIAL_LOGIN_REQUEST_USER_DATA'
388
+ | 'SOCIAL_LOGIN_CANCELED'
389
+ | 'SOCIAL_LOGIN_ERROR'
390
+ | 'SET_PREFERRED_ACCOUNT_TYPE';
259
391
 
260
392
  export type Event =
261
393
  | {
@@ -443,6 +575,51 @@ export type Event =
443
575
  network: string;
444
576
  };
445
577
  }
578
+ | {
579
+ type: 'track';
580
+ event: 'OPEN_SWAP';
581
+ properties: {
582
+ isSmartAccount: boolean;
583
+ network: string;
584
+ };
585
+ }
586
+ | {
587
+ type: 'track';
588
+ event: 'INITIATE_SWAP';
589
+ properties: {
590
+ isSmartAccount: boolean;
591
+ network: string;
592
+ swapFromToken: string;
593
+ swapToToken: string;
594
+ swapFromAmount: string;
595
+ swapToAmount: string;
596
+ };
597
+ }
598
+ | {
599
+ type: 'track';
600
+ event: 'SWAP_SUCCESS';
601
+ properties: {
602
+ isSmartAccount: boolean;
603
+ network: string;
604
+ swapFromToken: string;
605
+ swapToToken: string;
606
+ swapFromAmount: string;
607
+ swapToAmount: string;
608
+ };
609
+ }
610
+ | {
611
+ type: 'track';
612
+ event: 'SWAP_ERROR';
613
+ properties: {
614
+ isSmartAccount: boolean;
615
+ network: string;
616
+ swapFromToken: string;
617
+ swapToToken: string;
618
+ swapFromAmount: string;
619
+ swapToAmount: string;
620
+ message: string;
621
+ };
622
+ }
446
623
  | {
447
624
  type: 'track';
448
625
  event: 'SEND_INITIATED';
@@ -518,6 +695,12 @@ export type Event =
518
695
  };
519
696
 
520
697
  // -- Send Controller Types -------------------------------------
698
+ export type EstimateGasTransactionArgs = {
699
+ chainNamespace?: 'eip155';
700
+ address: `0x${string}`;
701
+ to: `0x${string}`;
702
+ data: `0x${string}`;
703
+ };
521
704
 
522
705
  export interface SendTransactionArgs {
523
706
  to: `0x${string}`;
@@ -526,6 +709,7 @@ export interface SendTransactionArgs {
526
709
  gas?: bigint;
527
710
  gasPrice: bigint;
528
711
  address: `0x${string}`;
712
+ chainNamespace?: 'eip155';
529
713
  }
530
714
 
531
715
  export interface WriteContractArgs {
@@ -537,6 +721,27 @@ export interface WriteContractArgs {
537
721
  abi: any;
538
722
  }
539
723
 
724
+ // -- Swap Controller Types -------------------------------------
725
+ export type SwapToken = {
726
+ name: string;
727
+ symbol: string;
728
+ address: CaipAddress;
729
+ decimals: number;
730
+ logoUri: string;
731
+ eip2612?: boolean;
732
+ };
733
+
734
+ export type SwapTokenWithBalance = SwapToken & {
735
+ quantity: {
736
+ decimals: string;
737
+ numeric: string;
738
+ };
739
+ price: number;
740
+ value: number;
741
+ };
742
+
743
+ export type SwapInputTarget = 'sourceToken' | 'toToken';
744
+
540
745
  // -- Email Types ------------------------------------------------
541
746
  /**
542
747
  * Matches type defined for packages/wallet/src/AppKitFrameProvider.ts
@@ -552,7 +757,6 @@ export interface AppKitFrameProvider {
552
757
  getSecureSiteURL(): string;
553
758
  getSecureSiteDashboardURL(): string;
554
759
  getSecureSiteIconURL(): string;
555
- getSecureSiteHeaders(): Record<string, string>;
556
760
  getEmail(): string | undefined;
557
761
  getUsername(): string | undefined;
558
762
  getLastUsedChainId(): Promise<number | undefined>;