@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,267 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.EVMAdapter = void 0;
7
- var _BlockchainAdapter = require("./BlockchainAdapter");
8
- var _NumberUtil = require("../utils/NumberUtil");
9
- // Type definitions for writeContract
10
-
11
- // Simple ABI encoder for ERC20 functions
12
- function encodeERC20Function(method, params) {
13
- const functionSelectors = {
14
- transfer: '0xa9059cbb',
15
- // transfer(address,uint256)
16
- transferFrom: '0x23b872dd',
17
- // transferFrom(address,address,uint256)
18
- approve: '0x095ea7b3' // approve(address,uint256)
19
- };
20
-
21
- const selector = functionSelectors[method];
22
- if (!selector) {
23
- throw new Error(`EVMAdapter:encodeERC20Function - unsupported method: ${method}`);
24
- }
25
- let encodedParams = '';
26
- switch (method) {
27
- case 'transfer':
28
- if (params.length !== 2) throw new Error('transfer requires 2 parameters: to, amount');
29
- const [to, amount] = params;
30
- encodedParams = to.toLowerCase().slice(2).padStart(64, '0') + amount.toString(16).padStart(64, '0');
31
- break;
32
- case 'transferFrom':
33
- if (params.length !== 3) throw new Error('transferFrom requires 3 parameters: from, to, amount');
34
- const [from, toTransferFrom, amountTransferFrom] = params;
35
- encodedParams = from.toLowerCase().slice(2).padStart(64, '0') + toTransferFrom.toLowerCase().slice(2).padStart(64, '0') + amountTransferFrom.toString(16).padStart(64, '0');
36
- break;
37
- case 'approve':
38
- if (params.length !== 2) throw new Error('approve requires 2 parameters: spender, amount');
39
- const [spender, amountApprove] = params;
40
- encodedParams = spender.toLowerCase().slice(2).padStart(64, '0') + amountApprove.toString(16).padStart(64, '0');
41
- break;
42
- default:
43
- throw new Error(`EVMAdapter:encodeERC20Function - unsupported method: ${method}`);
44
- }
45
- return selector + encodedParams;
46
- }
47
- class EVMAdapter extends _BlockchainAdapter.BlockchainAdapter {
48
- subscribeToEvents() {
49
- super.subscribeToEvents();
50
- const provider = this.getProvider();
51
- if (!provider) return;
52
- provider.on('reown_updateEmail', info => {
53
- // this.emit('updateEmail', email);
54
- //TODO: check this
55
- //eslint-disable-next-line no-console
56
- console.log('reown_updateEmail', info);
57
- });
58
- }
59
- async signMessage(address, message, chain) {
60
- const provider = this.getProvider();
61
- if (!provider) {
62
- throw new Error('EVMAdapter:signMessage - provider is undefined');
63
- }
64
- const signature = await provider.request({
65
- method: 'personal_sign',
66
- params: [message, address]
67
- }, `eip155:${chain}`);
68
- return signature;
69
- }
70
- async estimateGas({
71
- address,
72
- to,
73
- data,
74
- chainNamespace
75
- }) {
76
- const provider = this.getProvider();
77
- if (!provider) {
78
- throw new Error('EVMAdapter:estimateGas - provider is undefined');
79
- }
80
- if (!address) {
81
- throw new Error('EVMAdapter:estimateGas - from address is undefined');
82
- }
83
- if (chainNamespace && chainNamespace !== 'eip155') {
84
- throw new Error('EVMAdapter:estimateGas - chainNamespace is not eip155');
85
- }
86
- try {
87
- const txParams = {
88
- from: address,
89
- to,
90
- data,
91
- type: '0x0' // optional, legacy type
92
- };
93
-
94
- const estimatedGasHex = await provider.request({
95
- method: 'eth_estimateGas',
96
- params: [txParams]
97
- });
98
- return BigInt(estimatedGasHex);
99
- } catch (error) {
100
- throw new Error('EVMAdapter:estimateGas - eth_estimateGas RPC failed');
101
- }
102
- }
103
- async sendTransaction(data) {
104
- const {
105
- address
106
- } = data || {};
107
- if (!this.getProvider()) {
108
- throw new Error('EVMAdapter:sendTransaction - provider is undefined');
109
- }
110
- if (!address) {
111
- throw new Error('EVMAdapter:sendTransaction - address is undefined');
112
- }
113
- const txParams = {
114
- from: address,
115
- to: data.to,
116
- value: _NumberUtil.NumberUtil.convertNumericToHexString(data.value),
117
- gas: _NumberUtil.NumberUtil.convertNumericToHexString(data.gas),
118
- gasPrice: _NumberUtil.NumberUtil.convertNumericToHexString(data.gasPrice),
119
- data: data.data,
120
- // hex-encoded bytecode
121
- type: '0x0' // optional: legacy transaction type
122
- };
123
-
124
- const txHash = await this.getProvider().request({
125
- method: 'eth_sendTransaction',
126
- params: [txParams]
127
- });
128
- return txHash || null;
129
- }
130
-
131
- /**
132
- * Executes a write operation on an ERC20 smart contract.
133
- * This function is library-agnostic and uses only the provider for blockchain interactions.
134
- *
135
- * @param data - The contract interaction data
136
- * @param data.tokenAddress - The ERC20 token contract address
137
- * @param data.receiverAddress - The recipient address (required for transfer method)
138
- * @param data.tokenAmount - The amount of tokens to transfer/approve
139
- * @param data.fromAddress - The sender's address
140
- * @param data.method - The ERC20 method to call: 'transfer', 'transferFrom', or 'approve'
141
- * @param data.spenderAddress - The spender address (required for transferFrom and approve methods)
142
- * @param data.abi - Optional ABI for future extensibility
143
- *
144
- * @returns Promise resolving to the transaction block hash or null if failed
145
- *
146
- * @example
147
- * ```typescript
148
- * // Transfer tokens
149
- * const result = await adapter.writeContract({
150
- * tokenAddress: '0x1234567890123456789012345678901234567890',
151
- * receiverAddress: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd',
152
- * tokenAmount: BigInt(1000000000000000000), // 1 token with 18 decimals
153
- * fromAddress: '0x1234567890123456789012345678901234567890',
154
- * method: 'transfer'
155
- * });
156
- *
157
- * // Approve tokens
158
- * const result = await adapter.writeContract({
159
- * tokenAddress: '0x1234567890123456789012345678901234567890',
160
- * receiverAddress: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd',
161
- * tokenAmount: BigInt(1000000000000000000),
162
- * fromAddress: '0x1234567890123456789012345678901234567890',
163
- * method: 'approve',
164
- * spenderAddress: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd'
165
- * });
166
- * ```
167
- */
168
- async writeContract(data) {
169
- const {
170
- tokenAddress,
171
- receiverAddress,
172
- tokenAmount,
173
- method,
174
- fromAddress,
175
- spenderAddress
176
- } = data;
177
- if (!this.getProvider()) {
178
- throw new Error('EVMAdapter:writeContract - provider is undefined');
179
- }
180
- if (!fromAddress) {
181
- throw new Error('EVMAdapter:writeContract - fromAddress is undefined');
182
- }
183
- if (!tokenAddress) {
184
- throw new Error('EVMAdapter:writeContract - tokenAddress is undefined');
185
- }
186
- if (!tokenAmount) {
187
- throw new Error('EVMAdapter:writeContract - tokenAmount is undefined');
188
- }
189
- if (!method) {
190
- throw new Error('EVMAdapter:writeContract - method is undefined');
191
- }
192
-
193
- // Validate method-specific parameters
194
- if (method === 'transfer' && !receiverAddress) {
195
- throw new Error('EVMAdapter:writeContract - receiverAddress is required for transfer method');
196
- }
197
- if ((method === 'transferFrom' || method === 'approve') && !spenderAddress) {
198
- throw new Error(`EVMAdapter:writeContract - spenderAddress is required for ${method} method`);
199
- }
200
-
201
- // Encode the function call data based on method
202
- let encodedData;
203
- switch (method) {
204
- case 'transfer':
205
- encodedData = encodeERC20Function('transfer', [receiverAddress, tokenAmount]);
206
- break;
207
- case 'transferFrom':
208
- encodedData = encodeERC20Function('transferFrom', [fromAddress, receiverAddress, tokenAmount]);
209
- break;
210
- case 'approve':
211
- encodedData = encodeERC20Function('approve', [spenderAddress, tokenAmount]);
212
- break;
213
- default:
214
- throw new Error(`EVMAdapter:writeContract - method '${method}' is not supported`);
215
- }
216
-
217
- // Create transaction parameters
218
- const txParams = {
219
- from: fromAddress,
220
- to: tokenAddress,
221
- data: encodedData,
222
- value: '0x0',
223
- // No ETH value for token operations
224
- type: '0x0' // legacy transaction type
225
- };
226
-
227
- try {
228
- // Send the transaction
229
- const txHash = await this.getProvider().request({
230
- method: 'eth_sendTransaction',
231
- params: [txParams]
232
- });
233
-
234
- // Wait for transaction receipt
235
- let receipt = null;
236
- let attempts = 0;
237
- const maxAttempts = 60; // 60 seconds timeout
238
-
239
- while (!receipt && attempts < maxAttempts) {
240
- receipt = await this.getProvider().request({
241
- method: 'eth_getTransactionReceipt',
242
- params: [txHash]
243
- });
244
- if (!receipt) {
245
- await new Promise(r => setTimeout(r, 1000)); // wait 1s
246
- attempts++;
247
- }
248
- }
249
- if (!receipt) {
250
- throw new Error('EVMAdapter:writeContract - transaction timeout');
251
- }
252
-
253
- // Check if transaction was successful
254
- if (receipt.status === '0x0') {
255
- throw new Error('EVMAdapter:writeContract - transaction failed');
256
- }
257
- return receipt?.blockHash || null;
258
- } catch (error) {
259
- if (error instanceof Error) {
260
- throw new Error(`EVMAdapter:writeContract - ${error.message}`);
261
- }
262
- throw new Error('EVMAdapter:writeContract - unknown error occurred');
263
- }
264
- }
265
- }
266
- exports.EVMAdapter = EVMAdapter;
267
- //# sourceMappingURL=EvmAdapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_BlockchainAdapter","require","_NumberUtil","encodeERC20Function","method","params","functionSelectors","transfer","transferFrom","approve","selector","Error","encodedParams","length","to","amount","toLowerCase","slice","padStart","toString","from","toTransferFrom","amountTransferFrom","spender","amountApprove","EVMAdapter","BlockchainAdapter","subscribeToEvents","provider","getProvider","on","info","console","log","signMessage","address","message","chain","signature","request","estimateGas","data","chainNamespace","txParams","type","estimatedGasHex","BigInt","error","sendTransaction","value","NumberUtil","convertNumericToHexString","gas","gasPrice","txHash","writeContract","tokenAddress","receiverAddress","tokenAmount","fromAddress","spenderAddress","encodedData","receipt","attempts","maxAttempts","Promise","r","setTimeout","status","blockHash","exports"],"sourceRoot":"../../../src","sources":["adapters/EvmAdapter.ts"],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.SolanaBaseAdapter = void 0;
7
- var _BlockchainAdapter = require("./BlockchainAdapter");
8
- class SolanaBaseAdapter extends _BlockchainAdapter.BlockchainAdapter {
9
- // solana logic
10
- }
11
- exports.SolanaBaseAdapter = SolanaBaseAdapter;
12
- //# sourceMappingURL=SolanaBaseAdapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_BlockchainAdapter","require","SolanaBaseAdapter","BlockchainAdapter","exports"],"sourceRoot":"../../../src","sources":["adapters/SolanaBaseAdapter.ts"],"mappings":";;;;;;AAAA,IAAAA,kBAAA,GAAAC,OAAA;AAEO,MAAeC,iBAAiB,SAASC,oCAAiB,CAAC;EAChE;AAAA;AACDC,OAAA,CAAAF,iBAAA,GAAAA,iBAAA"}
@@ -1,40 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.bitcoinTestnet = exports.bitcoin = void 0;
7
- const bitcoin = exports.bitcoin = {
8
- id: '000000000019d6689c085ae165831e93',
9
- caipNetworkId: 'bip122:000000000019d6689c085ae165831e93',
10
- chainNamespace: 'bip122',
11
- name: 'Bitcoin',
12
- nativeCurrency: {
13
- name: 'Bitcoin',
14
- symbol: 'BTC',
15
- decimals: 8
16
- },
17
- rpcUrls: {
18
- default: {
19
- http: ['https://rpc.walletconnect.org/v1']
20
- }
21
- }
22
- };
23
- const bitcoinTestnet = exports.bitcoinTestnet = {
24
- id: '000000000933ea01ad0ee984209779ba',
25
- caipNetworkId: 'bip122:000000000933ea01ad0ee984209779ba',
26
- chainNamespace: 'bip122',
27
- name: 'Bitcoin Testnet',
28
- nativeCurrency: {
29
- name: 'Bitcoin',
30
- symbol: 'BTC',
31
- decimals: 8
32
- },
33
- rpcUrls: {
34
- default: {
35
- http: ['https://rpc.walletconnect.org/v1']
36
- }
37
- },
38
- testnet: true
39
- };
40
- //# sourceMappingURL=bitcoin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["bitcoin","exports","id","caipNetworkId","chainNamespace","name","nativeCurrency","symbol","decimals","rpcUrls","default","http","bitcoinTestnet","testnet"],"sourceRoot":"../../../src","sources":["networks/bitcoin.ts"],"mappings":";;;;;;AAEO,MAAMA,OAAsB,GAAAC,OAAA,CAAAD,OAAA,GAAG;EACpCE,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;AAEM,MAAMC,cAA6B,GAAAX,OAAA,CAAAW,cAAA,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,78 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.solanaTestnet = exports.solanaDevnet = exports.solana = void 0;
7
- const solana = exports.solana = {
8
- id: '5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp',
9
- name: 'Solana',
10
- nativeCurrency: {
11
- name: 'Solana',
12
- symbol: 'SOL',
13
- decimals: 9
14
- },
15
- rpcUrls: {
16
- default: {
17
- http: ['https://rpc.walletconnect.org/v1']
18
- }
19
- },
20
- blockExplorers: {
21
- default: {
22
- name: 'Solscan',
23
- url: 'https://solscan.io'
24
- }
25
- },
26
- chainNamespace: 'solana',
27
- caipNetworkId: 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp',
28
- deprecatedCaipNetworkId: 'solana:4sGjMW1sUnHzSxGspuhpqLDx6wiyjNtZ',
29
- testnet: false
30
- };
31
- const solanaDevnet = exports.solanaDevnet = {
32
- id: 'EtWTRABZaYq6iMfeYKouRu166VU2xqa1',
33
- name: 'Solana Devnet',
34
- nativeCurrency: {
35
- name: 'Solana',
36
- symbol: 'SOL',
37
- decimals: 9
38
- },
39
- rpcUrls: {
40
- default: {
41
- http: ['https://rpc.walletconnect.org/v1']
42
- }
43
- },
44
- blockExplorers: {
45
- default: {
46
- name: 'Solscan',
47
- url: 'https://solscan.io'
48
- }
49
- },
50
- chainNamespace: 'solana',
51
- caipNetworkId: 'solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1',
52
- deprecatedCaipNetworkId: 'solana:8E9rvCKLFQia2Y35HXjjpWzj8weVo44K',
53
- testnet: true
54
- };
55
- const solanaTestnet = exports.solanaTestnet = {
56
- id: '4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z',
57
- name: 'Solana Testnet',
58
- nativeCurrency: {
59
- name: 'Solana',
60
- symbol: 'SOL',
61
- decimals: 9
62
- },
63
- rpcUrls: {
64
- default: {
65
- http: ['https://rpc.walletconnect.org/v1']
66
- }
67
- },
68
- blockExplorers: {
69
- default: {
70
- name: 'Solscan',
71
- url: 'https://solscan.io'
72
- }
73
- },
74
- chainNamespace: 'solana',
75
- caipNetworkId: 'solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z',
76
- testnet: true
77
- };
78
- //# sourceMappingURL=solana.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["solana","exports","id","name","nativeCurrency","symbol","decimals","rpcUrls","default","http","blockExplorers","url","chainNamespace","caipNetworkId","deprecatedCaipNetworkId","testnet","solanaDevnet","solanaTestnet"],"sourceRoot":"../../../src","sources":["networks/solana.ts"],"mappings":";;;;;;AAEO,MAAMA,MAAqB,GAAAC,OAAA,CAAAD,MAAA,GAAG;EACnCE,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;AAEM,MAAMC,YAA2B,GAAAf,OAAA,CAAAe,YAAA,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;AAEM,MAAME,aAA4B,GAAAhB,OAAA,CAAAgB,aAAA,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,72 +0,0 @@
1
- import { EventEmitter } from 'events';
2
- export class BlockchainAdapter extends EventEmitter {
3
- // Typed emit method
4
- emit(event, payload) {
5
- return super.emit(event, payload);
6
- }
7
- constructor({
8
- projectId,
9
- supportedNamespace
10
- }) {
11
- super();
12
- this.projectId = projectId;
13
- this.supportedNamespace = supportedNamespace;
14
- }
15
- setConnector(connector) {
16
- this.connector = connector;
17
- this.subscribeToEvents();
18
- }
19
- removeConnector() {
20
- this.connector = undefined;
21
- }
22
- getProvider() {
23
- if (!this.connector) throw new Error('No active connector');
24
- return this.connector.getProvider();
25
- }
26
- subscribeToEvents() {
27
- const provider = this.connector?.getProvider();
28
- if (!provider) return;
29
- provider.on('chainChanged', this.onChainChanged.bind(this));
30
- provider.on('accountsChanged', this.onAccountsChanged.bind(this));
31
- provider.on('disconnect', this.onDisconnect.bind(this));
32
- }
33
- onChainChanged(chainId) {
34
- const _chains = this.getAccounts()?.map(account => account.split(':')[1]);
35
- const shouldEmit = _chains?.some(chain => chain === chainId);
36
- if (shouldEmit) {
37
- this.emit('chainChanged', {
38
- chainId
39
- });
40
- }
41
- }
42
- onAccountsChanged(accounts) {
43
- const _accounts = this.getAccounts();
44
- const shouldEmit = _accounts?.some(account => {
45
- const accountAddress = account.split(':')[2];
46
- return accountAddress !== undefined && accounts.includes(accountAddress);
47
- });
48
- if (shouldEmit) {
49
- this.emit('accountsChanged', {
50
- accounts
51
- });
52
- }
53
- }
54
- onDisconnect() {
55
- this.emit('disconnect', {
56
- namespace: this.getSupportedNamespace()
57
- });
58
- const provider = this.connector?.getProvider();
59
- if (provider) {
60
- provider.off('chainChanged', this.onChainChanged.bind(this));
61
- provider.off('accountsChanged', this.onAccountsChanged.bind(this));
62
- provider.off('disconnect', this.onDisconnect.bind(this));
63
- }
64
- this.connector = undefined;
65
- }
66
- parseUnits(value, decimals) {
67
- const [whole, fraction = ''] = value.split('.');
68
- const paddedFraction = (fraction + '0'.repeat(decimals)).slice(0, decimals);
69
- return BigInt(whole + paddedFraction);
70
- }
71
- }
72
- //# sourceMappingURL=BlockchainAdapter.js.map
@@ -1 +0,0 @@
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","accounts","_accounts","accountAddress","includes","namespace","getSupportedNamespace","off","parseUnits","value","decimals","whole","fraction","paddedFraction","repeat","slice","BigInt"],"sourceRoot":"../../../src","sources":["adapters/BlockchainAdapter.ts"],"mappings":"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"}