@@ -214,26 +214,6 @@ class Wallet_2fa(Multisig_Wallet):
|
|||||||
def get_user_id(self):
|
def get_user_id(self):
|
||||||
return get_user_id(self.storage)
|
return get_user_id(self.storage)
|
||||||
|
|
||||||
def get_max_amount(self, config, inputs, recipient, fee):
|
|
||||||
from electrum.transaction import Transaction
|
|
||||||
sendable = sum(map(lambda x:x['value'], inputs))
|
|
||||||
for i in inputs:
|
|
||||||
self.add_input_info(i)
|
|
||||||
xf = self.extra_fee(config)
|
|
||||||
_type, addr = recipient
|
|
||||||
if xf and sendable >= xf:
|
|
||||||
billing_address = self.billing_info['billing_address']
|
|
||||||
sendable -= xf
|
|
||||||
outputs = [(_type, addr, sendable),
|
|
||||||
(TYPE_ADDRESS, billing_address, xf)]
|
|
||||||
else:
|
|
||||||
outputs = [(_type, addr, sendable)]
|
|
||||||
dummy_tx = Transaction.from_io(inputs, outputs)
|
|
||||||
if fee is None:
|
|
||||||
fee = self.estimate_fee(config, dummy_tx.estimated_size())
|
|
||||||
amount = max(0, sendable - fee)
|
|
||||||
return amount, fee
|
|
||||||
|
|
||||||
def min_prepay(self):
|
def min_prepay(self):
|
||||||
return min(self.price_per_tx.keys())
|
return min(self.price_per_tx.keys())
|
||||||
|
|
||||||
@@ -348,12 +328,17 @@ class TrustedCoinPlugin(BasePlugin):
|
|||||||
def get_tx_extra_fee(self, wallet, tx):
|
def get_tx_extra_fee(self, wallet, tx):
|
||||||
if type(wallet) != Wallet_2fa:
|
if type(wallet) != Wallet_2fa:
|
||||||
return
|
return
|
||||||
|
if wallet.billing_info is None:
|
||||||
|
assert wallet.can_sign_without_server()
|
||||||
|
return None
|
||||||
address = wallet.billing_info['billing_address']
|
address = wallet.billing_info['billing_address']
|
||||||
for _type, addr, amount in tx.outputs():
|
for _type, addr, amount in tx.outputs():
|
||||||
if _type == TYPE_ADDRESS and addr == address:
|
if _type == TYPE_ADDRESS and addr == address:
|
||||||
return address, amount
|
return address, amount
|
||||||
|
|
||||||
def request_billing_info(self, wallet):
|
def request_billing_info(self, wallet):
|
||||||
|
if wallet.can_sign_without_server():
|
||||||
|
return
|
||||||
self.print_error("request billing info")
|
self.print_error("request billing info")
|
||||||
billing_info = server.get(wallet.get_user_id()[1])
|
billing_info = server.get(wallet.get_user_id()[1])
|
||||||
billing_address = make_billing_address(wallet, billing_info['billing_index'])
|
billing_address = make_billing_address(wallet, billing_info['billing_index'])
|
||||||
|
|||||||
Reference in New Issue
Block a user