@reown/appkit-common-react-native 2.0.0-alpha.0 → 2.0.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 (62) hide show
  1. package/lib/commonjs/adapters/BlockchainAdapter.js +79 -0
  2. package/lib/commonjs/adapters/BlockchainAdapter.js.map +1 -0
  3. package/lib/commonjs/adapters/EvmAdapter.js +83 -0
  4. package/lib/commonjs/adapters/EvmAdapter.js.map +1 -0
  5. package/lib/commonjs/adapters/SolanaBaseAdapter.js +12 -0
  6. package/lib/commonjs/adapters/SolanaBaseAdapter.js.map +1 -0
  7. package/lib/commonjs/index.js +62 -1
  8. package/lib/commonjs/index.js.map +1 -1
  9. package/lib/commonjs/networks/bitcoin.js +40 -0
  10. package/lib/commonjs/networks/bitcoin.js.map +1 -0
  11. package/lib/commonjs/networks/solana.js +78 -0
  12. package/lib/commonjs/networks/solana.js.map +1 -0
  13. package/lib/commonjs/utils/ConstantsUtil.js +1 -1
  14. package/lib/commonjs/utils/ConstantsUtil.js.map +1 -1
  15. package/lib/commonjs/utils/NumberUtil.js +52 -11
  16. package/lib/commonjs/utils/NumberUtil.js.map +1 -1
  17. package/lib/commonjs/utils/TypeUtil.js +9 -79
  18. package/lib/commonjs/utils/TypeUtil.js.map +1 -1
  19. package/lib/module/adapters/BlockchainAdapter.js +72 -0
  20. package/lib/module/adapters/BlockchainAdapter.js.map +1 -0
  21. package/lib/module/adapters/EvmAdapter.js +76 -0
  22. package/lib/module/adapters/EvmAdapter.js.map +1 -0
  23. package/lib/module/adapters/SolanaBaseAdapter.js +5 -0
  24. package/lib/module/adapters/SolanaBaseAdapter.js.map +1 -0
  25. package/lib/module/index.js +5 -0
  26. package/lib/module/index.js.map +1 -1
  27. package/lib/module/networks/bitcoin.js +34 -0
  28. package/lib/module/networks/bitcoin.js.map +1 -0
  29. package/lib/module/networks/solana.js +72 -0
  30. package/lib/module/networks/solana.js.map +1 -0
  31. package/lib/module/utils/ConstantsUtil.js +1 -1
  32. package/lib/module/utils/ConstantsUtil.js.map +1 -1
  33. package/lib/module/utils/NumberUtil.js +52 -11
  34. package/lib/module/utils/NumberUtil.js.map +1 -1
  35. package/lib/module/utils/TypeUtil.js +7 -75
  36. package/lib/module/utils/TypeUtil.js.map +1 -1
  37. package/lib/typescript/adapters/BlockchainAdapter.d.ts +27 -0
  38. package/lib/typescript/adapters/BlockchainAdapter.d.ts.map +1 -0
  39. package/lib/typescript/adapters/EvmAdapter.d.ts +6 -0
  40. package/lib/typescript/adapters/EvmAdapter.d.ts.map +1 -0
  41. package/lib/typescript/adapters/SolanaBaseAdapter.d.ts +4 -0
  42. package/lib/typescript/adapters/SolanaBaseAdapter.d.ts.map +1 -0
  43. package/lib/typescript/index.d.ts +5 -0
  44. package/lib/typescript/index.d.ts.map +1 -1
  45. package/lib/typescript/networks/bitcoin.d.ts +4 -0
  46. package/lib/typescript/networks/bitcoin.d.ts.map +1 -0
  47. package/lib/typescript/networks/solana.d.ts +5 -0
  48. package/lib/typescript/networks/solana.d.ts.map +1 -0
  49. package/lib/typescript/utils/NumberUtil.d.ts +39 -11
  50. package/lib/typescript/utils/NumberUtil.d.ts.map +1 -1
  51. package/lib/typescript/utils/TypeUtil.d.ts +59 -42
  52. package/lib/typescript/utils/TypeUtil.d.ts.map +1 -1
  53. package/package.json +1 -1
  54. package/src/adapters/BlockchainAdapter.ts +109 -0
  55. package/src/adapters/EvmAdapter.ts +79 -0
  56. package/src/adapters/SolanaBaseAdapter.ts +5 -0
  57. package/src/index.ts +5 -0
  58. package/src/networks/bitcoin.ts +32 -0
  59. package/src/networks/solana.ts +44 -0
  60. package/src/utils/ConstantsUtil.ts +1 -1
  61. package/src/utils/NumberUtil.ts +54 -11
  62. package/src/utils/TypeUtil.ts +72 -113
