move estimate_fee back to wallet
This commit is contained in:
@@ -662,8 +662,7 @@ class Abstract_Wallet(PrintError):
|
||||
output = (TYPE_ADDRESS, addr, sendable)
|
||||
dummy_tx = Transaction.from_io(inputs, [output])
|
||||
if fee is None:
|
||||
fee_per_kb = self.fee_per_kb(config)
|
||||
fee = dummy_tx.estimated_fee(self.relayfee(), fee_per_kb)
|
||||
fee = self.estimate_fee(config, dummy_tx.estimated_size())
|
||||
amount = max(0, sendable - fee)
|
||||
return amount, fee
|
||||
|
||||
@@ -957,9 +956,7 @@ class Abstract_Wallet(PrintError):
|
||||
|
||||
# Fee estimator
|
||||
if fixed_fee is None:
|
||||
fee_estimator = partial(Transaction.fee_for_size,
|
||||
self.relayfee(),
|
||||
self.fee_per_kb(config))
|
||||
fee_estimator = partial(self.estimate_fee, config)
|
||||
else:
|
||||
fee_estimator = lambda size: fixed_fee
|
||||
|
||||
@@ -978,6 +975,11 @@ class Abstract_Wallet(PrintError):
|
||||
run_hook('make_unsigned_transaction', self, tx)
|
||||
return tx
|
||||
|
||||
def estimate_fee(self, config, size):
|
||||
fee = int(self.fee_per_kb(config) * size / 1000.)
|
||||
fee = max(fee, self.relayfee())
|
||||
return fee
|
||||
|
||||
def mktx(self, outputs, password, config, fee=None, change_addr=None, domain=None):
|
||||
coins = self.get_spendable_coins(domain)
|
||||
tx = self.make_unsigned_transaction(coins, outputs, config, fee, change_addr)
|
||||
|
||||
Reference in New Issue
Block a user