keyboard shortcut to send all the coins in a wallet, with fee
This commit is contained in:
@@ -555,14 +555,8 @@ class Wallet:
|
||||
addr = item.get('address')
|
||||
v = item.get('value')
|
||||
total += v
|
||||
|
||||
inputs.append( item )
|
||||
if fixed_fee is None:
|
||||
estimated_size = len(inputs) * 180 + 80 # this assumes non-compressed keys
|
||||
fee = self.fee * int(round(estimated_size/1024.))
|
||||
if fee == 0: fee = self.fee
|
||||
else:
|
||||
fee = fixed_fee
|
||||
fee = self.estimated_fee(inputs) if fixed_fee is None else fixed_fee
|
||||
if total >= amount + fee: break
|
||||
else:
|
||||
inputs = []
|
||||
@@ -570,6 +564,12 @@ class Wallet:
|
||||
return inputs, total, fee
|
||||
|
||||
|
||||
def estimated_fee(self, inputs):
|
||||
estimated_size = len(inputs) * 180 + 80 # this assumes non-compressed keys
|
||||
fee = self.fee * int(round(estimated_size/1024.))
|
||||
if fee == 0: fee = self.fee
|
||||
return fee
|
||||
|
||||
|
||||
def add_tx_change( self, outputs, amount, fee, total, change_addr=None ):
|
||||
change_amount = total - ( amount + fee )
|
||||
|
||||
Reference in New Issue
Block a user