@@ -4,88 +4,20 @@ import { EventEmitter } from 'events';
4
4
 
5
5
  //********** Adapter Event Map **********//
6
6
 
7
- //********** Adapter Types **********//
8
- export class BlockchainAdapter extends EventEmitter {
9
- // Typed emit method
10
- emit(event, payload) {
11
- return super.emit(event, payload);
12
- }
13
- constructor({
14
- projectId,
15
- supportedNamespace
16
- }) {
17
- super();
18
- this.projectId = projectId;
19
- this.supportedNamespace = supportedNamespace;
20
- }
21
- setConnector(connector) {
22
- this.connector = connector;
23
- this.subscribeToEvents();
24
- }
25
- removeConnector() {
26
- this.connector = undefined;
27
- }
28
- getProvider() {
29
- if (!this.connector) throw new Error('No active connector');
30
- return this.connector.getProvider();
31
- }
32
- subscribeToEvents() {
33
- const provider = this.connector?.getProvider();
34
- if (!provider) return;
35
- provider.on('chainChanged', this.onChainChanged.bind(this));
36
- provider.on('accountsChanged', this.onAccountsChanged.bind(this));
37
- provider.on('disconnect', this.onDisconnect.bind(this));
38
- }
39
- onChainChanged(chainId) {
40
- const _chains = this.getAccounts()?.map(account => account.split(':')[1]);
41
- const shouldEmit = _chains?.some(chain => chain === chainId);
42
- if (shouldEmit) {
43
- this.emit('chainChanged', {
44
- chainId,
45
- namespace: this.getSupportedNamespace()
46
- });
47
- }
48
- }
49
- onAccountsChanged(accounts) {
50
- const _accounts = this.getAccounts();
51
- const shouldEmit = _accounts?.some(account => {
52
- const accountAddress = account.split(':')[2];
53
- return accountAddress !== undefined && accounts.includes(accountAddress);
54
- });
55
- if (shouldEmit) {
56
- this.emit('accountsChanged', {
57
- accounts,
58
- namespace: this.getSupportedNamespace()
59
- });
60
- }
61
- }
62
- onDisconnect() {
63
- this.emit('disconnect', {
64
- namespace: this.getSupportedNamespace()
65
- });
66
- const provider = this.connector?.getProvider();
67
- if (provider) {
68
- provider.off('chainChanged', this.onChainChanged.bind(this));
69
- provider.off('accountsChanged', this.onAccountsChanged.bind(this));
70
- provider.off('disconnect', this.onDisconnect.bind(this));
71
- }
72
- this.connector = undefined;
73
- }
74
- }
75
- export class EVMAdapter extends BlockchainAdapter {
76
- // ens logic
77
- }
78
- export class SolanaBaseAdapter extends BlockchainAdapter {}
79
-
80
7
  //********** Connector Types **********//
81
8
 
82
9
  export class WalletConnector extends EventEmitter {
83
10
  constructor({
84
- type,
85
- provider
11
+ type
86
12
  }) {
87
13
  super();
88
14
  this.type = type;
15
+ }
16
+ async init(ops) {
17
+ this.storage = ops.storage;
18
+ this.metadata = ops.metadata;
19
+ }
20
+ setProvider(provider) {
89
21
  this.provider = provider;
90
22
  }
91
23
  }
