@cryptorubic/web3 0.0.18 → 0.0.20
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/package.json +1 -1
- package/src/lib/adapter/adapters/evm-adapter.d.ts +1 -0
- package/src/lib/adapter/adapters/evm-adapter.js +6 -2
- package/src/lib/adapter/adapters/models/approve-adapter.d.ts +8 -1
- package/src/lib/adapter/adapters/tron-adapter.d.ts +1 -0
- package/src/lib/adapter/adapters/tron-adapter.js +5 -0
package/package.json
CHANGED
|
@@ -31,4 +31,5 @@ export declare class EvmAdapter extends AbstractAdapter<PublicActions & PublicCl
|
|
|
31
31
|
getAllowance(fromTokenAddress: string, walletAddress: string, spenderAddress: string): Promise<AllowanceInfo>;
|
|
32
32
|
encodeApprove(tokenAddress: string, spenderAddress: string, amount?: string): EvmTransactionConfig;
|
|
33
33
|
needApprove(token: TokenAmount, contractAddress: string, walletAddress: string, amount: string): Promise<boolean>;
|
|
34
|
+
approve(fromAddress: string, tokenAddress: string, spenderAddress: string, amount?: string): Promise<string>;
|
|
34
35
|
}
|
|
@@ -136,8 +136,7 @@ class EvmAdapter extends abstract_adapter_1.AbstractAdapter {
|
|
|
136
136
|
to: config.to,
|
|
137
137
|
...(config.value && { value: BigInt(config.value) })
|
|
138
138
|
};
|
|
139
|
-
|
|
140
|
-
await this.core.call(callParams);
|
|
139
|
+
await this.public.call(callParams);
|
|
141
140
|
}
|
|
142
141
|
catch (err) {
|
|
143
142
|
this.logger?.customError('Error while simulating transaction', err);
|
|
@@ -243,5 +242,10 @@ class EvmAdapter extends abstract_adapter_1.AbstractAdapter {
|
|
|
243
242
|
return allowanceWei.lt(token.weiAmount);
|
|
244
243
|
}
|
|
245
244
|
;
|
|
245
|
+
async approve(fromAddress, tokenAddress, spenderAddress, amount) {
|
|
246
|
+
const config = this.encodeApprove(tokenAddress, spenderAddress, amount);
|
|
247
|
+
return this.write(fromAddress, config.to, config.value, config.data);
|
|
248
|
+
}
|
|
249
|
+
;
|
|
246
250
|
}
|
|
247
251
|
exports.EvmAdapter = EvmAdapter;
|
|
@@ -9,7 +9,7 @@ export interface ApproveAdapter<T> {
|
|
|
9
9
|
*/
|
|
10
10
|
getAllowance(fromTokenAddress: string, walletAddress: string, spenderAddress: string): Promise<AllowanceInfo>;
|
|
11
11
|
/**
|
|
12
|
-
*
|
|
12
|
+
* Get data for tokens approve
|
|
13
13
|
* @param tokenAddress erc20 token address
|
|
14
14
|
* @param spenderAddress spender address
|
|
15
15
|
* @param amount amount in non wei
|
|
@@ -23,4 +23,11 @@ export interface ApproveAdapter<T> {
|
|
|
23
23
|
* @param amount
|
|
24
24
|
*/
|
|
25
25
|
needApprove(token: TokenAmount, contractAddress: string, walletAddress: string, amount: string): Promise<boolean>;
|
|
26
|
+
/**
|
|
27
|
+
* Get data for tokens approve
|
|
28
|
+
* @param tokenAddress erc20 token address
|
|
29
|
+
* @param spenderAddress spender address
|
|
30
|
+
* @param amount amount in non wei
|
|
31
|
+
*/
|
|
32
|
+
approve(walletAddress: string, tokenAddress: string, spenderAddress: string, amount?: string): Promise<string>;
|
|
26
33
|
}
|
|
@@ -31,4 +31,5 @@ export declare class TronAdapter extends AbstractAdapter<TronWeb, TronWeb, TronB
|
|
|
31
31
|
needApprove(from: TokenAmount | PriceTokenAmount, walletAddress: string, spender: string): Promise<boolean>;
|
|
32
32
|
encodeApprove(tokenAddress: string, spenderAddress: string, amount?: string): TronTransactionConfig;
|
|
33
33
|
getAllowance(fromTokenAddress: string, walletAddress: string, spender: string): Promise<AllowanceInfo>;
|
|
34
|
+
approve(fromAddress: string, tokenAddress: string, spenderAddress: string, amount?: string): Promise<string>;
|
|
34
35
|
}
|
|
@@ -215,5 +215,10 @@ class TronAdapter extends abstract_adapter_1.AbstractAdapter {
|
|
|
215
215
|
const allowanceNonWei = core_1.Token.fromWei(allowanceWeiBN, Number(decimals));
|
|
216
216
|
return { allowanceNonWei, allowanceWei: allowanceWeiBN };
|
|
217
217
|
}
|
|
218
|
+
async approve(fromAddress, tokenAddress, spenderAddress, amount) {
|
|
219
|
+
const config = this.encodeApprove(tokenAddress, spenderAddress, amount);
|
|
220
|
+
return this.write(config.to, config.signature, config.arguments);
|
|
221
|
+
}
|
|
222
|
+
;
|
|
218
223
|
}
|
|
219
224
|
exports.TronAdapter = TronAdapter;
|