fee estimation

This commit is contained in:
sneurlax 2024-01-08 20:30:17 -06:00
parent f43ae8788d
commit 621aff4796
2 changed files with 19 additions and 15 deletions

View file

@ -2329,9 +2329,9 @@ class NamecoinWallet extends CoinServiceAPI
} }
} }
int estimateTxFee({required int vSize, required int feeRatePerKB}) { // int estimateTxFee({required int vSize, required int feeRatePerKB}) {
return vSize * (feeRatePerKB / 1000).ceil(); // return vSize * (feeRatePerKB / 1000).ceil();
} // }
/// The coinselection algorithm decides whether or not the user is eligible to make the transaction /// The coinselection algorithm decides whether or not the user is eligible to make the transaction
/// with [satoshiAmountToSend] and [selectedTxFeeRate]. If so, it will call buildTrasaction() and return /// with [satoshiAmountToSend] and [selectedTxFeeRate]. If so, it will call buildTrasaction() and return
@ -3405,14 +3405,14 @@ class NamecoinWallet extends CoinServiceAPI
} }
// TODO: Check if this is the correct formula for namecoin // TODO: Check if this is the correct formula for namecoin
Amount roughFeeEstimate(int inputCount, int outputCount, int feeRatePerKB) { // Amount roughFeeEstimate(int inputCount, int outputCount, int feeRatePerKB) {
return Amount( // return Amount(
rawValue: BigInt.from( // rawValue: BigInt.from(
((42 + (272 * inputCount) + (128 * outputCount)) / 4).ceil() * // ((42 + (272 * inputCount) + (128 * outputCount)) / 4).ceil() *
(feeRatePerKB / 1000).ceil()), // (feeRatePerKB / 1000).ceil()),
fractionDigits: coin.decimals, // fractionDigits: coin.decimals,
); // );
} // }
Future<Amount> sweepAllEstimate(int feeRate) async { Future<Amount> sweepAllEstimate(int feeRate) async {
int available = 0; int available = 0;

View file

@ -53,14 +53,18 @@ class NamecoinWallet extends Bip39HDWallet
@override @override
int estimateTxFee({required int vSize, required int feeRatePerKB}) { int estimateTxFee({required int vSize, required int feeRatePerKB}) {
// TODO: implement estimateTxFee return vSize * (feeRatePerKB / 1000).ceil();
throw UnimplementedError();
} }
// TODO: [prio=low] Check if this is the correct formula for namecoin. ECF
@override @override
Amount roughFeeEstimate(int inputCount, int outputCount, int feeRatePerKB) { Amount roughFeeEstimate(int inputCount, int outputCount, int feeRatePerKB) {
// TODO: implement roughFeeEstimate return Amount(
throw UnimplementedError(); rawValue: BigInt.from(
((42 + (272 * inputCount) + (128 * outputCount)) / 4).ceil() *
(feeRatePerKB / 1000).ceil()),
fractionDigits: cryptoCurrency.fractionDigits,
);
} }
@override @override