@@ -1 +1 @@
1
- {"version":3,"names":["EventEmitter","BlockchainAdapter","emit","event","payload","constructor","projectId","supportedNamespace","setConnector","connector","subscribeToEvents","removeConnector","undefined","getProvider","Error","provider","on","onChainChanged","bind","onAccountsChanged","onDisconnect","chainId","_chains","getAccounts","map","account","split","shouldEmit","some","chain","namespace","getSupportedNamespace","accounts","_accounts","accountAddress","includes","off","EVMAdapter","SolanaBaseAdapter","WalletConnector","type"],"sourceRoot":"../../../src","sources":["utils/TypeUtil.ts"],"mappings":"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"}
1
+ {"version":3,"names":["EventEmitter","WalletConnector","constructor","type","init","ops","storage","metadata","setProvider","provider"],"sourceRoot":"../../../src","sources":["utils/TypeUtil.ts"],"mappings":"AAAA,SAASA,YAAY,QAAQ,QAAQ;;AAgKrC;;AAoBA;;AAsBA;;AA6BA,OAAO,MAAeC,eAAe,SAASD,YAAY,CAAC;EAQzDE,WAAWA,CAAC;IAAEC;EAAkC,CAAC,EAAE;IACjD,KAAK,CAAC,CAAC;IACP,IAAI,CAACA,IAAI,GAAGA,IAAI;EAClB;EAEA,MAAaC,IAAIA,CAACC,GAAyB,EAAE;IAC3C,IAAI,CAACC,OAAO,GAAGD,GAAG,CAACC,OAAO;IAC1B,IAAI,CAACC,QAAQ,GAAGF,GAAG,CAACE,QAAQ;EAC9B;EAEOC,WAAWA,CAACC,QAAkB,EAAE;IACrC,IAAI,CAACA,QAAQ,GAAGA,QAAQ;EAC1B;AASF;;AAEA;;AAmBA;;AAGA"}
@@ -0,0 +1,27 @@
1
+ /// <reference types="node" />
2
+ import { EventEmitter } from 'events';
3
+ import type { AdapterEvents, AppKitNetwork, CaipAddress, ChainNamespace, GetBalanceParams, GetBalanceResponse, Provider, WalletConnector } from '../utils/TypeUtil';
4
+ export declare abstract class BlockchainAdapter extends EventEmitter {
5
+ projectId: string;
6
+ connector?: WalletConnector;
7
+ supportedNamespace: ChainNamespace;
8
+ emit<K extends keyof AdapterEvents>(event: K, payload: Parameters<AdapterEvents[K]>[0]): boolean;
9
+ constructor({ projectId, supportedNamespace }: {
10
+ projectId: string;
11
+ supportedNamespace: ChainNamespace;
12
+ });
13
+ setConnector(connector: WalletConnector): void;
14
+ removeConnector(): void;
15
+ getProvider(): Provider;
16
+ subscribeToEvents(): void;
17
+ onChainChanged(chainId: string): void;
18
+ onAccountsChanged(accounts: string[]): void;
19
+ onDisconnect(): void;
20
+ parseUnits(value: string, decimals: number): bigint;
21
+ abstract disconnect(): Promise<void>;
22
+ abstract getSupportedNamespace(): ChainNamespace;
23
+ abstract getBalance(params: GetBalanceParams): Promise<GetBalanceResponse>;
24
+ abstract getAccounts(): CaipAddress[] | undefined;
25
+ abstract switchNetwork(network: AppKitNetwork): Promise<void>;
26
+ }
27
+ //# sourceMappingURL=BlockchainAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlockchainAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/BlockchainAdapter.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,QAAQ,EACR,eAAe,EAChB,MAAM,mBAAmB,CAAC;AAE3B,8BAAsB,iBAAkB,SAAQ,YAAY;IACnD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,kBAAkB,EAAE,cAAc,CAAC;IAGjC,IAAI,CAAC,CAAC,SAAS,MAAM,aAAa,EACzC,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACvC,OAAO;gBAIE,EACV,SAAS,EACT,kBAAkB,EACnB,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,kBAAkB,EAAE,cAAc,CAAC;KACpC;IAMD,YAAY,CAAC,SAAS,EAAE,eAAe;IAKvC,eAAe;IAIf,WAAW,IAAI,QAAQ;IAMvB,iBAAiB,IAAI,IAAI;IASzB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IASrC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAa3C,YAAY,IAAI,IAAI;IAapB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAOnD,QAAQ,CAAC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IACpC,QAAQ,CAAC,qBAAqB,IAAI,cAAc;IAChD,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAC1E,QAAQ,CAAC,WAAW,IAAI,WAAW,EAAE,GAAG,SAAS;IACjD,QAAQ,CAAC,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;CAC9D"}
@@ -0,0 +1,6 @@
1
+ import { BlockchainAdapter } from './BlockchainAdapter';
2
+ export declare abstract class EVMAdapter extends BlockchainAdapter {
3
+ estimateGas({ address, to, data, chainNamespace }: any): Promise<bigint>;
4
+ sendTransaction(data: any): Promise<`0x${string}` | null>;
5
+ }
6
+ //# sourceMappingURL=EvmAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EvmAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/EvmAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,8BAAsB,UAAW,SAAQ,iBAAiB;IAClD,WAAW,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;IAkCxE,eAAe,CAAC,IAAI,EAAE,GAAG;CAwChC"}
@@ -0,0 +1,4 @@
1
+ import { BlockchainAdapter } from './BlockchainAdapter';
2
+ export declare abstract class SolanaBaseAdapter extends BlockchainAdapter {
3
+ }
4
+ //# sourceMappingURL=SolanaBaseAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SolanaBaseAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/SolanaBaseAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,8BAAsB,iBAAkB,SAAQ,iBAAiB;CAEhE"}
@@ -8,5 +8,10 @@ export { PresetsUtil } from './utils/PresetsUtil';
8
8
  export { StringUtil } from './utils/StringUtil';
