@reown/appkit-common-react-native 0.0.0-feat-multi-social-20250714211631 → 0.0.0-feat-onramp-20250718185718

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 (74) hide show
  1. package/lib/commonjs/index.js +1 -62
  2. package/lib/commonjs/index.js.map +1 -1
  3. package/lib/commonjs/utils/ConstantsUtil.js +1 -4
  4. package/lib/commonjs/utils/ConstantsUtil.js.map +1 -1
  5. package/lib/commonjs/utils/NumberUtil.js +11 -52
  6. package/lib/commonjs/utils/NumberUtil.js.map +1 -1
  7. package/lib/commonjs/utils/PresetsUtil.js +8 -34
  8. package/lib/commonjs/utils/PresetsUtil.js.map +1 -1
  9. package/lib/commonjs/utils/TypeUtil.js +0 -46
  10. package/lib/commonjs/utils/TypeUtil.js.map +1 -1
  11. package/lib/module/index.js +0 -5
  12. package/lib/module/index.js.map +1 -1
  13. package/lib/module/utils/ConstantsUtil.js +1 -4
  14. package/lib/module/utils/ConstantsUtil.js.map +1 -1
  15. package/lib/module/utils/NumberUtil.js +11 -52
  16. package/lib/module/utils/NumberUtil.js.map +1 -1
  17. package/lib/module/utils/PresetsUtil.js +8 -34
  18. package/lib/module/utils/PresetsUtil.js.map +1 -1
  19. package/lib/module/utils/TypeUtil.js +0 -40
  20. package/lib/module/utils/TypeUtil.js.map +1 -1
  21. package/lib/typescript/index.d.ts +0 -5
  22. package/lib/typescript/index.d.ts.map +1 -1
  23. package/lib/typescript/utils/ConstantsUtil.d.ts +0 -3
  24. package/lib/typescript/utils/ConstantsUtil.d.ts.map +1 -1
  25. package/lib/typescript/utils/NumberUtil.d.ts +11 -39
  26. package/lib/typescript/utils/NumberUtil.d.ts.map +1 -1
  27. package/lib/typescript/utils/PresetsUtil.d.ts +3 -1
  28. package/lib/typescript/utils/PresetsUtil.d.ts.map +1 -1
  29. package/lib/typescript/utils/TypeUtil.d.ts +11 -291
  30. package/lib/typescript/utils/TypeUtil.d.ts.map +1 -1
  31. package/package.json +2 -2
  32. package/src/index.ts +0 -5
  33. package/src/utils/ConstantsUtil.ts +1 -4
  34. package/src/utils/NumberUtil.ts +11 -54
  35. package/src/utils/PresetsUtil.ts +10 -36
  36. package/src/utils/TypeUtil.ts +13 -375
  37. package/lib/commonjs/adapters/BlockchainAdapter.js +0 -79
  38. package/lib/commonjs/adapters/BlockchainAdapter.js.map +0 -1
  39. package/lib/commonjs/adapters/EvmAdapter.js +0 -267
  40. package/lib/commonjs/adapters/EvmAdapter.js.map +0 -1
  41. package/lib/commonjs/adapters/SolanaBaseAdapter.js +0 -12
  42. package/lib/commonjs/adapters/SolanaBaseAdapter.js.map +0 -1
  43. package/lib/commonjs/networks/bitcoin.js +0 -40
  44. package/lib/commonjs/networks/bitcoin.js.map +0 -1
  45. package/lib/commonjs/networks/solana.js +0 -78
  46. package/lib/commonjs/networks/solana.js.map +0 -1
  47. package/lib/module/adapters/BlockchainAdapter.js +0 -72
  48. package/lib/module/adapters/BlockchainAdapter.js.map +0 -1
  49. package/lib/module/adapters/EvmAdapter.js +0 -261
  50. package/lib/module/adapters/EvmAdapter.js.map +0 -1
  51. package/lib/module/adapters/SolanaBaseAdapter.js +0 -5
  52. package/lib/module/adapters/SolanaBaseAdapter.js.map +0 -1
  53. package/lib/module/networks/bitcoin.js +0 -34
  54. package/lib/module/networks/bitcoin.js.map +0 -1
  55. package/lib/module/networks/solana.js +0 -72
  56. package/lib/module/networks/solana.js.map +0 -1
  57. package/lib/typescript/adapters/BlockchainAdapter.d.ts +0 -27
  58. package/lib/typescript/adapters/BlockchainAdapter.d.ts.map +0 -1
  59. package/lib/typescript/adapters/EvmAdapter.d.ts +0 -55
  60. package/lib/typescript/adapters/EvmAdapter.d.ts.map +0 -1
  61. package/lib/typescript/adapters/SolanaBaseAdapter.d.ts +0 -4
  62. package/lib/typescript/adapters/SolanaBaseAdapter.d.ts.map +0 -1
  63. package/lib/typescript/adapters/__tests__/EvmAdapter.test.d.ts +0 -2
  64. package/lib/typescript/adapters/__tests__/EvmAdapter.test.d.ts.map +0 -1
  65. package/lib/typescript/networks/bitcoin.d.ts +0 -4
  66. package/lib/typescript/networks/bitcoin.d.ts.map +0 -1
  67. package/lib/typescript/networks/solana.d.ts +0 -5
  68. package/lib/typescript/networks/solana.d.ts.map +0 -1
  69. package/src/adapters/BlockchainAdapter.ts +0 -109
  70. package/src/adapters/EvmAdapter.ts +0 -298
  71. package/src/adapters/SolanaBaseAdapter.ts +0 -5
  72. package/src/adapters/__tests__/EvmAdapter.test.ts +0 -104
  73. package/src/networks/bitcoin.ts +0 -32
  74. package/src/networks/solana.ts +0 -44
