@reown/appkit-core-react-native 0.0.0-canary-20240912195440

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 (163) hide show
  1. package/lib/commonjs/controllers/AccountController.js +59 -0
  2. package/lib/commonjs/controllers/AccountController.js.map +1 -0
  3. package/lib/commonjs/controllers/ApiController.js +332 -0
  4. package/lib/commonjs/controllers/ApiController.js.map +1 -0
  5. package/lib/commonjs/controllers/AssetController.js +34 -0
  6. package/lib/commonjs/controllers/AssetController.js.map +1 -0
  7. package/lib/commonjs/controllers/BlockchainApiController.js +45 -0
  8. package/lib/commonjs/controllers/BlockchainApiController.js.map +1 -0
  9. package/lib/commonjs/controllers/ConnectionController.js +98 -0
  10. package/lib/commonjs/controllers/ConnectionController.js.map +1 -0
  11. package/lib/commonjs/controllers/ConnectorController.js +41 -0
  12. package/lib/commonjs/controllers/ConnectorController.js.map +1 -0
  13. package/lib/commonjs/controllers/EventsController.js +79 -0
  14. package/lib/commonjs/controllers/EventsController.js.map +1 -0
  15. package/lib/commonjs/controllers/ModalController.js +64 -0
  16. package/lib/commonjs/controllers/ModalController.js.map +1 -0
  17. package/lib/commonjs/controllers/NetworkController.js +65 -0
  18. package/lib/commonjs/controllers/NetworkController.js.map +1 -0
  19. package/lib/commonjs/controllers/OptionsController.js +63 -0
  20. package/lib/commonjs/controllers/OptionsController.js.map +1 -0
  21. package/lib/commonjs/controllers/PublicStateController.js +33 -0
  22. package/lib/commonjs/controllers/PublicStateController.js.map +1 -0
  23. package/lib/commonjs/controllers/RouterController.js +56 -0
  24. package/lib/commonjs/controllers/RouterController.js.map +1 -0
  25. package/lib/commonjs/controllers/SnackController.js +34 -0
  26. package/lib/commonjs/controllers/SnackController.js.map +1 -0
  27. package/lib/commonjs/controllers/ThemeController.js +32 -0
  28. package/lib/commonjs/controllers/ThemeController.js.map +1 -0
  29. package/lib/commonjs/index.js +146 -0
  30. package/lib/commonjs/index.js.map +1 -0
  31. package/lib/commonjs/utils/AssetUtil.js +37 -0
  32. package/lib/commonjs/utils/AssetUtil.js.map +1 -0
  33. package/lib/commonjs/utils/ConstantsUtil.js +14 -0
  34. package/lib/commonjs/utils/ConstantsUtil.js.map +1 -0
  35. package/lib/commonjs/utils/CoreHelperUtil.js +214 -0
  36. package/lib/commonjs/utils/CoreHelperUtil.js.map +1 -0
  37. package/lib/commonjs/utils/EventUtil.js +25 -0
  38. package/lib/commonjs/utils/EventUtil.js.map +1 -0
  39. package/lib/commonjs/utils/FetchUtil.js +118 -0
  40. package/lib/commonjs/utils/FetchUtil.js.map +1 -0
  41. package/lib/commonjs/utils/RouterUtil.js +25 -0
  42. package/lib/commonjs/utils/RouterUtil.js.map +1 -0
  43. package/lib/commonjs/utils/StorageUtil.js +130 -0
  44. package/lib/commonjs/utils/StorageUtil.js.map +1 -0
  45. package/lib/commonjs/utils/TypeUtil.js +2 -0
  46. package/lib/commonjs/utils/TypeUtil.js.map +1 -0
  47. package/lib/module/controllers/AccountController.js +54 -0
  48. package/lib/module/controllers/AccountController.js.map +1 -0
  49. package/lib/module/controllers/ApiController.js +327 -0
  50. package/lib/module/controllers/ApiController.js.map +1 -0
  51. package/lib/module/controllers/AssetController.js +29 -0
  52. package/lib/module/controllers/AssetController.js.map +1 -0
  53. package/lib/module/controllers/BlockchainApiController.js +40 -0
  54. package/lib/module/controllers/BlockchainApiController.js.map +1 -0
  55. package/lib/module/controllers/ConnectionController.js +93 -0
  56. package/lib/module/controllers/ConnectionController.js.map +1 -0
  57. package/lib/module/controllers/ConnectorController.js +36 -0
  58. package/lib/module/controllers/ConnectorController.js.map +1 -0
  59. package/lib/module/controllers/EventsController.js +73 -0
  60. package/lib/module/controllers/EventsController.js.map +1 -0
  61. package/lib/module/controllers/ModalController.js +59 -0
  62. package/lib/module/controllers/ModalController.js.map +1 -0
  63. package/lib/module/controllers/NetworkController.js +60 -0
  64. package/lib/module/controllers/NetworkController.js.map +1 -0
  65. package/lib/module/controllers/OptionsController.js +58 -0
  66. package/lib/module/controllers/OptionsController.js.map +1 -0
  67. package/lib/module/controllers/PublicStateController.js +28 -0
  68. package/lib/module/controllers/PublicStateController.js.map +1 -0
  69. package/lib/module/controllers/RouterController.js +51 -0
  70. package/lib/module/controllers/RouterController.js.map +1 -0
  71. package/lib/module/controllers/SnackController.js +29 -0
  72. package/lib/module/controllers/SnackController.js.map +1 -0
  73. package/lib/module/controllers/ThemeController.js +27 -0
  74. package/lib/module/controllers/ThemeController.js.map +1 -0
  75. package/lib/module/index.js +23 -0
  76. package/lib/module/index.js.map +1 -0
  77. package/lib/module/utils/AssetUtil.js +31 -0
  78. package/lib/module/utils/AssetUtil.js.map +1 -0
  79. package/lib/module/utils/ConstantsUtil.js +8 -0
  80. package/lib/module/utils/ConstantsUtil.js.map +1 -0
  81. package/lib/module/utils/CoreHelperUtil.js +208 -0
  82. package/lib/module/utils/CoreHelperUtil.js.map +1 -0
  83. package/lib/module/utils/EventUtil.js +19 -0
  84. package/lib/module/utils/EventUtil.js.map +1 -0
  85. package/lib/module/utils/FetchUtil.js +111 -0
  86. package/lib/module/utils/FetchUtil.js.map +1 -0
  87. package/lib/module/utils/RouterUtil.js +19 -0
  88. package/lib/module/utils/RouterUtil.js.map +1 -0
  89. package/lib/module/utils/StorageUtil.js +122 -0
  90. package/lib/module/utils/StorageUtil.js.map +1 -0
  91. package/lib/module/utils/TypeUtil.js +2 -0
  92. package/lib/module/utils/TypeUtil.js.map +1 -0
  93. package/lib/typescript/controllers/AccountController.d.ts +25 -0
  94. package/lib/typescript/controllers/AccountController.d.ts.map +1 -0
  95. package/lib/typescript/controllers/ApiController.d.ts +37 -0
  96. package/lib/typescript/controllers/ApiController.d.ts.map +1 -0
  97. package/lib/typescript/controllers/AssetController.d.ts +14 -0
  98. package/lib/typescript/controllers/AssetController.d.ts.map +1 -0
  99. package/lib/typescript/controllers/BlockchainApiController.d.ts +12 -0
  100. package/lib/typescript/controllers/BlockchainApiController.d.ts.map +1 -0
  101. package/lib/typescript/controllers/ConnectionController.d.ts +47 -0
  102. package/lib/typescript/controllers/ConnectionController.d.ts.map +1 -0
  103. package/lib/typescript/controllers/ConnectorController.d.ts +17 -0
  104. package/lib/typescript/controllers/ConnectorController.d.ts.map +1 -0
  105. package/lib/typescript/controllers/EventsController.d.ts +18 -0
  106. package/lib/typescript/controllers/EventsController.d.ts.map +1 -0
  107. package/lib/typescript/controllers/ModalController.d.ts +17 -0
  108. package/lib/typescript/controllers/ModalController.d.ts.map +1 -0
  109. package/lib/typescript/controllers/NetworkController.d.ts +28 -0
  110. package/lib/typescript/controllers/NetworkController.d.ts.map +1 -0
  111. package/lib/typescript/controllers/OptionsController.d.ts +35 -0
  112. package/lib/typescript/controllers/OptionsController.d.ts.map +1 -0
  113. package/lib/typescript/controllers/PublicStateController.d.ts +12 -0
  114. package/lib/typescript/controllers/PublicStateController.d.ts.map +1 -0
  115. package/lib/typescript/controllers/RouterController.d.ts +21 -0
  116. package/lib/typescript/controllers/RouterController.d.ts.map +1 -0
  117. package/lib/typescript/controllers/SnackController.d.ts +12 -0
  118. package/lib/typescript/controllers/SnackController.d.ts.map +1 -0
  119. package/lib/typescript/controllers/ThemeController.d.ts +12 -0
  120. package/lib/typescript/controllers/ThemeController.d.ts.map +1 -0
  121. package/lib/typescript/index.d.ts +35 -0
  122. package/lib/typescript/index.d.ts.map +1 -0
  123. package/lib/typescript/utils/AssetUtil.d.ts +7 -0
  124. package/lib/typescript/utils/AssetUtil.d.ts.map +1 -0
  125. package/lib/typescript/utils/ConstantsUtil.d.ts +8 -0
  126. package/lib/typescript/utils/ConstantsUtil.d.ts.map +1 -0
  127. package/lib/typescript/utils/CoreHelperUtil.d.ts +32 -0
  128. package/lib/typescript/utils/CoreHelperUtil.d.ts.map +1 -0
  129. package/lib/typescript/utils/EventUtil.d.ts +5 -0
  130. package/lib/typescript/utils/EventUtil.d.ts.map +1 -0
  131. package/lib/typescript/utils/FetchUtil.d.ts +26 -0
  132. package/lib/typescript/utils/FetchUtil.d.ts.map +1 -0
  133. package/lib/typescript/utils/RouterUtil.d.ts +5 -0
  134. package/lib/typescript/utils/RouterUtil.d.ts.map +1 -0
  135. package/lib/typescript/utils/StorageUtil.d.ts +19 -0
  136. package/lib/typescript/utils/StorageUtil.d.ts.map +1 -0
  137. package/lib/typescript/utils/TypeUtil.d.ts +277 -0
  138. package/lib/typescript/utils/TypeUtil.d.ts.map +1 -0
  139. package/package.json +69 -0
  140. package/readme.md +9 -0
  141. package/src/controllers/AccountController.ts +80 -0
  142. package/src/controllers/ApiController.ts +360 -0
  143. package/src/controllers/AssetController.ts +38 -0
  144. package/src/controllers/BlockchainApiController.ts +43 -0
  145. package/src/controllers/ConnectionController.ts +147 -0
  146. package/src/controllers/ConnectorController.ts +50 -0
  147. package/src/controllers/EventsController.ts +79 -0
  148. package/src/controllers/ModalController.ts +64 -0
  149. package/src/controllers/NetworkController.ts +79 -0
  150. package/src/controllers/OptionsController.ts +89 -0
  151. package/src/controllers/PublicStateController.ts +37 -0
  152. package/src/controllers/RouterController.ts +84 -0
  153. package/src/controllers/SnackController.ts +36 -0
  154. package/src/controllers/ThemeController.ts +31 -0
  155. package/src/index.ts +57 -0
  156. package/src/utils/AssetUtil.ts +40 -0
  157. package/src/utils/ConstantsUtil.ts +11 -0
  158. package/src/utils/CoreHelperUtil.ts +249 -0
  159. package/src/utils/EventUtil.ts +22 -0
  160. package/src/utils/FetchUtil.ts +117 -0
  161. package/src/utils/RouterUtil.ts +18 -0
  162. package/src/utils/StorageUtil.ts +138 -0
  163. package/src/utils/TypeUtil.ts +342 -0