9
9
  export { ErrorUtil } from './utils/ErrorUtil';
10
10
  export { erc20ABI } from './contracts/erc20';
11
+ export { solana, solanaDevnet, solanaTestnet } from './networks/solana';
12
+ export { bitcoin, bitcoinTestnet } from './networks/bitcoin';
13
+ export { BlockchainAdapter } from './adapters/BlockchainAdapter';
14
+ export { EVMAdapter } from './adapters/EvmAdapter';
15
+ export { SolanaBaseAdapter } from './adapters/SolanaBaseAdapter';
11
16
  export * from './utils/TypeUtil';
12
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { AppKitNetwork } from '../utils/TypeUtil';
2
+ export declare const bitcoin: AppKitNetwork;
3
+ export declare const bitcoinTestnet: AppKitNetwork;
4
+ //# sourceMappingURL=bitcoin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bitcoin.d.ts","sourceRoot":"","sources":["../../../src/networks/bitcoin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,eAAO,MAAM,OAAO,EAAE,aAarB,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,aAc5B,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { AppKitNetwork } from '../utils/TypeUtil';
2
+ export declare const solana: AppKitNetwork;
3
+ export declare const solanaDevnet: AppKitNetwork;
4
+ export declare const solanaTestnet: AppKitNetwork;
5
+ //# sourceMappingURL=solana.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solana.d.ts","sourceRoot":"","sources":["../../../src/networks/solana.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,eAAO,MAAM,MAAM,EAAE,aAcpB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,aAY1B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,aAW3B,CAAC"}
@@ -1,27 +1,55 @@
1
1
  import * as BigNumber from 'bignumber.js';
