@reown/appkit-common-react-native 2.0.0-alpha.0 → 2.0.0-alpha.2

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 (105) hide show
  1. package/lib/commonjs/adapters/BlockchainAdapter.js +81 -0
  2. package/lib/commonjs/adapters/BlockchainAdapter.js.map +1 -0
  3. package/lib/commonjs/adapters/EvmAdapter.js +204 -0
  4. package/lib/commonjs/adapters/EvmAdapter.js.map +1 -0
  5. package/lib/commonjs/adapters/SolanaBaseAdapter.js +10 -0
  6. package/lib/commonjs/adapters/SolanaBaseAdapter.js.map +1 -0
  7. package/lib/commonjs/contracts/erc20.js.map +1 -1
  8. package/lib/commonjs/contracts/usdt.js.map +1 -1
  9. package/lib/commonjs/index.js +62 -1
  10. package/lib/commonjs/index.js.map +1 -1
  11. package/lib/commonjs/networks/bitcoin.js +40 -0
  12. package/lib/commonjs/networks/bitcoin.js.map +1 -0
  13. package/lib/commonjs/networks/solana.js +78 -0
  14. package/lib/commonjs/networks/solana.js.map +1 -0
  15. package/lib/commonjs/package.json +1 -0
  16. package/lib/commonjs/utils/ConstantsUtil.js +31 -5
  17. package/lib/commonjs/utils/ConstantsUtil.js.map +1 -1
  18. package/lib/commonjs/utils/ContractUtil.js.map +1 -1
  19. package/lib/commonjs/utils/DateUtil.js.map +1 -1
  20. package/lib/commonjs/utils/ErrorUtil.js +2 -2
  21. package/lib/commonjs/utils/ErrorUtil.js.map +1 -1
  22. package/lib/commonjs/utils/NamesUtil.js.map +1 -1
  23. package/lib/commonjs/utils/NetworkUtil.js.map +1 -1
  24. package/lib/commonjs/utils/NumberUtil.js +53 -13
  25. package/lib/commonjs/utils/NumberUtil.js.map +1 -1
  26. package/lib/commonjs/utils/PresetsUtil.js +0 -18
  27. package/lib/commonjs/utils/PresetsUtil.js.map +1 -1
  28. package/lib/commonjs/utils/StringUtil.js +7 -0
  29. package/lib/commonjs/utils/StringUtil.js.map +1 -1
  30. package/lib/commonjs/utils/TypeUtil.js +19 -81
  31. package/lib/commonjs/utils/TypeUtil.js.map +1 -1
  32. package/lib/module/adapters/BlockchainAdapter.js +76 -0
  33. package/lib/module/adapters/BlockchainAdapter.js.map +1 -0
  34. package/lib/module/adapters/EvmAdapter.js +200 -0
  35. package/lib/module/adapters/EvmAdapter.js.map +1 -0
  36. package/lib/module/adapters/SolanaBaseAdapter.js +5 -0
  37. package/lib/module/adapters/SolanaBaseAdapter.js.map +1 -0
  38. package/lib/module/contracts/erc20.js +2 -0
  39. package/lib/module/contracts/erc20.js.map +1 -1
  40. package/lib/module/contracts/usdt.js +2 -0
  41. package/lib/module/contracts/usdt.js.map +1 -1
  42. package/lib/module/index.js +7 -0
  43. package/lib/module/index.js.map +1 -1
  44. package/lib/module/networks/bitcoin.js +36 -0
  45. package/lib/module/networks/bitcoin.js.map +1 -0
  46. package/lib/module/networks/solana.js +74 -0
  47. package/lib/module/networks/solana.js.map +1 -0
  48. package/lib/module/utils/ConstantsUtil.js +33 -5
  49. package/lib/module/utils/ConstantsUtil.js.map +1 -1
  50. package/lib/module/utils/ContractUtil.js +2 -0
  51. package/lib/module/utils/ContractUtil.js.map +1 -1
  52. package/lib/module/utils/DateUtil.js +2 -0
  53. package/lib/module/utils/DateUtil.js.map +1 -1
  54. package/lib/module/utils/ErrorUtil.js +4 -2
  55. package/lib/module/utils/ErrorUtil.js.map +1 -1
  56. package/lib/module/utils/NamesUtil.js +2 -0
  57. package/lib/module/utils/NamesUtil.js.map +1 -1
  58. package/lib/module/utils/NetworkUtil.js +2 -0
  59. package/lib/module/utils/NetworkUtil.js.map +1 -1
  60. package/lib/module/utils/NumberUtil.js +54 -11
  61. package/lib/module/utils/NumberUtil.js.map +1 -1
  62. package/lib/module/utils/PresetsUtil.js +2 -18
  63. package/lib/module/utils/PresetsUtil.js.map +1 -1
  64. package/lib/module/utils/StringUtil.js +9 -0
  65. package/lib/module/utils/StringUtil.js.map +1 -1
  66. package/lib/module/utils/TypeUtil.js +19 -77
  67. package/lib/module/utils/TypeUtil.js.map +1 -1
  68. package/lib/typescript/adapters/BlockchainAdapter.d.ts +25 -0
  69. package/lib/typescript/adapters/BlockchainAdapter.d.ts.map +1 -0
  70. package/lib/typescript/adapters/EvmAdapter.d.ts +27 -0
  71. package/lib/typescript/adapters/EvmAdapter.d.ts.map +1 -0
  72. package/lib/typescript/adapters/SolanaBaseAdapter.d.ts +6 -0
  73. package/lib/typescript/adapters/SolanaBaseAdapter.d.ts.map +1 -0
  74. package/lib/typescript/adapters/__tests__/EvmAdapter.test.d.ts +2 -0
  75. package/lib/typescript/adapters/__tests__/EvmAdapter.test.d.ts.map +1 -0
  76. package/lib/typescript/index.d.ts +5 -0
  77. package/lib/typescript/index.d.ts.map +1 -1
  78. package/lib/typescript/networks/bitcoin.d.ts +4 -0
  79. package/lib/typescript/networks/bitcoin.d.ts.map +1 -0
  80. package/lib/typescript/networks/solana.d.ts +5 -0
  81. package/lib/typescript/networks/solana.d.ts.map +1 -0
  82. package/lib/typescript/utils/ConstantsUtil.d.ts +27 -3
  83. package/lib/typescript/utils/ConstantsUtil.d.ts.map +1 -1
  84. package/lib/typescript/utils/NumberUtil.d.ts +39 -11
  85. package/lib/typescript/utils/NumberUtil.d.ts.map +1 -1
  86. package/lib/typescript/utils/PresetsUtil.d.ts +0 -5
  87. package/lib/typescript/utils/PresetsUtil.d.ts.map +1 -1
  88. package/lib/typescript/utils/StringUtil.d.ts +1 -0
  89. package/lib/typescript/utils/StringUtil.d.ts.map +1 -1
  90. package/lib/typescript/utils/TypeUtil.d.ts +203 -68
  91. package/lib/typescript/utils/TypeUtil.d.ts.map +1 -1
  92. package/package.json +7 -17
  93. package/src/adapters/BlockchainAdapter.ts +107 -0
  94. package/src/adapters/EvmAdapter.ts +259 -0
  95. package/src/adapters/SolanaBaseAdapter.ts +6 -0
  96. package/src/adapters/__tests__/EvmAdapter.test.ts +126 -0
  97. package/src/index.ts +5 -0
  98. package/src/networks/bitcoin.ts +32 -0
  99. package/src/networks/solana.ts +44 -0
  100. package/src/utils/ConstantsUtil.ts +33 -6
  101. package/src/utils/ErrorUtil.ts +2 -2
  102. package/src/utils/NumberUtil.ts +54 -11
  103. package/src/utils/PresetsUtil.ts +0 -25
  104. package/src/utils/StringUtil.ts +7 -0
  105. package/src/utils/TypeUtil.ts +259 -143
