mirror of
https://github.com/cake-tech/cake_wallet.git
synced 2025-01-03 09:29:48 +00:00
CW-672: Enhance ETH Wallet Fee Calculation - Fix ERC20 Transaction Fee (#1548)
* fix: Eth transaction fees WIP
* Revert "fix: Eth transaction fees WIP"
This reverts commit b9a469bc7e
.
* fix: Modifying fee WIP
* fix: Enhance ETH Wallet fee calculation WIP
* feat: Enhance Transaction fees for ETH Transactions, Native transactions done, left with ERC20 transactions
* fix: Pre PR cleanups
* fix: ETH transaction fees for ERC20 transactions
* fix: ETH transaction fees for ERC20 transactions
* chore: Clarify comment in getEstimatedGas
* fix: Switch call to estimate gas units to a more cleaner approach
This commit is contained in:
parent
5c9f176d18
commit
a4282cb704
2 changed files with 9 additions and 11 deletions
|
@ -72,12 +72,12 @@ abstract class EVMChainClient {
|
|||
}
|
||||
}
|
||||
|
||||
Future<int> getGasBaseFee() async {
|
||||
Future<int?> getGasBaseFee() async {
|
||||
try {
|
||||
final blockInfo = await _client!.getBlockInformation(isContainFullObj: false);
|
||||
final baseFee = blockInfo.baseFeePerGas;
|
||||
|
||||
return baseFee!.getInWei.toInt();
|
||||
return baseFee?.getInWei.toInt();
|
||||
} catch (_) {
|
||||
return 0;
|
||||
}
|
||||
|
@ -110,19 +110,19 @@ abstract class EVMChainClient {
|
|||
EthereumAddress.fromHex(contractAddress),
|
||||
);
|
||||
|
||||
final transferFunction = contract.function('transferFrom');
|
||||
final transfer = contract.function('transfer');
|
||||
|
||||
final estimatedGas = await _client!.estimateGas(
|
||||
// Estimate gas units
|
||||
final gasEstimate = await _client!.estimateGas(
|
||||
sender: senderAddress,
|
||||
to: toAddress,
|
||||
value: value,
|
||||
data: transferFunction.encodeCall([
|
||||
senderAddress,
|
||||
to: EthereumAddress.fromHex(contractAddress),
|
||||
data: transfer.encodeCall([
|
||||
toAddress,
|
||||
value.getInWei,
|
||||
]),
|
||||
);
|
||||
return estimatedGas.toInt();
|
||||
|
||||
return gasEstimate.toInt();
|
||||
}
|
||||
} catch (_) {
|
||||
return 0;
|
||||
|
|
|
@ -387,8 +387,6 @@ abstract class EVMChainWalletBase
|
|||
|
||||
estimatedFeesForTransaction = BigInt.from(estimateFees);
|
||||
|
||||
debugPrint('Estimated Fees for Transaction: $estimatedFeesForTransaction');
|
||||
|
||||
if (output.sendAll && transactionCurrency is! Erc20Token) {
|
||||
totalAmount = (erc20Balance.balance - estimatedFeesForTransaction);
|
||||
|
||||
|
|
Loading…
Reference in a new issue