2
2
  export declare const NumberUtil: {
3
+ /**
4
+ * Creates a BigNumber instance from a given value.
5
+ * If the value is a string, commas are removed before conversion.
6
+ * @param value - The input value (string, number, or BigNumber) to convert to a BigNumber.
7
+ * @returns A BigNumber instance.
8
+ */
3
9
  bigNumber(value: BigNumber.BigNumber.Value): BigNumber.BigNumber;
4
10
  /**
5
- * Multiply two numbers represented as strings with BigNumber to handle decimals correctly
6
- * @param a string
7
- * @param b string
8
- * @returns
11
+ * Multiplies two numbers using BigNumber for precision, especially with decimals.
12
+ * Handles undefined inputs by returning BigNumber(0).
13
+ * @param a - The first multiplicand (string, number, or BigNumber). Commas are removed if it's a string.
14
+ * @param b - The second multiplicand (string, number, or BigNumber). Commas are removed if it's a string.
15
+ * @returns The product as a BigNumber instance, or BigNumber(0) if either input is undefined.
9
16
  */
10
17
  multiply(a: BigNumber.BigNumber.Value | undefined, b: BigNumber.BigNumber.Value | undefined): BigNumber.BigNumber;
18
+ /**
19
+ * Rounds a number to a specified number of decimal places if its string representation meets a certain length threshold.
20
+ * @param number - The number to potentially round.
21
+ * @param threshold - The minimum string length of the number to trigger rounding.
22
+ * @param fixed - The number of decimal places to round to.
23
+ * @returns The rounded number (as a string if rounded, otherwise the original number) or the original number.
24
+ */
11
25
  roundNumber(number: number, threshold: number, fixed: number): string | number;
26
+ /**
27
+ * Calculates the next multiple of ten greater than or equal to the given amount.
28
+ * Defaults to 10 if no amount is provided or if the calculated multiple is less than 10.
29
+ * @param amount - The number for which to find the next multiple of ten. Optional.
30
+ * @returns The next multiple of ten, at least 10.
31
+ */
12
32
  nextMultipleOfTen(amount?: number): number;
13
33
  /**
14
- * Format the given number or string to human readable numbers with the given number of decimals
15
- * @param value - The value to format. It could be a number or string. If it's a string, it will be parsed to a float then formatted.
16
- * @param decimals - number of decimals after dot
17
- * @returns
34
+ * Formats a number or string to a human-readable string with a specified number of decimal places, using US locale formatting.
35
+ * @param value - The value to format (string, number, or undefined). If undefined, returns '0.00'.
36
+ * @param decimals - The number of decimal places to display. Defaults to 2.
37
+ * @returns A locale-formatted string representation of the number.
18
38
  */
19
39
  formatNumberToLocalString(value: string | number | undefined, decimals?: number): string;
20
40
  /**
21
- * Parse a formatted local string back to a number
22
- * @param value - The formatted string to parse
23
- * @returns
41
+ * Parses a locale-formatted numeric string (e.g., with commas) back into a number.
42
+ * @param value - The formatted string to parse. If undefined, returns 0.
43
+ * @returns The parsed number, or 0 if the input is undefined.
24
44
  */
25
45
  parseLocalStringToNumber(value: string | undefined): number;
46
+ /**
47
+ * Converts a numeric value (BigInt, number, or string representation of a number) to a 0x-prefixed hexadecimal string.
48
+ * This is often required for Ethereum RPC parameters like value, gas, gasPrice.
49
+ * @param value - The value to convert. Can be BigInt, number, or a string (decimal or hex).
50
+ * @returns A 0x-prefixed hexadecimal string, or undefined if the input is undefined or null.
51
+ * @throws Error if the value cannot be converted to BigInt.
52
+ */
53
+ convertNumericToHexString: (value: any) => string | undefined;
26
54
  };
