@reown/appkit-core 0.0.3

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 (181) hide show
  1. package/LICENSE +190 -0
  2. package/dist/esm/exports/index.js +30 -0
  3. package/dist/esm/exports/index.js.map +1 -0
  4. package/dist/esm/exports/react.js +20 -0
  5. package/dist/esm/exports/react.js.map +1 -0
  6. package/dist/esm/src/controllers/AccountController.js +150 -0
  7. package/dist/esm/src/controllers/AccountController.js.map +1 -0
  8. package/dist/esm/src/controllers/ApiController.js +230 -0
  9. package/dist/esm/src/controllers/ApiController.js.map +1 -0
  10. package/dist/esm/src/controllers/AssetController.js +43 -0
  11. package/dist/esm/src/controllers/AssetController.js.map +1 -0
  12. package/dist/esm/src/controllers/BlockchainApiController.js +334 -0
  13. package/dist/esm/src/controllers/BlockchainApiController.js.map +1 -0
  14. package/dist/esm/src/controllers/ChainController.js +289 -0
  15. package/dist/esm/src/controllers/ChainController.js.map +1 -0
  16. package/dist/esm/src/controllers/ConnectionController.js +128 -0
  17. package/dist/esm/src/controllers/ConnectionController.js.map +1 -0
  18. package/dist/esm/src/controllers/ConnectorController.js +111 -0
  19. package/dist/esm/src/controllers/ConnectorController.js.map +1 -0
  20. package/dist/esm/src/controllers/EnsController.js +135 -0
  21. package/dist/esm/src/controllers/EnsController.js.map +1 -0
  22. package/dist/esm/src/controllers/EventsController.js +60 -0
  23. package/dist/esm/src/controllers/EventsController.js.map +1 -0
  24. package/dist/esm/src/controllers/ModalController.js +73 -0
  25. package/dist/esm/src/controllers/ModalController.js.map +1 -0
  26. package/dist/esm/src/controllers/NetworkController.js +236 -0
  27. package/dist/esm/src/controllers/NetworkController.js.map +1 -0
  28. package/dist/esm/src/controllers/OnRampController.js +133 -0
  29. package/dist/esm/src/controllers/OnRampController.js.map +1 -0
  30. package/dist/esm/src/controllers/OptionsController.js +84 -0
  31. package/dist/esm/src/controllers/OptionsController.js.map +1 -0
  32. package/dist/esm/src/controllers/PublicStateController.js +19 -0
  33. package/dist/esm/src/controllers/PublicStateController.js.map +1 -0
  34. package/dist/esm/src/controllers/RouterController.js +101 -0
  35. package/dist/esm/src/controllers/RouterController.js.map +1 -0
  36. package/dist/esm/src/controllers/SendController.js +214 -0
  37. package/dist/esm/src/controllers/SendController.js.map +1 -0
  38. package/dist/esm/src/controllers/SnackController.js +36 -0
  39. package/dist/esm/src/controllers/SnackController.js.map +1 -0
  40. package/dist/esm/src/controllers/SwapController.js +627 -0
  41. package/dist/esm/src/controllers/SwapController.js.map +1 -0
  42. package/dist/esm/src/controllers/ThemeController.js +55 -0
  43. package/dist/esm/src/controllers/ThemeController.js.map +1 -0
  44. package/dist/esm/src/controllers/TooltipController.js +41 -0
  45. package/dist/esm/src/controllers/TooltipController.js.map +1 -0
  46. package/dist/esm/src/controllers/TransactionsController.js +115 -0
  47. package/dist/esm/src/controllers/TransactionsController.js.map +1 -0
  48. package/dist/esm/src/utils/AssetUtil.js +62 -0
  49. package/dist/esm/src/utils/AssetUtil.js.map +1 -0
  50. package/dist/esm/src/utils/ConstantsUtil.js +194 -0
  51. package/dist/esm/src/utils/ConstantsUtil.js.map +1 -0
  52. package/dist/esm/src/utils/CoreHelperUtil.js +238 -0
  53. package/dist/esm/src/utils/CoreHelperUtil.js.map +1 -0
  54. package/dist/esm/src/utils/EnsUtil.js +10 -0
  55. package/dist/esm/src/utils/EnsUtil.js.map +1 -0
  56. package/dist/esm/src/utils/FetchUtil.js +73 -0
  57. package/dist/esm/src/utils/FetchUtil.js.map +1 -0
  58. package/dist/esm/src/utils/OptionsUtil.js +11 -0
  59. package/dist/esm/src/utils/OptionsUtil.js.map +1 -0
  60. package/dist/esm/src/utils/RouterUtil.js +23 -0
  61. package/dist/esm/src/utils/RouterUtil.js.map +1 -0
  62. package/dist/esm/src/utils/StorageUtil.js +107 -0
  63. package/dist/esm/src/utils/StorageUtil.js.map +1 -0
  64. package/dist/esm/src/utils/SwapApiUtil.js +92 -0
  65. package/dist/esm/src/utils/SwapApiUtil.js.map +1 -0
  66. package/dist/esm/src/utils/SwapCalculationUtil.js +74 -0
  67. package/dist/esm/src/utils/SwapCalculationUtil.js.map +1 -0
  68. package/dist/esm/src/utils/TypeUtil.js +2 -0
  69. package/dist/esm/src/utils/TypeUtil.js.map +1 -0
  70. package/dist/esm/tests/constants/OnrampTransactions.js +151 -0
  71. package/dist/esm/tests/constants/OnrampTransactions.js.map +1 -0
  72. package/dist/esm/tests/controllers/AccountController.test.js +82 -0
  73. package/dist/esm/tests/controllers/AccountController.test.js.map +1 -0
  74. package/dist/esm/tests/controllers/ApiController.test.js +532 -0
  75. package/dist/esm/tests/controllers/ApiController.test.js.map +1 -0
  76. package/dist/esm/tests/controllers/AssetController.test.js +92 -0
  77. package/dist/esm/tests/controllers/AssetController.test.js.map +1 -0
  78. package/dist/esm/tests/controllers/ChainController.test.js +70 -0
  79. package/dist/esm/tests/controllers/ChainController.test.js.map +1 -0
  80. package/dist/esm/tests/controllers/ConnectionController.test.js +116 -0
  81. package/dist/esm/tests/controllers/ConnectionController.test.js.map +1 -0
  82. package/dist/esm/tests/controllers/ConnectorController.test.js +133 -0
  83. package/dist/esm/tests/controllers/ConnectorController.test.js.map +1 -0
  84. package/dist/esm/tests/controllers/EnsController.test.js +166 -0
  85. package/dist/esm/tests/controllers/EnsController.test.js.map +1 -0
  86. package/dist/esm/tests/controllers/EventsController.test.js +18 -0
  87. package/dist/esm/tests/controllers/EventsController.test.js.map +1 -0
  88. package/dist/esm/tests/controllers/ModalController.test.js +18 -0
  89. package/dist/esm/tests/controllers/ModalController.test.js.map +1 -0
  90. package/dist/esm/tests/controllers/NetworkController.test.js +134 -0
  91. package/dist/esm/tests/controllers/NetworkController.test.js.map +1 -0
  92. package/dist/esm/tests/controllers/OnRampController.test.js +118 -0
  93. package/dist/esm/tests/controllers/OnRampController.test.js.map +1 -0
  94. package/dist/esm/tests/controllers/OptionsController.test.js +23 -0
  95. package/dist/esm/tests/controllers/OptionsController.test.js.map +1 -0
  96. package/dist/esm/tests/controllers/PublicStateController.test.js +27 -0
  97. package/dist/esm/tests/controllers/PublicStateController.test.js.map +1 -0
  98. package/dist/esm/tests/controllers/RouterController.test.js +76 -0
  99. package/dist/esm/tests/controllers/RouterController.test.js.map +1 -0
  100. package/dist/esm/tests/controllers/SendController.test.js +51 -0
  101. package/dist/esm/tests/controllers/SendController.test.js.map +1 -0
  102. package/dist/esm/tests/controllers/SnackController.test.js +37 -0
  103. package/dist/esm/tests/controllers/SnackController.test.js.map +1 -0
  104. package/dist/esm/tests/controllers/SwapController.test.js +70 -0
  105. package/dist/esm/tests/controllers/SwapController.test.js.map +1 -0
  106. package/dist/esm/tests/controllers/ThemeController.test.js +26 -0
  107. package/dist/esm/tests/controllers/ThemeController.test.js.map +1 -0
  108. package/dist/esm/tests/controllers/TooltipController.test.js +40 -0
  109. package/dist/esm/tests/controllers/TooltipController.test.js.map +1 -0
  110. package/dist/esm/tests/controllers/TransactionsController.test.js +247 -0
  111. package/dist/esm/tests/controllers/TransactionsController.test.js.map +1 -0
  112. package/dist/esm/tests/mocks/SwapController.js +118 -0
  113. package/dist/esm/tests/mocks/SwapController.js.map +1 -0
  114. package/dist/esm/tests/utils/AssetUtil.test.js +87 -0
  115. package/dist/esm/tests/utils/AssetUtil.test.js.map +1 -0
  116. package/dist/esm/tests/utils/CoreHelperUtil.test.js +27 -0
  117. package/dist/esm/tests/utils/CoreHelperUtil.test.js.map +1 -0
  118. package/dist/esm/tests/utils/SwapCalculationUtil.test.js +80 -0
  119. package/dist/esm/tests/utils/SwapCalculationUtil.test.js.map +1 -0
  120. package/dist/esm/tsconfig.tsbuildinfo +1 -0
  121. package/dist/types/exports/index.d.ts +48 -0
  122. package/dist/types/exports/react.d.ts +19 -0
  123. package/dist/types/src/controllers/AccountController.d.ts +59 -0
  124. package/dist/types/src/controllers/ApiController.d.ts +43 -0
  125. package/dist/types/src/controllers/AssetController.d.ts +20 -0
  126. package/dist/types/src/controllers/BlockchainApiController.d.ts +49 -0
  127. package/dist/types/src/controllers/ChainController.d.ts +42 -0
  128. package/dist/types/src/controllers/ConnectionController.d.ts +63 -0
  129. package/dist/types/src/controllers/ConnectorController.d.ts +24 -0
  130. package/dist/types/src/controllers/EnsController.d.ts +21 -0
  131. package/dist/types/src/controllers/EventsController.d.ts +16 -0
  132. package/dist/types/src/controllers/ModalController.d.ts +20 -0
  133. package/dist/types/src/controllers/NetworkController.d.ts +42 -0
  134. package/dist/types/src/controllers/OnRampController.d.ts +53 -0
  135. package/dist/types/src/controllers/OptionsController.d.ts +43 -0
  136. package/dist/types/src/controllers/PublicStateController.d.ts +12 -0
  137. package/dist/types/src/controllers/RouterController.d.ts +55 -0
  138. package/dist/types/src/controllers/SendController.d.ts +42 -0
  139. package/dist/types/src/controllers/SnackController.d.ts +13 -0
  140. package/dist/types/src/controllers/SwapController.d.ts +126 -0
  141. package/dist/types/src/controllers/ThemeController.d.ts +29 -0
  142. package/dist/types/src/controllers/TooltipController.d.ts +24 -0
  143. package/dist/types/src/controllers/TransactionsController.d.ts +25 -0
  144. package/dist/types/src/utils/AssetUtil.d.ts +11 -0
  145. package/dist/types/src/utils/ConstantsUtil.d.ts +45 -0
  146. package/dist/types/src/utils/CoreHelperUtil.d.ts +43 -0
  147. package/dist/types/src/utils/EnsUtil.d.ts +3 -0
  148. package/dist/types/src/utils/FetchUtil.d.ts +26 -0
  149. package/dist/types/src/utils/OptionsUtil.d.ts +4 -0
  150. package/dist/types/src/utils/RouterUtil.d.ts +4 -0
  151. package/dist/types/src/utils/StorageUtil.d.ts +16 -0
  152. package/dist/types/src/utils/SwapApiUtil.d.ts +23 -0
  153. package/dist/types/src/utils/SwapCalculationUtil.d.ts +22 -0
  154. package/dist/types/src/utils/TypeUtil.d.ts +744 -0
  155. package/dist/types/tests/constants/OnrampTransactions.d.ts +138 -0
  156. package/dist/types/tests/controllers/AccountController.test.d.ts +1 -0
  157. package/dist/types/tests/controllers/ApiController.test.d.ts +1 -0
  158. package/dist/types/tests/controllers/AssetController.test.d.ts +1 -0
  159. package/dist/types/tests/controllers/ChainController.test.d.ts +1 -0
  160. package/dist/types/tests/controllers/ConnectionController.test.d.ts +1 -0
  161. package/dist/types/tests/controllers/ConnectorController.test.d.ts +1 -0
  162. package/dist/types/tests/controllers/EnsController.test.d.ts +1 -0
  163. package/dist/types/tests/controllers/EventsController.test.d.ts +1 -0
  164. package/dist/types/tests/controllers/ModalController.test.d.ts +1 -0
  165. package/dist/types/tests/controllers/NetworkController.test.d.ts +1 -0
  166. package/dist/types/tests/controllers/OnRampController.test.d.ts +1 -0
  167. package/dist/types/tests/controllers/OptionsController.test.d.ts +1 -0
  168. package/dist/types/tests/controllers/PublicStateController.test.d.ts +1 -0
  169. package/dist/types/tests/controllers/RouterController.test.d.ts +1 -0
  170. package/dist/types/tests/controllers/SendController.test.d.ts +1 -0
  171. package/dist/types/tests/controllers/SnackController.test.d.ts +1 -0
  172. package/dist/types/tests/controllers/SwapController.test.d.ts +1 -0
  173. package/dist/types/tests/controllers/ThemeController.test.d.ts +1 -0
  174. package/dist/types/tests/controllers/TooltipController.test.d.ts +1 -0
  175. package/dist/types/tests/controllers/TransactionsController.test.d.ts +1 -0
  176. package/dist/types/tests/mocks/SwapController.d.ts +74 -0
  177. package/dist/types/tests/utils/AssetUtil.test.d.ts +1 -0
  178. package/dist/types/tests/utils/CoreHelperUtil.test.d.ts +1 -0
  179. package/dist/types/tests/utils/SwapCalculationUtil.test.d.ts +1 -0
  180. package/package.json +52 -0
  181. package/readme.md +11 -0
