@reown/appkit-core 1.7.0-rc.3.0 → 1.7.0

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 (230) hide show
  1. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  2. package/package.json +2 -2
  3. package/dist/esm/exports/modal.js +0 -2
  4. package/dist/esm/exports/modal.js.map +0 -1
  5. package/dist/esm/src/controllers/AccountController.js +0 -160
  6. package/dist/esm/src/controllers/AccountController.js.map +0 -1
  7. package/dist/esm/src/controllers/AlertController.js +0 -35
  8. package/dist/esm/src/controllers/AlertController.js.map +0 -1
  9. package/dist/esm/src/controllers/ApiController.js +0 -246
  10. package/dist/esm/src/controllers/ApiController.js.map +0 -1
  11. package/dist/esm/src/controllers/AssetController.js +0 -43
  12. package/dist/esm/src/controllers/AssetController.js.map +0 -1
  13. package/dist/esm/src/controllers/BlockchainApiController.js +0 -472
  14. package/dist/esm/src/controllers/BlockchainApiController.js.map +0 -1
  15. package/dist/esm/src/controllers/ChainController.js +0 -486
  16. package/dist/esm/src/controllers/ChainController.js.map +0 -1
  17. package/dist/esm/src/controllers/ConnectionController.js +0 -195
  18. package/dist/esm/src/controllers/ConnectionController.js.map +0 -1
  19. package/dist/esm/src/controllers/ConnectorController.js +0 -218
  20. package/dist/esm/src/controllers/ConnectorController.js.map +0 -1
  21. package/dist/esm/src/controllers/EnsController.js +0 -144
  22. package/dist/esm/src/controllers/EnsController.js.map +0 -1
  23. package/dist/esm/src/controllers/EventsController.js +0 -76
  24. package/dist/esm/src/controllers/EventsController.js.map +0 -1
  25. package/dist/esm/src/controllers/ModalController.js +0 -102
  26. package/dist/esm/src/controllers/ModalController.js.map +0 -1
  27. package/dist/esm/src/controllers/OnRampController.js +0 -132
  28. package/dist/esm/src/controllers/OnRampController.js.map +0 -1
  29. package/dist/esm/src/controllers/OptionsController.js +0 -146
  30. package/dist/esm/src/controllers/OptionsController.js.map +0 -1
  31. package/dist/esm/src/controllers/PublicStateController.js +0 -20
  32. package/dist/esm/src/controllers/PublicStateController.js.map +0 -1
  33. package/dist/esm/src/controllers/RouterController.js +0 -125
  34. package/dist/esm/src/controllers/RouterController.js.map +0 -1
  35. package/dist/esm/src/controllers/SendController.js +0 -305
  36. package/dist/esm/src/controllers/SendController.js.map +0 -1
  37. package/dist/esm/src/controllers/SnackController.js +0 -62
  38. package/dist/esm/src/controllers/SnackController.js.map +0 -1
  39. package/dist/esm/src/controllers/SwapController.js +0 -674
  40. package/dist/esm/src/controllers/SwapController.js.map +0 -1
  41. package/dist/esm/src/controllers/ThemeController.js +0 -55
  42. package/dist/esm/src/controllers/ThemeController.js.map +0 -1
  43. package/dist/esm/src/controllers/TooltipController.js +0 -41
  44. package/dist/esm/src/controllers/TooltipController.js.map +0 -1
  45. package/dist/esm/src/controllers/TransactionsController.js +0 -113
  46. package/dist/esm/src/controllers/TransactionsController.js.map +0 -1
  47. package/dist/esm/src/utils/AssetUtil.js +0 -85
  48. package/dist/esm/src/utils/AssetUtil.js.map +0 -1
  49. package/dist/esm/src/utils/ConstantsUtil.js +0 -237
  50. package/dist/esm/src/utils/ConstantsUtil.js.map +0 -1
  51. package/dist/esm/src/utils/CoreHelperUtil.js +0 -354
  52. package/dist/esm/src/utils/CoreHelperUtil.js.map +0 -1
  53. package/dist/esm/src/utils/ERC7811Util.js +0 -111
  54. package/dist/esm/src/utils/ERC7811Util.js.map +0 -1
  55. package/dist/esm/src/utils/EnsUtil.js +0 -10
  56. package/dist/esm/src/utils/EnsUtil.js.map +0 -1
  57. package/dist/esm/src/utils/FetchUtil.js +0 -73
  58. package/dist/esm/src/utils/FetchUtil.js.map +0 -1
  59. package/dist/esm/src/utils/MobileWallet.js +0 -31
  60. package/dist/esm/src/utils/MobileWallet.js.map +0 -1
  61. package/dist/esm/src/utils/OptionsUtil.js +0 -29
  62. package/dist/esm/src/utils/OptionsUtil.js.map +0 -1
  63. package/dist/esm/src/utils/RouterUtil.js +0 -23
  64. package/dist/esm/src/utils/RouterUtil.js.map +0 -1
  65. package/dist/esm/src/utils/SIWXUtil.js +0 -258
  66. package/dist/esm/src/utils/SIWXUtil.js.map +0 -1
  67. package/dist/esm/src/utils/SendApiUtil.js +0 -65
  68. package/dist/esm/src/utils/SendApiUtil.js.map +0 -1
  69. package/dist/esm/src/utils/StorageUtil.js +0 -485
  70. package/dist/esm/src/utils/StorageUtil.js.map +0 -1
  71. package/dist/esm/src/utils/SwapApiUtil.js +0 -89
  72. package/dist/esm/src/utils/SwapApiUtil.js.map +0 -1
  73. package/dist/esm/src/utils/SwapCalculationUtil.js +0 -74
  74. package/dist/esm/src/utils/SwapCalculationUtil.js.map +0 -1
  75. package/dist/esm/src/utils/TypeUtil.js +0 -2
  76. package/dist/esm/src/utils/TypeUtil.js.map +0 -1
  77. package/dist/esm/tests/constants/OnrampTransactions.js +0 -151
  78. package/dist/esm/tests/constants/OnrampTransactions.js.map +0 -1
  79. package/dist/esm/tests/controllers/AccountController.test.js +0 -186
  80. package/dist/esm/tests/controllers/AccountController.test.js.map +0 -1
  81. package/dist/esm/tests/controllers/AlertController.test.js +0 -48
  82. package/dist/esm/tests/controllers/AlertController.test.js.map +0 -1
  83. package/dist/esm/tests/controllers/ApiController.test.js +0 -594
  84. package/dist/esm/tests/controllers/ApiController.test.js.map +0 -1
  85. package/dist/esm/tests/controllers/AssetController.test.js +0 -92
  86. package/dist/esm/tests/controllers/AssetController.test.js.map +0 -1
  87. package/dist/esm/tests/controllers/BlockchainApiController.test.js +0 -38
  88. package/dist/esm/tests/controllers/BlockchainApiController.test.js.map +0 -1
  89. package/dist/esm/tests/controllers/ChainController.test.js +0 -385
  90. package/dist/esm/tests/controllers/ChainController.test.js.map +0 -1
  91. package/dist/esm/tests/controllers/ConnectionController.test.js +0 -151
  92. package/dist/esm/tests/controllers/ConnectionController.test.js.map +0 -1
  93. package/dist/esm/tests/controllers/ConnectorController.test.js +0 -282
  94. package/dist/esm/tests/controllers/ConnectorController.test.js.map +0 -1
  95. package/dist/esm/tests/controllers/EnsController.test.js +0 -186
  96. package/dist/esm/tests/controllers/EnsController.test.js.map +0 -1
  97. package/dist/esm/tests/controllers/EventsController.test.js +0 -47
  98. package/dist/esm/tests/controllers/EventsController.test.js.map +0 -1
  99. package/dist/esm/tests/controllers/ModalController.test.js +0 -32
  100. package/dist/esm/tests/controllers/ModalController.test.js.map +0 -1
  101. package/dist/esm/tests/controllers/OnRampController.test.js +0 -118
  102. package/dist/esm/tests/controllers/OnRampController.test.js.map +0 -1
  103. package/dist/esm/tests/controllers/OptionsController.test.js +0 -42
  104. package/dist/esm/tests/controllers/OptionsController.test.js.map +0 -1
  105. package/dist/esm/tests/controllers/PublicStateController.test.js +0 -33
  106. package/dist/esm/tests/controllers/PublicStateController.test.js.map +0 -1
  107. package/dist/esm/tests/controllers/RouterController.test.js +0 -103
  108. package/dist/esm/tests/controllers/RouterController.test.js.map +0 -1
  109. package/dist/esm/tests/controllers/SendController.test.js +0 -136
  110. package/dist/esm/tests/controllers/SendController.test.js.map +0 -1
  111. package/dist/esm/tests/controllers/SnackController.test.js +0 -86
  112. package/dist/esm/tests/controllers/SnackController.test.js.map +0 -1
  113. package/dist/esm/tests/controllers/SwapController.test.js +0 -105
  114. package/dist/esm/tests/controllers/SwapController.test.js.map +0 -1
  115. package/dist/esm/tests/controllers/ThemeController.test.js +0 -26
  116. package/dist/esm/tests/controllers/ThemeController.test.js.map +0 -1
  117. package/dist/esm/tests/controllers/TooltipController.test.js +0 -40
  118. package/dist/esm/tests/controllers/TooltipController.test.js.map +0 -1
  119. package/dist/esm/tests/controllers/TransactionsController.test.js +0 -239
  120. package/dist/esm/tests/controllers/TransactionsController.test.js.map +0 -1
  121. package/dist/esm/tests/hooks/react.test.js +0 -149
  122. package/dist/esm/tests/hooks/react.test.js.map +0 -1
  123. package/dist/esm/tests/hooks/vue.test.js +0 -56
  124. package/dist/esm/tests/hooks/vue.test.js.map +0 -1
  125. package/dist/esm/tests/mocks/ChainController.js +0 -24
  126. package/dist/esm/tests/mocks/ChainController.js.map +0 -1
  127. package/dist/esm/tests/mocks/SwapController.js +0 -118
  128. package/dist/esm/tests/mocks/SwapController.js.map +0 -1
  129. package/dist/esm/tests/mocks/useAppKitAccount.js +0 -41
  130. package/dist/esm/tests/mocks/useAppKitAccount.js.map +0 -1
  131. package/dist/esm/tests/utils/AssetUtil.test.js +0 -108
  132. package/dist/esm/tests/utils/AssetUtil.test.js.map +0 -1
  133. package/dist/esm/tests/utils/CoreHelperUtil.test.js +0 -67
  134. package/dist/esm/tests/utils/CoreHelperUtil.test.js.map +0 -1
  135. package/dist/esm/tests/utils/ERC7811.test.js +0 -268
  136. package/dist/esm/tests/utils/ERC7811.test.js.map +0 -1
  137. package/dist/esm/tests/utils/EnsUtil.test.js +0 -23
  138. package/dist/esm/tests/utils/EnsUtil.test.js.map +0 -1
  139. package/dist/esm/tests/utils/FetchUtil.test.js +0 -175
  140. package/dist/esm/tests/utils/FetchUtil.test.js.map +0 -1
  141. package/dist/esm/tests/utils/MobileWallet.test.js +0 -72
  142. package/dist/esm/tests/utils/MobileWallet.test.js.map +0 -1
  143. package/dist/esm/tests/utils/OptionsUtil.test.js +0 -20
  144. package/dist/esm/tests/utils/OptionsUtil.test.js.map +0 -1
  145. package/dist/esm/tests/utils/RouterUtil.test.js +0 -62
  146. package/dist/esm/tests/utils/RouterUtil.test.js.map +0 -1
  147. package/dist/esm/tests/utils/SendApiUtil.test.js +0 -340
  148. package/dist/esm/tests/utils/SendApiUtil.test.js.map +0 -1
  149. package/dist/esm/tests/utils/StorageUtil.test.js +0 -162
  150. package/dist/esm/tests/utils/StorageUtil.test.js.map +0 -1
  151. package/dist/esm/tests/utils/SwapApiUtil.test.js +0 -213
  152. package/dist/esm/tests/utils/SwapApiUtil.test.js.map +0 -1
  153. package/dist/esm/tests/utils/SwapCalculationUtil.test.js +0 -80
  154. package/dist/esm/tests/utils/SwapCalculationUtil.test.js.map +0 -1
  155. package/dist/types/exports/modal.d.ts +0 -2
  156. package/dist/types/src/controllers/AccountController.d.ts +0 -56
  157. package/dist/types/src/controllers/AlertController.d.ts +0 -17
  158. package/dist/types/src/controllers/ApiController.d.ts +0 -51
  159. package/dist/types/src/controllers/AssetController.d.ts +0 -22
  160. package/dist/types/src/controllers/BlockchainApiController.d.ts +0 -76
  161. package/dist/types/src/controllers/ChainController.d.ts +0 -65
  162. package/dist/types/src/controllers/ConnectionController.d.ts +0 -86
  163. package/dist/types/src/controllers/ConnectorController.d.ts +0 -49
  164. package/dist/types/src/controllers/EnsController.d.ts +0 -26
  165. package/dist/types/src/controllers/EventsController.d.ts +0 -17
  166. package/dist/types/src/controllers/ModalController.d.ts +0 -22
  167. package/dist/types/src/controllers/OnRampController.d.ts +0 -55
  168. package/dist/types/src/controllers/OptionsController.d.ts +0 -364
  169. package/dist/types/src/controllers/PublicStateController.d.ts +0 -33
  170. package/dist/types/src/controllers/RouterController.d.ts +0 -56
  171. package/dist/types/src/controllers/SendController.d.ts +0 -52
  172. package/dist/types/src/controllers/SnackController.d.ts +0 -29
  173. package/dist/types/src/controllers/SwapController.d.ts +0 -127
  174. package/dist/types/src/controllers/ThemeController.d.ts +0 -30
  175. package/dist/types/src/controllers/TooltipController.d.ts +0 -25
  176. package/dist/types/src/controllers/TransactionsController.d.ts +0 -25
  177. package/dist/types/src/utils/AssetUtil.d.ts +0 -15
  178. package/dist/types/src/utils/ConstantsUtil.d.ts +0 -85
  179. package/dist/types/src/utils/CoreHelperUtil.d.ts +0 -56
  180. package/dist/types/src/utils/ERC7811Util.d.ts +0 -67
  181. package/dist/types/src/utils/EnsUtil.d.ts +0 -3
  182. package/dist/types/src/utils/FetchUtil.d.ts +0 -26
  183. package/dist/types/src/utils/MobileWallet.d.ts +0 -9
  184. package/dist/types/src/utils/OptionsUtil.d.ts +0 -5
  185. package/dist/types/src/utils/RouterUtil.d.ts +0 -4
  186. package/dist/types/src/utils/SIWXUtil.d.ts +0 -183
  187. package/dist/types/src/utils/SendApiUtil.d.ts +0 -13
  188. package/dist/types/src/utils/StorageUtil.d.ts +0 -99
  189. package/dist/types/src/utils/SwapApiUtil.d.ts +0 -27
  190. package/dist/types/src/utils/SwapCalculationUtil.d.ts +0 -22
  191. package/dist/types/src/utils/TypeUtil.d.ts +0 -981
  192. package/dist/types/tests/constants/OnrampTransactions.d.ts +0 -138
  193. package/dist/types/tests/controllers/AccountController.test.d.ts +0 -1
  194. package/dist/types/tests/controllers/AlertController.test.d.ts +0 -1
  195. package/dist/types/tests/controllers/ApiController.test.d.ts +0 -1
  196. package/dist/types/tests/controllers/AssetController.test.d.ts +0 -1
  197. package/dist/types/tests/controllers/BlockchainApiController.test.d.ts +0 -1
  198. package/dist/types/tests/controllers/ChainController.test.d.ts +0 -1
  199. package/dist/types/tests/controllers/ConnectionController.test.d.ts +0 -1
  200. package/dist/types/tests/controllers/ConnectorController.test.d.ts +0 -1
  201. package/dist/types/tests/controllers/EnsController.test.d.ts +0 -1
  202. package/dist/types/tests/controllers/EventsController.test.d.ts +0 -1
  203. package/dist/types/tests/controllers/ModalController.test.d.ts +0 -1
  204. package/dist/types/tests/controllers/OnRampController.test.d.ts +0 -1
  205. package/dist/types/tests/controllers/OptionsController.test.d.ts +0 -1
  206. package/dist/types/tests/controllers/PublicStateController.test.d.ts +0 -1
  207. package/dist/types/tests/controllers/RouterController.test.d.ts +0 -1
  208. package/dist/types/tests/controllers/SendController.test.d.ts +0 -1
  209. package/dist/types/tests/controllers/SnackController.test.d.ts +0 -1
  210. package/dist/types/tests/controllers/SwapController.test.d.ts +0 -1
  211. package/dist/types/tests/controllers/ThemeController.test.d.ts +0 -1
  212. package/dist/types/tests/controllers/TooltipController.test.d.ts +0 -1
  213. package/dist/types/tests/controllers/TransactionsController.test.d.ts +0 -1
  214. package/dist/types/tests/hooks/react.test.d.ts +0 -1
  215. package/dist/types/tests/hooks/vue.test.d.ts +0 -2
  216. package/dist/types/tests/mocks/ChainController.d.ts +0 -2
  217. package/dist/types/tests/mocks/SwapController.d.ts +0 -75
  218. package/dist/types/tests/mocks/useAppKitAccount.d.ts +0 -40
  219. package/dist/types/tests/utils/AssetUtil.test.d.ts +0 -1
  220. package/dist/types/tests/utils/CoreHelperUtil.test.d.ts +0 -1
  221. package/dist/types/tests/utils/ERC7811.test.d.ts +0 -1
  222. package/dist/types/tests/utils/EnsUtil.test.d.ts +0 -1
  223. package/dist/types/tests/utils/FetchUtil.test.d.ts +0 -1
  224. package/dist/types/tests/utils/MobileWallet.test.d.ts +0 -1
  225. package/dist/types/tests/utils/OptionsUtil.test.d.ts +0 -1
  226. package/dist/types/tests/utils/RouterUtil.test.d.ts +0 -1
  227. package/dist/types/tests/utils/SendApiUtil.test.d.ts +0 -1
  228. package/dist/types/tests/utils/StorageUtil.test.d.ts +0 -1
  229. package/dist/types/tests/utils/SwapApiUtil.test.d.ts +0 -1
  230. package/dist/types/tests/utils/SwapCalculationUtil.test.d.ts +0 -1
