@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.
- package/lib/commonjs/index.js +1 -62
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/utils/ConstantsUtil.js +1 -4
- package/lib/commonjs/utils/ConstantsUtil.js.map +1 -1
- package/lib/commonjs/utils/NumberUtil.js +11 -52
- package/lib/commonjs/utils/NumberUtil.js.map +1 -1
- package/lib/commonjs/utils/PresetsUtil.js +8 -34
- package/lib/commonjs/utils/PresetsUtil.js.map +1 -1
- package/lib/commonjs/utils/TypeUtil.js +0 -46
- package/lib/commonjs/utils/TypeUtil.js.map +1 -1
- package/lib/module/index.js +0 -5
- package/lib/module/index.js.map +1 -1
- package/lib/module/utils/ConstantsUtil.js +1 -4
- package/lib/module/utils/ConstantsUtil.js.map +1 -1
- package/lib/module/utils/NumberUtil.js +11 -52
- package/lib/module/utils/NumberUtil.js.map +1 -1
- package/lib/module/utils/PresetsUtil.js +8 -34
- package/lib/module/utils/PresetsUtil.js.map +1 -1
- package/lib/module/utils/TypeUtil.js +0 -40
- package/lib/module/utils/TypeUtil.js.map +1 -1
- package/lib/typescript/index.d.ts +0 -5
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/utils/ConstantsUtil.d.ts +0 -3
- package/lib/typescript/utils/ConstantsUtil.d.ts.map +1 -1
- package/lib/typescript/utils/NumberUtil.d.ts +11 -39
- package/lib/typescript/utils/NumberUtil.d.ts.map +1 -1
- package/lib/typescript/utils/PresetsUtil.d.ts +3 -1
- package/lib/typescript/utils/PresetsUtil.d.ts.map +1 -1
- package/lib/typescript/utils/TypeUtil.d.ts +11 -291
- package/lib/typescript/utils/TypeUtil.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/index.ts +0 -5
- package/src/utils/ConstantsUtil.ts +1 -4
- package/src/utils/NumberUtil.ts +11 -54
- package/src/utils/PresetsUtil.ts +10 -36
- package/src/utils/TypeUtil.ts +13 -375
- package/lib/commonjs/adapters/BlockchainAdapter.js +0 -79
- package/lib/commonjs/adapters/BlockchainAdapter.js.map +0 -1
- package/lib/commonjs/adapters/EvmAdapter.js +0 -267
- package/lib/commonjs/adapters/EvmAdapter.js.map +0 -1
- package/lib/commonjs/adapters/SolanaBaseAdapter.js +0 -12
- package/lib/commonjs/adapters/SolanaBaseAdapter.js.map +0 -1
- package/lib/commonjs/networks/bitcoin.js +0 -40
- package/lib/commonjs/networks/bitcoin.js.map +0 -1
- package/lib/commonjs/networks/solana.js +0 -78
- package/lib/commonjs/networks/solana.js.map +0 -1
- package/lib/module/adapters/BlockchainAdapter.js +0 -72
- package/lib/module/adapters/BlockchainAdapter.js.map +0 -1
- package/lib/module/adapters/EvmAdapter.js +0 -261
- package/lib/module/adapters/EvmAdapter.js.map +0 -1
- package/lib/module/adapters/SolanaBaseAdapter.js +0 -5
- package/lib/module/adapters/SolanaBaseAdapter.js.map +0 -1
- package/lib/module/networks/bitcoin.js +0 -34
- package/lib/module/networks/bitcoin.js.map +0 -1
- package/lib/module/networks/solana.js +0 -72
- package/lib/module/networks/solana.js.map +0 -1
- package/lib/typescript/adapters/BlockchainAdapter.d.ts +0 -27
- package/lib/typescript/adapters/BlockchainAdapter.d.ts.map +0 -1
- package/lib/typescript/adapters/EvmAdapter.d.ts +0 -55
- package/lib/typescript/adapters/EvmAdapter.d.ts.map +0 -1
- package/lib/typescript/adapters/SolanaBaseAdapter.d.ts +0 -4
- package/lib/typescript/adapters/SolanaBaseAdapter.d.ts.map +0 -1
- package/lib/typescript/adapters/__tests__/EvmAdapter.test.d.ts +0 -2
- package/lib/typescript/adapters/__tests__/EvmAdapter.test.d.ts.map +0 -1
- package/lib/typescript/networks/bitcoin.d.ts +0 -4
- package/lib/typescript/networks/bitcoin.d.ts.map +0 -1
- package/lib/typescript/networks/solana.d.ts +0 -5
- package/lib/typescript/networks/solana.d.ts.map +0 -1
- package/src/adapters/BlockchainAdapter.ts +0 -109
- package/src/adapters/EvmAdapter.ts +0 -298
- package/src/adapters/SolanaBaseAdapter.ts +0 -5
- package/src/adapters/__tests__/EvmAdapter.test.ts +0 -104
- package/src/networks/bitcoin.ts +0 -32
- 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 +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 +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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EvmAdapter.test.d.ts","sourceRoot":"","sources":["../../../../src/adapters/__tests__/EvmAdapter.test.ts"],"names":[],"mappings":""}
|
|
@@ -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 +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
|
-
}
|