@@ -0,0 +1,55 @@
1
+ import type { Connector, WcWallet } from '../utils/TypeUtil.js';
2
+ import type { SwapInputTarget } from './SwapController.js';
3
+ import type { CaipNetwork, ChainNamespace } from '@reown/appkit-common';
4
+ type TransactionAction = {
5
+ /**
6
+ * If true, the router will go back to the previous view after the transaction is complete..
7
+ */
8
+ goBack: boolean;
9
+ /**
10
+ * If set, the router will navigate to the specified view after the transaction is complete.
11
+ */
12
+ view: RouterControllerState['view'] | null;
13
+ /**
14
+ * If true, the router will remove the previous view from the history and navigate to the current view.
15
+ */
16
+ replace?: boolean;
17
+ /**
18
+ * Function to be called when the transaction is complete.
19
+ */
20
+ onSuccess?: () => void;
21
+ /**
22
+ * Function to be called when the transaction is cancelled.
23
+ */
24
+ onCancel?: () => void;
25
+ };
26
+ export interface RouterControllerState {
27
+ view: 'Account' | 'AccountSettings' | 'SelectAddresses' | 'AllWallets' | 'ApproveTransaction' | 'BuyInProgress' | 'WalletCompatibleNetworks' | 'ChooseAccountName' | 'Connect' | 'ConnectingExternal' | 'ConnectingFarcaster' | 'ConnectingWalletConnect' | 'ConnectingSiwe' | 'ConnectingSocial' | 'ConnectSocials' | 'ConnectWallets' | 'Downloads' | 'EmailVerifyOtp' | 'EmailVerifyDevice' | 'GetWallet' | 'Networks' | 'OnRampActivity' | 'OnRampFiatSelect' | 'OnRampProviders' | 'OnRampTokenSelect' | 'Profile' | 'RegisterAccountName' | 'RegisterAccountNameSuccess' | 'SwitchNetwork' | 'SwitchAddress' | 'Transactions' | 'UnsupportedChain' | 'UpdateEmailWallet' | 'UpdateEmailPrimaryOtp' | 'UpdateEmailSecondaryOtp' | 'UpgradeEmailWallet' | 'UpgradeToSmartAccount' | 'WalletReceive' | 'WalletSend' | 'WalletSendPreview' | 'WalletSendSelectToken' | 'WhatIsANetwork' | 'WhatIsAWallet' | 'WhatIsABuy' | 'Swap' | 'SwapSelectToken' | 'SwapPreview' | 'ConnectingMultiChain' | 'SwitchActiveChain';
28
+ history: RouterControllerState['view'][];
29
+ data?: {
30
+ connector?: Connector;
31
+ wallet?: WcWallet;
32
+ network?: CaipNetwork;
33
+ email?: string;
34
+ newEmail?: string;
35
+ target?: SwapInputTarget;
36
+ swapUnsupportedChain?: boolean;
37
+ connectors?: Connector[];
38
+ switchToChain?: ChainNamespace;
39
+ navigateTo?: RouterControllerState['view'];
40
+ navigateWithReplace?: boolean;
41
+ };
42
+ transactionStack: TransactionAction[];
43
+ }
44
+ export declare const RouterController: {
45
+ state: RouterControllerState;
46
+ subscribeKey<K extends keyof RouterControllerState>(key: K, callback: (value: RouterControllerState[K]) => void): () => void;
47
+ pushTransactionStack(action: TransactionAction): void;
48
+ popTransactionStack(cancel?: boolean): void;
49
+ push(view: RouterControllerState['view'], data?: RouterControllerState['data']): void;
50
+ reset(view: RouterControllerState['view']): void;
51
+ replace(view: RouterControllerState['view'], data?: RouterControllerState['data']): void;
52
+ goBack(): void;
53
+ goBackToIndex(historyIndex: number): void;
54
+ };
55
+ export {};
@@ -0,0 +1,42 @@
1
+ import { type Balance } from '@reown/appkit-common';
2
+ export interface TxParams {
3
+ receiverAddress: string;
4
+ sendTokenAmount: number;
5
+ gasPrice: bigint;
6
+ decimals: string;
7
+ }
8
+ export interface ContractWriteParams {
9
+ receiverAddress: string;
10
+ tokenAddress: string;
11
+ sendTokenAmount: number;
12
+ decimals: string;
13
+ }
14
+ export interface SendControllerState {
15
+ token?: Balance;
16
+ sendTokenAmount?: number;
17
+ receiverAddress?: string;
18
+ receiverProfileName?: string;
19
+ receiverProfileImageUrl?: string;
20
+ gasPrice?: bigint;
21
+ gasPriceInUSD?: number;
22
+ loading: boolean;
23
+ }
24
+ export declare const SendController: {
25
+ state: SendControllerState;
26
+ subscribe(callback: (newState: SendControllerState) => void): () => void;
27
+ subscribeKey<K extends keyof SendControllerState>(key: K, callback: (value: SendControllerState[K]) => void): () => void;
28
+ setToken(token: SendControllerState['token']): void;
29
+ setTokenAmount(sendTokenAmount: SendControllerState['sendTokenAmount']): void;
30
+ setReceiverAddress(receiverAddress: SendControllerState['receiverAddress']): void;
31
+ setReceiverProfileImageUrl(receiverProfileImageUrl: SendControllerState['receiverProfileImageUrl']): void;
32
+ setReceiverProfileName(receiverProfileName: SendControllerState['receiverProfileName']): void;
33
+ setGasPrice(gasPrice: SendControllerState['gasPrice']): void;
34
+ setGasPriceInUsd(gasPriceInUSD: SendControllerState['gasPriceInUSD']): void;
35
+ setLoading(loading: SendControllerState['loading']): void;
36
+ sendToken(): void;
37
+ sendEvmToken(): void;
38
+ sendNativeToken(params: TxParams): Promise<void>;
39
+ sendERC20Token(params: ContractWriteParams): Promise<void>;
40
+ sendSolanaToken(): void;
41
+ resetSend(): void;
42
+ };
@@ -0,0 +1,13 @@
1
+ export interface SnackControllerState {
2
+ message: string;
3
+ variant: 'error' | 'success' | 'loading';
4
+ open: boolean;
5
+ }
6
+ export declare const SnackController: {
7
+ state: SnackControllerState;
8
+ subscribeKey<K extends keyof SnackControllerState>(key: K, callback: (value: SnackControllerState[K]) => void): () => void;
9
+ showLoading(message: SnackControllerState['message']): void;
10
+ showSuccess(message: SnackControllerState['message']): void;
11
+ showError(message: unknown): void;
12
+ hide(): void;
13
+ };
@@ -0,0 +1,126 @@
1
+ import type { SwapTokenWithBalance } from '../utils/TypeUtil.js';
2
+ export declare const INITIAL_GAS_LIMIT = 150000;
3
+ export declare const TO_AMOUNT_DECIMALS = 6;
4
+ export type SwapInputTarget = 'sourceToken' | 'toToken';
5
+ type TransactionParams = {
6
+ data: string;
7
+ to: string;
8
+ gas: bigint;
9
+ gasPrice: bigint;
10
+ value: bigint;
11
+ toAmount: string;
12
+ };
13
+ export interface SwapControllerState {
14
+ initializing: boolean;
15
+ initialized: boolean;
16
+ loadingPrices: boolean;
17
+ loadingQuote?: boolean;
18
+ loadingApprovalTransaction?: boolean;
19
+ loadingBuildTransaction?: boolean;
20
+ loadingTransaction?: boolean;
21
+ fetchError: boolean;
22
+ approvalTransaction: TransactionParams | undefined;
23
+ swapTransaction: TransactionParams | undefined;
24
+ transactionError?: string;
25
+ sourceToken?: SwapTokenWithBalance;
26
+ sourceTokenAmount: string;
27
+ sourceTokenPriceInUSD: number;
28
+ toToken?: SwapTokenWithBalance;
29
+ toTokenAmount: string;
30
+ toTokenPriceInUSD: number;
31
+ networkPrice: string;
32
+ networkBalanceInUSD: string;
33
+ networkTokenSymbol: string;
34
+ inputError: string | undefined;
35
+ slippage: number;
36
+ tokens?: SwapTokenWithBalance[];
37
+ suggestedTokens?: SwapTokenWithBalance[];
38
+ popularTokens?: SwapTokenWithBalance[];
39
+ foundTokens?: SwapTokenWithBalance[];
40
+ myTokensWithBalance?: SwapTokenWithBalance[];
41
+ tokensPriceMap: Record<string, number>;
42
+ gasFee: string;
43
+ gasPriceInUSD?: number;
44
+ priceImpact: number | undefined;
45
+ maxSlippage: number | undefined;
46
+ providerFee: string | undefined;
47
+ }
48
+ export interface TokenInfo {
49
+ address: `0x${string}`;
50
+ symbol: string;
51
+ name: string;
52
+ decimals: number;
53
+ logoURI: string;
54
+ domainVersion?: string;
55
+ eip2612?: boolean;
56
+ isFoT?: boolean;
57
+ tags?: string[];
58
+ }
59
+ export declare const SwapController: {
60
+ state: SwapControllerState;
61
+ subscribe(callback: (newState: SwapControllerState) => void): () => void;
62
+ subscribeKey<K extends keyof SwapControllerState>(key: K, callback: (value: SwapControllerState[K]) => void): () => void;
63
+ getParams(): {
64
+ networkAddress: string;
65
+ fromAddress: string;
66
+ fromCaipAddress: `eip155:${string}:${string}` | `eip155:${number}:${string}` | `solana:${string}:${string}` | `solana:${number}:${string}` | `polkadot:${string}:${string}` | `polkadot:${number}:${string}` | undefined;
67
+ sourceTokenAddress: `eip155:${string}:${string}` | `eip155:${number}:${string}` | `solana:${string}:${string}` | `solana:${number}:${string}` | `polkadot:${string}:${string}` | `polkadot:${number}:${string}` | undefined;
68
+ toTokenAddress: `eip155:${string}:${string}` | `eip155:${number}:${string}` | `solana:${string}:${string}` | `solana:${number}:${string}` | `polkadot:${string}:${string}` | `polkadot:${number}:${string}` | undefined;
69
+ toTokenAmount: string;
70
+ toTokenDecimals: number | undefined;
71
+ sourceTokenAmount: string;
72
+ sourceTokenDecimals: number | undefined;
73
+ invalidToToken: boolean;
74
+ invalidSourceToken: boolean;
75
+ invalidSourceTokenAmount: boolean;
76
+ availableToSwap: boolean | undefined;
77
+ isAuthConnector: boolean;
78
+ };
79
+ setSourceToken(sourceToken: SwapTokenWithBalance | undefined): void;
80
+ setSourceTokenAmount(amount: string): void;
81
+ setToToken(toToken: SwapTokenWithBalance | undefined): void;
82
+ setToTokenAmount(amount: string): void;
83
+ setTokenPrice(address: string, target: SwapInputTarget): Promise<void>;
84
+ switchTokens(): void;
85
+ resetState(): void;
86
+ resetValues(): void;
87
+ getApprovalLoadingState(): boolean | undefined;
88
+ clearError(): void;
89
+ initializeState(): Promise<void>;
90
+ fetchTokens(): Promise<void>;
91
+ getTokenList(): Promise<void>;
92
+ getAddressPrice(address: string): Promise<number>;
93
+ getNetworkTokenPrice(): Promise<void>;
94
+ getMyTokensWithBalance(forceUpdate?: string): Promise<void>;
95
+ setBalances(balances: SwapTokenWithBalance[]): void;
96
+ getInitialGasPrice(): Promise<{
97
+ gasPrice: null;
98
+ gasPriceInUSD: null;
99
+ } | {
100
+ gasPrice: bigint;
101
+ gasPriceInUSD: number;
102
+ }>;
103
+ swapTokens(): Promise<void>;
104
+ getTransaction(): Promise<TransactionParams | undefined>;
105
+ createAllowanceTransaction(): Promise<{
106
+ data: `0x${string}`;
107
+ to: `0x${string}`;
108
+ gas: bigint;
109
+ gasPrice: bigint;
110
+ value: bigint;
111
+ toAmount: string;
112
+ } | undefined>;
113
+ createSwapTransaction(): Promise<{
114
+ data: `0x${string}`;
115
+ to: `0x${string}`;
116
+ gas: bigint;
117
+ gasPrice: bigint;
118
+ value: bigint;
119
+ toAmount: string;
120
+ } | undefined>;
121
+ sendTransactionForApproval(data: TransactionParams): Promise<void>;
122
+ sendTransactionForSwap(data: TransactionParams | undefined): Promise<string | null | undefined>;
123
+ hasInsufficientToken(sourceTokenAmount: string, sourceTokenAddress: string): boolean;
124
+ setTransactionDetails(): void;
125
+ };
126
+ export {};
@@ -0,0 +1,29 @@
1
+ import type { ThemeMode, ThemeVariables } from '../utils/TypeUtil.js';
2
+ import type { W3mThemeVariables } from '@reown/appkit-common';
3
+ export interface ThemeControllerState {
4
+ themeMode: ThemeMode;
5
+ themeVariables: ThemeVariables;
6
+ w3mThemeVariables: W3mThemeVariables | undefined;
7
+ }
8
+ export declare const ThemeController: {
9
+ state: ThemeControllerState;
10
+ subscribe(callback: (newState: ThemeControllerState) => void): () => void;
11
+ setThemeMode(themeMode: ThemeControllerState['themeMode']): void;
12
+ setThemeVariables(themeVariables: ThemeControllerState['themeVariables']): void;
13
+ getSnapshot(): {
14
+ readonly themeMode: ThemeMode;
15
+ readonly themeVariables: {
16
+ readonly '--w3m-font-family'?: string | undefined;
17
+ readonly '--w3m-accent'?: string | undefined;
18
+ readonly '--w3m-color-mix'?: string | undefined;
19
+ readonly '--w3m-color-mix-strength'?: number | undefined;
20
+ readonly '--w3m-font-size-master'?: string | undefined;
21
+ readonly '--w3m-border-radius-master'?: string | undefined;
22
+ readonly '--w3m-z-index'?: number | undefined;
23
+ };
24
+ readonly w3mThemeVariables: {
25
+ readonly '--w3m-accent': string;
26
+ readonly '--w3m-background': string;
27
+ } | undefined;
28
+ };
29
+ };
@@ -0,0 +1,24 @@
1
+ type TriggerRect = {
2
+ width: number;
3
+ height: number;
4
+ top: number;
5
+ left: number;
6
+ };
7
+ export interface TooltipControllerState {
8
+ message: string;
9
+ triggerRect: TriggerRect;
10
+ open: boolean;
11
+ variant: 'shade' | 'fill';
12
+ }
13
+ export declare const TooltipController: {
14
+ state: TooltipControllerState;
15
+ subscribe(callback: (newState: TooltipControllerState) => void): () => void;
16
+ subscribeKey<K extends keyof TooltipControllerState>(key: K, callback: (value: TooltipControllerState[K]) => void): () => void;
17
+ showTooltip({ message, triggerRect, variant }: {
18
+ message: string;
19
+ triggerRect: TriggerRect;
20
+ variant: 'shade' | 'fill';
21
+ }): void;
22
+ hide(): void;
23
+ };
24
+ export {};
@@ -0,0 +1,25 @@
1
+ import type { Transaction } from '@reown/appkit-common';
2
+ import type { CaipNetworkId } from '@reown/appkit-common';
3
+ type TransactionByMonthMap = Record<number, Transaction[]>;
4
+ type TransactionByYearMap = Record<number, TransactionByMonthMap>;
5
+ export interface TransactionsControllerState {
6
+ transactions: Transaction[];
7
+ coinbaseTransactions: TransactionByYearMap;
8
+ transactionsByYear: TransactionByYearMap;
9
+ lastNetworkInView: CaipNetworkId | undefined;
10
+ loading: boolean;
11
+ empty: boolean;
12
+ next: string | undefined;
13
+ }
14
+ export declare const TransactionsController: {
15
+ state: TransactionsControllerState;
16
+ subscribe(callback: (newState: TransactionsControllerState) => void): () => void;
17
+ setLastNetworkInView(lastNetworkInView: TransactionsControllerState['lastNetworkInView']): void;
18
+ fetchTransactions(accountAddress?: string, onramp?: 'coinbase'): Promise<void>;
19
+ groupTransactionsByYearAndMonth(transactionsMap?: TransactionByYearMap, transactions?: Transaction[]): TransactionByYearMap;
20
+ filterSpamTransactions(transactions: Transaction[]): Transaction[];
21
+ filterByConnectedChain(transactions: Transaction[]): Transaction[];
22
+ clearCursor(): void;
23
+ resetTransactions(): void;
24
+ };
25
+ export {};
@@ -0,0 +1,11 @@
1
+ import type { ChainNamespace, CaipNetwork } from '@reown/appkit-common';
2
+ import type { Connector, WcWallet } from './TypeUtil.js';
3
+ export declare const AssetUtil: {
4
+ fetchWalletImage(imageId?: string): Promise<string | undefined>;
5
+ getWalletImageById(imageId?: string): string | undefined;
6
+ getWalletImage(wallet?: WcWallet): string | undefined;
7
+ getNetworkImage(network?: CaipNetwork): string | undefined;
8
+ getNetworkImageById(imageId?: string): string | undefined;
9
+ getConnectorImage(connector?: Connector): string | undefined;
10
+ getChainImage(chain: ChainNamespace): string | undefined;
11
+ };
@@ -0,0 +1,45 @@
1
+ import type { Features } from './TypeUtil.js';
2
+ export declare const ONRAMP_PROVIDERS: {
3
+ label: string;
4
+ name: string;
5
+ feeRange: string;
6
+ url: string;
7
+ supportedChains: string[];
8
+ }[];
9
+ export declare const MELD_DEV_PUBLIC_KEY = "WXETMsajb7XcQBm7mcxAab:q3MtzJpiEMtXVNXsqYkAnAaBkgStybGVtZ";
10
+ export declare const MELD_PROD_PUBLIC_KEY = "WXETMuFUQmqqybHuRkSgxv:25B8LJHSfpG6LVjR2ytU5Cwh7Z4Sch2ocoU";
11
+ export declare const ConstantsUtil: {
12
+ FOUR_MINUTES_MS: number;
13
+ TEN_SEC_MS: number;
14
+ ONE_SEC_MS: number;
15
+ SECURE_SITE: string;
16
+ SECURE_SITE_DASHBOARD: string;
17
+ SECURE_SITE_FAVICON: string;
18
+ RESTRICTED_TIMEZONES: string[];
19
+ /**
20
+ * Network name to Coinbase Pay SDK chain name map object
21
+ * @see supported chain names on Coinbase for Pay SDK: https://github.com/coinbase/cbpay-js/blob/d4bda2c05c4d5917c8db6a05476b603546046394/src/types/onramp.ts
22
+ */
23
+ WC_COINBASE_PAY_SDK_CHAINS: string[];
24
+ WC_COINBASE_PAY_SDK_FALLBACK_CHAIN: string;
25
+ WC_COINBASE_PAY_SDK_CHAIN_NAME_MAP: {
26
+ Ethereum: string;
27
+ 'Arbitrum One': string;
28
+ Polygon: string;
29
+ Avalanche: string;
30
+ 'OP Mainnet': string;
31
+ Celo: string;
32
+ Base: string;
33
+ };
34
+ WC_COINBASE_ONRAMP_APP_ID: string;
35
+ SWAP_SUGGESTED_TOKENS: string[];
36
+ SWAP_POPULAR_TOKENS: string[];
37
+ SWAP_SUPPORTED_NETWORKS: string[];
38
+ NATIVE_TOKEN_ADDRESS: {
39
+ readonly eip155: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee";
40
+ readonly solana: "So11111111111111111111111111111111111111111";
41
+ readonly polkadot: "0x";
42
+ };
43
+ CONVERT_SLIPPAGE_TOLERANCE: number;
44
+ DEFAULT_FEATURES: Features;
45
+ };
@@ -0,0 +1,43 @@
1
+ import type { Balance, ChainNamespace } from '@reown/appkit-common';
2
+ import type { CaipAddress, CaipNetwork } from '@reown/appkit-common';
3
+ import type { LinkingRecord } from './TypeUtil.js';
4
+ export declare const CoreHelperUtil: {
5
+ isMobile(): boolean;
6
+ checkCaipNetwork(network: CaipNetwork | undefined, networkName?: string): boolean | undefined;
7
+ isAndroid(): boolean;
8
+ isIos(): boolean;
9
+ isClient(): boolean;
10
+ isPairingExpired(expiry?: number): boolean;
11
+ isAllowedRetry(lastRetry: number): boolean;
12
+ copyToClopboard(text: string): void;
13
+ getPairingExpiry(): number;
14
+ getNetworkId(caipAddress: CaipAddress | undefined): string | undefined;
15
+ getPlainAddress(caipAddress: CaipAddress | undefined): string | undefined;
16
+ wait(milliseconds: number): Promise<unknown>;
17
+ debounce(func: (...args: any[]) => unknown, timeout?: number): (...args: unknown[]) => void;
18
+ isHttpUrl(url: string): boolean;
19
+ formatNativeUrl(appUrl: string, wcUri: string): LinkingRecord;
20
+ formatUniversalUrl(appUrl: string, wcUri: string): LinkingRecord;
21
+ openHref(href: string, target: '_blank' | '_self' | 'popupWindow', features?: string): void;
22
+ returnOpenHref(href: string, target: '_blank' | '_self' | 'popupWindow', features?: string): Window | null;
23
+ preloadImage(src: string): Promise<unknown>;
24
+ formatBalance(balance: string | undefined, symbol: string | undefined): string;
25
+ formatBalance2(balance: string | undefined, symbol: string | undefined): {
26
+ value: string;
27
+ rest: string;
28
+ symbol: string | undefined;
29
+ };
30
+ getApiUrl(): "https://api.web3modal.org";
31
+ getBlockchainApiUrl(): "https://rpc.walletconnect.org";
32
+ getAnalyticsUrl(): "https://pulse.walletconnect.org";
33
+ getUUID(): string;
34
+ parseError(error: any): string;
35
+ sortRequestedNetworks(approvedIds: `${string}:${string}`[] | undefined, requestedNetworks?: CaipNetwork[]): CaipNetwork[];
36
+ calculateBalance(array: Balance[]): number;
37
+ formatTokenBalance(number: number): {
38
+ dollars: string | undefined;
39
+ pennies: string | undefined;
40
+ };
41
+ isAddress(address: string, chain?: ChainNamespace): boolean;
42
+ uniqueBy<T>(arr: T[], key: keyof T): T[];
43
+ };
@@ -0,0 +1,3 @@
1
+ export declare const EnsUtil: {
2
+ convertEVMChainIdToCoinType(chainId: number): number;
3
+ };
@@ -0,0 +1,26 @@
1
+ interface Options {
2
+ baseUrl: string;
3
+ clientId: string | null;
4
+ }
5
+ interface RequestArguments {
6
+ path: string;
7
+ headers?: HeadersInit;
8
+ params?: Record<string, string | undefined>;
9
+ cache?: RequestCache;
10
+ signal?: AbortSignal;
11
+ }
12
+ interface PostArguments extends RequestArguments {
13
+ body?: Record<string, unknown>;
14
+ }
15
+ export declare class FetchUtil {
16
+ baseUrl: Options['baseUrl'];
17
+ clientId: Options['clientId'];
18
+ constructor({ baseUrl, clientId }: Options);
19
+ get<T>({ headers, signal, cache, ...args }: RequestArguments): Promise<T>;
20
+ getBlob({ headers, signal, ...args }: RequestArguments): Promise<Blob>;
21
+ post<T>({ body, headers, signal, ...args }: PostArguments): Promise<T>;
22
+ put<T>({ body, headers, signal, ...args }: PostArguments): Promise<T>;
23
+ delete<T>({ body, headers, signal, ...args }: PostArguments): Promise<T>;
24
+ private createUrl;
25
+ }
26
+ export {};
@@ -0,0 +1,4 @@
1
+ import type { Features, FeaturesKeys } from './TypeUtil.js';
2
+ export declare const OptionsUtil: {
3
+ getFeatureValue(key: FeaturesKeys, features?: Features): boolean | import("./TypeUtil.js").FeaturesSocials[] | undefined;
4
+ };
@@ -0,0 +1,4 @@
1
+ export declare const RouterUtil: {
2
+ goBackOrCloseModal(): void;
3
+ navigateAfterNetworkSwitch(): void;
4
+ };
@@ -0,0 +1,16 @@
1
+ import type { WcWallet, ConnectorType, SocialProvider } from './TypeUtil.js';
2
+ export declare const StorageUtil: {
3
+ setWalletConnectDeepLink({ href, name }: {
4
+ href: string;
5
+ name: string;
6
+ }): void;
7
+ getWalletConnectDeepLink(): any;
8
+ deleteWalletConnectDeepLink(): void;
9
+ setWeb3ModalRecent(wallet: WcWallet): void;
10
+ getRecentWallets(): WcWallet[];
11
+ setConnectedConnector(connectorType: ConnectorType): void;
12
+ getConnectedConnector(): ConnectorType | undefined;
13
+ setConnectedSocialProvider(socialProvider: SocialProvider): void;
14
+ getConnectedSocialProvider(): string | null | undefined;
15
+ getConnectedSocialUsername(): string | null | undefined;
16
+ };
@@ -0,0 +1,23 @@
1
+ import type { SwapTokenWithBalance } from './TypeUtil.js';
2
+ import type { BlockchainApiSwapAllowanceRequest, BlockchainApiBalanceResponse } from './TypeUtil.js';
3
+ export type TokenInfo = {
4
+ address: `0x${string}`;
5
+ symbol: string;
6
+ name: string;
7
+ decimals: number;
8
+ logoURI: string;
9
+ domainVersion?: string;
10
+ eip2612?: boolean;
11
+ isFoT?: boolean;
12
+ tags?: string[];
13
+ };
14
+ export declare const SwapApiUtil: {
15
+ getTokenList(): Promise<SwapTokenWithBalance[]>;
16
+ fetchGasPrice(): Promise<import("./TypeUtil.js").BlockchainApiGasPriceResponse | null>;
17
+ fetchSwapAllowance({ tokenAddress, userAddress, sourceTokenAmount, sourceTokenDecimals }: Pick<BlockchainApiSwapAllowanceRequest, "userAddress" | "tokenAddress"> & {
18
+ sourceTokenAmount: string;
19
+ sourceTokenDecimals: number;
20
+ }): Promise<boolean>;
21
+ getMyTokensWithBalance(forceUpdate?: string): Promise<SwapTokenWithBalance[]>;
22
+ mapBalancesToSwapTokens(balances: BlockchainApiBalanceResponse['balances']): SwapTokenWithBalance[];
23
+ };
@@ -0,0 +1,22 @@
1
+ import type { SwapTokenWithBalance } from './TypeUtil.js';
2
+ export declare const SwapCalculationUtil: {
3
+ getGasPriceInEther(gas: bigint, gasPrice: bigint): number;
4
+ getGasPriceInUSD(networkPrice: string, gas: bigint, gasPrice: bigint): number;
5
+ getPriceImpact({ sourceTokenAmount, sourceTokenPriceInUSD, toTokenPriceInUSD, toTokenAmount }: {
6
+ sourceTokenAmount: string;
7
+ sourceTokenPriceInUSD: number;
8
+ toTokenPriceInUSD: number;
9
+ toTokenAmount: string;
10
+ }): number;
11
+ getMaxSlippage(slippage: number, toTokenAmount: string): number;
12
+ getProviderFee(sourceTokenAmount: string, feePercentage?: number): string;
13
+ isInsufficientNetworkTokenForGas(networkBalanceInUSD: string, gasPriceInUSD: number | undefined): boolean;
14
+ isInsufficientSourceTokenForSwap(sourceTokenAmount: string, sourceTokenAddress: string, balance: SwapTokenWithBalance[] | undefined): boolean;
15
+ getToTokenAmount({ sourceToken, toToken, sourceTokenPrice, toTokenPrice, sourceTokenAmount }: {
16
+ sourceToken: SwapTokenWithBalance | undefined;
17
+ toToken: SwapTokenWithBalance | undefined;
18
+ sourceTokenPrice: number;
19
+ toTokenPrice: number;
20
+ sourceTokenAmount: string;
21
+ }): string;
22
+ };