@reown/appkit-common-react-native 0.0.0-feat-multi-social-20250703185818 → 0.0.0-feat-multi-social-20250708154835

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.
@@ -6,6 +6,44 @@ 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 {
10
48
  async signMessage(address, message, chain) {
11
49
  const provider = this.getProvider();
@@ -89,6 +127,141 @@ class EVMAdapter extends _BlockchainAdapter.BlockchainAdapter {
89
127
 
90
128
  return receipt?.blockHash || null;
91
129
  }
130
+
131
+ /**
132
+ * Executes a write operation on an ERC20 smart contract.
133
+ * This function is library-agnostic and uses only the provider for blockchain interactions.
134
+ *
135
+ * @param data - The contract interaction data
136
+ * @param data.tokenAddress - The ERC20 token contract address
137
+ * @param data.receiverAddress - The recipient address (required for transfer method)
138
+ * @param data.tokenAmount - The amount of tokens to transfer/approve
139
+ * @param data.fromAddress - The sender's address
140
+ * @param data.method - The ERC20 method to call: 'transfer', 'transferFrom', or 'approve'
141
+ * @param data.spenderAddress - The spender address (required for transferFrom and approve methods)
142
+ * @param data.abi - Optional ABI for future extensibility
143
+ *
144
+ * @returns Promise resolving to the transaction block hash or null if failed
145
+ *
146
+ * @example
147
+ * ```typescript
148
+ * // Transfer tokens
149
+ * const result = await adapter.writeContract({
150
+ * tokenAddress: '0x1234567890123456789012345678901234567890',
151
+ * receiverAddress: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd',
152
+ * tokenAmount: BigInt(1000000000000000000), // 1 token with 18 decimals
153
+ * fromAddress: '0x1234567890123456789012345678901234567890',
154
+ * method: 'transfer'
155
+ * });
156
+ *
157
+ * // Approve tokens
158
+ * const result = await adapter.writeContract({
159
+ * tokenAddress: '0x1234567890123456789012345678901234567890',
160
+ * receiverAddress: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd',
161
+ * tokenAmount: BigInt(1000000000000000000),
162
+ * fromAddress: '0x1234567890123456789012345678901234567890',
163
+ * method: 'approve',
164
+ * spenderAddress: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd'
165
+ * });
166
+ * ```
167
+ */
168
+ async writeContract(data) {
169
+ const {
170
+ tokenAddress,
171
+ receiverAddress,
172
+ tokenAmount,
173
+ method,
174
+ fromAddress,
175
+ spenderAddress
176
+ } = data;
177
+ if (!this.getProvider()) {
178
+ throw new Error('EVMAdapter:writeContract - provider is undefined');
179
+ }
180
+ if (!fromAddress) {
181
+ throw new Error('EVMAdapter:writeContract - fromAddress is undefined');
182
+ }
183
+ if (!tokenAddress) {
184
+ throw new Error('EVMAdapter:writeContract - tokenAddress is undefined');
185
+ }
186
+ if (!tokenAmount) {
187
+ throw new Error('EVMAdapter:writeContract - tokenAmount is undefined');
188
+ }
189
+ if (!method) {
190
+ throw new Error('EVMAdapter:writeContract - method is undefined');
191
+ }
192
+
193
+ // Validate method-specific parameters
194
+ if (method === 'transfer' && !receiverAddress) {
195
+ throw new Error('EVMAdapter:writeContract - receiverAddress is required for transfer method');
196
+ }
197
+ if ((method === 'transferFrom' || method === 'approve') && !spenderAddress) {
198
+ throw new Error(`EVMAdapter:writeContract - spenderAddress is required for ${method} method`);
199
+ }
200
+
201
+ // Encode the function call data based on method
202
+ let encodedData;
203
+ switch (method) {
204
+ case 'transfer':
205
+ encodedData = encodeERC20Function('transfer', [receiverAddress, tokenAmount]);
206
+ break;
207
+ case 'transferFrom':
208
+ encodedData = encodeERC20Function('transferFrom', [fromAddress, receiverAddress, tokenAmount]);
209
+ break;
210
+ case 'approve':
211
+ encodedData = encodeERC20Function('approve', [spenderAddress, tokenAmount]);
212
+ break;
213
+ default:
214
+ throw new Error(`EVMAdapter:writeContract - method '${method}' is not supported`);
215
+ }
216
+
217
+ // Create transaction parameters
218
+ const txParams = {
219
+ from: fromAddress,
220
+ to: tokenAddress,
221
+ data: encodedData,
222
+ value: '0x0',
223
+ // No ETH value for token operations
224
+ type: '0x0' // legacy transaction type
225
+ };
226
+
227
+ try {
228
+ // Send the transaction
229
+ const txHash = await this.getProvider().request({
230
+ method: 'eth_sendTransaction',
231
+ params: [txParams]
232
+ });
233
+
234
+ // Wait for transaction receipt
235
+ let receipt = null;
236
+ let attempts = 0;
237
+ const maxAttempts = 60; // 60 seconds timeout
238
+
239
+ while (!receipt && attempts < maxAttempts) {
240
+ receipt = await this.getProvider().request({
241
+ method: 'eth_getTransactionReceipt',
242
+ params: [txHash]
243
+ });
244
+ if (!receipt) {
245
+ await new Promise(r => setTimeout(r, 1000)); // wait 1s
246
+ attempts++;
247
+ }
248
+ }
249
+ if (!receipt) {
250
+ throw new Error('EVMAdapter:writeContract - transaction timeout');
251
+ }
252
+
253
+ // Check if transaction was successful
254
+ if (receipt.status === '0x0') {
255
+ throw new Error('EVMAdapter:writeContract - transaction failed');
256
+ }
257
+ return receipt?.blockHash || null;
258
+ } catch (error) {
259
+ if (error instanceof Error) {
260
+ throw new Error(`EVMAdapter:writeContract - ${error.message}`);
261
+ }
262
+ throw new Error('EVMAdapter:writeContract - unknown error occurred');
263
+ }
264
+ }
92
265
  }
93
266
  exports.EVMAdapter = EVMAdapter;
94
267
  //# sourceMappingURL=EvmAdapter.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_BlockchainAdapter","require","_NumberUtil","EVMAdapter","BlockchainAdapter","signMessage","address","message","chain","provider","getProvider","Error","signature","request","method","params","estimateGas","to","data","chainNamespace","txParams","from","type","estimatedGasHex","BigInt","error","sendTransaction","value","NumberUtil","convertNumericToHexString","gas","gasPrice","txHash","receipt","Promise","r","setTimeout","blockHash","exports"],"sourceRoot":"../../../src","sources":["adapters/EvmAdapter.ts"],"mappings":"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"}
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","signMessage","address","message","chain","provider","getProvider","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-20250703185818',
8
+ VERSION: '0.0.0-feat-multi-social-20250708154835',
9
9
  EIP155: 'eip155',
10
10
  ADD_CHAIN_METHOD: 'wallet_addEthereumChain',
11
11
  WC_NAME_SUFFIX: '.reown.id',
@@ -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;AA4KA;;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;AASF;;AAEA;;AAmBA;;AAGA;;AA8DA;;AA8BA;AAAAG,OAAA,CAAAf,eAAA,GAAAA,eAAA"}
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;AA4KA;;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;;AA8DA;;AA8BA;AAAAG,OAAA,CAAAf,eAAA,GAAAA,eAAA"}
@@ -1,5 +1,44 @@
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 {
4
43
  async signMessage(address, message, chain) {
5
44
  const provider = this.getProvider();
@@ -83,5 +122,140 @@ export class EVMAdapter extends BlockchainAdapter {
83
122
 
84
123
  return receipt?.blockHash || null;
85
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
+ }
86
260
  }
87
261
  //# sourceMappingURL=EvmAdapter.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["BlockchainAdapter","NumberUtil","EVMAdapter","signMessage","address","message","chain","provider","getProvider","Error","signature","request","method","params","estimateGas","to","data","chainNamespace","txParams","from","type","estimatedGasHex","BigInt","error","sendTransaction","value","convertNumericToHexString","gas","gasPrice","txHash","receipt","Promise","r","setTimeout","blockHash"],"sourceRoot":"../../../src","sources":["adapters/EvmAdapter.ts"],"mappings":"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"}
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","signMessage","address","message","chain","provider","getProvider","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-20250703185818',
2
+ VERSION: '0.0.0-feat-multi-social-20250708154835',
3
3
  EIP155: 'eip155',
4
4
  ADD_CHAIN_METHOD: 'wallet_addEthereumChain',
5
5
  WC_NAME_SUFFIX: '.reown.id',
@@ -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;;AA4KrC;;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;AASF;;AAEA;;AAmBA;;AAGA;;AA8DA;;AA8BA"}
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;;AA4KrC;;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;;AA8DA;;AA8BA"}
@@ -1,7 +1,54 @@
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 {
3
12
  signMessage(address: string, message: string, chain?: string): Promise<string>;
4
13
  estimateGas({ address, to, data, chainNamespace }: any): Promise<bigint>;
5
14
  sendTransaction(data: any): Promise<`0x${string}` | null>;
15
+ /**
16
+ * Executes a write operation on an ERC20 smart contract.
17
+ * This function is library-agnostic and uses only the provider for blockchain interactions.
18
+ *
19
+ * @param data - The contract interaction data
20
+ * @param data.tokenAddress - The ERC20 token contract address
21
+ * @param data.receiverAddress - The recipient address (required for transfer method)
22
+ * @param data.tokenAmount - The amount of tokens to transfer/approve
23
+ * @param data.fromAddress - The sender's address
24
+ * @param data.method - The ERC20 method to call: 'transfer', 'transferFrom', or 'approve'
25
+ * @param data.spenderAddress - The spender address (required for transferFrom and approve methods)
26
+ * @param data.abi - Optional ABI for future extensibility
27
+ *
28
+ * @returns Promise resolving to the transaction block hash or null if failed
29
+ *
30
+ * @example
31
+ * ```typescript
32
+ * // Transfer tokens
33
+ * const result = await adapter.writeContract({
34
+ * tokenAddress: '0x1234567890123456789012345678901234567890',
35
+ * receiverAddress: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd',
36
+ * tokenAmount: BigInt(1000000000000000000), // 1 token with 18 decimals
37
+ * fromAddress: '0x1234567890123456789012345678901234567890',
38
+ * method: 'transfer'
39
+ * });
40
+ *
41
+ * // Approve tokens
42
+ * const result = await adapter.writeContract({
43
+ * tokenAddress: '0x1234567890123456789012345678901234567890',
44
+ * receiverAddress: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd',
45
+ * tokenAmount: BigInt(1000000000000000000),
46
+ * fromAddress: '0x1234567890123456789012345678901234567890',
47
+ * method: 'approve',
48
+ * spenderAddress: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd'
49
+ * });
50
+ * ```
51
+ */
52
+ writeContract(data: WriteContractData): Promise<`0x${string}` | null>;
6
53
  }
7
54
  //# 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;AAGxD,8BAAsB,UAAW,SAAQ,iBAAiB;IAClD,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;CAwChC"}
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;IAClD,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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=EvmAdapter.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EvmAdapter.test.d.ts","sourceRoot":"","sources":["../../../../src/adapters/__tests__/EvmAdapter.test.ts"],"names":[],"mappings":""}
@@ -56,7 +56,7 @@ export interface Balance {
56
56
  numeric: string;
57
57
  };
58
58
  chainId?: string;
59
- contractAddress?: CaipAddress;
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>;
@@ -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-20250703185818",
3
+ "version": "0.0.0-feat-multi-social-20250708154835",
4
4
  "main": "lib/commonjs/index.js",
5
5
  "types": "lib/typescript/index.d.ts",
6
6
  "module": "lib/module/index.js",
@@ -1,6 +1,65 @@
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 {
5
64
  async signMessage(address: string, message: string, chain?: string): Promise<string> {
6
65
  const provider = this.getProvider();
@@ -93,4 +152,146 @@ export abstract class EVMAdapter extends BlockchainAdapter {
93
152
 
94
153
  return receipt?.blockHash || null;
95
154
  }
155
+
156
+ /**
157
+ * Executes a write operation on an ERC20 smart contract.
158
+ * This function is library-agnostic and uses only the provider for blockchain interactions.
159
+ *
160
+ * @param data - The contract interaction data
161
+ * @param data.tokenAddress - The ERC20 token contract address
162
+ * @param data.receiverAddress - The recipient address (required for transfer method)
163
+ * @param data.tokenAmount - The amount of tokens to transfer/approve
164
+ * @param data.fromAddress - The sender's address
165
+ * @param data.method - The ERC20 method to call: 'transfer', 'transferFrom', or 'approve'
166
+ * @param data.spenderAddress - The spender address (required for transferFrom and approve methods)
167
+ * @param data.abi - Optional ABI for future extensibility
168
+ *
169
+ * @returns Promise resolving to the transaction block hash or null if failed
170
+ *
171
+ * @example
172
+ * ```typescript
173
+ * // Transfer tokens
174
+ * const result = await adapter.writeContract({
175
+ * tokenAddress: '0x1234567890123456789012345678901234567890',
176
+ * receiverAddress: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd',
177
+ * tokenAmount: BigInt(1000000000000000000), // 1 token with 18 decimals
178
+ * fromAddress: '0x1234567890123456789012345678901234567890',
179
+ * method: 'transfer'
180
+ * });
181
+ *
182
+ * // Approve tokens
183
+ * const result = await adapter.writeContract({
184
+ * tokenAddress: '0x1234567890123456789012345678901234567890',
185
+ * receiverAddress: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd',
186
+ * tokenAmount: BigInt(1000000000000000000),
187
+ * fromAddress: '0x1234567890123456789012345678901234567890',
188
+ * method: 'approve',
189
+ * spenderAddress: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd'
190
+ * });
191
+ * ```
192
+ */
193
+ async writeContract(data: WriteContractData): Promise<`0x${string}` | null> {
194
+ const { tokenAddress, receiverAddress, tokenAmount, method, fromAddress, spenderAddress } =
195
+ data;
196
+
197
+ if (!this.getProvider()) {
198
+ throw new Error('EVMAdapter:writeContract - provider is undefined');
199
+ }
200
+
201
+ if (!fromAddress) {
202
+ throw new Error('EVMAdapter:writeContract - fromAddress is undefined');
203
+ }
204
+
205
+ if (!tokenAddress) {
206
+ throw new Error('EVMAdapter:writeContract - tokenAddress is undefined');
207
+ }
208
+
209
+ if (!tokenAmount) {
210
+ throw new Error('EVMAdapter:writeContract - tokenAmount is undefined');
211
+ }
212
+
213
+ if (!method) {
214
+ throw new Error('EVMAdapter:writeContract - method is undefined');
215
+ }
216
+
217
+ // Validate method-specific parameters
218
+ if (method === 'transfer' && !receiverAddress) {
219
+ throw new Error('EVMAdapter:writeContract - receiverAddress is required for transfer method');
220
+ }
221
+
222
+ if ((method === 'transferFrom' || method === 'approve') && !spenderAddress) {
223
+ throw new Error(`EVMAdapter:writeContract - spenderAddress is required for ${method} method`);
224
+ }
225
+
226
+ // Encode the function call data based on method
227
+ let encodedData: string;
228
+
229
+ switch (method) {
230
+ case 'transfer':
231
+ encodedData = encodeERC20Function('transfer', [receiverAddress, tokenAmount]);
232
+ break;
233
+ case 'transferFrom':
234
+ encodedData = encodeERC20Function('transferFrom', [
235
+ fromAddress,
236
+ receiverAddress,
237
+ tokenAmount
238
+ ]);
239
+ break;
240
+ case 'approve':
241
+ encodedData = encodeERC20Function('approve', [spenderAddress, tokenAmount]);
242
+ break;
243
+ default:
244
+ throw new Error(`EVMAdapter:writeContract - method '${method}' is not supported`);
245
+ }
246
+
247
+ // Create transaction parameters
248
+ const txParams = {
249
+ from: fromAddress,
250
+ to: tokenAddress,
251
+ data: encodedData,
252
+ value: '0x0', // No ETH value for token operations
253
+ type: '0x0' // legacy transaction type
254
+ };
255
+
256
+ try {
257
+ // Send the transaction
258
+ const txHash = await this.getProvider().request({
259
+ method: 'eth_sendTransaction',
260
+ params: [txParams]
261
+ });
262
+
263
+ // Wait for transaction receipt
264
+ let receipt = null;
265
+ let attempts = 0;
266
+ const maxAttempts = 60; // 60 seconds timeout
267
+
268
+ while (!receipt && attempts < maxAttempts) {
269
+ receipt = (await this.getProvider().request({
270
+ method: 'eth_getTransactionReceipt',
271
+ params: [txHash]
272
+ })) as { blockHash?: `0x${string}`; status?: string };
273
+
274
+ if (!receipt) {
275
+ await new Promise(r => setTimeout(r, 1000)); // wait 1s
276
+ attempts++;
277
+ }
278
+ }
279
+
280
+ if (!receipt) {
281
+ throw new Error('EVMAdapter:writeContract - transaction timeout');
282
+ }
283
+
284
+ // Check if transaction was successful
285
+ if (receipt.status === '0x0') {
286
+ throw new Error('EVMAdapter:writeContract - transaction failed');
287
+ }
288
+
289
+ return receipt?.blockHash || null;
290
+ } catch (error) {
291
+ if (error instanceof Error) {
292
+ throw new Error(`EVMAdapter:writeContract - ${error.message}`);
293
+ }
294
+ throw new Error('EVMAdapter:writeContract - unknown error occurred');
295
+ }
296
+ }
96
297
  }
@@ -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-20250703185818',
2
+ VERSION: '0.0.0-feat-multi-social-20250708154835',
3
3
 
4
4
  EIP155: 'eip155',
5
5
  ADD_CHAIN_METHOD: 'wallet_addEthereumChain',
@@ -55,7 +55,7 @@ export interface Balance {
55
55
  numeric: string;
56
56
  };
57
57
  chainId?: string;
58
- contractAddress?: CaipAddress;
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;
@@ -195,8 +195,8 @@ export interface AdapterEvents {
195
195
  }
196
196
 
197
197
  export interface GetBalanceParams {
198
+ network: AppKitNetwork;
198
199
  address?: CaipAddress;
199
- network?: AppKitNetwork;
200
200
  tokens?: Tokens;
201
201
  }
202
202
 
@@ -269,6 +269,7 @@ export abstract class WalletConnector extends EventEmitter {
269
269
  abstract getWalletInfo(): WalletInfo | undefined;
270
270
  abstract getProperties(): ConnectionProperties | undefined;
271
271
  abstract switchNetwork(network: AppKitNetwork): Promise<void>;
272
+ abstract restoreSession(): Promise<boolean>;
272
273
  }
273
274
 
274
275
  //********** Provider Types **********//