@@ -1,261 +0,0 @@
1
- import { BlockchainAdapter } from './BlockchainAdapter';
2
- import { NumberUtil } from '../utils/NumberUtil';
3
-
4
- // Type definitions for writeContract
5
-
6
- // Simple ABI encoder for ERC20 functions
7
- function encodeERC20Function(method, params) {
8
- const functionSelectors = {
9
- transfer: '0xa9059cbb',
10
- // transfer(address,uint256)
11
- transferFrom: '0x23b872dd',
12
- // transferFrom(address,address,uint256)
13
- approve: '0x095ea7b3' // approve(address,uint256)
14
- };
15
-
16
- const selector = functionSelectors[method];
17
- if (!selector) {
18
- throw new Error(`EVMAdapter:encodeERC20Function - unsupported method: ${method}`);
19
- }
20
- let encodedParams = '';
21
- switch (method) {
22
- case 'transfer':
23
- if (params.length !== 2) throw new Error('transfer requires 2 parameters: to, amount');
24
- const [to, amount] = params;
25
- encodedParams = to.toLowerCase().slice(2).padStart(64, '0') + amount.toString(16).padStart(64, '0');
26
- break;
27
- case 'transferFrom':
28
- if (params.length !== 3) throw new Error('transferFrom requires 3 parameters: from, to, amount');
29
- const [from, toTransferFrom, amountTransferFrom] = params;
30
- encodedParams = from.toLowerCase().slice(2).padStart(64, '0') + toTransferFrom.toLowerCase().slice(2).padStart(64, '0') + amountTransferFrom.toString(16).padStart(64, '0');
31
- break;
32
- case 'approve':
33
- if (params.length !== 2) throw new Error('approve requires 2 parameters: spender, amount');
34
- const [spender, amountApprove] = params;
35
- encodedParams = spender.toLowerCase().slice(2).padStart(64, '0') + amountApprove.toString(16).padStart(64, '0');
36
- break;
37
- default:
38
- throw new Error(`EVMAdapter:encodeERC20Function - unsupported method: ${method}`);
39
- }
40
- return selector + encodedParams;
41
- }
42
- export class EVMAdapter extends BlockchainAdapter {
43
- subscribeToEvents() {
44
- super.subscribeToEvents();
45
- const provider = this.getProvider();
46
- if (!provider) return;
47
- provider.on('reown_updateEmail', info => {
48
- // this.emit('updateEmail', email);
49
- //TODO: check this
50
- //eslint-disable-next-line no-console
51
- console.log('reown_updateEmail', info);
52
- });
53
- }
54
- async signMessage(address, message, chain) {
55
- const provider = this.getProvider();
56
- if (!provider) {
57
- throw new Error('EVMAdapter:signMessage - provider is undefined');
58
- }
59
- const signature = await provider.request({
60
- method: 'personal_sign',
61
- params: [message, address]
62
- }, `eip155:${chain}`);
63
- return signature;
64
- }
65
- async estimateGas({
66
- address,
67
- to,
68
- data,
69
- chainNamespace
70
- }) {
71
- const provider = this.getProvider();
72
- if (!provider) {
73
- throw new Error('EVMAdapter:estimateGas - provider is undefined');
74
- }
75
- if (!address) {
76
- throw new Error('EVMAdapter:estimateGas - from address is undefined');
77
- }
78
- if (chainNamespace && chainNamespace !== 'eip155') {
79
- throw new Error('EVMAdapter:estimateGas - chainNamespace is not eip155');
80
- }
81
- try {
82
- const txParams = {
83
- from: address,
84
- to,
85
- data,
86
- type: '0x0' // optional, legacy type
87
- };
88
-
89
- const estimatedGasHex = await provider.request({
90
- method: 'eth_estimateGas',
91
- params: [txParams]
92
- });
93
- return BigInt(estimatedGasHex);
94
- } catch (error) {
95
- throw new Error('EVMAdapter:estimateGas - eth_estimateGas RPC failed');
96
- }
97
- }
98
- async sendTransaction(data) {
99
- const {
100
- address
101
- } = data || {};
102
- if (!this.getProvider()) {
103
- throw new Error('EVMAdapter:sendTransaction - provider is undefined');
104
- }
105
- if (!address) {
106
- throw new Error('EVMAdapter:sendTransaction - address is undefined');
107
- }
108
- const txParams = {
109
- from: address,
110
- to: data.to,
111
- value: NumberUtil.convertNumericToHexString(data.value),
112
- gas: NumberUtil.convertNumericToHexString(data.gas),
113
- gasPrice: NumberUtil.convertNumericToHexString(data.gasPrice),
114
- data: data.data,
115
- // hex-encoded bytecode
116
- type: '0x0' // optional: legacy transaction type
117
- };
118
-
119
- const txHash = await this.getProvider().request({
120
- method: 'eth_sendTransaction',
121
- params: [txParams]
122
- });
123
- return txHash || null;
124
- }
125
-
126
- /**
127
- * Executes a write operation on an ERC20 smart contract.
128
- * This function is library-agnostic and uses only the provider for blockchain interactions.
129
- *
130
- * @param data - The contract interaction data
131
- * @param data.tokenAddress - The ERC20 token contract address
132
- * @param data.receiverAddress - The recipient address (required for transfer method)
133
- * @param data.tokenAmount - The amount of tokens to transfer/approve
134
- * @param data.fromAddress - The sender's address
135
- * @param data.method - The ERC20 method to call: 'transfer', 'transferFrom', or 'approve'
136
- * @param data.spenderAddress - The spender address (required for transferFrom and approve methods)
137
- * @param data.abi - Optional ABI for future extensibility
138
- *
139
- * @returns Promise resolving to the transaction block hash or null if failed
140
- *
141
- * @example
142
- * ```typescript
143
- * // Transfer tokens
144
- * const result = await adapter.writeContract({
145
- * tokenAddress: '0x1234567890123456789012345678901234567890',
146
- * receiverAddress: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd',
147
- * tokenAmount: BigInt(1000000000000000000), // 1 token with 18 decimals
148
- * fromAddress: '0x1234567890123456789012345678901234567890',
149
- * method: 'transfer'
150
- * });
151
- *
152
- * // Approve tokens
153
- * const result = await adapter.writeContract({
154
- * tokenAddress: '0x1234567890123456789012345678901234567890',
155
- * receiverAddress: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd',
156
- * tokenAmount: BigInt(1000000000000000000),
157
- * fromAddress: '0x1234567890123456789012345678901234567890',
158
- * method: 'approve',
159
- * spenderAddress: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd'
160
- * });
161
- * ```
162
- */
163
- async writeContract(data) {
164
- const {
165
- tokenAddress,
166
- receiverAddress,
167
- tokenAmount,
168
- method,
169
- fromAddress,
170
- spenderAddress
171
- } = data;
172
- if (!this.getProvider()) {
173
- throw new Error('EVMAdapter:writeContract - provider is undefined');
174
- }
175
- if (!fromAddress) {
176
- throw new Error('EVMAdapter:writeContract - fromAddress is undefined');
177
- }
178
- if (!tokenAddress) {
179
- throw new Error('EVMAdapter:writeContract - tokenAddress is undefined');
180
- }
181
- if (!tokenAmount) {
182
- throw new Error('EVMAdapter:writeContract - tokenAmount is undefined');
183
- }
184
- if (!method) {
185
- throw new Error('EVMAdapter:writeContract - method is undefined');
186
- }
187
-
188
- // Validate method-specific parameters
189
- if (method === 'transfer' && !receiverAddress) {
190
- throw new Error('EVMAdapter:writeContract - receiverAddress is required for transfer method');
191
- }
192
- if ((method === 'transferFrom' || method === 'approve') && !spenderAddress) {
193
- throw new Error(`EVMAdapter:writeContract - spenderAddress is required for ${method} method`);
194
- }
195
-
196
- // Encode the function call data based on method
197
- let encodedData;
198
- switch (method) {
199
- case 'transfer':
200
- encodedData = encodeERC20Function('transfer', [receiverAddress, tokenAmount]);
201
- break;
202
- case 'transferFrom':
203
- encodedData = encodeERC20Function('transferFrom', [fromAddress, receiverAddress, tokenAmount]);
204
- break;
205
- case 'approve':
206
- encodedData = encodeERC20Function('approve', [spenderAddress, tokenAmount]);
207
- break;
208
- default:
209
- throw new Error(`EVMAdapter:writeContract - method '${method}' is not supported`);
210
- }
211
-
212
- // Create transaction parameters
213
- const txParams = {
214
- from: fromAddress,
215
- to: tokenAddress,
216
- data: encodedData,
217
- value: '0x0',
218
- // No ETH value for token operations
219
- type: '0x0' // legacy transaction type
220
- };
221
-
222
- try {
223
- // Send the transaction
224
- const txHash = await this.getProvider().request({
225
- method: 'eth_sendTransaction',
226
- params: [txParams]
227
- });
228
-
229
- // Wait for transaction receipt
230
- let receipt = null;
231
- let attempts = 0;
232
- const maxAttempts = 60; // 60 seconds timeout
233
-
234
- while (!receipt && attempts < maxAttempts) {
235
- receipt = await this.getProvider().request({
236
- method: 'eth_getTransactionReceipt',
237
- params: [txHash]
238
- });
239
- if (!receipt) {
240
- await new Promise(r => setTimeout(r, 1000)); // wait 1s
241
- attempts++;
242
- }
243
- }
244
- if (!receipt) {
245
- throw new Error('EVMAdapter:writeContract - transaction timeout');
246
- }
247
-
248
- // Check if transaction was successful
249
- if (receipt.status === '0x0') {
250
- throw new Error('EVMAdapter:writeContract - transaction failed');
251
- }
252
- return receipt?.blockHash || null;
253
- } catch (error) {
254
- if (error instanceof Error) {
255
- throw new Error(`EVMAdapter:writeContract - ${error.message}`);
256
- }
257
- throw new Error('EVMAdapter:writeContract - unknown error occurred');
258
- }
259
- }
260
- }
261
- //# sourceMappingURL=EvmAdapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["BlockchainAdapter","NumberUtil","encodeERC20Function","method","params","functionSelectors","transfer","transferFrom","approve","selector","Error","encodedParams","length","to","amount","toLowerCase","slice","padStart","toString","from","toTransferFrom","amountTransferFrom","spender","amountApprove","EVMAdapter","subscribeToEvents","provider","getProvider","on","info","console","log","signMessage","address","message","chain","signature","request","estimateGas","data","chainNamespace","txParams","type","estimatedGasHex","BigInt","error","sendTransaction","value","convertNumericToHexString","gas","gasPrice","txHash","writeContract","tokenAddress","receiverAddress","tokenAmount","fromAddress","spenderAddress","encodedData","receipt","attempts","maxAttempts","Promise","r","setTimeout","status","blockHash"],"sourceRoot":"../../../src","sources":["adapters/EvmAdapter.ts"],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- import { BlockchainAdapter } from './BlockchainAdapter';
2
- export class SolanaBaseAdapter extends BlockchainAdapter {
3
- // solana logic
4
- }
5
- //# sourceMappingURL=SolanaBaseAdapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["BlockchainAdapter","SolanaBaseAdapter"],"sourceRoot":"../../../src","sources":["adapters/SolanaBaseAdapter.ts"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAEvD,OAAO,MAAeC,iBAAiB,SAASD,iBAAiB,CAAC;EAChE;AAAA"}
@@ -1,34 +0,0 @@
1
- export const bitcoin = {
2
- id: '000000000019d6689c085ae165831e93',
3
- caipNetworkId: 'bip122:000000000019d6689c085ae165831e93',
4
- chainNamespace: 'bip122',
5
- name: 'Bitcoin',
6
- nativeCurrency: {
7
- name: 'Bitcoin',
8
- symbol: 'BTC',
9
- decimals: 8
10
- },
11
- rpcUrls: {
12
- default: {
13
- http: ['https://rpc.walletconnect.org/v1']
14
- }
15
- }
16
- };
17
- export const bitcoinTestnet = {
18
- id: '000000000933ea01ad0ee984209779ba',
19
- caipNetworkId: 'bip122:000000000933ea01ad0ee984209779ba',
20
- chainNamespace: 'bip122',
21
- name: 'Bitcoin Testnet',
22
- nativeCurrency: {
23
- name: 'Bitcoin',
24
- symbol: 'BTC',
25
- decimals: 8
26
- },
27
- rpcUrls: {
28
- default: {
29
- http: ['https://rpc.walletconnect.org/v1']
30
- }
31
- },
32
- testnet: true
33
- };
34
- //# sourceMappingURL=bitcoin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["bitcoin","id","caipNetworkId","chainNamespace","name","nativeCurrency","symbol","decimals","rpcUrls","default","http","bitcoinTestnet","testnet"],"sourceRoot":"../../../src","sources":["networks/bitcoin.ts"],"mappings":"AAEA,OAAO,MAAMA,OAAsB,GAAG;EACpCC,EAAE,EAAE,kCAAkC;EACtCC,aAAa,EAAE,yCAAyC;EACxDC,cAAc,EAAE,QAAQ;EACxBC,IAAI,EAAE,SAAS;EACfC,cAAc,EAAE;IACdD,IAAI,EAAE,SAAS;IACfE,MAAM,EAAE,KAAK;IACbC,QAAQ,EAAE;EACZ,CAAC;EACDC,OAAO,EAAE;IACPC,OAAO,EAAE;MAAEC,IAAI,EAAE,CAAC,kCAAkC;IAAE;EACxD;AACF,CAAC;AAED,OAAO,MAAMC,cAA6B,GAAG;EAC3CV,EAAE,EAAE,kCAAkC;EACtCC,aAAa,EAAE,yCAAyC;EACxDC,cAAc,EAAE,QAAQ;EACxBC,IAAI,EAAE,iBAAiB;EACvBC,cAAc,EAAE;IACdD,IAAI,EAAE,SAAS;IACfE,MAAM,EAAE,KAAK;IACbC,QAAQ,EAAE;EACZ,CAAC;EACDC,OAAO,EAAE;IACPC,OAAO,EAAE;MAAEC,IAAI,EAAE,CAAC,kCAAkC;IAAE;EACxD,CAAC;EACDE,OAAO,EAAE;AACX,CAAC"}
@@ -1,72 +0,0 @@
1
- export const solana = {
2
- id: '5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp',
3
- name: 'Solana',
4
- nativeCurrency: {
5
- name: 'Solana',
6
- symbol: 'SOL',
7
- decimals: 9
8
- },
9
- rpcUrls: {
10
- default: {
11
- http: ['https://rpc.walletconnect.org/v1']
12
- }
13
- },
14
- blockExplorers: {
15
- default: {
16
- name: 'Solscan',
17
- url: 'https://solscan.io'
18
- }
19
- },
20
- chainNamespace: 'solana',
21
- caipNetworkId: 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp',
22
- deprecatedCaipNetworkId: 'solana:4sGjMW1sUnHzSxGspuhpqLDx6wiyjNtZ',
23
- testnet: false
24
- };
25
- export const solanaDevnet = {
26
- id: 'EtWTRABZaYq6iMfeYKouRu166VU2xqa1',
27
- name: 'Solana Devnet',
28
- nativeCurrency: {
29
- name: 'Solana',
30
- symbol: 'SOL',
31
- decimals: 9
32
- },
33
- rpcUrls: {
34
- default: {
35
- http: ['https://rpc.walletconnect.org/v1']
36
- }
37
- },
38
- blockExplorers: {
39
- default: {
40
- name: 'Solscan',
41
- url: 'https://solscan.io'
42
- }
43
- },
44
- chainNamespace: 'solana',
45
- caipNetworkId: 'solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1',
46
- deprecatedCaipNetworkId: 'solana:8E9rvCKLFQia2Y35HXjjpWzj8weVo44K',
47
- testnet: true
48
- };
49
- export const solanaTestnet = {
50
- id: '4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z',
51
- name: 'Solana Testnet',
52
- nativeCurrency: {
53
- name: 'Solana',
54
- symbol: 'SOL',
55
- decimals: 9
56
- },
57
- rpcUrls: {
58
- default: {
59
- http: ['https://rpc.walletconnect.org/v1']
60
- }
61
- },
62
- blockExplorers: {
63
- default: {
64
- name: 'Solscan',
65
- url: 'https://solscan.io'
66
- }
67
- },
68
- chainNamespace: 'solana',
69
- caipNetworkId: 'solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z',
70
- testnet: true
71
- };
72
- //# sourceMappingURL=solana.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["solana","id","name","nativeCurrency","symbol","decimals","rpcUrls","default","http","blockExplorers","url","chainNamespace","caipNetworkId","deprecatedCaipNetworkId","testnet","solanaDevnet","solanaTestnet"],"sourceRoot":"../../../src","sources":["networks/solana.ts"],"mappings":"AAEA,OAAO,MAAMA,MAAqB,GAAG;EACnCC,EAAE,EAAE,kCAAkC;EACtCC,IAAI,EAAE,QAAQ;EACdC,cAAc,EAAE;IAAED,IAAI,EAAE,QAAQ;IAAEE,MAAM,EAAE,KAAK;IAAEC,QAAQ,EAAE;EAAE,CAAC;EAC9DC,OAAO,EAAE;IACPC,OAAO,EAAE;MACPC,IAAI,EAAE,CAAC,kCAAkC;IAC3C;EACF,CAAC;EACDC,cAAc,EAAE;IAAEF,OAAO,EAAE;MAAEL,IAAI,EAAE,SAAS;MAAEQ,GAAG,EAAE;IAAqB;EAAE,CAAC;EAC3EC,cAAc,EAAE,QAAQ;EACxBC,aAAa,EAAE,yCAAyC;EACxDC,uBAAuB,EAAE,yCAAyC;EAClEC,OAAO,EAAE;AACX,CAAC;AAED,OAAO,MAAMC,YAA2B,GAAG;EACzCd,EAAE,EAAE,kCAAkC;EACtCC,IAAI,EAAE,eAAe;EACrBC,cAAc,EAAE;IAAED,IAAI,EAAE,QAAQ;IAAEE,MAAM,EAAE,KAAK;IAAEC,QAAQ,EAAE;EAAE,CAAC;EAC9DC,OAAO,EAAE;IACPC,OAAO,EAAE;MAAEC,IAAI,EAAE,CAAC,kCAAkC;IAAE;EACxD,CAAC;EACDC,cAAc,EAAE;IAAEF,OAAO,EAAE;MAAEL,IAAI,EAAE,SAAS;MAAEQ,GAAG,EAAE;IAAqB;EAAE,CAAC;EAC3EC,cAAc,EAAE,QAAQ;EACxBC,aAAa,EAAE,yCAAyC;EACxDC,uBAAuB,EAAE,yCAAyC;EAClEC,OAAO,EAAE;AACX,CAAC;AAED,OAAO,MAAME,aAA4B,GAAG;EAC1Cf,EAAE,EAAE,kCAAkC;EACtCC,IAAI,EAAE,gBAAgB;EACtBC,cAAc,EAAE;IAAED,IAAI,EAAE,QAAQ;IAAEE,MAAM,EAAE,KAAK;IAAEC,QAAQ,EAAE;EAAE,CAAC;EAC9DC,OAAO,EAAE;IACPC,OAAO,EAAE;MAAEC,IAAI,EAAE,CAAC,kCAAkC;IAAE;EACxD,CAAC;EACDC,cAAc,EAAE;IAAEF,OAAO,EAAE;MAAEL,IAAI,EAAE,SAAS;MAAEQ,GAAG,EAAE;IAAqB;EAAE,CAAC;EAC3EC,cAAc,EAAE,QAAQ;EACxBC,aAAa,EAAE,yCAAyC;EACxDE,OAAO,EAAE;AACX,CAAC"}
@@ -1,27 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,55 +0,0 @@
1
- import { BlockchainAdapter } from './BlockchainAdapter';
2
- export interface WriteContractData {
3
- tokenAddress: `0x${string}`;
4
- receiverAddress: `0x${string}`;
5
- tokenAmount: bigint;
6
- fromAddress: `0x${string}`;
7
- method: 'transfer' | 'transferFrom' | 'approve';
8
- abi?: any;
9
- spenderAddress?: `0x${string}`;
10
- }
11
- export declare abstract class EVMAdapter extends BlockchainAdapter {
12
- subscribeToEvents(): void;
13
- signMessage(address: string, message: string, chain?: string): Promise<string>;
14
- estimateGas({ address, to, data, chainNamespace }: any): Promise<bigint>;
15
- sendTransaction(data: any): Promise<{} | null>;
16
- /**
17
- * Executes a write operation on an ERC20 smart contract.
18
- * This function is library-agnostic and uses only the provider for blockchain interactions.
19
- *
20
- * @param data - The contract interaction data
21
- * @param data.tokenAddress - The ERC20 token contract address
22
- * @param data.receiverAddress - The recipient address (required for transfer method)
23
- * @param data.tokenAmount - The amount of tokens to transfer/approve
24
- * @param data.fromAddress - The sender's address
25
- * @param data.method - The ERC20 method to call: 'transfer', 'transferFrom', or 'approve'
26
- * @param data.spenderAddress - The spender address (required for transferFrom and approve methods)
27
- * @param data.abi - Optional ABI for future extensibility
28
- *
29
- * @returns Promise resolving to the transaction block hash or null if failed
30
- *
31
- * @example
32
- * ```typescript
33
- * // Transfer tokens
34
- * const result = await adapter.writeContract({
35
- * tokenAddress: '0x1234567890123456789012345678901234567890',
36
- * receiverAddress: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd',
37
- * tokenAmount: BigInt(1000000000000000000), // 1 token with 18 decimals
38
- * fromAddress: '0x1234567890123456789012345678901234567890',
39
- * method: 'transfer'
40
- * });
41
- *
42
- * // Approve tokens
43
- * const result = await adapter.writeContract({
44
- * tokenAddress: '0x1234567890123456789012345678901234567890',
45
- * receiverAddress: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd',
46
- * tokenAmount: BigInt(1000000000000000000),
47
- * fromAddress: '0x1234567890123456789012345678901234567890',
48
- * method: 'approve',
49
- * spenderAddress: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd'
50
- * });
51
- * ```
52
- */
53
- writeContract(data: WriteContractData): Promise<`0x${string}` | null>;
54
- }
55
- //# sourceMappingURL=EvmAdapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EvmAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/EvmAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAIxD,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,KAAK,MAAM,EAAE,CAAC;IAC5B,eAAe,EAAE,KAAK,MAAM,EAAE,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;IAC3B,MAAM,EAAE,UAAU,GAAG,cAAc,GAAG,SAAS,CAAC;IAChD,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,cAAc,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;CAChC;AAkDD,8BAAsB,UAAW,SAAQ,iBAAiB;IAC/C,iBAAiB,IAAI,IAAI;IAa5B,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAiB9E,WAAW,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;IAkCxE,eAAe,CAAC,IAAI,EAAE,GAAG;IA6B/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACG,aAAa,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,KAAK,MAAM,EAAE,GAAG,IAAI,CAAC;CAwG5E"}
@@ -1,4 +0,0 @@
1
- import { BlockchainAdapter } from './BlockchainAdapter';
2
- export declare abstract class SolanaBaseAdapter extends BlockchainAdapter {
3
- }
4
- //# sourceMappingURL=SolanaBaseAdapter.d.ts.map
@@ -1 +0,0 @@
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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=EvmAdapter.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EvmAdapter.test.d.ts","sourceRoot":"","sources":["../../../../src/adapters/__tests__/EvmAdapter.test.ts"],"names":[],"mappings":""}
@@ -1,4 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,5 +0,0 @@
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
@@ -1 +0,0 @@
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,109 +0,0 @@
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
- }