27
55
  //# sourceMappingURL=NumberUtil.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NumberUtil.d.ts","sourceRoot":"","sources":["../../../src/utils/NumberUtil.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,cAAc,CAAC;AAE1C,eAAO,MAAM,UAAU;qBACJ,mBAAmB,CAAC,KAAK;IAQ1C;;;;;OAKG;gBACS,mBAAmB,CAAC,KAAK,GAAG,SAAS,KAAK,mBAAmB,CAAC,KAAK,GAAG,SAAS;wBAWvE,MAAM,aAAa,MAAM,SAAS,MAAM;+BAOjC,MAAM;IAMjC;;;;;OAKG;qCAC8B,MAAM,GAAG,MAAM,GAAG,SAAS;IAiB5D;;;;OAIG;oCAC6B,MAAM,GAAG,SAAS;CAQnD,CAAC"}
1
+ {"version":3,"file":"NumberUtil.d.ts","sourceRoot":"","sources":["../../../src/utils/NumberUtil.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,cAAc,CAAC;AAE1C,eAAO,MAAM,UAAU;IACrB;;;;;OAKG;qBACc,mBAAmB,CAAC,KAAK;IAQ1C;;;;;;OAMG;gBACS,mBAAmB,CAAC,KAAK,GAAG,SAAS,KAAK,mBAAmB,CAAC,KAAK,GAAG,SAAS;IAW3F;;;;;;OAMG;wBACiB,MAAM,aAAa,MAAM,SAAS,MAAM;IAO5D;;;;;OAKG;+BACwB,MAAM;IAMjC;;;;;OAKG;qCAC8B,MAAM,GAAG,MAAM,GAAG,SAAS;IAkB5D;;;;OAIG;oCAC6B,MAAM,GAAG,SAAS;IASlD;;;;;;OAMG;uCACgC,GAAG,KAAG,MAAM,GAAG,SAAS;CAc5D,CAAC"}
@@ -50,7 +50,7 @@ export interface Balance {
50
50
  name: string;
51
51
  symbol: string;
52
52
  chainId: string;
53
- address?: string;
53
+ address?: CaipAddress;
54
54
  value?: number;
55
55
  price: number;
56
56
  quantity: BalanceQuantity;
@@ -133,19 +133,25 @@ export interface Token {
133
133
  }
134
134
  export type Tokens = Record<CaipNetworkId, Token>;
135
135
  export type ConnectorType = 'WALLET_CONNECT' | 'COINBASE' | 'AUTH' | 'EXTERNAL';
136
+ export type Metadata = {
137
+ name: string;
138
+ description: string;
139
+ url: string;
140
+ icons: string[];
141
+ redirect?: {
142
+ native?: string;
143
+ universal?: string;
144
+ linkMode?: boolean;
145
+ };
146
+ };
136
147
  export type AccountsChangedEvent = {
137
148
  accounts: string[];
138
- namespace: ChainNamespace;
139
149
  };
140
150
  export type ChainChangedEvent = {
141
151
  chainId: string;
142
- namespace: ChainNamespace;
143
- };
144
- export type DisconnectEvent = {
145
- namespace: ChainNamespace;
146
152
  };
153
+ export type DisconnectEvent = {};
147
154
  export type BalanceChangedEvent = {
148
- namespace: ChainNamespace;
149
155
  address: CaipAddress;
150
156
  balance: {
151
157
  amount: string;
@@ -159,32 +165,6 @@ export interface AdapterEvents {
159
165
  disconnect: (event: DisconnectEvent) => void;
160
166
  balanceChanged: (event: BalanceChangedEvent) => void;
161
167
  }
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
168
  export interface GetBalanceParams {
189
169
  address?: CaipAddress;
190
170
  network?: AppKitNetwork;
@@ -204,20 +184,31 @@ interface BaseNamespace {
204
184
  }
205
185
  type Namespace = BaseNamespace;
206
186
  export type Namespaces = Record<string, Namespace>;
207
- export type ProposalNamespaces = Record<string, Omit<Namespace, 'accounts'> & Required<Pick<Namespace, 'chains'>>>;
187
+ export type ProposalNamespaces = Record<string, Omit<Namespace, 'accounts'> & Required<Pick<Namespace, 'chains'>> & {
188
+ rpcMap: Record<string, string>;
189
+ }>;
190
+ export type ConnectOptions = {
191
+ namespaces?: ProposalNamespaces;
192
+ defaultChain?: CaipNetworkId;
193
+ universalLink?: string;
194
+ };
195
+ export type ConnectorInitOptions = {
196
+ storage: Storage;
197
+ metadata: Metadata;
198
+ };
208
199
  export declare abstract class WalletConnector extends EventEmitter {
209
200
  type: New_ConnectorType;
210
- protected provider: Provider;
201
+ protected provider?: Provider;
211
202
  protected namespaces?: Namespaces;
212
203
  protected wallet?: WalletInfo;
213
- constructor({ type, provider }: {
204
+ protected storage?: Storage;
205
+ protected metadata?: Metadata;
206
+ constructor({ type }: {
214
207
  type: New_ConnectorType;
215
- provider: Provider;
216
208
  });
217
- abstract connect(opts: {
218
- namespaces?: ProposalNamespaces;
219
- defaultChain?: CaipNetworkId;
220
- }): Promise<Namespaces | undefined>;
209
+ init(ops: ConnectorInitOptions): Promise<void>;
210
+ setProvider(provider: Provider): void;
211
+ abstract connect(opts: ConnectOptions): Promise<Namespaces | undefined>;
221
212
  abstract disconnect(): Promise<void>;
222
213
  abstract getProvider(): Provider;
223
214
  abstract getNamespaces(): Namespaces;
@@ -236,7 +227,7 @@ export interface RequestArguments {
236
227
  method: string;
237
228
  params?: unknown[] | Record<string, unknown> | object | undefined;
238
229
  }
239
- export type New_ConnectorType = 'walletconnect' | 'coinbase' | 'auth';
230
+ export type New_ConnectorType = 'walletconnect' | 'coinbase' | 'auth' | 'phantom';
240
231
  export interface ConnectionResponse {
241
232
  accounts: string[];
242
233
  chainId: string;
@@ -255,5 +246,31 @@ export interface WalletInfo {
255
246
  };
256
247
  [key: string]: unknown;
257
248
  }
249
+ export interface Storage {
250
+ /**
251
+ * Returns all keys in storage.
252
+ */
253
+ getKeys(): Promise<string[]>;
254
+ /**
255
+ * Returns all key-value entries in storage.
256
+ */
257
+ getEntries<T = any>(): Promise<[string, T][]>;
258
+ /**
259
+ * Get an item from storage for a given key.
260
+ * @param key The key to retrieve.
261
+ */
262
+ getItem<T = any>(key: string): Promise<T | undefined>;
263
+ /**
264
+ * Set an item in storage for a given key.
265
+ * @param key The key to set.
266
+ * @param value The value to set.
267
+ */
268
+ setItem<T = any>(key: string, value: T): Promise<void>;
269
+ /**
270
+ * Remove an item from storage for a given key.
271
+ * @param key The key to remove.
272
+ */
273
+ removeItem(key: string): Promise<void>;
274
+ }
258
275
  export {};
259
276
  //# 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,6 +1,6 @@
1
1
  {
2
2
  "name": "@reown/appkit-common-react-native",
3
- "version": "2.0.0-alpha.0",
3
+ "version": "2.0.0",
4
4
  "main": "lib/commonjs/index.js",
5
5
  "types": "lib/typescript/index.d.ts",
6
6
  "module": "lib/module/index.js",
@@ -0,0 +1,109 @@
1
+ import { EventEmitter } from 'events';
2
+ import type {
3
+ AdapterEvents,
4
+ AppKitNetwork,
5
+ CaipAddress,
6
+ ChainNamespace,
7
+ GetBalanceParams,
8
+ GetBalanceResponse,
9
+ Provider,
10
+ WalletConnector
11
+ } from '../utils/TypeUtil';
12
+
13
+ export abstract class BlockchainAdapter extends EventEmitter {
14
+ public projectId: string;
15
+ public connector?: WalletConnector;
16
+ public supportedNamespace: ChainNamespace;
17
+
18
+ // Typed emit method
19
+ override emit<K extends keyof AdapterEvents>(
20
+ event: K,
21
+ payload: Parameters<AdapterEvents[K]>[0]
22
+ ): boolean {
23
+ return super.emit(event, payload);
24
+ }
25
+
26
+ constructor({
27
+ projectId,
28
+ supportedNamespace
29
+ }: {
30
+ projectId: string;
31
+ supportedNamespace: ChainNamespace;
32
+ }) {
33
+ super();
34
+ this.projectId = projectId;
35
+ this.supportedNamespace = supportedNamespace;
36
+ }
37
+
38
+ setConnector(connector: WalletConnector) {
39
+ this.connector = connector;
40
+ this.subscribeToEvents();
41
+ }
42
+
43
+ removeConnector() {
44
+ this.connector = undefined;
45
+ }
46
+
47
+ getProvider(): Provider {
48
+ if (!this.connector) throw new Error('No active connector');
49
+
50
+ return this.connector.getProvider();
51
+ }
52
+
53
+ subscribeToEvents(): void {
54
+ const provider = this.connector?.getProvider();
55
+ if (!provider) return;
56
+
57
+ provider.on('chainChanged', this.onChainChanged.bind(this));
58
+ provider.on('accountsChanged', this.onAccountsChanged.bind(this));
59
+ provider.on('disconnect', this.onDisconnect.bind(this));
60
+ }
61
+
62
+ onChainChanged(chainId: string): void {
63
+ const _chains = this.getAccounts()?.map(account => account.split(':')[1]);
64
+ const shouldEmit = _chains?.some(chain => chain === chainId);
65
+
66
+ if (shouldEmit) {
67
+ this.emit('chainChanged', { chainId });
68
+ }
69
+ }
70
+
71
+ onAccountsChanged(accounts: string[]): void {
72
+ const _accounts = this.getAccounts();
73
+ const shouldEmit = _accounts?.some(account => {
74
+ const accountAddress = account.split(':')[2];
75
+
76
+ return accountAddress !== undefined && accounts.includes(accountAddress);
77
+ });
78
+
79
+ if (shouldEmit) {
80
+ this.emit('accountsChanged', { accounts });
81
+ }
82
+ }
83
+
84
+ onDisconnect(): void {
85
+ this.emit('disconnect', { namespace: this.getSupportedNamespace() });
86
+
87
+ const provider = this.connector?.getProvider();
88
+ if (provider) {
89
+ provider.off('chainChanged', this.onChainChanged.bind(this));
90
+ provider.off('accountsChanged', this.onAccountsChanged.bind(this));
91
+ provider.off('disconnect', this.onDisconnect.bind(this));
92
+ }
93
+
94
+ this.connector = undefined;
95
+ }
96
+
97
+ parseUnits(value: string, decimals: number): bigint {
98
+ const [whole, fraction = ''] = value.split('.');
99
+ const paddedFraction = (fraction + '0'.repeat(decimals)).slice(0, decimals);
100
+
101
+ return BigInt(whole + paddedFraction);
102
+ }
103
+
104
+ abstract disconnect(): Promise<void>;
105
+ abstract getSupportedNamespace(): ChainNamespace;
106
+ abstract getBalance(params: GetBalanceParams): Promise<GetBalanceResponse>;
107
+ abstract getAccounts(): CaipAddress[] | undefined;
108
+ abstract switchNetwork(network: AppKitNetwork): Promise<void>;
109
+ }