@@ -0,0 +1,342 @@
1
+ export type CaipAddress = `${string}:${string}:${string}`;
2
+
3
+ export type CaipNetworkId = `${string}:${string}`;
4
+
5
+ export interface CaipNetwork {
6
+ id: CaipNetworkId;
7
+ name?: string;
8
+ imageId?: string;
9
+ imageUrl?: string;
10
+ }
11
+
12
+ export type ConnectedWalletInfo =
13
+ | {
14
+ name?: string;
15
+ icon?: string;
16
+ [key: string]: unknown;
17
+ }
18
+ | undefined;
19
+
20
+ export interface LinkingRecord {
21
+ redirect: string;
22
+ href: string;
23
+ }
24
+
25
+ export type ProjectId = string;
26
+
27
+ export type Platform = 'mobile' | 'web' | 'qrcode' | 'email' | 'unsupported';
28
+
29
+ export type ConnectorType = 'WALLET_CONNECT' | 'COINBASE' | 'AUTH' | 'EXTERNAL';
30
+
31
+ export type Connector = {
32
+ id: string;
33
+ type: ConnectorType;
34
+ name?: string;
35
+ imageId?: string;
36
+ explorerId?: string;
37
+ imageUrl?: string;
38
+ info?: { rdns?: string };
39
+ provider?: unknown;
40
+ installed?: boolean;
41
+ };
42
+
43
+ export type CaipNamespaces = Record<
44
+ string,
45
+ {
46
+ chains: CaipNetworkId[];
47
+ methods: string[];
48
+ events: string[];
49
+ }
50
+ >;
51
+
52
+ export type SdkVersion =
53
+ | `react-native-wagmi-${string}`
54
+ | `react-native-ethers5-${string}`
55
+ | `react-native-ethers-${string}`;
56
+
57
+ // -- ApiController Types -------------------------------------------------------
58
+ export interface WcWallet {
59
+ id: string;
60
+ name: string;
61
+ homepage?: string;
62
+ image_id?: string;
63
+ image_url?: string;
64
+ order?: number;
65
+ mobile_link?: string | null;
66
+ desktop_link?: string | null;
67
+ webapp_link?: string | null;
68
+ link_mode?: string | null;
69
+ app_store?: string | null;
70
+ play_store?: string | null;
71
+ }
72
+
73
+ export interface DataWallet {
74
+ id: string;
75
+ ios_schema?: string;
76
+ android_app_id?: string;
77
+ }
78
+
79
+ export interface ApiGetWalletsRequest {
80
+ page: number;
81
+ entries: number;
82
+ search?: string;
83
+ include?: string[];
84
+ exclude?: string[];
85
+ }
86
+
87
+ export interface ApiGetWalletsResponse {
88
+ data: WcWallet[];
89
+ count: number;
90
+ }
91
+
92
+ export interface ApiGetDataWalletsResponse {
93
+ data: DataWallet[];
94
+ count: number;
95
+ }
96
+
97
+ export interface ApiGetAnalyticsConfigResponse {
98
+ isAnalyticsEnabled: boolean;
99
+ }
100
+
101
+ export type ThemeMode = 'dark' | 'light';
102
+
103
+ export interface ThemeVariables {
104
+ accent?: string;
105
+ }
106
+
107
+ // -- BlockchainApiController Types ---------------------------------------------
108
+ export interface BlockchainApiIdentityRequest {
109
+ address: string;
110
+ }
111
+
112
+ export interface BlockchainApiIdentityResponse {
113
+ avatar: string;
114
+ name: string;
115
+ }
116
+
117
+ // -- OptionsController Types ---------------------------------------------------
118
+ export interface Token {
119
+ address: string;
120
+ image?: string;
121
+ }
122
+
123
+ export type Tokens = Record<CaipNetworkId, Token>;
124
+
125
+ export type Metadata = {
126
+ name: string;
127
+ description: string;
128
+ url: string;
129
+ icons: string[];
130
+ redirect?: {
131
+ native?: string;
132
+ universal?: string;
133
+ linkMode?: boolean;
134
+ };
135
+ };
136
+
137
+ export type CustomWallet = Pick<
138
+ WcWallet,
139
+ | 'id'
140
+ | 'name'
141
+ | 'homepage'
142
+ | 'image_url'
143
+ | 'mobile_link'
144
+ | 'desktop_link'
145
+ | 'webapp_link'
146
+ | 'link_mode'
147
+ | 'app_store'
148
+ | 'play_store'
149
+ >;
150
+
151
+ // -- EventsController Types ----------------------------------------------------
152
+
153
+ export type Event =
154
+ | {
155
+ type: 'track';
156
+ event: 'MODAL_CREATED';
157
+ }
158
+ | {
159
+ type: 'track';
160
+ event: 'MODAL_LOADED';
161
+ }
162
+ | {
163
+ type: 'track';
164
+ event: 'MODAL_OPEN';
165
+ properties: {
166
+ connected: boolean;
167
+ };
168
+ }
169
+ | {
170
+ type: 'track';
171
+ event: 'MODAL_CLOSE';
172
+ properties: {
173
+ connected: boolean;
174
+ };
175
+ }
176
+ | {
177
+ type: 'track';
178
+ event: 'CLICK_ALL_WALLETS';
179
+ }
180
+ | {
181
+ type: 'track';
182
+ event: 'CLICK_NETWORKS';
183
+ }
184
+ | {
185
+ type: 'track';
186
+ event: 'SWITCH_NETWORK';
187
+ properties: {
188
+ network: string;
189
+ };
190
+ }
191
+ | {
192
+ type: 'track';
193
+ event: 'SELECT_WALLET';
194
+ properties: {
195
+ name: string;
196
+ platform?: Platform;
197
+ explorer_id?: string;
198
+ };
199
+ }
200
+ | {
201
+ type: 'track';
202
+ event: 'CONNECT_SUCCESS';
203
+ properties: {
204
+ name: string;
205
+ method: Platform;
206
+ explorer_id?: string;
207
+ };
208
+ }
209
+ | {
210
+ type: 'track';
211
+ event: 'CONNECT_ERROR';
212
+ properties: {
213
+ message: string;
214
+ };
215
+ }
216
+ | {
217
+ type: 'track';
218
+ event: 'DISCONNECT_SUCCESS';
219
+ }
220
+ | {
221
+ type: 'track';
222
+ event: 'DISCONNECT_ERROR';
223
+ }
224
+ | {
225
+ type: 'track';
226
+ event: 'CLICK_WALLET_HELP';
227
+ }
228
+ | {
229
+ type: 'track';
230
+ event: 'CLICK_NETWORK_HELP';
231
+ }
232
+ | {
233
+ type: 'track';
234
+ event: 'CLICK_GET_WALLET';
235
+ }
236
+ | {
237
+ type: 'track';
238
+ event: 'EMAIL_LOGIN_SELECTED';
239
+ }
240
+ | {
241
+ type: 'track';
242
+ event: 'EMAIL_SUBMITTED';
243
+ }
244
+ | {
245
+ type: 'track';
246
+ event: 'DEVICE_REGISTERED_FOR_EMAIL';
247
+ }
248
+ | {
249
+ type: 'track';
250
+ event: 'EMAIL_VERIFICATION_CODE_SENT';
251
+ }
252
+ | {
253
+ type: 'track';
254
+ event: 'EMAIL_VERIFICATION_CODE_PASS';
255
+ }
256
+ | {
257
+ type: 'track';
258
+ event: 'EMAIL_VERIFICATION_CODE_FAIL';
259
+ }
260
+ | {
261
+ type: 'track';
262
+ event: 'EMAIL_EDIT';
263
+ }
264
+ | {
265
+ type: 'track';
266
+ event: 'EMAIL_EDIT_COMPLETE';
267
+ }
268
+ | {
269
+ type: 'track';
270
+ event: 'EMAIL_UPGRADE_FROM_MODAL';
271
+ }
272
+ | {
273
+ type: 'track';
274
+ event: 'CLICK_SIGN_SIWE_MESSAGE';
275
+ }
276
+ | {
277
+ type: 'track';
278
+ event: 'CLICK_CANCEL_SIWE';
279
+ }
280
+ | {
281
+ type: 'track';
282
+ event: 'SIWE_AUTH_SUCCESS';
283
+ }
284
+ | {
285
+ type: 'track';
286
+ event: 'SIWE_AUTH_ERROR';
287
+ };
288
+
289
+ // -- Email Types ------------------------------------------------
290
+ /**
291
+ * Matches type defined for packages/email/src/AppKitFrameProvider.ts
292
+ * It's duplicated in order to decouple scaffold from email package
293
+ */
294
+ export interface AppKitFrameProvider {
295
+ readonly id: string;
296
+ readonly name: string;
297
+ getSecureSiteURL(): string;
298
+ getSecureSiteDashboardURL(): string;
299
+ getSecureSiteIconURL(): string;
300
+ getSecureSiteHeaders(): Record<string, string>;
301
+ getLoginEmailUsed(): Promise<boolean>;
302
+ getEmail(): string | undefined;
303
+ rejectRpcRequest(): void;
304
+ connectEmail(payload: { email: string }): Promise<{
305
+ action: 'VERIFY_DEVICE' | 'VERIFY_OTP';
306
+ }>;
307
+ connectDevice(): Promise<unknown>;
308
+ connectOtp(payload: { otp: string }): Promise<unknown>;
309
+ isConnected(): Promise<{
310
+ isConnected: boolean;
311
+ }>;
312
+ getChainId(): Promise<{
313
+ chainId: number;
314
+ }>;
315
+ updateEmail(payload: { email: string }): Promise<{
316
+ action: 'VERIFY_PRIMARY_OTP' | 'VERIFY_SECONDARY_OTP';
317
+ }>;
318
+ updateEmailPrimaryOtp(payload: { otp: string }): Promise<unknown>;
319
+ updateEmailSecondaryOtp(payload: { otp: string }): Promise<{
320
+ newEmail: string;
321
+ }>;
322
+ syncTheme(payload: {
323
+ themeMode: ThemeMode | undefined;
324
+ themeVariables: Record<string, string | number> | undefined;
325
+ }): Promise<unknown>;
326
+ syncDappData(payload: {
327
+ projectId: string;
328
+ sdkVersion: SdkVersion;
329
+ metadata?: Metadata;
330
+ }): Promise<unknown>;
331
+ connect(payload?: { chainId: number | undefined }): Promise<{
332
+ chainId: number;
333
+ email: string;
334
+ address: string;
335
+ }>;
336
+ switchNetwork(chainId: number): Promise<{
337
+ chainId: number;
338
+ }>;
339
+ disconnect(): Promise<unknown>;
340
+ request(req: any): Promise<any>;
341
+ AuthView: () => JSX.Element | null;
342
+ }