@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,744 @@
1
+ import type { W3mFrameProvider, W3mFrameTypes } from '@reown/appkit-wallet';
2
+ import type { Balance, Transaction, CaipNetworkId, CaipNetwork, ChainNamespace, CaipAddress, AdapterType } from '@reown/appkit-common';
3
+ import type { NetworkControllerClient, NetworkControllerState } from '../controllers/NetworkController.js';
4
+ import type { ConnectionControllerClient } from '../controllers/ConnectionController.js';
5
+ import type { AccountControllerState } from '../controllers/AccountController.js';
6
+ import type { OnRampProviderOption } from '../controllers/OnRampController.js';
7
+ import type { ConstantsUtil } from './ConstantsUtil.js';
8
+ export type CaipNetworkCoinbaseNetwork = 'Ethereum' | 'Arbitrum One' | 'Polygon' | 'Avalanche' | 'OP Mainnet' | 'Celo';
9
+ export type ConnectedWalletInfo = {
10
+ name?: string;
11
+ icon?: string;
12
+ [key: string]: unknown;
13
+ } | undefined;
14
+ export interface LinkingRecord {
15
+ redirect: string;
16
+ href: string;
17
+ }
18
+ export type ProjectId = string;
19
+ export type Platform = 'mobile' | 'desktop' | 'browser' | 'web' | 'qrcode' | 'unsupported';
20
+ export type ConnectorType = 'EXTERNAL' | 'WALLET_CONNECT' | 'INJECTED' | 'ANNOUNCED' | 'AUTH' | 'MULTI_CHAIN';
21
+ export type SocialProvider = 'google' | 'github' | 'apple' | 'facebook' | 'x' | 'discord' | 'farcaster';
22
+ export type Connector = {
23
+ id: string;
24
+ type: ConnectorType;
25
+ name?: string;
26
+ imageId?: string;
27
+ explorerId?: string;
28
+ imageUrl?: string;
29
+ info?: {
30
+ uuid?: string;
31
+ name?: string;
32
+ icon?: string;
33
+ rdns?: string;
34
+ };
35
+ provider?: unknown;
36
+ chain: ChainNamespace;
37
+ providers?: Connector[];
38
+ };
39
+ export interface AuthConnector extends Connector {
40
+ provider: W3mFrameProvider;
41
+ socials?: SocialProvider[];
42
+ email?: boolean;
43
+ }
44
+ export type CaipNamespaces = Record<string, {
45
+ chains: CaipNetworkId[];
46
+ methods: string[];
47
+ events: string[];
48
+ }>;
49
+ export type SdkVersion = `${'html' | 'react' | 'vue'}-wagmi-${string}` | `${'html' | 'react' | 'vue'}-ethers5-${string}` | `${'html' | 'react' | 'vue'}-ethers-${string}` | `${'html' | 'react' | 'vue'}-solana-${string}` | `${'html' | 'react' | 'vue'}-multichain-${string}`;
50
+ export interface BaseError {
51
+ message?: string;
52
+ }
53
+ export type Metadata = {
54
+ name: string;
55
+ description: string;
56
+ url: string;
57
+ icons: string[];
58
+ };
59
+ export interface WcWallet {
60
+ id: string;
61
+ name: string;
62
+ homepage?: string;
63
+ image_id?: string;
64
+ image_url?: string;
65
+ order?: number;
66
+ mobile_link?: string | null;
67
+ desktop_link?: string | null;
68
+ webapp_link?: string | null;
69
+ app_store?: string | null;
70
+ play_store?: string | null;
71
+ chrome_store?: string | null;
72
+ rdns?: string | null;
73
+ injected?: {
74
+ namespace?: string;
75
+ injected_id?: string;
76
+ }[] | null;
77
+ }
78
+ export interface ApiGetWalletsRequest {
79
+ page: number;
80
+ chains: string;
81
+ entries: number;
82
+ search?: string;
83
+ include?: string[];
84
+ exclude?: string[];
85
+ }
86
+ export interface ApiGetWalletsResponse {
87
+ data: WcWallet[];
88
+ count: number;
89
+ }
90
+ export interface ApiGetAnalyticsConfigResponse {
91
+ isAnalyticsEnabled: boolean;
92
+ }
93
+ export type ThemeMode = 'dark' | 'light';
94
+ export interface ThemeVariables {
95
+ '--w3m-font-family'?: string;
96
+ '--w3m-accent'?: string;
97
+ '--w3m-color-mix'?: string;
98
+ '--w3m-color-mix-strength'?: number;
99
+ '--w3m-font-size-master'?: string;
100
+ '--w3m-border-radius-master'?: string;
101
+ '--w3m-z-index'?: number;
102
+ }
103
+ export interface BlockchainApiIdentityRequest {
104
+ address: string;
105
+ }
106
+ export interface BlockchainApiIdentityResponse {
107
+ avatar: string | null;
108
+ name: string | null;
109
+ }
110
+ export interface BlockchainApiTransactionsRequest {
111
+ account: string;
112
+ projectId: string;
113
+ cursor?: string;
114
+ onramp?: 'coinbase';
115
+ signal?: AbortSignal;
116
+ cache?: RequestCache;
117
+ chainId?: string;
118
+ }
119
+ export interface BlockchainApiTransactionsResponse {
120
+ data: Transaction[];
121
+ next: string | null;
122
+ }
123
+ export type SwapToken = {
124
+ name: string;
125
+ symbol: string;
126
+ address: CaipAddress;
127
+ decimals: number;
128
+ logoUri: string;
129
+ eip2612?: boolean;
130
+ };
131
+ export type SwapTokenWithBalance = SwapToken & {
132
+ quantity: {
133
+ decimals: string;
134
+ numeric: string;
135
+ };
136
+ price: number;
137
+ value: number;
138
+ };
139
+ export interface BlockchainApiSwapTokensRequest {
140
+ projectId: string;
141
+ chainId?: string;
142
+ }
143
+ export interface BlockchainApiSwapTokensResponse {
144
+ tokens: SwapToken[];
145
+ }
146
+ export interface BlockchainApiSwapQuoteRequest {
147
+ projectId: string;
148
+ chainId?: string;
149
+ amount: string;
150
+ userAddress: string;
151
+ from: string;
152
+ to: string;
153
+ gasPrice: string;
154
+ }
155
+ export interface BlockchainApiSwapQuoteResponse {
156
+ quotes: {
157
+ id: string | null;
158
+ fromAmount: string;
159
+ fromAccount: string;
160
+ toAmount: string;
161
+ toAccount: string;
162
+ }[];
163
+ }
164
+ export interface BlockchainApiTokenPriceRequest {
165
+ projectId: string;
166
+ currency?: 'usd' | 'eur' | 'gbp' | 'aud' | 'cad' | 'inr' | 'jpy' | 'btc' | 'eth';
167
+ addresses: string[];
168
+ }
169
+ export interface BlockchainApiTokenPriceResponse {
170
+ fungibles: {
171
+ name: string;
172
+ symbol: string;
173
+ iconUrl: string;
174
+ price: number;
175
+ }[];
176
+ }
177
+ export interface BlockchainApiSwapAllowanceRequest {
178
+ projectId: string;
179
+ tokenAddress: string;
180
+ userAddress: string;
181
+ }
182
+ export interface BlockchainApiSwapAllowanceResponse {
183
+ allowance: string;
184
+ }
185
+ export interface BlockchainApiGasPriceRequest {
186
+ projectId: string;
187
+ chainId: string;
188
+ }
189
+ export interface BlockchainApiGasPriceResponse {
190
+ standard: string;
191
+ fast: string;
192
+ instant: string;
193
+ }
194
+ export interface BlockchainApiGenerateSwapCalldataRequest {
195
+ projectId: string;
196
+ userAddress: string;
197
+ from: string;
198
+ to: string;
199
+ amount: string;
200
+ eip155?: {
201
+ slippage: string;
202
+ permit?: string;
203
+ };
204
+ }
205
+ export interface BlockchainApiGenerateSwapCalldataResponse {
206
+ tx: {
207
+ from: CaipAddress;
208
+ to: CaipAddress;
209
+ data: `0x${string}`;
210
+ amount: string;
211
+ eip155: {
212
+ gas: string;
213
+ gasPrice: string;
214
+ };
215
+ };
216
+ }
217
+ export interface BlockchainApiGenerateApproveCalldataRequest {
218
+ projectId: string;
219
+ userAddress: string;
220
+ from: string;
221
+ to: string;
222
+ amount?: number;
223
+ }
224
+ export interface BlockchainApiGenerateApproveCalldataResponse {
225
+ tx: {
226
+ from: CaipAddress;
227
+ to: CaipAddress;
228
+ data: `0x${string}`;
229
+ value: string;
230
+ eip155: {
231
+ gas: number;
232
+ gasPrice: string;
233
+ };
234
+ };
235
+ }
236
+ export interface BlockchainApiBalanceResponse {
237
+ balances: Balance[];
238
+ }
239
+ export interface BlockchainApiLookupEnsName {
240
+ name: string;
241
+ registered: number;
242
+ updated: number;
243
+ addresses: Record<string, {
244
+ address: string;
245
+ created: string;
246
+ }>;
247
+ attributes: {
248
+ avatar?: string;
249
+ bio?: string;
250
+ }[];
251
+ }
252
+ export interface BlockchainApiRegisterNameParams {
253
+ coinType: number;
254
+ message: string;
255
+ signature: string;
256
+ address: `0x${string}`;
257
+ }
258
+ export interface BlockchainApiSuggestionResponse {
259
+ suggestions: {
260
+ name: string;
261
+ registered: boolean;
262
+ }[];
263
+ }
264
+ export interface BlockchainApiEnsError extends BaseError {
265
+ status: string;
266
+ reasons: {
267
+ name: string;
268
+ description: string;
269
+ }[];
270
+ }
271
+ export interface Token {
272
+ address: string;
273
+ image?: string;
274
+ }
275
+ export type Tokens = Record<CaipNetworkId, Token>;
276
+ export type CustomWallet = Pick<WcWallet, 'id' | 'name' | 'homepage' | 'image_url' | 'mobile_link' | 'desktop_link' | 'webapp_link' | 'app_store' | 'play_store'>;
277
+ export type Event = {
278
+ type: 'track';
279
+ event: 'MODAL_CREATED';
280
+ } | {
281
+ type: 'track';
282
+ event: 'MODAL_LOADED';
283
+ } | {
284
+ type: 'track';
285
+ event: 'MODAL_OPEN';
286
+ properties: {
287
+ connected: boolean;
288
+ };
289
+ } | {
290
+ type: 'track';
291
+ event: 'MODAL_CLOSE';
292
+ properties: {
293
+ connected: boolean;
294
+ };
295
+ } | {
296
+ type: 'track';
297
+ event: 'CLICK_ALL_WALLETS';
298
+ } | {
299
+ type: 'track';
300
+ event: 'SELECT_WALLET';
301
+ properties: {
302
+ name: string;
303
+ platform: Platform;
304
+ };
305
+ } | {
306
+ type: 'track';
307
+ event: 'CONNECT_SUCCESS';
308
+ properties: {
309
+ method: 'qrcode' | 'mobile' | 'browser' | 'email';
310
+ name: string;
311
+ };
312
+ } | {
313
+ type: 'track';
314
+ event: 'CONNECT_ERROR';
315
+ properties: {
316
+ message: string;
317
+ };
318
+ } | {
319
+ type: 'track';
320
+ event: 'DISCONNECT_SUCCESS';
321
+ } | {
322
+ type: 'track';
323
+ event: 'DISCONNECT_ERROR';
324
+ } | {
325
+ type: 'track';
326
+ event: 'CLICK_WALLET_HELP';
327
+ } | {
328
+ type: 'track';
329
+ event: 'CLICK_NETWORK_HELP';
330
+ } | {
331
+ type: 'track';
332
+ event: 'CLICK_GET_WALLET';
333
+ } | {
334
+ type: 'track';
335
+ event: 'CLICK_TRANSACTIONS';
336
+ properties: {
337
+ isSmartAccount: boolean;
338
+ };
339
+ } | {
340
+ type: 'track';
341
+ event: 'ERROR_FETCH_TRANSACTIONS';
342
+ properties: {
343
+ address: string;
344
+ projectId: string;
345
+ cursor: string | undefined;
346
+ isSmartAccount: boolean;
347
+ };
348
+ } | {
349
+ type: 'track';
350
+ event: 'LOAD_MORE_TRANSACTIONS';
351
+ properties: {
352
+ address: string | undefined;
353
+ projectId: string;
354
+ cursor: string | undefined;
355
+ isSmartAccount: boolean;
356
+ };
357
+ } | {
358
+ type: 'track';
359
+ event: 'CLICK_SIGN_SIWE_MESSAGE';
360
+ properties: {
361
+ network: string;
362
+ isSmartAccount: boolean;
363
+ };
364
+ } | {
365
+ type: 'track';
366
+ event: 'CLICK_CANCEL_SIWE';
367
+ properties: {
368
+ network: string;
369
+ isSmartAccount: boolean;
370
+ };
371
+ } | {
372
+ type: 'track';
373
+ event: 'CLICK_NETWORKS';
374
+ } | {
375
+ type: 'track';
376
+ event: 'SIWE_AUTH_SUCCESS';
377
+ properties: {
378
+ network: string;
379
+ isSmartAccount: boolean;
380
+ };
381
+ } | {
382
+ type: 'track';
383
+ event: 'SIWE_AUTH_ERROR';
384
+ properties: {
385
+ network: string;
386
+ isSmartAccount: boolean;
387
+ };
388
+ } | {
389
+ type: 'track';
390
+ event: 'EMAIL_LOGIN_SELECTED';
391
+ } | {
392
+ type: 'track';
393
+ event: 'EMAIL_SUBMITTED';
394
+ } | {
395
+ type: 'track';
396
+ event: 'DEVICE_REGISTERED_FOR_EMAIL';
397
+ } | {
398
+ type: 'track';
399
+ event: 'EMAIL_VERIFICATION_CODE_SENT';
400
+ } | {
401
+ type: 'track';
402
+ event: 'EMAIL_VERIFICATION_CODE_PASS';
403
+ } | {
404
+ type: 'track';
405
+ event: 'EMAIL_VERIFICATION_CODE_FAIL';
406
+ } | {
407
+ type: 'track';
408
+ event: 'EMAIL_EDIT';
409
+ } | {
410
+ type: 'track';
411
+ event: 'EMAIL_UPGRADE_FROM_MODAL';
412
+ } | {
413
+ type: 'track';
414
+ event: 'SWITCH_NETWORK';
415
+ properties: {
416
+ network: string;
417
+ };
418
+ } | {
419
+ type: 'track';
420
+ event: 'CLICK_CONVERT';
421
+ } | {
422
+ type: 'track';
423
+ event: 'CLICK_SELECT_TOKEN_TO_SWAP';
424
+ } | {
425
+ type: 'track';
426
+ event: 'CLICK_SELECT_NETWORK_TO_SWAP';
427
+ } | {
428
+ type: 'track';
429
+ event: 'SELECT_BUY_CRYPTO';
430
+ properties: {
431
+ isSmartAccount: boolean;
432
+ };
433
+ } | {
434
+ type: 'track';
435
+ event: 'SELECT_BUY_PROVIDER';
436
+ properties: {
437
+ provider: OnRampProviderOption;
438
+ isSmartAccount: boolean;
439
+ };
440
+ } | {
441
+ type: 'track';
442
+ event: 'SELECT_WHAT_IS_A_BUY';
443
+ properties: {
444
+ isSmartAccount: boolean;
445
+ };
446
+ } | {
447
+ type: 'track';
448
+ event: 'SET_PREFERRED_ACCOUNT_TYPE';
449
+ properties: {
450
+ accountType: W3mFrameTypes.AccountType;
451
+ network: string;
452
+ };
453
+ } | {
454
+ type: 'track';
455
+ event: 'OPEN_SWAP';
456
+ properties: {
457
+ isSmartAccount: boolean;
458
+ network: string;
459
+ };
460
+ } | {
461
+ type: 'track';
462
+ event: 'INITIATE_SWAP';
463
+ properties: {
464
+ isSmartAccount: boolean;
465
+ network: string;
466
+ swapFromToken: string;
467
+ swapToToken: string;
468
+ swapFromAmount: string;
469
+ swapToAmount: string;
470
+ };
471
+ } | {
472
+ type: 'track';
473
+ event: 'SWAP_SUCCESS';
474
+ properties: {
475
+ isSmartAccount: boolean;
476
+ network: string;
477
+ swapFromToken: string;
478
+ swapToToken: string;
479
+ swapFromAmount: string;
480
+ swapToAmount: string;
481
+ };
482
+ } | {
483
+ type: 'track';
484
+ event: 'SWAP_ERROR';
485
+ properties: {
486
+ isSmartAccount: boolean;
487
+ network: string;
488
+ swapFromToken: string;
489
+ swapToToken: string;
490
+ swapFromAmount: string;
491
+ swapToAmount: string;
492
+ };
493
+ } | {
494
+ type: 'track';
495
+ event: 'SOCIAL_LOGIN_STARTED';
496
+ properties: {
497
+ provider: SocialProvider;
498
+ };
499
+ } | {
500
+ type: 'track';
501
+ event: 'SOCIAL_LOGIN_SUCCESS';
502
+ properties: {
503
+ provider: SocialProvider;
504
+ };
505
+ } | {
506
+ type: 'track';
507
+ event: 'SOCIAL_LOGIN_ERROR';
508
+ properties: {
509
+ provider: SocialProvider;
510
+ };
511
+ } | {
512
+ type: 'track';
513
+ event: 'OPEN_ENS_FLOW';
514
+ properties: {
515
+ isSmartAccount: boolean;
516
+ };
517
+ } | {
518
+ type: 'track';
519
+ event: 'REGISTER_NAME_INITIATED';
520
+ properties: {
521
+ isSmartAccount: boolean;
522
+ ensName: string;
523
+ };
524
+ } | {
525
+ type: 'track';
526
+ event: 'REGISTER_NAME_SUCCESS';
527
+ properties: {
528
+ isSmartAccount: boolean;
529
+ ensName: string;
530
+ };
531
+ } | {
532
+ type: 'track';
533
+ event: 'REGISTER_NAME_ERROR';
534
+ properties: {
535
+ isSmartAccount: boolean;
536
+ ensName: string;
537
+ error: string;
538
+ };
539
+ } | {
540
+ type: 'track';
541
+ event: 'OPEN_SEND';
542
+ properties: {
543
+ isSmartAccount: boolean;
544
+ network: string;
545
+ };
546
+ } | {
547
+ type: 'track';
548
+ event: 'SEND_INITIATED';
549
+ properties: {
550
+ isSmartAccount: boolean;
551
+ network: string;
552
+ token: string;
553
+ amount: number;
554
+ };
555
+ } | {
556
+ type: 'track';
557
+ event: 'SEND_SUCCESS';
558
+ properties: {
559
+ isSmartAccount: boolean;
560
+ network: string;
561
+ token: string;
562
+ amount: number;
563
+ };
564
+ } | {
565
+ type: 'track';
566
+ event: 'SEND_ERROR';
567
+ properties: {
568
+ isSmartAccount: boolean;
569
+ network: string;
570
+ token: string;
571
+ amount: number;
572
+ };
573
+ };
574
+ export type DestinationWallet = {
575
+ address: string;
576
+ blockchains: string[];
577
+ assets: string[];
578
+ };
579
+ export type GenerateOnRampUrlArgs = {
580
+ destinationWallets: DestinationWallet[];
581
+ partnerUserId: string;
582
+ defaultNetwork?: string;
583
+ purchaseAmount?: number;
584
+ paymentAmount?: number;
585
+ };
586
+ export type CoinbaseNetwork = {
587
+ name: string;
588
+ display_name: string;
589
+ chain_id: string;
590
+ contract_address: string;
591
+ };
592
+ export type PaymentLimits = {
593
+ id: string;
594
+ min: string;
595
+ max: string;
596
+ };
597
+ export type PaymentCurrency = {
598
+ id: string;
599
+ payment_method_limits: PaymentLimits[];
600
+ };
601
+ export type QuoteAmount = {
602
+ amount: string;
603
+ currency: string;
604
+ };
605
+ export type PurchaseCurrency = {
606
+ id: string;
607
+ name: string;
608
+ symbol: string;
609
+ networks: CoinbaseNetwork[];
610
+ };
611
+ export type OnrampQuote = {
612
+ paymentTotal: QuoteAmount;
613
+ paymentSubtotal: QuoteAmount;
614
+ purchaseAmount: QuoteAmount;
615
+ coinbaseFee: QuoteAmount;
616
+ networkFee: QuoteAmount;
617
+ quoteId: string;
618
+ };
619
+ export type GetQuoteArgs = {
620
+ purchaseCurrency: PurchaseCurrency;
621
+ paymentCurrency: PaymentCurrency;
622
+ amount: string;
623
+ network: string;
624
+ };
625
+ export type AccountType = {
626
+ address: string;
627
+ type: 'eoa' | 'smartAccount';
628
+ };
629
+ export type SendTransactionArgs = {
630
+ chainNamespace?: undefined | 'eip155';
631
+ to: `0x${string}`;
632
+ data: `0x${string}`;
633
+ value: bigint;
634
+ gas?: bigint;
635
+ gasPrice: bigint;
636
+ address: `0x${string}`;
637
+ } | {
638
+ chainNamespace: 'solana';
639
+ to: string;
640
+ value: number;
641
+ };
642
+ export type EstimateGasTransactionArgs = {
643
+ chainNamespace?: undefined | 'eip155';
644
+ address: `0x${string}`;
645
+ to: `0x${string}`;
646
+ data: `0x${string}`;
647
+ } | {
648
+ chainNamespace: 'solana';
649
+ };
650
+ export interface WriteContractArgs {
651
+ receiverAddress: `0x${string}`;
652
+ tokenAmount: bigint;
653
+ tokenAddress: `0x${string}`;
654
+ fromAddress: `0x${string}`;
655
+ method: 'send' | 'transfer' | 'call';
656
+ abi: any;
657
+ }
658
+ export type ChainAdapter = {
659
+ connectionControllerClient?: ConnectionControllerClient;
660
+ networkControllerClient?: NetworkControllerClient;
661
+ accountState?: AccountControllerState;
662
+ networkState?: NetworkControllerState;
663
+ defaultNetwork?: CaipNetwork;
664
+ chainNamespace: ChainNamespace;
665
+ isUniversalAdapterClient?: boolean;
666
+ adapterType?: AdapterType;
667
+ getAddress?: () => string | undefined;
668
+ getError?: () => unknown;
669
+ getChainId?: () => number | string | undefined;
670
+ switchNetwork?: ((caipNetwork: CaipNetwork) => void) | undefined;
671
+ getIsConnected?: () => boolean | undefined;
672
+ getWalletProvider?: () => unknown;
673
+ getWalletProviderType?: () => string | undefined;
674
+ subscribeProvider?: (callback: (newState: unknown) => void) => void;
675
+ };
676
+ type ProviderEventListener = {
677
+ connect: (connectParams: {
678
+ chainId: number;
679
+ }) => void;
680
+ disconnect: (error: Error) => void;
681
+ chainChanged: (chainId: string) => void;
682
+ accountsChanged: (accounts: string[]) => void;
683
+ message: (message: {
684
+ type: string;
685
+ data: unknown;
686
+ }) => void;
687
+ };
688
+ export interface RequestArguments {
689
+ readonly method: string;
690
+ readonly params?: readonly unknown[] | object;
691
+ }
692
+ export interface Provider {
693
+ request: <T>(args: RequestArguments) => Promise<T>;
694
+ on<T extends keyof ProviderEventListener>(event: T, listener: ProviderEventListener[T]): void;
695
+ removeListener: <T>(event: string, listener: (data: T) => void) => void;
696
+ emit: (event: string) => void;
697
+ }
698
+ export type CombinedProvider = W3mFrameProvider & Provider;
699
+ export type CoinbasePaySDKChainNameValues = keyof typeof ConstantsUtil.WC_COINBASE_PAY_SDK_CHAIN_NAME_MAP;
700
+ export type FeaturesSocials = 'google' | 'x' | 'discord' | 'farcaster' | 'github' | 'apple' | 'facebook';
701
+ export type Features = {
702
+ /**
703
+ * @description Enable or disable the swaps feature. Enabled by default.
704
+ * @type {boolean}
705
+ */
706
+ swaps?: boolean;
707
+ /**
708
+ * @description Enable or disable the onramp feature. Enabled by default.
709
+ * @type {boolean}
710
+ */
711
+ onramp?: boolean;
712
+ /**
713
+ * @description Enable or disable the email feature. Enabled by default.
714
+ * @type {boolean}
715
+ */
716
+ email?: boolean;
717
+ /**
718
+ * @description Show or hide the regular wallet options when email is enabled. Enabled by default.
719
+ * @type {boolean}
720
+ */
721
+ emailShowWallets?: boolean;
722
+ /**
723
+ * @description Enable or disable the socials feature. Enabled by default.
724
+ * @type {FeaturesSocials[]}
725
+ */
726
+ socials?: FeaturesSocials[];
727
+ /**
728
+ * @description Enable or disable the history feature. Enabled by default.
729
+ * @type {boolean}
730
+ */
731
+ history?: boolean;
732
+ /**
733
+ * @description Enable or disable the analytics feature. Enabled by default.
734
+ * @type {boolean}
735
+ */
736
+ analytics?: boolean;
737
+ /**
738
+ * @description Enable or disable the all wallets feature. Enabled by default.
739
+ * @type {boolean}
740
+ */
741
+ allWallets?: boolean;
742
+ };
743
+ export type FeaturesKeys = keyof Features;
744
+ export {};