@@ -1,8 +1,10 @@
1
1
  /// <reference types="node" />
2
2
  import { EventEmitter } from 'events';
3
+ import type { BlockchainAdapter } from '../adapters/BlockchainAdapter';
3
4
  export type CaipAddress = `${string}:${string}:${string}`;
4
5
  export type CaipNetworkId = `${string}:${string}`;
5
6
  export type ChainNamespace = 'eip155' | 'solana' | 'polkadot' | 'bip122';
7
+ export type AdapterType = 'solana' | 'wagmi' | 'ethers' | 'universal' | 'bip122';
6
8
  export type Network = {
7
9
  id: number | string;
8
10
  name: string;
@@ -40,6 +42,10 @@ export type AppKitNetwork = Network & {
40
42
  testnet?: boolean;
41
43
  deprecatedCaipNetworkId?: CaipNetworkId;
42
44
  };
45
+ export interface AppKitOpenOptions {
46
+ view: 'Account' | 'Connect' | 'Networks' | 'Swap' | 'OnRamp';
47
+ }
48
+ export type AppKitConnectOptions = Pick<ConnectOptions, 'namespaces' | 'defaultChain' | 'universalLink'>;
43
49
  export interface CaipNetwork {
44
50
  id: CaipNetworkId;
45
51
  name?: string;
@@ -47,19 +53,19 @@ export interface CaipNetwork {
47
53
  imageUrl?: string;
48
54
  }
49
55
  export interface Balance {
50
- name: string;
56
+ name?: string;
57
+ amount: string;
51
58
  symbol: string;
52
- chainId: string;
53
- address?: string;
59
+ quantity?: {
60
+ decimals: string;
61
+ numeric: string;
62
+ };
63
+ chainId?: string;
64
+ address?: CaipAddress;
54
65
  value?: number;
55
- price: number;
56
- quantity: BalanceQuantity;
57
- iconUrl: string;
66
+ price?: number;
67
+ iconUrl?: string;
58
68
  }
59
- type BalanceQuantity = {
60
- decimals: string;
61
- numeric: string;
62
- };
63
69
  export type TransactionStatus = 'confirmed' | 'failed' | 'pending';
64
70
  export type TransactionDirection = 'in' | 'out' | 'self';
65
71
  export type TransactionImage = {
@@ -122,7 +128,7 @@ export interface TransactionDetail {
122
128
  export interface TransactionQuantity {
123
129
  numeric: string;
124
130
  }
125
- export type SocialProvider = 'apple' | 'x' | 'discord' | 'farcaster';
131
+ export type SocialProvider = 'google' | 'facebook' | 'github' | 'apple' | 'x' | 'discord' | 'email' | 'farcaster';
126
132
  export type ThemeMode = 'dark' | 'light';
127
133
  export interface ThemeVariables {
128
134
  accent?: string;
@@ -132,26 +138,46 @@ export interface Token {
132
138
  image?: string;
133
139
  }
134
140
  export type Tokens = Record<CaipNetworkId, Token>;
135
- export type ConnectorType = 'WALLET_CONNECT' | 'COINBASE' | 'AUTH' | 'EXTERNAL';
141
+ export type Metadata = {
142
+ name: string;
143
+ description: string;
144
+ url: string;
145
+ icons: string[];
146
+ redirect?: {
147
+ native?: string;
148
+ universal?: string;
149
+ linkMode?: boolean;
150
+ };
151
+ };
152
+ export interface Identity {
153
+ name: string;
154
+ avatar?: string;
155
+ }
156
+ export interface Connection {
157
+ accounts: CaipAddress[];
158
+ balances: Map<CaipAddress, Balance[]>;
159
+ adapter: BlockchainAdapter;
160
+ caipNetwork: CaipNetworkId;
161
+ wallet?: WalletInfo;
162
+ properties?: ConnectionProperties;
163
+ type?: AccountType;
164
+ identities?: Map<CaipAddress, Identity>;
165
+ }
166
+ export type BlockchainAdapterConfig = {
167
+ projectId: string;
168
+ supportedNamespace: ChainNamespace;
169
+ adapterType: AdapterType;
170
+ };
136
171
  export type AccountsChangedEvent = {
137
172
  accounts: string[];
138
- namespace: ChainNamespace;
139
173
  };
140
174
  export type ChainChangedEvent = {
141
175
  chainId: string;
142
- namespace: ChainNamespace;
143
- };
144
- export type DisconnectEvent = {
145
- namespace: ChainNamespace;
146
176
  };
177
+ export type DisconnectEvent = {};
147
178
  export type BalanceChangedEvent = {
148
- namespace: ChainNamespace;
149
179
  address: CaipAddress;
150
- balance: {
151
- amount: string;
152
- symbol: string;
153
- contractAddress?: ContractAddress;
154
- };
180
+ balance: Balance;
155
181
  };
156
182
  export interface AdapterEvents {
157
183
  accountsChanged: (event: AccountsChangedEvent) => void;
@@ -159,43 +185,12 @@ export interface AdapterEvents {
159
185
  disconnect: (event: DisconnectEvent) => void;
160
186
  balanceChanged: (event: BalanceChangedEvent) => void;
161
187
  }
162
- export declare abstract class BlockchainAdapter extends EventEmitter {
163
- projectId: string;
164
- connector?: WalletConnector;
165
- supportedNamespace: ChainNamespace;
166
- emit<K extends keyof AdapterEvents>(event: K, payload: Parameters<AdapterEvents[K]>[0]): boolean;
167
- constructor({ projectId, supportedNamespace }: {
168
- projectId: string;
169
- supportedNamespace: ChainNamespace;
170
- });
171
- setConnector(connector: WalletConnector): void;
172
- removeConnector(): void;
173
- getProvider(): Provider;
174
- subscribeToEvents(): void;
175
- onChainChanged(chainId: string): void;
176
- onAccountsChanged(accounts: string[]): void;
177
- onDisconnect(): void;
178
- abstract disconnect(): Promise<void>;
179
- abstract getSupportedNamespace(): ChainNamespace;
180
- abstract getBalance(params: GetBalanceParams): Promise<GetBalanceResponse>;
181
- abstract getAccounts(): CaipAddress[] | undefined;
182
- abstract switchNetwork(network: AppKitNetwork): Promise<void>;
183
- }
184
- export declare abstract class EVMAdapter extends BlockchainAdapter {
185
- }
186
- export declare abstract class SolanaBaseAdapter extends BlockchainAdapter {
187
- }
188
188
  export interface GetBalanceParams {
189
+ network: AppKitNetwork;
189
190
  address?: CaipAddress;
190
- network?: AppKitNetwork;
191
191
  tokens?: Tokens;
192
192
  }
193
- type ContractAddress = CaipAddress;
194
- export interface GetBalanceResponse {
195
- amount: string;
196
- symbol: string;
197
- contractAddress?: ContractAddress;
198
- }
193
+ export type GetBalanceResponse = Balance;
199
194
  interface BaseNamespace {
200
195
  chains?: CaipNetworkId[];
201
196
  accounts: CaipAddress[];
@@ -204,27 +199,43 @@ interface BaseNamespace {
204
199
  }
205
200
  type Namespace = BaseNamespace;
206
201
  export type Namespaces = Record<string, Namespace>;
207
- export type ProposalNamespaces = Record<string, Omit<Namespace, 'accounts'> & Required<Pick<Namespace, 'chains'>>>;
202
+ export type ProposalNamespaces = Record<string, Omit<Namespace, 'accounts'> & Required<Pick<Namespace, 'chains'>> & {
203
+ rpcMap: Record<string, string>;
204
+ }>;
205
+ export type ConnectOptions = {
206
+ namespaces?: ProposalNamespaces;
207
+ defaultChain?: CaipNetworkId;
208
+ universalLink?: string;
209
+ siweConfig?: AppKitSIWEClient;
210
+ };
211
+ export type ConnectorInitOptions = {
212
+ storage: Storage;
213
+ metadata: Metadata;
214
+ };
208
215
  export declare abstract class WalletConnector extends EventEmitter {
209
- type: New_ConnectorType;
210
- protected provider: Provider;
216
+ type: ConnectorType;
217
+ protected provider?: Provider;
211
218
  protected namespaces?: Namespaces;
212
219
  protected wallet?: WalletInfo;
213
- constructor({ type, provider }: {
214
- type: New_ConnectorType;
215
- provider: Provider;
220
+ protected storage?: Storage;
221
+ protected metadata?: Metadata;
222
+ protected properties?: ConnectionProperties;
223
+ constructor({ type }: {
224
+ type: ConnectorType;
216
225
  });
217
- abstract connect(opts: {
218
- namespaces?: ProposalNamespaces;
219
- defaultChain?: CaipNetworkId;
220
- }): Promise<Namespaces | undefined>;
221
- abstract disconnect(): Promise<void>;
226
+ init(ops: ConnectorInitOptions): Promise<void>;
227
+ setProvider(provider: Provider): void;
228
+ disconnect(): Promise<void>;
229
+ abstract connect(opts: ConnectOptions): Promise<Namespaces | undefined>;
222
230
  abstract getProvider(): Provider;
223
231
  abstract getNamespaces(): Namespaces;
224
232
  abstract getChainId(namespace: ChainNamespace): CaipNetworkId | undefined;
225
233
  abstract getWalletInfo(): WalletInfo | undefined;
234
+ abstract getProperties(): ConnectionProperties | undefined;
226
235
  abstract switchNetwork(network: AppKitNetwork): Promise<void>;
236
+ abstract restoreSession(): Promise<boolean>;
227
237
  }
238
+ export type ConnectorType = 'walletconnect' | 'coinbase' | 'auth' | 'phantom';
228
239
  export interface Provider {
229
240
  connect<T>(params?: any): Promise<T>;
230
241
  disconnect(): Promise<void>;
@@ -236,7 +247,6 @@ export interface RequestArguments {
236
247
  method: string;
237
248
  params?: unknown[] | Record<string, unknown> | object | undefined;
238
249
  }
239
- export type New_ConnectorType = 'walletconnect' | 'coinbase' | 'auth';
240
250
  export interface ConnectionResponse {
241
251
  accounts: string[];
242
252
  chainId: string;
@@ -255,5 +265,130 @@ export interface WalletInfo {
255
265
  };
256
266
  [key: string]: unknown;
257
267
  }
268
+ export interface ConnectionProperties {
269
+ email?: string;
270
+ username?: string;
271
+ smartAccounts?: CaipAddress[];
272
+ provider?: SocialProvider;
273
+ sessionTopic?: string;
274
+ }
275
+ export interface LinkingRecord {
276
+ redirect: string;
277
+ href: string;
278
+ }
279
+ export interface WalletDeepLink {
280
+ href: string;
281
+ name: string;
282
+ }
283
+ export type AccountType = 'eoa' | 'smartAccount';
284
+ export interface Storage {
285
+ /**
286
+ * Returns all keys in storage.
287
+ */
288
+ getKeys(): Promise<string[]>;
289
+ /**
290
+ * Returns all key-value entries in storage.
291
+ */
292
+ getEntries<T = any>(): Promise<[string, T][]>;
293
+ /**
294
+ * Get an item from storage for a given key.
295
+ * @param key The key to retrieve.
296
+ */
297
+ getItem<T = any>(key: string): Promise<T | undefined>;
298
+ /**
299
+ * Set an item in storage for a given key.
300
+ * @param key The key to set.
301
+ * @param value The value to set.
302
+ */
303
+ setItem<T = any>(key: string, value: T): Promise<void>;
304
+ /**
305
+ * Remove an item from storage for a given key.
306
+ * @param key The key to remove.
307
+ */
308
+ removeItem(key: string): Promise<void>;
309
+ }
310
+ export interface SIWESession {
311
+ address: string;
312
+ chainId: number;
313
+ }
314
+ interface CacaoHeader {
315
+ t: 'caip122';
316
+ }
317
+ export interface SIWECreateMessageArgs {
318
+ domain: string;
319
+ nonce: string;
320
+ uri: string;
321
+ address: CaipAddress;
322
+ version: '1';
323
+ type?: CacaoHeader['t'];
324
+ nbf?: string;
325
+ exp?: string;
326
+ statement?: string;
327
+ requestId?: string;
328
+ resources?: string[];
329
+ expiry?: number;
330
+ iat?: string;
331
+ }
332
+ export type SIWEMessageArgs = {
333
+ chains: CaipNetworkId[];
334
+ methods?: string[];
335
+ } & Omit<SIWECreateMessageArgs, 'address' | 'nonce' | 'version'>;
336
+ interface CacaoPayload {
337
+ domain: string;
338
+ aud: string;
339
+ nonce: string;
340
+ iss: string;
341
+ version?: string;
342
+ iat?: string;
343
+ nbf?: string;
344
+ exp?: string;
345
+ statement?: string;
346
+ requestId?: string;
347
+ resources?: string[];
348
+ type?: string;
349
+ }
350
+ interface Cacao {
351
+ h: CacaoHeader;
352
+ p: CacaoPayload;
353
+ s: {
354
+ t: 'eip191' | 'eip1271';
355
+ s: string;
356
+ m?: string;
357
+ };
358
+ }
359
+ export interface SIWEVerifyMessageArgs {
360
+ message: string;
361
+ signature: string;
362
+ cacao?: Cacao;
363
+ }
364
+ export interface SIWEClientMethods {
365
+ getNonce: (address?: string) => Promise<string>;
366
+ createMessage: (args: SIWECreateMessageArgs) => string;
367
+ verifyMessage: (args: SIWEVerifyMessageArgs) => Promise<boolean>;
368
+ getSession: () => Promise<SIWESession | null>;
369
+ signOut: () => Promise<boolean>;
370
+ getMessageParams?: () => Promise<SIWEMessageArgs>;
371
+ onSignIn?: (session?: SIWESession) => void;
372
+ onSignOut?: () => void;
373
+ }
374
+ export interface SIWEConfig extends SIWEClientMethods {
375
+ enabled?: boolean;
376
+ nonceRefetchIntervalMs?: number;
377
+ sessionRefetchIntervalMs?: number;
378
+ signOutOnDisconnect?: boolean;
379
+ signOutOnAccountChange?: boolean;
380
+ signOutOnNetworkChange?: boolean;
381
+ }
382
+ export interface AppKitSIWEClient extends SIWEClientMethods {
383
+ signIn: () => Promise<SIWESession | undefined>;
384
+ options: {
385
+ enabled: boolean;
386
+ nonceRefetchIntervalMs: number;
387
+ sessionRefetchIntervalMs: number;
388
+ signOutOnDisconnect: boolean;
389
+ signOutOnAccountChange: boolean;
390
+ signOutOnNetworkChange: boolean;
391
+ };
392
+ }
258
393
  export {};
259
394
  //# sourceMappingURL=TypeUtil.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TypeUtil.d.ts","sourceRoot":"","sources":["../../../src/utils/TypeUtil.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TypeUtil.d.ts","sourceRoot":"","sources":["../../../src/utils/TypeUtil.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,9 +1,10 @@
1
1
  {
2
2
  "name": "@reown/appkit-common-react-native",
3
- "version": "2.0.0-alpha.0",
3
+ "version": "2.0.0-alpha.2",
4
4
  "main": "lib/commonjs/index.js",
5
5
  "types": "lib/typescript/index.d.ts",
6
6
  "module": "lib/module/index.js",
7
+ "react-native": "src/index.ts",
7
8
  "source": "src/index.ts",
8
9
  "scripts": {
9
10
  "build": "bob build",
@@ -15,6 +16,10 @@
15
16
  "bignumber.js": "9.1.2",
16
17
  "dayjs": "1.11.10"
17
18
  },
19
+ "peerDependencies": {
20
+ "react": ">=18",
21
+ "react-native": ">=0.72"
22
+ },
18
23
  "files": [
19
24
  "src",
20
25
  "lib"
@@ -28,7 +33,7 @@
28
33
  "react-native"
29
34
  ],
30
35
  "repository": "https://github.com/reown-com/appkit-react-native",
31
- "author": "Reown <support@reown.com> (https://reown.com)",
36
+ "author": "Reown (https://discord.gg/reown)",
32
37
  "homepage": "https://reown.com/appkit",
33
38
  "license": "Apache-2.0",
34
39
  "bugs": {
@@ -38,21 +43,6 @@
38
43
  "registry": "https://registry.npmjs.org/",
39
44
  "access": "public"
40
45
  },
41
- "react-native": "src/index.ts",
42
- "react-native-builder-bob": {
43
- "source": "src",
44
- "output": "lib",
45
- "targets": [
46
- "commonjs",
47
- "module",
48
- [
49
- "typescript",
50
- {
51
- "tsc": "../../node_modules/.bin/tsc"
52
- }
53
- ]
54
- ]
55
- },
56
46
  "eslintIgnore": [
57
47
  "node_modules/",
58
48
  "lib/"
@@ -0,0 +1,107 @@
1
+ import { EventEmitter } from 'events';
2
+ import type {
3
+ AdapterEvents,
4
+ AdapterType,
5
+ AppKitNetwork,
6
+ BlockchainAdapterConfig,
7
+ CaipAddress,
8
+ ChainNamespace,
9
+ GetBalanceParams,
10
+ GetBalanceResponse,
11
+ Provider,
12
+ WalletConnector
13
+ } from '../utils/TypeUtil';
14
+
15
+ export abstract class BlockchainAdapter extends EventEmitter {
16
+ public projectId: string;
17
+ public connector?: WalletConnector;
18
+ public supportedNamespace: ChainNamespace;
19
+ public adapterType: AdapterType;
20
+
21
+ // Typed emit method
22
+ override emit<K extends keyof AdapterEvents>(
23
+ event: K,
24
+ payload: Parameters<AdapterEvents[K]>[0]
25
+ ): boolean {
26
+ return super.emit(event, payload);
27
+ }
28
+
29
+ constructor({ projectId, supportedNamespace, adapterType }: BlockchainAdapterConfig) {
30
+ super();
31
+ this.projectId = projectId;
32
+ this.supportedNamespace = supportedNamespace;
33
+ this.adapterType = adapterType;
34
+ }
35
+
36
+ setConnector(connector: WalletConnector) {
37
+ this.connector = connector;
38
+ this.subscribeToEvents();
39
+ }
40
+
41
+ removeConnector() {
42
+ this.connector = undefined;
43
+ }
44
+
45
+ getProvider(): Provider {
46
+ if (!this.connector) throw new Error('No active connector');
47
+
48
+ return this.connector.getProvider();
49
+ }
50
+
51
+ subscribeToEvents(): void {
52
+ const provider = this.connector?.getProvider();
53
+ if (!provider) return;
54
+
55
+ provider.on('chainChanged', this.onChainChanged.bind(this));
56
+ provider.on('accountsChanged', this.onAccountsChanged.bind(this));
57
+ provider.on('disconnect', this.onDisconnect.bind(this));
58
+ }
59
+
60
+ onChainChanged(chainId: string): void {
61
+ const _chains = this.getAccounts()?.map(account => account.split(':')[1]);
62
+ const shouldEmit = _chains?.some(chain => chain === chainId);
63
+
64
+ if (shouldEmit) {
65
+ this.emit('chainChanged', { chainId });
66
+ }
67
+ }
68
+
69
+ onAccountsChanged(accounts: string[]): void {
70
+ const _accounts = this.getAccounts();
71
+ const shouldEmit = _accounts?.some(account => {
72
+ const accountAddress = account.split(':')[2];
73
+
74
+ return accountAddress !== undefined && accounts.includes(accountAddress);
75
+ });
76
+
77
+ if (shouldEmit) {
78
+ this.emit('accountsChanged', { accounts });
79
+ }
80
+ }
81
+
82
+ onDisconnect(): void {
83
+ this.emit('disconnect', { namespace: this.getSupportedNamespace() });
84
+
85
+ const provider = this.connector?.getProvider();
86
+ if (provider) {
87
+ provider.off('chainChanged', this.onChainChanged.bind(this));
88
+ provider.off('accountsChanged', this.onAccountsChanged.bind(this));
89
+ provider.off('disconnect', this.onDisconnect.bind(this));
90
+ }
91
+
92
+ this.connector = undefined;
93
+ }
94
+
95
+ parseUnits(value: string, decimals: number): bigint {
96
+ const [whole, fraction = ''] = value.split('.');
97
+ const paddedFraction = (fraction + '0'.repeat(decimals)).slice(0, decimals);
98
+
99
+ return BigInt(whole + paddedFraction);
100
+ }
101
+
102
+ abstract disconnect(): Promise<void>;
103
+ abstract getSupportedNamespace(): ChainNamespace;
104
+ abstract getBalance(params: GetBalanceParams): Promise<GetBalanceResponse>;
105
+ abstract getAccounts(): CaipAddress[] | undefined;
106
+ abstract switchNetwork(network: AppKitNetwork): Promise<void>;
107
+ }