@reown/appkit-common-react-native 0.0.0-feat-multi-social-20250703185818 → 0.0.0-feat-multi-social-20250710154055
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/adapters/EvmAdapter.js +184 -0
- package/lib/commonjs/adapters/EvmAdapter.js.map +1 -1
- package/lib/commonjs/utils/ConstantsUtil.js +3 -1
- package/lib/commonjs/utils/ConstantsUtil.js.map +1 -1
- package/lib/commonjs/utils/PresetsUtil.js +0 -5
- package/lib/commonjs/utils/PresetsUtil.js.map +1 -1
- package/lib/commonjs/utils/TypeUtil.js +2 -0
- package/lib/commonjs/utils/TypeUtil.js.map +1 -1
- package/lib/module/adapters/EvmAdapter.js +185 -0
- package/lib/module/adapters/EvmAdapter.js.map +1 -1
- package/lib/module/utils/ConstantsUtil.js +3 -1
- package/lib/module/utils/ConstantsUtil.js.map +1 -1
- package/lib/module/utils/PresetsUtil.js +0 -5
- package/lib/module/utils/PresetsUtil.js.map +1 -1
- package/lib/module/utils/TypeUtil.js +2 -0
- package/lib/module/utils/TypeUtil.js.map +1 -1
- package/lib/typescript/adapters/EvmAdapter.d.ts +48 -0
- package/lib/typescript/adapters/EvmAdapter.d.ts.map +1 -1
- package/lib/typescript/adapters/__tests__/EvmAdapter.test.d.ts +2 -0
- package/lib/typescript/adapters/__tests__/EvmAdapter.test.d.ts.map +1 -0
- package/lib/typescript/utils/ConstantsUtil.d.ts +2 -0
- package/lib/typescript/utils/ConstantsUtil.d.ts.map +1 -1
- package/lib/typescript/utils/PresetsUtil.d.ts +0 -2
- package/lib/typescript/utils/PresetsUtil.d.ts.map +1 -1
- package/lib/typescript/utils/TypeUtil.d.ts +4 -2
- package/lib/typescript/utils/TypeUtil.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/adapters/EvmAdapter.ts +214 -0
- package/src/adapters/__tests__/EvmAdapter.test.ts +104 -0
- package/src/utils/ConstantsUtil.ts +3 -1
- package/src/utils/PresetsUtil.ts +0 -7
- package/src/utils/TypeUtil.ts +5 -2
|
@@ -6,7 +6,56 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.EVMAdapter = void 0;
|
|
7
7
|
var _BlockchainAdapter = require("./BlockchainAdapter");
|
|
8
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
|
+
}
|
|
9
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
|
+
}
|
|
10
59
|
async signMessage(address, message, chain) {
|
|
11
60
|
const provider = this.getProvider();
|
|
12
61
|
if (!provider) {
|
|
@@ -89,6 +138,141 @@ class EVMAdapter extends _BlockchainAdapter.BlockchainAdapter {
|
|
|
89
138
|
|
|
90
139
|
return receipt?.blockHash || null;
|
|
91
140
|
}
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
* Executes a write operation on an ERC20 smart contract.
|
|
144
|
+
* This function is library-agnostic and uses only the provider for blockchain interactions.
|
|
145
|
+
*
|
|
146
|
+
* @param data - The contract interaction data
|
|
147
|
+
* @param data.tokenAddress - The ERC20 token contract address
|
|
148
|
+
* @param data.receiverAddress - The recipient address (required for transfer method)
|
|
149
|
+
* @param data.tokenAmount - The amount of tokens to transfer/approve
|
|
150
|
+
* @param data.fromAddress - The sender's address
|
|
151
|
+
* @param data.method - The ERC20 method to call: 'transfer', 'transferFrom', or 'approve'
|
|
152
|
+
* @param data.spenderAddress - The spender address (required for transferFrom and approve methods)
|
|
153
|
+
* @param data.abi - Optional ABI for future extensibility
|
|
154
|
+
*
|
|
155
|
+
* @returns Promise resolving to the transaction block hash or null if failed
|
|
156
|
+
*
|
|
157
|
+
* @example
|
|
158
|
+
* ```typescript
|
|
159
|
+
* // Transfer tokens
|
|
160
|
+
* const result = await adapter.writeContract({
|
|
161
|
+
* tokenAddress: '0x1234567890123456789012345678901234567890',
|
|
162
|
+
* receiverAddress: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd',
|
|
163
|
+
* tokenAmount: BigInt(1000000000000000000), // 1 token with 18 decimals
|
|
164
|
+
* fromAddress: '0x1234567890123456789012345678901234567890',
|
|
165
|
+
* method: 'transfer'
|
|
166
|
+
* });
|
|
167
|
+
*
|
|
168
|
+
* // Approve tokens
|
|
169
|
+
* const result = await adapter.writeContract({
|
|
170
|
+
* tokenAddress: '0x1234567890123456789012345678901234567890',
|
|
171
|
+
* receiverAddress: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd',
|
|
172
|
+
* tokenAmount: BigInt(1000000000000000000),
|
|
173
|
+
* fromAddress: '0x1234567890123456789012345678901234567890',
|
|
174
|
+
* method: 'approve',
|
|
175
|
+
* spenderAddress: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd'
|
|
176
|
+
* });
|
|
177
|
+
* ```
|
|
178
|
+
*/
|
|
179
|
+
async writeContract(data) {
|
|
180
|
+
const {
|
|
181
|
+
tokenAddress,
|
|
182
|
+
receiverAddress,
|
|
183
|
+
tokenAmount,
|
|
184
|
+
method,
|
|
185
|
+
fromAddress,
|
|
186
|
+
spenderAddress
|
|
187
|
+
} = data;
|
|
188
|
+
if (!this.getProvider()) {
|
|
189
|
+
throw new Error('EVMAdapter:writeContract - provider is undefined');
|
|
190
|
+
}
|
|
191
|
+
if (!fromAddress) {
|
|
192
|
+
throw new Error('EVMAdapter:writeContract - fromAddress is undefined');
|
|
193
|
+
}
|
|
194
|
+
if (!tokenAddress) {
|
|
195
|
+
throw new Error('EVMAdapter:writeContract - tokenAddress is undefined');
|
|
196
|
+
}
|
|
197
|
+
if (!tokenAmount) {
|
|
198
|
+
throw new Error('EVMAdapter:writeContract - tokenAmount is undefined');
|
|
199
|
+
}
|
|
200
|
+
if (!method) {
|
|
201
|
+
throw new Error('EVMAdapter:writeContract - method is undefined');
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
// Validate method-specific parameters
|
|
205
|
+
if (method === 'transfer' && !receiverAddress) {
|
|
206
|
+
throw new Error('EVMAdapter:writeContract - receiverAddress is required for transfer method');
|
|
207
|
+
}
|
|
208
|
+
if ((method === 'transferFrom' || method === 'approve') && !spenderAddress) {
|
|
209
|
+
throw new Error(`EVMAdapter:writeContract - spenderAddress is required for ${method} method`);
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
// Encode the function call data based on method
|
|
213
|
+
let encodedData;
|
|
214
|
+
switch (method) {
|
|
215
|
+
case 'transfer':
|
|
216
|
+
encodedData = encodeERC20Function('transfer', [receiverAddress, tokenAmount]);
|
|
217
|
+
break;
|
|
218
|
+
case 'transferFrom':
|
|
219
|
+
encodedData = encodeERC20Function('transferFrom', [fromAddress, receiverAddress, tokenAmount]);
|
|
220
|
+
break;
|
|
221
|
+
case 'approve':
|
|
222
|
+
encodedData = encodeERC20Function('approve', [spenderAddress, tokenAmount]);
|
|
223
|
+
break;
|
|
224
|
+
default:
|
|
225
|
+
throw new Error(`EVMAdapter:writeContract - method '${method}' is not supported`);
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
// Create transaction parameters
|
|
229
|
+
const txParams = {
|
|
230
|
+
from: fromAddress,
|
|
231
|
+
to: tokenAddress,
|
|
232
|
+
data: encodedData,
|
|
233
|
+
value: '0x0',
|
|
234
|
+
// No ETH value for token operations
|
|
235
|
+
type: '0x0' // legacy transaction type
|
|
236
|
+
};
|
|
237
|
+
|
|
238
|
+
try {
|
|
239
|
+
// Send the transaction
|
|
240
|
+
const txHash = await this.getProvider().request({
|
|
241
|
+
method: 'eth_sendTransaction',
|
|
242
|
+
params: [txParams]
|
|
243
|
+
});
|
|
244
|
+
|
|
245
|
+
// Wait for transaction receipt
|
|
246
|
+
let receipt = null;
|
|
247
|
+
let attempts = 0;
|
|
248
|
+
const maxAttempts = 60; // 60 seconds timeout
|
|
249
|
+
|
|
250
|
+
while (!receipt && attempts < maxAttempts) {
|
|
251
|
+
receipt = await this.getProvider().request({
|
|
252
|
+
method: 'eth_getTransactionReceipt',
|
|
253
|
+
params: [txHash]
|
|
254
|
+
});
|
|
255
|
+
if (!receipt) {
|
|
256
|
+
await new Promise(r => setTimeout(r, 1000)); // wait 1s
|
|
257
|
+
attempts++;
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
if (!receipt) {
|
|
261
|
+
throw new Error('EVMAdapter:writeContract - transaction timeout');
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
// Check if transaction was successful
|
|
265
|
+
if (receipt.status === '0x0') {
|
|
266
|
+
throw new Error('EVMAdapter:writeContract - transaction failed');
|
|
267
|
+
}
|
|
268
|
+
return receipt?.blockHash || null;
|
|
269
|
+
} catch (error) {
|
|
270
|
+
if (error instanceof Error) {
|
|
271
|
+
throw new Error(`EVMAdapter:writeContract - ${error.message}`);
|
|
272
|
+
}
|
|
273
|
+
throw new Error('EVMAdapter:writeContract - unknown error occurred');
|
|
274
|
+
}
|
|
275
|
+
}
|
|
92
276
|
}
|
|
93
277
|
exports.EVMAdapter = EVMAdapter;
|
|
94
278
|
//# sourceMappingURL=EvmAdapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_BlockchainAdapter","require","_NumberUtil","
|
|
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","receipt","Promise","r","setTimeout","blockHash","writeContract","tokenAddress","receiverAddress","tokenAmount","fromAddress","spenderAddress","encodedData","attempts","maxAttempts","status","exports"],"sourceRoot":"../../../src","sources":["adapters/EvmAdapter.ts"],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.ConstantsUtil = void 0;
|
|
7
7
|
const ConstantsUtil = exports.ConstantsUtil = {
|
|
8
|
-
VERSION: '0.0.0-feat-multi-social-
|
|
8
|
+
VERSION: '0.0.0-feat-multi-social-20250710154055',
|
|
9
9
|
EIP155: 'eip155',
|
|
10
10
|
ADD_CHAIN_METHOD: 'wallet_addEthereumChain',
|
|
11
11
|
WC_NAME_SUFFIX: '.reown.id',
|
|
@@ -15,6 +15,8 @@ const ConstantsUtil = exports.ConstantsUtil = {
|
|
|
15
15
|
PULSE_API_URL: 'https://pulse.walletconnect.org',
|
|
16
16
|
API_URL: 'https://api.web3modal.org',
|
|
17
17
|
WEB_WALLET_URL: 'https://web-wallet.walletconnect.org',
|
|
18
|
+
SECURE_SITE_DASHBOARD: `https://secure.reown.com/dashboard`,
|
|
19
|
+
SECURE_SITE_ICON: `https://secure.reown.com/images/favicon.png`,
|
|
18
20
|
WALLET_CONNECT_CONNECTOR_ID: 'walletConnect',
|
|
19
21
|
COINBASE_CONNECTOR_ID: 'coinbaseWallet',
|
|
20
22
|
AUTH_CONNECTOR_ID: 'appKitAuth',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ConstantsUtil","exports","VERSION","EIP155","ADD_CHAIN_METHOD","WC_NAME_SUFFIX","WC_NAME_SUFFIX_LEGACY","BLOCKCHAIN_API_RPC_URL","BLOCKCHAIN_API_RPC_URL_STAGING","PULSE_API_URL","API_URL","WEB_WALLET_URL","WALLET_CONNECT_CONNECTOR_ID","COINBASE_CONNECTOR_ID","AUTH_CONNECTOR_ID","COINBASE_EXPLORER_ID","USDT_CONTRACT_ADDRESSES"],"sourceRoot":"../../../src","sources":["utils/ConstantsUtil.ts"],"mappings":";;;;;;AAAO,MAAMA,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG;EAC3BE,OAAO,EAAE,wCAAwC;EAEjDC,MAAM,EAAE,QAAQ;EAChBC,gBAAgB,EAAE,yBAAyB;EAE3CC,cAAc,EAAE,WAAW;EAC3BC,qBAAqB,EAAE,SAAS;EAEhCC,sBAAsB,EAAE,+BAA+B;EACvDC,8BAA8B,EAAE,uCAAuC;EACvEC,aAAa,EAAE,iCAAiC;EAChDC,OAAO,EAAE,2BAA2B;EACpCC,cAAc,EAAE,sCAAsC;
|
|
1
|
+
{"version":3,"names":["ConstantsUtil","exports","VERSION","EIP155","ADD_CHAIN_METHOD","WC_NAME_SUFFIX","WC_NAME_SUFFIX_LEGACY","BLOCKCHAIN_API_RPC_URL","BLOCKCHAIN_API_RPC_URL_STAGING","PULSE_API_URL","API_URL","WEB_WALLET_URL","SECURE_SITE_DASHBOARD","SECURE_SITE_ICON","WALLET_CONNECT_CONNECTOR_ID","COINBASE_CONNECTOR_ID","AUTH_CONNECTOR_ID","COINBASE_EXPLORER_ID","USDT_CONTRACT_ADDRESSES"],"sourceRoot":"../../../src","sources":["utils/ConstantsUtil.ts"],"mappings":";;;;;;AAAO,MAAMA,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG;EAC3BE,OAAO,EAAE,wCAAwC;EAEjDC,MAAM,EAAE,QAAQ;EAChBC,gBAAgB,EAAE,yBAAyB;EAE3CC,cAAc,EAAE,WAAW;EAC3BC,qBAAqB,EAAE,SAAS;EAEhCC,sBAAsB,EAAE,+BAA+B;EACvDC,8BAA8B,EAAE,uCAAuC;EACvEC,aAAa,EAAE,iCAAiC;EAChDC,OAAO,EAAE,2BAA2B;EACpCC,cAAc,EAAE,sCAAsC;EACtDC,qBAAqB,EAAG,oCAAmC;EAC3DC,gBAAgB,EAAG,6CAA4C;EAE/DC,2BAA2B,EAAE,eAAe;EAC5CC,qBAAqB,EAAE,gBAAgB;EACvCC,iBAAiB,EAAE,YAAY;EAE/BC,oBAAoB,EAAE,kEAAkE;EAExFC,uBAAuB,EAAE;EACvB;EACA,4CAA4C;EAC5C;EACA,4CAA4C;EAC5C;EACA,4CAA4C;EAC5C;EACA,4CAA4C;EAC5C;EACA,4CAA4C;EAC5C;EACA,4CAA4C;EAC5C;EACA,4CAA4C;AAEhD,CAAC"}
|
|
@@ -89,11 +89,6 @@ const PresetsUtil = exports.PresetsUtil = {
|
|
|
89
89
|
[_ConstantsUtil.ConstantsUtil.COINBASE_CONNECTOR_ID]: '0c2840c3-5b04-4c44-9661-fbd4b49e1800',
|
|
90
90
|
[_ConstantsUtil.ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID]: 'ef1a1fcf-7fe8-4d69-bd6d-fda1345b4400'
|
|
91
91
|
},
|
|
92
|
-
ConnectorTypesMap: {
|
|
93
|
-
[_ConstantsUtil.ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID]: 'WALLET_CONNECT',
|
|
94
|
-
[_ConstantsUtil.ConstantsUtil.COINBASE_CONNECTOR_ID]: 'COINBASE',
|
|
95
|
-
[_ConstantsUtil.ConstantsUtil.AUTH_CONNECTOR_ID]: 'AUTH'
|
|
96
|
-
},
|
|
97
92
|
RpcChainIds: [
|
|
98
93
|
// Ethereum
|
|
99
94
|
1,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_ConstantsUtil","require","PresetsUtil","exports","ConnectorExplorerIds","ConstantsUtil","COINBASE_CONNECTOR_ID","NetworkImageIds","ConnectorNamesMap","WALLET_CONNECT_CONNECTOR_ID","AUTH_CONNECTOR_ID","ConnectorImageIds","
|
|
1
|
+
{"version":3,"names":["_ConstantsUtil","require","PresetsUtil","exports","ConnectorExplorerIds","ConstantsUtil","COINBASE_CONNECTOR_ID","NetworkImageIds","ConnectorNamesMap","WALLET_CONNECT_CONNECTOR_ID","AUTH_CONNECTOR_ID","ConnectorImageIds","RpcChainIds"],"sourceRoot":"../../../src","sources":["utils/PresetsUtil.ts"],"mappings":";;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AAEO,MAAMC,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAG;EACzBE,oBAAoB,EAAE;IACpB,CAACC,4BAAa,CAACC,qBAAqB,GAClC;EACJ,CAA2B;EAE3BC,eAAe,EAAE;IACf;IACA,CAAC,EAAE,sCAAsC;IACzC;IACA,KAAK,EAAE,sCAAsC;IAC7C;IACA,KAAK,EAAE,sCAAsC;IAC7C;IACA,EAAE,EAAE,sCAAsC;IAC1C;IACA,GAAG,EAAE,sCAAsC;IAC3C;IACA,EAAE,EAAE,sCAAsC;IAC1C;IACA,GAAG,EAAE,sCAAsC;IAC3C;IACA,IAAI,EAAE,sCAAsC;IAC5C;IACA,GAAG,EAAE,sCAAsC;IAC3C;IACA,UAAU,EAAE,sCAAsC;IAClD;IACA,KAAK,EAAE,sCAAsC;IAC7C;IACA,IAAI,EAAE,sCAAsC;IAC5C;IACA,GAAG,EAAE,sCAAsC;IAC3C;IACA,MAAM,EAAE,sCAAsC;IAC9C;IACA,GAAG,EAAE,sCAAsC;IAC3C;IACA,IAAI,EAAE,sCAAsC;IAC5C;IACA,GAAG,EAAE,sCAAsC;IAC3C;IACA,GAAG,EAAE,sCAAsC;IAC3C;IACA,IAAI,EAAE,sCAAsC;IAC5C;IACA,IAAI,EAAE,sCAAsC;IAC5C;IACA,IAAI,EAAE,sCAAsC;IAC5C;IACA,IAAI,EAAE,sCAAsC;IAC5C;IACA,OAAO,EAAE,sCAAsC;IAC/C;IACA,KAAK,EAAE,sCAAsC;IAC7C;IACA,IAAI,EAAE,sCAAsC;IAC5C;IACA,UAAU,EAAE,sCAAsC;IAClD;IACA,IAAI,EAAE,sCAAsC;IAC5C;IACA,IAAI,EAAE,sCAAsC;IAC5C;IACA,KAAK,EAAE,sCAAsC;IAC7C;IACA,IAAI,EAAE,sCAAsC;IAE5C;IACA;IACA,kCAAkC,EAAE,sCAAsC;IAC1E;IACA,kCAAkC,EAAE,sCAAsC;IAE1E;IACA,kCAAkC,EAAE,sCAAsC;IAC1E;IACA,kCAAkC,EAAE;EACtC,CAA2B;EAE3BC,iBAAiB,EAAE;IACjB,CAACH,4BAAa,CAACI,2BAA2B,GAAG,eAAe;IAC5D,CAACJ,4BAAa,CAACC,qBAAqB,GAAG,iBAAiB;IACxD,CAACD,4BAAa,CAACK,iBAAiB,GAAG;EACrC,CAA2B;EAE3BC,iBAAiB,EAAE;IACjB,CAACN,4BAAa,CAACC,qBAAqB,GAAG,sCAAsC;IAC7E,CAACD,4BAAa,CAACI,2BAA2B,GAAG;EAC/C,CAA2B;EAE3BG,WAAW,EAAE;EACX;EACA,CAAC;EACD;EACA,CAAC;EACD;EACA,QAAQ;EACR;EACA,EAAE;EACF;EACA,GAAG;EACH;EACA,KAAK;EACL;EACA,MAAM;EACN;EACA,GAAG;EACH;EACA,KAAK;EACL;EACA,KAAK;EACL;EACA,UAAU;EACV;EACA,UAAU;EACV;EACA,EAAE;EACF;EACA,EAAE;EACF;EACA,KAAK;EACL;EACA,KAAK;EACL;EACA,GAAG;EACH;EACA,IAAI;EACJ;EACA,KAAK;EACL;EACA,OAAO;EACP;EACA,GAAG;EACH;EACA,GAAG;EACH;EACA,GAAG;AAEP,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_events","require","WalletConnector","EventEmitter","constructor","type","init","ops","storage","metadata","setProvider","provider","disconnect","namespaces","undefined","wallet","properties","exports"],"sourceRoot":"../../../src","sources":["utils/TypeUtil.ts"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;
|
|
1
|
+
{"version":3,"names":["_events","require","WalletConnector","EventEmitter","constructor","type","init","ops","storage","metadata","setProvider","provider","disconnect","namespaces","undefined","wallet","properties","exports"],"sourceRoot":"../../../src","sources":["utils/TypeUtil.ts"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AA8JA;;AAeA;;AAgBA;;AAgBA;;AA8BO,MAAeC,eAAe,SAASC,oBAAY,CAAC;EASzDC,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;EAEA,MAAaC,UAAUA,CAAA,EAAG;IACxB,MAAM,IAAI,CAACD,QAAQ,EAAEC,UAAU,CAAC,CAAC;IACjC,IAAI,CAACC,UAAU,GAAGC,SAAS;IAC3B,IAAI,CAACC,MAAM,GAAGD,SAAS;IACvB,IAAI,CAACE,UAAU,GAAGF,SAAS;EAC7B;AAUF;;AAEA;;AAmBA;;AAGA;;AA+DA;;AA8BA;AAAAG,OAAA,CAAAf,eAAA,GAAAA,eAAA"}
|
|
@@ -1,6 +1,56 @@
|
|
|
1
1
|
import { BlockchainAdapter } from './BlockchainAdapter';
|
|
2
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
|
+
}
|
|
3
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
|
+
}
|
|
4
54
|
async signMessage(address, message, chain) {
|
|
5
55
|
const provider = this.getProvider();
|
|
6
56
|
if (!provider) {
|
|
@@ -83,5 +133,140 @@ export class EVMAdapter extends BlockchainAdapter {
|
|
|
83
133
|
|
|
84
134
|
return receipt?.blockHash || null;
|
|
85
135
|
}
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* Executes a write operation on an ERC20 smart contract.
|
|
139
|
+
* This function is library-agnostic and uses only the provider for blockchain interactions.
|
|
140
|
+
*
|
|
141
|
+
* @param data - The contract interaction data
|
|
142
|
+
* @param data.tokenAddress - The ERC20 token contract address
|
|
143
|
+
* @param data.receiverAddress - The recipient address (required for transfer method)
|
|
144
|
+
* @param data.tokenAmount - The amount of tokens to transfer/approve
|
|
145
|
+
* @param data.fromAddress - The sender's address
|
|
146
|
+
* @param data.method - The ERC20 method to call: 'transfer', 'transferFrom', or 'approve'
|
|
147
|
+
* @param data.spenderAddress - The spender address (required for transferFrom and approve methods)
|
|
148
|
+
* @param data.abi - Optional ABI for future extensibility
|
|
149
|
+
*
|
|
150
|
+
* @returns Promise resolving to the transaction block hash or null if failed
|
|
151
|
+
*
|
|
152
|
+
* @example
|
|
153
|
+
* ```typescript
|
|
154
|
+
* // Transfer tokens
|
|
155
|
+
* const result = await adapter.writeContract({
|
|
156
|
+
* tokenAddress: '0x1234567890123456789012345678901234567890',
|
|
157
|
+
* receiverAddress: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd',
|
|
158
|
+
* tokenAmount: BigInt(1000000000000000000), // 1 token with 18 decimals
|
|
159
|
+
* fromAddress: '0x1234567890123456789012345678901234567890',
|
|
160
|
+
* method: 'transfer'
|
|
161
|
+
* });
|
|
162
|
+
*
|
|
163
|
+
* // Approve tokens
|
|
164
|
+
* const result = await adapter.writeContract({
|
|
165
|
+
* tokenAddress: '0x1234567890123456789012345678901234567890',
|
|
166
|
+
* receiverAddress: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd',
|
|
167
|
+
* tokenAmount: BigInt(1000000000000000000),
|
|
168
|
+
* fromAddress: '0x1234567890123456789012345678901234567890',
|
|
169
|
+
* method: 'approve',
|
|
170
|
+
* spenderAddress: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd'
|
|
171
|
+
* });
|
|
172
|
+
* ```
|
|
173
|
+
*/
|
|
174
|
+
async writeContract(data) {
|
|
175
|
+
const {
|
|
176
|
+
tokenAddress,
|
|
177
|
+
receiverAddress,
|
|
178
|
+
tokenAmount,
|
|
179
|
+
method,
|
|
180
|
+
fromAddress,
|
|
181
|
+
spenderAddress
|
|
182
|
+
} = data;
|
|
183
|
+
if (!this.getProvider()) {
|
|
184
|
+
throw new Error('EVMAdapter:writeContract - provider is undefined');
|
|
185
|
+
}
|
|
186
|
+
if (!fromAddress) {
|
|
187
|
+
throw new Error('EVMAdapter:writeContract - fromAddress is undefined');
|
|
188
|
+
}
|
|
189
|
+
if (!tokenAddress) {
|
|
190
|
+
throw new Error('EVMAdapter:writeContract - tokenAddress is undefined');
|
|
191
|
+
}
|
|
192
|
+
if (!tokenAmount) {
|
|
193
|
+
throw new Error('EVMAdapter:writeContract - tokenAmount is undefined');
|
|
194
|
+
}
|
|
195
|
+
if (!method) {
|
|
196
|
+
throw new Error('EVMAdapter:writeContract - method is undefined');
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
// Validate method-specific parameters
|
|
200
|
+
if (method === 'transfer' && !receiverAddress) {
|
|
201
|
+
throw new Error('EVMAdapter:writeContract - receiverAddress is required for transfer method');
|
|
202
|
+
}
|
|
203
|
+
if ((method === 'transferFrom' || method === 'approve') && !spenderAddress) {
|
|
204
|
+
throw new Error(`EVMAdapter:writeContract - spenderAddress is required for ${method} method`);
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
// Encode the function call data based on method
|
|
208
|
+
let encodedData;
|
|
209
|
+
switch (method) {
|
|
210
|
+
case 'transfer':
|
|
211
|
+
encodedData = encodeERC20Function('transfer', [receiverAddress, tokenAmount]);
|
|
212
|
+
break;
|
|
213
|
+
case 'transferFrom':
|
|
214
|
+
encodedData = encodeERC20Function('transferFrom', [fromAddress, receiverAddress, tokenAmount]);
|
|
215
|
+
break;
|
|
216
|
+
case 'approve':
|
|
217
|
+
encodedData = encodeERC20Function('approve', [spenderAddress, tokenAmount]);
|
|
218
|
+
break;
|
|
219
|
+
default:
|
|
220
|
+
throw new Error(`EVMAdapter:writeContract - method '${method}' is not supported`);
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
// Create transaction parameters
|
|
224
|
+
const txParams = {
|
|
225
|
+
from: fromAddress,
|
|
226
|
+
to: tokenAddress,
|
|
227
|
+
data: encodedData,
|
|
228
|
+
value: '0x0',
|
|
229
|
+
// No ETH value for token operations
|
|
230
|
+
type: '0x0' // legacy transaction type
|
|
231
|
+
};
|
|
232
|
+
|
|
233
|
+
try {
|
|
234
|
+
// Send the transaction
|
|
235
|
+
const txHash = await this.getProvider().request({
|
|
236
|
+
method: 'eth_sendTransaction',
|
|
237
|
+
params: [txParams]
|
|
238
|
+
});
|
|
239
|
+
|
|
240
|
+
// Wait for transaction receipt
|
|
241
|
+
let receipt = null;
|
|
242
|
+
let attempts = 0;
|
|
243
|
+
const maxAttempts = 60; // 60 seconds timeout
|
|
244
|
+
|
|
245
|
+
while (!receipt && attempts < maxAttempts) {
|
|
246
|
+
receipt = await this.getProvider().request({
|
|
247
|
+
method: 'eth_getTransactionReceipt',
|
|
248
|
+
params: [txHash]
|
|
249
|
+
});
|
|
250
|
+
if (!receipt) {
|
|
251
|
+
await new Promise(r => setTimeout(r, 1000)); // wait 1s
|
|
252
|
+
attempts++;
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
if (!receipt) {
|
|
256
|
+
throw new Error('EVMAdapter:writeContract - transaction timeout');
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
// Check if transaction was successful
|
|
260
|
+
if (receipt.status === '0x0') {
|
|
261
|
+
throw new Error('EVMAdapter:writeContract - transaction failed');
|
|
262
|
+
}
|
|
263
|
+
return receipt?.blockHash || null;
|
|
264
|
+
} catch (error) {
|
|
265
|
+
if (error instanceof Error) {
|
|
266
|
+
throw new Error(`EVMAdapter:writeContract - ${error.message}`);
|
|
267
|
+
}
|
|
268
|
+
throw new Error('EVMAdapter:writeContract - unknown error occurred');
|
|
269
|
+
}
|
|
270
|
+
}
|
|
86
271
|
}
|
|
87
272
|
//# sourceMappingURL=EvmAdapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BlockchainAdapter","NumberUtil","
|
|
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","receipt","Promise","r","setTimeout","blockHash","writeContract","tokenAddress","receiverAddress","tokenAmount","fromAddress","spenderAddress","encodedData","attempts","maxAttempts","status"],"sourceRoot":"../../../src","sources":["adapters/EvmAdapter.ts"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export const ConstantsUtil = {
|
|
2
|
-
VERSION: '0.0.0-feat-multi-social-
|
|
2
|
+
VERSION: '0.0.0-feat-multi-social-20250710154055',
|
|
3
3
|
EIP155: 'eip155',
|
|
4
4
|
ADD_CHAIN_METHOD: 'wallet_addEthereumChain',
|
|
5
5
|
WC_NAME_SUFFIX: '.reown.id',
|
|
@@ -9,6 +9,8 @@ export const ConstantsUtil = {
|
|
|
9
9
|
PULSE_API_URL: 'https://pulse.walletconnect.org',
|
|
10
10
|
API_URL: 'https://api.web3modal.org',
|
|
11
11
|
WEB_WALLET_URL: 'https://web-wallet.walletconnect.org',
|
|
12
|
+
SECURE_SITE_DASHBOARD: `https://secure.reown.com/dashboard`,
|
|
13
|
+
SECURE_SITE_ICON: `https://secure.reown.com/images/favicon.png`,
|
|
12
14
|
WALLET_CONNECT_CONNECTOR_ID: 'walletConnect',
|
|
13
15
|
COINBASE_CONNECTOR_ID: 'coinbaseWallet',
|
|
14
16
|
AUTH_CONNECTOR_ID: 'appKitAuth',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ConstantsUtil","VERSION","EIP155","ADD_CHAIN_METHOD","WC_NAME_SUFFIX","WC_NAME_SUFFIX_LEGACY","BLOCKCHAIN_API_RPC_URL","BLOCKCHAIN_API_RPC_URL_STAGING","PULSE_API_URL","API_URL","WEB_WALLET_URL","WALLET_CONNECT_CONNECTOR_ID","COINBASE_CONNECTOR_ID","AUTH_CONNECTOR_ID","COINBASE_EXPLORER_ID","USDT_CONTRACT_ADDRESSES"],"sourceRoot":"../../../src","sources":["utils/ConstantsUtil.ts"],"mappings":"AAAA,OAAO,MAAMA,aAAa,GAAG;EAC3BC,OAAO,EAAE,wCAAwC;EAEjDC,MAAM,EAAE,QAAQ;EAChBC,gBAAgB,EAAE,yBAAyB;EAE3CC,cAAc,EAAE,WAAW;EAC3BC,qBAAqB,EAAE,SAAS;EAEhCC,sBAAsB,EAAE,+BAA+B;EACvDC,8BAA8B,EAAE,uCAAuC;EACvEC,aAAa,EAAE,iCAAiC;EAChDC,OAAO,EAAE,2BAA2B;EACpCC,cAAc,EAAE,sCAAsC;
|
|
1
|
+
{"version":3,"names":["ConstantsUtil","VERSION","EIP155","ADD_CHAIN_METHOD","WC_NAME_SUFFIX","WC_NAME_SUFFIX_LEGACY","BLOCKCHAIN_API_RPC_URL","BLOCKCHAIN_API_RPC_URL_STAGING","PULSE_API_URL","API_URL","WEB_WALLET_URL","SECURE_SITE_DASHBOARD","SECURE_SITE_ICON","WALLET_CONNECT_CONNECTOR_ID","COINBASE_CONNECTOR_ID","AUTH_CONNECTOR_ID","COINBASE_EXPLORER_ID","USDT_CONTRACT_ADDRESSES"],"sourceRoot":"../../../src","sources":["utils/ConstantsUtil.ts"],"mappings":"AAAA,OAAO,MAAMA,aAAa,GAAG;EAC3BC,OAAO,EAAE,wCAAwC;EAEjDC,MAAM,EAAE,QAAQ;EAChBC,gBAAgB,EAAE,yBAAyB;EAE3CC,cAAc,EAAE,WAAW;EAC3BC,qBAAqB,EAAE,SAAS;EAEhCC,sBAAsB,EAAE,+BAA+B;EACvDC,8BAA8B,EAAE,uCAAuC;EACvEC,aAAa,EAAE,iCAAiC;EAChDC,OAAO,EAAE,2BAA2B;EACpCC,cAAc,EAAE,sCAAsC;EACtDC,qBAAqB,EAAG,oCAAmC;EAC3DC,gBAAgB,EAAG,6CAA4C;EAE/DC,2BAA2B,EAAE,eAAe;EAC5CC,qBAAqB,EAAE,gBAAgB;EACvCC,iBAAiB,EAAE,YAAY;EAE/BC,oBAAoB,EAAE,kEAAkE;EAExFC,uBAAuB,EAAE;EACvB;EACA,4CAA4C;EAC5C;EACA,4CAA4C;EAC5C;EACA,4CAA4C;EAC5C;EACA,4CAA4C;EAC5C;EACA,4CAA4C;EAC5C;EACA,4CAA4C;EAC5C;EACA,4CAA4C;AAEhD,CAAC"}
|
|
@@ -83,11 +83,6 @@ export const PresetsUtil = {
|
|
|
83
83
|
[ConstantsUtil.COINBASE_CONNECTOR_ID]: '0c2840c3-5b04-4c44-9661-fbd4b49e1800',
|
|
84
84
|
[ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID]: 'ef1a1fcf-7fe8-4d69-bd6d-fda1345b4400'
|
|
85
85
|
},
|
|
86
|
-
ConnectorTypesMap: {
|
|
87
|
-
[ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID]: 'WALLET_CONNECT',
|
|
88
|
-
[ConstantsUtil.COINBASE_CONNECTOR_ID]: 'COINBASE',
|
|
89
|
-
[ConstantsUtil.AUTH_CONNECTOR_ID]: 'AUTH'
|
|
90
|
-
},
|
|
91
86
|
RpcChainIds: [
|
|
92
87
|
// Ethereum
|
|
93
88
|
1,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ConstantsUtil","PresetsUtil","ConnectorExplorerIds","COINBASE_CONNECTOR_ID","NetworkImageIds","ConnectorNamesMap","WALLET_CONNECT_CONNECTOR_ID","AUTH_CONNECTOR_ID","ConnectorImageIds","
|
|
1
|
+
{"version":3,"names":["ConstantsUtil","PresetsUtil","ConnectorExplorerIds","COINBASE_CONNECTOR_ID","NetworkImageIds","ConnectorNamesMap","WALLET_CONNECT_CONNECTOR_ID","AUTH_CONNECTOR_ID","ConnectorImageIds","RpcChainIds"],"sourceRoot":"../../../src","sources":["utils/PresetsUtil.ts"],"mappings":"AAAA,SAASA,aAAa,QAAQ,iBAAiB;AAE/C,OAAO,MAAMC,WAAW,GAAG;EACzBC,oBAAoB,EAAE;IACpB,CAACF,aAAa,CAACG,qBAAqB,GAClC;EACJ,CAA2B;EAE3BC,eAAe,EAAE;IACf;IACA,CAAC,EAAE,sCAAsC;IACzC;IACA,KAAK,EAAE,sCAAsC;IAC7C;IACA,KAAK,EAAE,sCAAsC;IAC7C;IACA,EAAE,EAAE,sCAAsC;IAC1C;IACA,GAAG,EAAE,sCAAsC;IAC3C;IACA,EAAE,EAAE,sCAAsC;IAC1C;IACA,GAAG,EAAE,sCAAsC;IAC3C;IACA,IAAI,EAAE,sCAAsC;IAC5C;IACA,GAAG,EAAE,sCAAsC;IAC3C;IACA,UAAU,EAAE,sCAAsC;IAClD;IACA,KAAK,EAAE,sCAAsC;IAC7C;IACA,IAAI,EAAE,sCAAsC;IAC5C;IACA,GAAG,EAAE,sCAAsC;IAC3C;IACA,MAAM,EAAE,sCAAsC;IAC9C;IACA,GAAG,EAAE,sCAAsC;IAC3C;IACA,IAAI,EAAE,sCAAsC;IAC5C;IACA,GAAG,EAAE,sCAAsC;IAC3C;IACA,GAAG,EAAE,sCAAsC;IAC3C;IACA,IAAI,EAAE,sCAAsC;IAC5C;IACA,IAAI,EAAE,sCAAsC;IAC5C;IACA,IAAI,EAAE,sCAAsC;IAC5C;IACA,IAAI,EAAE,sCAAsC;IAC5C;IACA,OAAO,EAAE,sCAAsC;IAC/C;IACA,KAAK,EAAE,sCAAsC;IAC7C;IACA,IAAI,EAAE,sCAAsC;IAC5C;IACA,UAAU,EAAE,sCAAsC;IAClD;IACA,IAAI,EAAE,sCAAsC;IAC5C;IACA,IAAI,EAAE,sCAAsC;IAC5C;IACA,KAAK,EAAE,sCAAsC;IAC7C;IACA,IAAI,EAAE,sCAAsC;IAE5C;IACA;IACA,kCAAkC,EAAE,sCAAsC;IAC1E;IACA,kCAAkC,EAAE,sCAAsC;IAE1E;IACA,kCAAkC,EAAE,sCAAsC;IAC1E;IACA,kCAAkC,EAAE;EACtC,CAA2B;EAE3BC,iBAAiB,EAAE;IACjB,CAACL,aAAa,CAACM,2BAA2B,GAAG,eAAe;IAC5D,CAACN,aAAa,CAACG,qBAAqB,GAAG,iBAAiB;IACxD,CAACH,aAAa,CAACO,iBAAiB,GAAG;EACrC,CAA2B;EAE3BC,iBAAiB,EAAE;IACjB,CAACR,aAAa,CAACG,qBAAqB,GAAG,sCAAsC;IAC7E,CAACH,aAAa,CAACM,2BAA2B,GAAG;EAC/C,CAA2B;EAE3BG,WAAW,EAAE;EACX;EACA,CAAC;EACD;EACA,CAAC;EACD;EACA,QAAQ;EACR;EACA,EAAE;EACF;EACA,GAAG;EACH;EACA,KAAK;EACL;EACA,MAAM;EACN;EACA,GAAG;EACH;EACA,KAAK;EACL;EACA,KAAK;EACL;EACA,UAAU;EACV;EACA,UAAU;EACV;EACA,EAAE;EACF;EACA,EAAE;EACF;EACA,KAAK;EACL;EACA,KAAK;EACL;EACA,GAAG;EACH;EACA,IAAI;EACJ;EACA,KAAK;EACL;EACA,OAAO;EACP;EACA,GAAG;EACH;EACA,GAAG;EACH;EACA,GAAG;AAEP,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["EventEmitter","WalletConnector","constructor","type","init","ops","storage","metadata","setProvider","provider","disconnect","namespaces","undefined","wallet","properties"],"sourceRoot":"../../../src","sources":["utils/TypeUtil.ts"],"mappings":"AAAA,SAASA,YAAY,QAAQ,QAAQ;;
|
|
1
|
+
{"version":3,"names":["EventEmitter","WalletConnector","constructor","type","init","ops","storage","metadata","setProvider","provider","disconnect","namespaces","undefined","wallet","properties"],"sourceRoot":"../../../src","sources":["utils/TypeUtil.ts"],"mappings":"AAAA,SAASA,YAAY,QAAQ,QAAQ;;AA8JrC;;AAeA;;AAgBA;;AAgBA;;AA8BA,OAAO,MAAeC,eAAe,SAASD,YAAY,CAAC;EASzDE,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;EAEA,MAAaC,UAAUA,CAAA,EAAG;IACxB,MAAM,IAAI,CAACD,QAAQ,EAAEC,UAAU,CAAC,CAAC;IACjC,IAAI,CAACC,UAAU,GAAGC,SAAS;IAC3B,IAAI,CAACC,MAAM,GAAGD,SAAS;IACvB,IAAI,CAACE,UAAU,GAAGF,SAAS;EAC7B;AAUF;;AAEA;;AAmBA;;AAGA;;AA+DA;;AA8BA"}
|
|
@@ -1,7 +1,55 @@
|
|
|
1
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
|
+
}
|
|
2
11
|
export declare abstract class EVMAdapter extends BlockchainAdapter {
|
|
12
|
+
subscribeToEvents(): void;
|
|
3
13
|
signMessage(address: string, message: string, chain?: string): Promise<string>;
|
|
4
14
|
estimateGas({ address, to, data, chainNamespace }: any): Promise<bigint>;
|
|
5
15
|
sendTransaction(data: any): Promise<`0x${string}` | 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>;
|
|
6
54
|
}
|
|
7
55
|
//# sourceMappingURL=EvmAdapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EvmAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/EvmAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;
|
|
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;IAyC/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACG,aAAa,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,KAAK,MAAM,EAAE,GAAG,IAAI,CAAC;CAwG5E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EvmAdapter.test.d.ts","sourceRoot":"","sources":["../../../../src/adapters/__tests__/EvmAdapter.test.ts"],"names":[],"mappings":""}
|
|
@@ -9,6 +9,8 @@ export declare const ConstantsUtil: {
|
|
|
9
9
|
PULSE_API_URL: string;
|
|
10
10
|
API_URL: string;
|
|
11
11
|
WEB_WALLET_URL: string;
|
|
12
|
+
SECURE_SITE_DASHBOARD: string;
|
|
13
|
+
SECURE_SITE_ICON: string;
|
|
12
14
|
WALLET_CONNECT_CONNECTOR_ID: string;
|
|
13
15
|
COINBASE_CONNECTOR_ID: string;
|
|
14
16
|
AUTH_CONNECTOR_ID: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConstantsUtil.d.ts","sourceRoot":"","sources":["../../../src/utils/ConstantsUtil.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa
|
|
1
|
+
{"version":3,"file":"ConstantsUtil.d.ts","sourceRoot":"","sources":["../../../src/utils/ConstantsUtil.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;CAuCzB,CAAC"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import type { ConnectorType } from './TypeUtil';
|
|
2
1
|
export declare const PresetsUtil: {
|
|
3
2
|
ConnectorExplorerIds: Record<string, string>;
|
|
4
3
|
NetworkImageIds: Record<string, string>;
|
|
5
4
|
ConnectorNamesMap: Record<string, string>;
|
|
6
5
|
ConnectorImageIds: Record<string, string>;
|
|
7
|
-
ConnectorTypesMap: Record<string, ConnectorType>;
|
|
8
6
|
RpcChainIds: number[];
|
|
9
7
|
};
|
|
10
8
|
//# sourceMappingURL=PresetsUtil.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PresetsUtil.d.ts","sourceRoot":"","sources":["../../../src/utils/PresetsUtil.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PresetsUtil.d.ts","sourceRoot":"","sources":["../../../src/utils/PresetsUtil.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW;;;;;;CA2IvB,CAAC"}
|
|
@@ -56,7 +56,7 @@ export interface Balance {
|
|
|
56
56
|
numeric: string;
|
|
57
57
|
};
|
|
58
58
|
chainId?: string;
|
|
59
|
-
|
|
59
|
+
address?: CaipAddress;
|
|
60
60
|
value?: number;
|
|
61
61
|
price?: number;
|
|
62
62
|
iconUrl?: string;
|
|
@@ -163,8 +163,8 @@ export interface AdapterEvents {
|
|
|
163
163
|
balanceChanged: (event: BalanceChangedEvent) => void;
|
|
164
164
|
}
|
|
165
165
|
export interface GetBalanceParams {
|
|
166
|
+
network: AppKitNetwork;
|
|
166
167
|
address?: CaipAddress;
|
|
167
|
-
network?: AppKitNetwork;
|
|
168
168
|
tokens?: Tokens;
|
|
169
169
|
}
|
|
170
170
|
export type GetBalanceResponse = Balance;
|
|
@@ -210,6 +210,7 @@ export declare abstract class WalletConnector extends EventEmitter {
|
|
|
210
210
|
abstract getWalletInfo(): WalletInfo | undefined;
|
|
211
211
|
abstract getProperties(): ConnectionProperties | undefined;
|
|
212
212
|
abstract switchNetwork(network: AppKitNetwork): Promise<void>;
|
|
213
|
+
abstract restoreSession(): Promise<boolean>;
|
|
213
214
|
}
|
|
214
215
|
export interface Provider {
|
|
215
216
|
connect<T>(params?: any): Promise<T>;
|
|
@@ -246,6 +247,7 @@ export interface ConnectionProperties {
|
|
|
246
247
|
username?: string;
|
|
247
248
|
smartAccounts?: CaipAddress[];
|
|
248
249
|
provider?: SocialProvider;
|
|
250
|
+
sessionTopic?: string;
|
|
249
251
|
}
|
|
250
252
|
export type AccountType = 'eoa' | 'smartAccount';
|
|
251
253
|
export interface Storage {
|
|
@@ -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": "0.0.0-feat-multi-social-
|
|
3
|
+
"version": "0.0.0-feat-multi-social-20250710154055",
|
|
4
4
|
"main": "lib/commonjs/index.js",
|
|
5
5
|
"types": "lib/typescript/index.d.ts",
|
|
6
6
|
"module": "lib/module/index.js",
|
|
@@ -1,7 +1,79 @@
|
|
|
1
1
|
import { BlockchainAdapter } from './BlockchainAdapter';
|
|
2
2
|
import { NumberUtil } from '../utils/NumberUtil';
|
|
3
3
|
|
|
4
|
+
// Type definitions for writeContract
|
|
5
|
+
export interface WriteContractData {
|
|
6
|
+
tokenAddress: `0x${string}`;
|
|
7
|
+
receiverAddress: `0x${string}`;
|
|
8
|
+
tokenAmount: bigint;
|
|
9
|
+
fromAddress: `0x${string}`;
|
|
10
|
+
method: 'transfer' | 'transferFrom' | 'approve';
|
|
11
|
+
abi?: any; // Optional ABI for future extensibility
|
|
12
|
+
spenderAddress?: `0x${string}`; // Required for transferFrom and approve
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
// Simple ABI encoder for ERC20 functions
|
|
16
|
+
function encodeERC20Function(method: string, params: any[]): string {
|
|
17
|
+
const functionSelectors = {
|
|
18
|
+
transfer: '0xa9059cbb', // transfer(address,uint256)
|
|
19
|
+
transferFrom: '0x23b872dd', // transferFrom(address,address,uint256)
|
|
20
|
+
approve: '0x095ea7b3' // approve(address,uint256)
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
const selector = functionSelectors[method as keyof typeof functionSelectors];
|
|
24
|
+
if (!selector) {
|
|
25
|
+
throw new Error(`EVMAdapter:encodeERC20Function - unsupported method: ${method}`);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
let encodedParams = '';
|
|
29
|
+
|
|
30
|
+
switch (method) {
|
|
31
|
+
case 'transfer':
|
|
32
|
+
if (params.length !== 2) throw new Error('transfer requires 2 parameters: to, amount');
|
|
33
|
+
const [to, amount] = params;
|
|
34
|
+
encodedParams =
|
|
35
|
+
to.toLowerCase().slice(2).padStart(64, '0') + amount.toString(16).padStart(64, '0');
|
|
36
|
+
break;
|
|
37
|
+
|
|
38
|
+
case 'transferFrom':
|
|
39
|
+
if (params.length !== 3)
|
|
40
|
+
throw new Error('transferFrom requires 3 parameters: from, to, amount');
|
|
41
|
+
const [from, toTransferFrom, amountTransferFrom] = params;
|
|
42
|
+
encodedParams =
|
|
43
|
+
from.toLowerCase().slice(2).padStart(64, '0') +
|
|
44
|
+
toTransferFrom.toLowerCase().slice(2).padStart(64, '0') +
|
|
45
|
+
amountTransferFrom.toString(16).padStart(64, '0');
|
|
46
|
+
break;
|
|
47
|
+
|
|
48
|
+
case 'approve':
|
|
49
|
+
if (params.length !== 2) throw new Error('approve requires 2 parameters: spender, amount');
|
|
50
|
+
const [spender, amountApprove] = params;
|
|
51
|
+
encodedParams =
|
|
52
|
+
spender.toLowerCase().slice(2).padStart(64, '0') +
|
|
53
|
+
amountApprove.toString(16).padStart(64, '0');
|
|
54
|
+
break;
|
|
55
|
+
|
|
56
|
+
default:
|
|
57
|
+
throw new Error(`EVMAdapter:encodeERC20Function - unsupported method: ${method}`);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
return selector + encodedParams;
|
|
61
|
+
}
|
|
62
|
+
|
|
4
63
|
export abstract class EVMAdapter extends BlockchainAdapter {
|
|
64
|
+
override subscribeToEvents(): void {
|
|
65
|
+
super.subscribeToEvents();
|
|
66
|
+
const provider = this.getProvider();
|
|
67
|
+
if (!provider) return;
|
|
68
|
+
|
|
69
|
+
provider.on('reown_updateEmail', (info: any) => {
|
|
70
|
+
// this.emit('updateEmail', email);
|
|
71
|
+
//TODO: check this
|
|
72
|
+
//eslint-disable-next-line no-console
|
|
73
|
+
console.log('reown_updateEmail', info);
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
|
|
5
77
|
async signMessage(address: string, message: string, chain?: string): Promise<string> {
|
|
6
78
|
const provider = this.getProvider();
|
|
7
79
|
|
|
@@ -93,4 +165,146 @@ export abstract class EVMAdapter extends BlockchainAdapter {
|
|
|
93
165
|
|
|
94
166
|
return receipt?.blockHash || null;
|
|
95
167
|
}
|
|
168
|
+
|
|
169
|
+
/**
|
|
170
|
+
* Executes a write operation on an ERC20 smart contract.
|
|
171
|
+
* This function is library-agnostic and uses only the provider for blockchain interactions.
|
|
172
|
+
*
|
|
173
|
+
* @param data - The contract interaction data
|
|
174
|
+
* @param data.tokenAddress - The ERC20 token contract address
|
|
175
|
+
* @param data.receiverAddress - The recipient address (required for transfer method)
|
|
176
|
+
* @param data.tokenAmount - The amount of tokens to transfer/approve
|
|
177
|
+
* @param data.fromAddress - The sender's address
|
|
178
|
+
* @param data.method - The ERC20 method to call: 'transfer', 'transferFrom', or 'approve'
|
|
179
|
+
* @param data.spenderAddress - The spender address (required for transferFrom and approve methods)
|
|
180
|
+
* @param data.abi - Optional ABI for future extensibility
|
|
181
|
+
*
|
|
182
|
+
* @returns Promise resolving to the transaction block hash or null if failed
|
|
183
|
+
*
|
|
184
|
+
* @example
|
|
185
|
+
* ```typescript
|
|
186
|
+
* // Transfer tokens
|
|
187
|
+
* const result = await adapter.writeContract({
|
|
188
|
+
* tokenAddress: '0x1234567890123456789012345678901234567890',
|
|
189
|
+
* receiverAddress: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd',
|
|
190
|
+
* tokenAmount: BigInt(1000000000000000000), // 1 token with 18 decimals
|
|
191
|
+
* fromAddress: '0x1234567890123456789012345678901234567890',
|
|
192
|
+
* method: 'transfer'
|
|
193
|
+
* });
|
|
194
|
+
*
|
|
195
|
+
* // Approve tokens
|
|
196
|
+
* const result = await adapter.writeContract({
|
|
197
|
+
* tokenAddress: '0x1234567890123456789012345678901234567890',
|
|
198
|
+
* receiverAddress: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd',
|
|
199
|
+
* tokenAmount: BigInt(1000000000000000000),
|
|
200
|
+
* fromAddress: '0x1234567890123456789012345678901234567890',
|
|
201
|
+
* method: 'approve',
|
|
202
|
+
* spenderAddress: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd'
|
|
203
|
+
* });
|
|
204
|
+
* ```
|
|
205
|
+
*/
|
|
206
|
+
async writeContract(data: WriteContractData): Promise<`0x${string}` | null> {
|
|
207
|
+
const { tokenAddress, receiverAddress, tokenAmount, method, fromAddress, spenderAddress } =
|
|
208
|
+
data;
|
|
209
|
+
|
|
210
|
+
if (!this.getProvider()) {
|
|
211
|
+
throw new Error('EVMAdapter:writeContract - provider is undefined');
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
if (!fromAddress) {
|
|
215
|
+
throw new Error('EVMAdapter:writeContract - fromAddress is undefined');
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
if (!tokenAddress) {
|
|
219
|
+
throw new Error('EVMAdapter:writeContract - tokenAddress is undefined');
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
if (!tokenAmount) {
|
|
223
|
+
throw new Error('EVMAdapter:writeContract - tokenAmount is undefined');
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
if (!method) {
|
|
227
|
+
throw new Error('EVMAdapter:writeContract - method is undefined');
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
// Validate method-specific parameters
|
|
231
|
+
if (method === 'transfer' && !receiverAddress) {
|
|
232
|
+
throw new Error('EVMAdapter:writeContract - receiverAddress is required for transfer method');
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
if ((method === 'transferFrom' || method === 'approve') && !spenderAddress) {
|
|
236
|
+
throw new Error(`EVMAdapter:writeContract - spenderAddress is required for ${method} method`);
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
// Encode the function call data based on method
|
|
240
|
+
let encodedData: string;
|
|
241
|
+
|
|
242
|
+
switch (method) {
|
|
243
|
+
case 'transfer':
|
|
244
|
+
encodedData = encodeERC20Function('transfer', [receiverAddress, tokenAmount]);
|
|
245
|
+
break;
|
|
246
|
+
case 'transferFrom':
|
|
247
|
+
encodedData = encodeERC20Function('transferFrom', [
|
|
248
|
+
fromAddress,
|
|
249
|
+
receiverAddress,
|
|
250
|
+
tokenAmount
|
|
251
|
+
]);
|
|
252
|
+
break;
|
|
253
|
+
case 'approve':
|
|
254
|
+
encodedData = encodeERC20Function('approve', [spenderAddress, tokenAmount]);
|
|
255
|
+
break;
|
|
256
|
+
default:
|
|
257
|
+
throw new Error(`EVMAdapter:writeContract - method '${method}' is not supported`);
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
// Create transaction parameters
|
|
261
|
+
const txParams = {
|
|
262
|
+
from: fromAddress,
|
|
263
|
+
to: tokenAddress,
|
|
264
|
+
data: encodedData,
|
|
265
|
+
value: '0x0', // No ETH value for token operations
|
|
266
|
+
type: '0x0' // legacy transaction type
|
|
267
|
+
};
|
|
268
|
+
|
|
269
|
+
try {
|
|
270
|
+
// Send the transaction
|
|
271
|
+
const txHash = await this.getProvider().request({
|
|
272
|
+
method: 'eth_sendTransaction',
|
|
273
|
+
params: [txParams]
|
|
274
|
+
});
|
|
275
|
+
|
|
276
|
+
// Wait for transaction receipt
|
|
277
|
+
let receipt = null;
|
|
278
|
+
let attempts = 0;
|
|
279
|
+
const maxAttempts = 60; // 60 seconds timeout
|
|
280
|
+
|
|
281
|
+
while (!receipt && attempts < maxAttempts) {
|
|
282
|
+
receipt = (await this.getProvider().request({
|
|
283
|
+
method: 'eth_getTransactionReceipt',
|
|
284
|
+
params: [txHash]
|
|
285
|
+
})) as { blockHash?: `0x${string}`; status?: string };
|
|
286
|
+
|
|
287
|
+
if (!receipt) {
|
|
288
|
+
await new Promise(r => setTimeout(r, 1000)); // wait 1s
|
|
289
|
+
attempts++;
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
if (!receipt) {
|
|
294
|
+
throw new Error('EVMAdapter:writeContract - transaction timeout');
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
// Check if transaction was successful
|
|
298
|
+
if (receipt.status === '0x0') {
|
|
299
|
+
throw new Error('EVMAdapter:writeContract - transaction failed');
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
return receipt?.blockHash || null;
|
|
303
|
+
} catch (error) {
|
|
304
|
+
if (error instanceof Error) {
|
|
305
|
+
throw new Error(`EVMAdapter:writeContract - ${error.message}`);
|
|
306
|
+
}
|
|
307
|
+
throw new Error('EVMAdapter:writeContract - unknown error occurred');
|
|
308
|
+
}
|
|
309
|
+
}
|
|
96
310
|
}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { EVMAdapter } from '../EvmAdapter';
|
|
2
|
+
import type { CaipAddress } from '../../utils/TypeUtil';
|
|
3
|
+
|
|
4
|
+
// Mock implementation for testing
|
|
5
|
+
class MockEVMAdapter extends EVMAdapter {
|
|
6
|
+
private mockProvider: any;
|
|
7
|
+
|
|
8
|
+
constructor() {
|
|
9
|
+
super({ projectId: 'test', supportedNamespace: 'eip155' });
|
|
10
|
+
this.mockProvider = {
|
|
11
|
+
request: jest.fn(),
|
|
12
|
+
on: jest.fn(),
|
|
13
|
+
off: jest.fn()
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
setMockProvider(provider: any) {
|
|
18
|
+
this.mockProvider = provider;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
override getProvider() {
|
|
22
|
+
return this.mockProvider;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
async disconnect(): Promise<void> {}
|
|
26
|
+
getSupportedNamespace() {
|
|
27
|
+
return 'eip155' as const;
|
|
28
|
+
}
|
|
29
|
+
async getBalance() {
|
|
30
|
+
return { amount: '0', symbol: 'ETH' };
|
|
31
|
+
}
|
|
32
|
+
getAccounts(): CaipAddress[] | undefined {
|
|
33
|
+
return ['eip155:1:0x1234567890123456789012345678901234567890'];
|
|
34
|
+
}
|
|
35
|
+
async switchNetwork() {}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
describe('EVMAdapter', () => {
|
|
39
|
+
let adapter: MockEVMAdapter;
|
|
40
|
+
|
|
41
|
+
beforeEach(() => {
|
|
42
|
+
adapter = new MockEVMAdapter();
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
describe('writeContract', () => {
|
|
46
|
+
it('should encode transfer function correctly', async () => {
|
|
47
|
+
const mockProvider = {
|
|
48
|
+
request: jest
|
|
49
|
+
.fn()
|
|
50
|
+
.mockResolvedValueOnce('0x1234567890abcdef') // eth_sendTransaction
|
|
51
|
+
.mockResolvedValueOnce({ blockHash: '0xabcdef1234567890', status: '0x1' }) // eth_getTransactionReceipt
|
|
52
|
+
};
|
|
53
|
+
adapter.setMockProvider(mockProvider);
|
|
54
|
+
|
|
55
|
+
const result = await adapter.writeContract({
|
|
56
|
+
tokenAddress: '0x1234567890123456789012345678901234567890',
|
|
57
|
+
receiverAddress: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd',
|
|
58
|
+
tokenAmount: BigInt(1000000000000000000), // 1 token with 18 decimals
|
|
59
|
+
fromAddress: '0x1234567890123456789012345678901234567890',
|
|
60
|
+
method: 'transfer'
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
expect(result).toBe('0xabcdef1234567890');
|
|
64
|
+
expect(mockProvider.request).toHaveBeenCalledWith({
|
|
65
|
+
method: 'eth_sendTransaction',
|
|
66
|
+
params: [
|
|
67
|
+
{
|
|
68
|
+
from: '0x1234567890123456789012345678901234567890',
|
|
69
|
+
to: '0x1234567890123456789012345678901234567890',
|
|
70
|
+
data: '0xa9059cbb000000000000000000000000abcdefabcdefabcdefabcdefabcdefabcdefabcd0000000000000000000000000000000000000000000000000de0b6b3a7640000',
|
|
71
|
+
value: '0x0',
|
|
72
|
+
type: '0x0'
|
|
73
|
+
}
|
|
74
|
+
]
|
|
75
|
+
});
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
it('should throw error for unsupported method', async () => {
|
|
79
|
+
await expect(
|
|
80
|
+
adapter.writeContract({
|
|
81
|
+
tokenAddress: '0x1234567890123456789012345678901234567890',
|
|
82
|
+
receiverAddress: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd',
|
|
83
|
+
tokenAmount: BigInt(1000000000000000000),
|
|
84
|
+
fromAddress: '0x1234567890123456789012345678901234567890',
|
|
85
|
+
method: 'unsupported' as any
|
|
86
|
+
})
|
|
87
|
+
).rejects.toThrow("method 'unsupported' is not supported");
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
it('should throw error when provider is undefined', async () => {
|
|
91
|
+
adapter.setMockProvider(undefined);
|
|
92
|
+
|
|
93
|
+
await expect(
|
|
94
|
+
adapter.writeContract({
|
|
95
|
+
tokenAddress: '0x1234567890123456789012345678901234567890',
|
|
96
|
+
receiverAddress: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd',
|
|
97
|
+
tokenAmount: BigInt(1000000000000000000),
|
|
98
|
+
fromAddress: '0x1234567890123456789012345678901234567890',
|
|
99
|
+
method: 'transfer'
|
|
100
|
+
})
|
|
101
|
+
).rejects.toThrow('provider is undefined');
|
|
102
|
+
});
|
|
103
|
+
});
|
|
104
|
+
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export const ConstantsUtil = {
|
|
2
|
-
VERSION: '0.0.0-feat-multi-social-
|
|
2
|
+
VERSION: '0.0.0-feat-multi-social-20250710154055',
|
|
3
3
|
|
|
4
4
|
EIP155: 'eip155',
|
|
5
5
|
ADD_CHAIN_METHOD: 'wallet_addEthereumChain',
|
|
@@ -12,6 +12,8 @@ export const ConstantsUtil = {
|
|
|
12
12
|
PULSE_API_URL: 'https://pulse.walletconnect.org',
|
|
13
13
|
API_URL: 'https://api.web3modal.org',
|
|
14
14
|
WEB_WALLET_URL: 'https://web-wallet.walletconnect.org',
|
|
15
|
+
SECURE_SITE_DASHBOARD: `https://secure.reown.com/dashboard`,
|
|
16
|
+
SECURE_SITE_ICON: `https://secure.reown.com/images/favicon.png`,
|
|
15
17
|
|
|
16
18
|
WALLET_CONNECT_CONNECTOR_ID: 'walletConnect',
|
|
17
19
|
COINBASE_CONNECTOR_ID: 'coinbaseWallet',
|
package/src/utils/PresetsUtil.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { ConnectorType } from './TypeUtil';
|
|
2
1
|
import { ConstantsUtil } from './ConstantsUtil';
|
|
3
2
|
|
|
4
3
|
export const PresetsUtil = {
|
|
@@ -92,12 +91,6 @@ export const PresetsUtil = {
|
|
|
92
91
|
[ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID]: 'ef1a1fcf-7fe8-4d69-bd6d-fda1345b4400'
|
|
93
92
|
} as Record<string, string>,
|
|
94
93
|
|
|
95
|
-
ConnectorTypesMap: {
|
|
96
|
-
[ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID]: 'WALLET_CONNECT',
|
|
97
|
-
[ConstantsUtil.COINBASE_CONNECTOR_ID]: 'COINBASE',
|
|
98
|
-
[ConstantsUtil.AUTH_CONNECTOR_ID]: 'AUTH'
|
|
99
|
-
} as Record<string, ConnectorType>,
|
|
100
|
-
|
|
101
94
|
RpcChainIds: [
|
|
102
95
|
// Ethereum
|
|
103
96
|
1,
|
package/src/utils/TypeUtil.ts
CHANGED
|
@@ -55,7 +55,7 @@ export interface Balance {
|
|
|
55
55
|
numeric: string;
|
|
56
56
|
};
|
|
57
57
|
chainId?: string;
|
|
58
|
-
|
|
58
|
+
address?: CaipAddress; // contract address
|
|
59
59
|
value?: number; //total value of the amount in currency
|
|
60
60
|
price?: number; //price of the token in currency
|
|
61
61
|
iconUrl?: string;
|
|
@@ -156,6 +156,7 @@ export interface Token {
|
|
|
156
156
|
|
|
157
157
|
export type Tokens = Record<CaipNetworkId, Token>;
|
|
158
158
|
|
|
159
|
+
//TODO: remove this
|
|
159
160
|
export type ConnectorType = 'WALLET_CONNECT' | 'COINBASE' | 'AUTH' | 'EXTERNAL';
|
|
160
161
|
|
|
161
162
|
export type Metadata = {
|
|
@@ -195,8 +196,8 @@ export interface AdapterEvents {
|
|
|
195
196
|
}
|
|
196
197
|
|
|
197
198
|
export interface GetBalanceParams {
|
|
199
|
+
network: AppKitNetwork;
|
|
198
200
|
address?: CaipAddress;
|
|
199
|
-
network?: AppKitNetwork;
|
|
200
201
|
tokens?: Tokens;
|
|
201
202
|
}
|
|
202
203
|
|
|
@@ -269,6 +270,7 @@ export abstract class WalletConnector extends EventEmitter {
|
|
|
269
270
|
abstract getWalletInfo(): WalletInfo | undefined;
|
|
270
271
|
abstract getProperties(): ConnectionProperties | undefined;
|
|
271
272
|
abstract switchNetwork(network: AppKitNetwork): Promise<void>;
|
|
273
|
+
abstract restoreSession(): Promise<boolean>;
|
|
272
274
|
}
|
|
273
275
|
|
|
274
276
|
//********** Provider Types **********//
|
|
@@ -320,6 +322,7 @@ export interface ConnectionProperties {
|
|
|
320
322
|
username?: string;
|
|
321
323
|
smartAccounts?: CaipAddress[];
|
|
322
324
|
provider?: SocialProvider;
|
|
325
|
+
sessionTopic?: string;
|
|
323
326
|
}
|
|
324
327
|
|
|
325
328
|
export type AccountType = 'eoa' | 'smartAccount';
|