@@ -1,56 +0,0 @@
1
- import type { CaipNetwork, ChainNamespace } from '@reown/appkit-common';
2
- import type { Connector, WcWallet } from '../utils/TypeUtil.js';
3
- import type { SwapInputTarget } from './SwapController.js';
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' | 'AllWallets' | 'ApproveTransaction' | 'BuyInProgress' | 'WalletCompatibleNetworks' | 'ChooseAccountName' | 'Connect' | 'Create' | 'ConnectingExternal' | 'ConnectingFarcaster' | 'ConnectingWalletConnect' | 'ConnectingWalletConnectBasic' | 'ConnectingSiwe' | 'ConnectingSocial' | 'ConnectSocials' | 'ConnectWallets' | 'Downloads' | 'EmailVerifyOtp' | 'EmailVerifyDevice' | 'GetWallet' | 'Networks' | 'OnRampActivity' | 'OnRampFiatSelect' | 'OnRampProviders' | 'OnRampTokenSelect' | 'Profile' | 'RegisterAccountName' | 'RegisterAccountNameSuccess' | 'SwitchNetwork' | 'SwitchAddress' | 'Transactions' | 'UnsupportedChain' | 'UpdateEmailWallet' | 'UpdateEmailPrimaryOtp' | 'UpdateEmailSecondaryOtp' | 'UpgradeEmailWallet' | 'WalletReceive' | 'WalletSend' | 'WalletSendPreview' | 'WalletSendSelectToken' | 'WhatIsANetwork' | 'WhatIsAWallet' | 'WhatIsABuy' | 'Swap' | 'SwapSelectToken' | 'SwapPreview' | 'ConnectingMultiChain' | 'SwitchActiveChain' | 'SmartSessionCreated' | 'SmartSessionList' | 'SIWXSignMessage';
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
- type StateKey = keyof RouterControllerState;
45
- export declare const RouterController: {
46
- state: RouterControllerState;
47
- subscribeKey<K extends StateKey>(key: K, callback: (value: RouterControllerState[K]) => void): () => void;
48
- pushTransactionStack(action: TransactionAction): void;
49
- popTransactionStack(cancel?: boolean): void;
50
- push(view: RouterControllerState["view"], data?: RouterControllerState["data"]): void;
51
- reset(view: RouterControllerState["view"], data?: RouterControllerState["data"]): void;
52
- replace(view: RouterControllerState["view"], data?: RouterControllerState["data"]): void;
53
- goBack(): void;
54
- goBackToIndex(historyIndex: number): void;
55
- };
56
- export {};
@@ -1,52 +0,0 @@
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
- tokenBalances: Balance[];
16
- token?: Balance;
17
- sendTokenAmount?: number;
18
- receiverAddress?: string;
19
- receiverProfileName?: string;
20
- receiverProfileImageUrl?: string;
21
- gasPrice?: bigint;
22
- gasPriceInUSD?: number;
23
- networkBalanceInUSD?: string;
24
- loading: boolean;
25
- lastRetry?: number;
26
- }
27
- type StateKey = keyof SendControllerState;
28
- export declare const SendController: {
29
- state: SendControllerState;
30
- subscribe(callback: (newState: SendControllerState) => void): () => void;
31
- subscribeKey<K extends StateKey>(key: K, callback: (value: SendControllerState[K]) => void): () => void;
32
- setToken(token: SendControllerState["token"]): void;
33
- setTokenAmount(sendTokenAmount: SendControllerState["sendTokenAmount"]): void;
34
- setReceiverAddress(receiverAddress: SendControllerState["receiverAddress"]): void;
35
- setReceiverProfileImageUrl(receiverProfileImageUrl: SendControllerState["receiverProfileImageUrl"]): void;
36
- setReceiverProfileName(receiverProfileName: SendControllerState["receiverProfileName"]): void;
37
- setGasPrice(gasPrice: SendControllerState["gasPrice"]): void;
38
- setGasPriceInUsd(gasPriceInUSD: SendControllerState["gasPriceInUSD"]): void;
39
- setNetworkBalanceInUsd(networkBalanceInUSD: SendControllerState["networkBalanceInUSD"]): void;
40
- setLoading(loading: SendControllerState["loading"]): void;
41
- sendToken(): void;
42
- sendEvmToken(): void;
43
- fetchTokenBalance(onError?: (error: unknown) => void): Promise<Balance[]>;
44
- fetchNetworkBalance(): void;
45
- isInsufficientNetworkTokenForGas(networkBalanceInUSD: string, gasPriceInUSD: number | undefined): boolean;
46
- hasInsufficientGasFunds(): boolean;
47
- sendNativeToken(params: TxParams): Promise<void>;
48
- sendERC20Token(params: ContractWriteParams): Promise<void>;
49
- sendSolanaToken(): void;
50
- resetSend(): void;
51
- };
52
- export {};
@@ -1,29 +0,0 @@
1
- export interface SnackControllerState {
2
- message: string;
3
- variant: 'error' | 'success' | 'loading';
4
- svg?: {
5
- iconColor: string;
6
- icon: string;
7
- };
8
- open: boolean;
9
- autoClose: boolean;
10
- }
11
- export type SnackControllerShowOptions = {
12
- autoClose?: boolean;
13
- svg?: SnackControllerState['svg'];
14
- variant?: SnackControllerState['variant'];
15
- };
16
- type StateKey = keyof SnackControllerState;
17
- export declare const SnackController: {
18
- state: SnackControllerState;
19
- subscribeKey<K extends StateKey>(key: K, callback: (value: SnackControllerState[K]) => void): () => void;
20
- showLoading(message: SnackControllerState["message"], options?: SnackControllerShowOptions): void;
21
- showSuccess(message: SnackControllerState["message"]): void;
22
- showSvg(message: SnackControllerState["message"], svg: NonNullable<SnackControllerState["svg"]>): void;
23
- showError(message: unknown): void;
24
- hide(): void;
25
- _showMessage({ message, svg, variant, autoClose }: {
26
- message: string;
27
- } & SnackControllerShowOptions): void;
28
- };
29
- export {};
@@ -1,127 +0,0 @@
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
- type StateKey = keyof SwapControllerState;
60
- export declare const SwapController: {
61
- state: SwapControllerState;
62
- subscribe(callback: (newState: SwapControllerState) => void): () => void;
63
- subscribeKey<K extends StateKey>(key: K, callback: (value: SwapControllerState[K]) => void): () => void;
64
- getParams(): {
65
- networkAddress: string;
66
- fromAddress: string;
67
- fromCaipAddress: `eip155:${string}:${string}` | `eip155:${number}:${string}` | `solana:${string}:${string}` | `solana:${number}:${string}` | `polkadot:${string}:${string}` | `polkadot:${number}:${string}` | `bip122:${string}:${string}` | `bip122:${number}:${string}` | undefined;
68
- sourceTokenAddress: `eip155:${string}:${string}` | `eip155:${number}:${string}` | `solana:${string}:${string}` | `solana:${number}:${string}` | `polkadot:${string}:${string}` | `polkadot:${number}:${string}` | `bip122:${string}:${string}` | `bip122:${number}:${string}` | undefined;
69
- toTokenAddress: `eip155:${string}:${string}` | `eip155:${number}:${string}` | `solana:${string}:${string}` | `solana:${number}:${string}` | `polkadot:${string}:${string}` | `polkadot:${number}:${string}` | `bip122:${string}:${string}` | `bip122:${number}:${string}` | undefined;
70
- toTokenAmount: string;
71
- toTokenDecimals: number | undefined;
72
- sourceTokenAmount: string;
73
- sourceTokenDecimals: number | undefined;
74
- invalidToToken: boolean;
75
- invalidSourceToken: boolean;
76
- invalidSourceTokenAmount: boolean;
77
- availableToSwap: boolean | undefined;
78
- isAuthConnector: boolean;
79
- };
80
- setSourceToken(sourceToken: SwapTokenWithBalance | undefined): void;
81
- setSourceTokenAmount(amount: string): void;
82
- setToToken(toToken: SwapTokenWithBalance | undefined): void;
83
- setToTokenAmount(amount: string): void;
84
- setTokenPrice(address: string, target: SwapInputTarget): Promise<void>;
85
- switchTokens(): void;
86
- resetState(): void;
87
- resetValues(): void;
88
- getApprovalLoadingState(): boolean | undefined;
89
- clearError(): void;
90
- initializeState(): Promise<void>;
91
- fetchTokens(): Promise<void>;
92
- getTokenList(): Promise<void>;
93
- getAddressPrice(address: string): Promise<number>;
94
- getNetworkTokenPrice(): Promise<void>;
95
- getMyTokensWithBalance(forceUpdate?: string): Promise<void>;
96
- setBalances(balances: SwapTokenWithBalance[]): void;
97
- getInitialGasPrice(): Promise<{
98
- gasPrice: null;
99
- gasPriceInUSD: null;
100
- } | {
101
- gasPrice: bigint;
102
- gasPriceInUSD: number;
103
- }>;
104
- swapTokens(): Promise<void>;
105
- getTransaction(): Promise<TransactionParams | undefined>;
106
- createAllowanceTransaction(): Promise<{
107
- data: `0x${string}`;
108
- to: `0x${string}`;
109
- gas: bigint;
110
- gasPrice: bigint;
111
- value: bigint;
112
- toAmount: string;
113
- } | undefined>;
114
- createSwapTransaction(): Promise<{
115
- data: `0x${string}`;
116
- to: `0x${string}`;
117
- gas: bigint;
118
- gasPrice: bigint;
119
- value: bigint;
120
- toAmount: string;
121
- } | undefined>;
122
- sendTransactionForApproval(data: TransactionParams): Promise<void>;
123
- sendTransactionForSwap(data: TransactionParams | undefined): Promise<string | null | undefined>;
124
- hasInsufficientToken(sourceTokenAmount: string, sourceTokenAddress: string): boolean;
125
- setTransactionDetails(): void;
126
- };
127
- export {};
@@ -1,30 +0,0 @@
1
- import type { W3mThemeVariables } from '@reown/appkit-common';
2
- import type { ThemeMode, ThemeVariables } from '../utils/TypeUtil.js';
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
- readonly '--w3m-qr-color'?: string | undefined;
24
- };
25
- readonly w3mThemeVariables: {
26
- readonly '--w3m-accent': string;
27
- readonly '--w3m-background': string;
28
- } | undefined;
29
- };
30
- };
@@ -1,25 +0,0 @@
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
- type StateKey = keyof TooltipControllerState;
14
- export declare const TooltipController: {
15
- state: TooltipControllerState;
16
- subscribe(callback: (newState: TooltipControllerState) => void): () => void;
17
- subscribeKey<K extends StateKey>(key: K, callback: (value: TooltipControllerState[K]) => void): () => void;
18
- showTooltip({ message, triggerRect, variant }: {
19
- message: string;
20
- triggerRect: TriggerRect;
21
- variant: "shade" | "fill";
22
- }): void;
23
- hide(): void;
24
- };
25
- export {};
@@ -1,25 +0,0 @@
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 {};
@@ -1,15 +0,0 @@
1
- import type { CaipNetwork, ChainNamespace } from '@reown/appkit-common';
2
- import type { Connector, WcWallet } from './TypeUtil.js';
3
- export interface AssetUtilState {
4
- networkImagePromises: Record<string, Promise<void>>;
5
- }
6
- export declare const AssetUtil: {
7
- fetchWalletImage(imageId?: string): Promise<string | undefined>;
8
- fetchNetworkImage(imageId?: string): Promise<void>;
9
- getWalletImageById(imageId?: string): string | undefined;
10
- getWalletImage(wallet?: WcWallet): string | undefined;
11
- getNetworkImage(network?: CaipNetwork): string | undefined;
12
- getNetworkImageById(imageId?: string): string | undefined;
13
- getConnectorImage(connector?: Connector): string | undefined;
14
- getChainImage(chain: ChainNamespace): string | undefined;
15
- };
@@ -1,85 +0,0 @@
1
- import { type ChainNamespace } from '@reown/appkit-common';
2
- import type { SocialProvider } from './TypeUtil.js';
3
- export declare const ONRAMP_PROVIDERS: {
4
- label: string;
5
- name: string;
6
- feeRange: string;
7
- url: string;
8
- supportedChains: string[];
9
- }[];
10
- export declare const MELD_PUBLIC_KEY = "WXETMuFUQmqqybHuRkSgxv:25B8LJHSfpG6LVjR2ytU5Cwh7Z4Sch2ocoU";
11
- export declare const ConstantsUtil: {
12
- FOUR_MINUTES_MS: number;
13
- TEN_SEC_MS: number;
14
- FIVE_SEC_MS: number;
15
- THREE_SEC_MS: number;
16
- ONE_SEC_MS: number;
17
- SECURE_SITE: string;
18
- SECURE_SITE_DASHBOARD: string;
19
- SECURE_SITE_FAVICON: string;
20
- RESTRICTED_TIMEZONES: string[];
21
- /**
22
- * Network name to Coinbase Pay SDK chain name map object
23
- * @see supported chain names on Coinbase for Pay SDK: https://github.com/coinbase/cbpay-js/blob/d4bda2c05c4d5917c8db6a05476b603546046394/src/types/onramp.ts
24
- */
25
- WC_COINBASE_PAY_SDK_CHAINS: string[];
26
- WC_COINBASE_PAY_SDK_FALLBACK_CHAIN: string;
27
- WC_COINBASE_PAY_SDK_CHAIN_NAME_MAP: {
28
- Ethereum: string;
29
- 'Arbitrum One': string;
30
- Polygon: string;
31
- Avalanche: string;
32
- 'OP Mainnet': string;
33
- Celo: string;
34
- Base: string;
35
- };
36
- WC_COINBASE_ONRAMP_APP_ID: string;
37
- SWAP_SUGGESTED_TOKENS: string[];
38
- SWAP_POPULAR_TOKENS: string[];
39
- BALANCE_SUPPORTED_CHAINS: ChainNamespace[];
40
- SWAP_SUPPORTED_NETWORKS: string[];
41
- NAMES_SUPPORTED_CHAIN_NAMESPACES: ChainNamespace[];
42
- ONRAMP_SUPPORTED_CHAIN_NAMESPACES: ChainNamespace[];
43
- ACTIVITY_ENABLED_CHAIN_NAMESPACES: ChainNamespace[];
44
- NATIVE_TOKEN_ADDRESS: {
45
- readonly eip155: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee";
46
- readonly solana: "So11111111111111111111111111111111111111111";
47
- readonly polkadot: "0x";
48
- readonly bip122: "0x";
49
- };
50
- CONVERT_SLIPPAGE_TOLERANCE: number;
51
- CONNECT_LABELS: {
52
- MOBILE: string;
53
- };
54
- DEFAULT_FEATURES: {
55
- swaps: true;
56
- onramp: true;
57
- receive: true;
58
- send: true;
59
- email: true;
60
- emailShowWallets: true;
61
- socials: SocialProvider[];
62
- history: true;
63
- analytics: true;
64
- allWallets: true;
65
- legalCheckbox: false;
66
- smartSessions: false;
67
- collapseWallets: false;
68
- walletFeaturesOrder: ("swaps" | "onramp" | "receive" | "send")[];
69
- connectMethodsOrder: undefined;
70
- };
71
- DEFAULT_ACCOUNT_TYPES: {
72
- readonly bip122: "payment";
73
- readonly eip155: "smartAccount";
74
- readonly polkadot: "eoa";
75
- readonly solana: "eoa";
76
- };
77
- ADAPTER_TYPES: {
78
- UNIVERSAL: string;
79
- SOLANA: string;
80
- WAGMI: string;
81
- ETHERS: string;
82
- ETHERS5: string;
83
- BITCOIN: string;
84
- };
85
- };
@@ -1,56 +0,0 @@
1
- import type { Balance, ChainNamespace, SdkVersion } from '@reown/appkit-common';
2
- import type { CaipAddress, CaipNetwork } from '@reown/appkit-common';
3
- import type { AccountTypeMap, ChainAdapter, LinkingRecord, NamespaceTypeMap } from './TypeUtil.js';
4
- type SDKFramework = 'html' | 'react' | 'vue';
5
- type OpenTarget = '_blank' | '_self' | 'popupWindow' | '_top';
6
- export declare const CoreHelperUtil: {
7
- isMobile(): boolean;
8
- checkCaipNetwork(network: CaipNetwork | undefined, networkName?: string): boolean | undefined;
9
- isAndroid(): boolean;
10
- isIos(): boolean;
11
- isSafari(): boolean;
12
- isClient(): boolean;
13
- isPairingExpired(expiry?: number): boolean;
14
- isAllowedRetry(lastRetry: number, differenceMs?: number): boolean;
15
- copyToClopboard(text: string): void;
16
- isIframe(): boolean;
17
- getPairingExpiry(): number;
18
- getNetworkId(caipAddress: CaipAddress | undefined): string | undefined;
19
- getPlainAddress(caipAddress: CaipAddress | undefined): string | undefined;
20
- wait(milliseconds: number): Promise<unknown>;
21
- debounce(func: (...args: any[]) => unknown, timeout?: number): (...args: unknown[]) => void;
22
- isHttpUrl(url: string): boolean;
23
- formatNativeUrl(appUrl: string, wcUri: string): LinkingRecord;
24
- formatUniversalUrl(appUrl: string, wcUri: string): LinkingRecord;
25
- getOpenTargetForPlatform(target: OpenTarget): "_blank" | "_self" | "popupWindow" | "_top";
26
- openHref(href: string, target: OpenTarget, features?: string): void;
27
- returnOpenHref(href: string, target: OpenTarget, features?: string): Window | null;
28
- isTelegram(): boolean;
29
- preloadImage(src: string): Promise<unknown>;
30
- formatBalance(balance: string | undefined, symbol: string | undefined): string;
31
- formatBalance2(balance: string | undefined, symbol: string | undefined): {
32
- value: string;
33
- rest: string;
34
- symbol: string | undefined;
35
- };
36
- getApiUrl(): "https://api.web3modal.org";
37
- getBlockchainApiUrl(): "https://rpc.walletconnect.org";
38
- getAnalyticsUrl(): "https://pulse.walletconnect.org";
39
- getUUID(): string;
40
- parseError(error: any): string;
41
- sortRequestedNetworks(approvedIds: `${string}:${string}`[] | undefined, requestedNetworks?: CaipNetwork[]): CaipNetwork[];
42
- calculateBalance(array: Balance[]): number;
43
- formatTokenBalance(number: number): {
44
- dollars: string | undefined;
45
- pennies: string | undefined;
46
- };
47
- isAddress(address: string, chain?: ChainNamespace): boolean;
48
- uniqueBy<T>(arr: T[], key: keyof T): T[];
49
- generateSdkVersion(adapters: ChainAdapter[], platform: SDKFramework, version: string): SdkVersion;
50
- createAccount<N extends ChainNamespace>(namespace: N, address: string, type: NamespaceTypeMap[N], publicKey?: string, path?: string): AccountTypeMap[N];
51
- isCaipAddress(address?: unknown): address is CaipAddress;
52
- isMac(): boolean;
53
- formatTelegramSocialLoginUrl(url: string): string;
54
- injectIntoUrl(url: string, key: string, appendString: string): string;
55
- };
56
- export {};
@@ -1,67 +0,0 @@
1
- import type { Balance, CaipNetworkId, ChainNamespace } from '@reown/appkit-common';
2
- type Hex = `0x${string}`;
3
- interface Asset {
4
- address: `0x${string}` | 'native';
5
- balance: `0x${string}`;
6
- type: 'NATIVE' | 'ERC20';
7
- metadata: Record<string, unknown>;
8
- }
9
- export interface WalletGetAssetsRequest {
10
- account: Hex;
11
- assetFilter?: Record<Hex, (Hex | 'native')[]>;
12
- assetTypeFilter?: ('NATIVE' | 'ERC20')[];
13
- chainFilter?: Hex[];
14
- }
15
- export type WalletGetAssetsResponse = Record<Hex, Asset[]>;
16
- export declare const ERC7811Utils: {
17
- /**
18
- * Creates a Balance object from an ERC7811 Asset object
19
- * @param asset - Asset object to convert
20
- * @param chainId - Chain ID in CAIP-2 format
21
- * @returns Balance object
22
- */
23
- createBalance(asset: Asset, chainId: string): Balance;
24
- /**
25
- * Converts a hex string to a Balance object
26
- * @param hex - Hex string to convert
27
- * @param decimals - Number of decimals to use
28
- * @returns Balance object
29
- */
30
- convertHexToBalance({ hex, decimals }: {
31
- hex: `0x${string}`;
32
- decimals: number;
33
- }): string;
34
- /**
35
- * Converts an address to a CAIP-10 address
36
- * @param address - Address to convert
37
- * @param chainId - Chain ID in CAIP-2 format
38
- * @returns CAIP-10 address
39
- */
40
- convertAddressToCAIP10Address(address: `0x${string}`, chainId: string): string;
41
- /**
42
- * Creates a CAIP-2 Chain ID from a chain ID and namespace
43
- * @param chainId - Chain ID in hex format
44
- * @param namespace - Chain namespace
45
- * @returns
46
- */
47
- createCAIP2ChainId(chainId: `0x${string}`, namespace: ChainNamespace): string;
48
- /**
49
- * Gets the chain ID in hex format from a CAIP-2 Chain ID
50
- * @param caip2ChainId - CAIP-2 Chain ID
51
- * @returns Chain ID in hex format
52
- */
53
- getChainIdHexFromCAIP2ChainId(caip2ChainId: CaipNetworkId): `0x${string}`;
54
- /**
55
- * Checks if a response is a valid WalletGetAssetsResponse
56
- * @param response - The response to check
57
- * @returns True if the response is a valid WalletGetAssetsResponse, false otherwise
58
- */
59
- isWalletGetAssetsResponse(response: WalletGetAssetsResponse): response is WalletGetAssetsResponse;
60
- /**
61
- * Checks if an asset object is valid.
62
- * @param asset - The asset object to check.
63
- * @returns True if the asset is valid, false otherwise.
64
- */
65
- isValidAsset(asset: Asset): asset is Asset;
66
- };
67
- export {};
@@ -1,3 +0,0 @@
1
- export declare const EnsUtil: {
2
- convertEVMChainIdToCoinType(chainId: number): number;
3
- };
@@ -1,26 +0,0 @@
1
- interface Options {
2
- baseUrl: string;
3
- clientId: string | null;
4
- }
5
- export 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 {};
@@ -1,9 +0,0 @@
1
- export declare const MobileWalletUtil: {
2
- /**
3
- * Handles mobile wallet redirection for wallets that have Universal Links.
4
- *
5
- * @param {Object} properties - The properties object.
6
- * @param {string} properties.name - The name of the wallet.
7
- */
8
- handleSolanaDeeplinkRedirect(name: string): void;
9
- };
@@ -1,5 +0,0 @@
1
- import type { Features, FeaturesKeys } from './TypeUtil.js';
2
- export declare const OptionsUtil: {
3
- getFeatureValue(key: FeaturesKeys, features?: Features): boolean | import("./TypeUtil.js").SocialProvider[] | import("./TypeUtil.js").WalletFeature[] | import("./TypeUtil.js").ConnectMethod[] | undefined;
4
- filterSocialsByPlatform<T>(socials: Features["socials"]): T | import("./TypeUtil.js").SocialProvider[];
5
- };
@@ -1,4 +0,0 @@
1
- export declare const RouterUtil: {
2
- goBackOrCloseModal(): void;
3
- navigateAfterNetworkSwitch(): void;
4
- };