diff --git a/lib/transaction.py b/lib/transaction.py index f15aa237..4deae9f7 100644 --- a/lib/transaction.py +++ b/lib/transaction.py @@ -840,7 +840,7 @@ class Transaction: def as_dict(self): import json out = { - "hex":self.raw, + "hex":str(self), "complete":self.is_complete() } return out @@ -849,8 +849,8 @@ class Transaction: def requires_fee(self, verifier): # see https://en.bitcoin.it/wiki/Transaction_fees threshold = 57600000 - size = len(self.raw)/2 - if size >= 10000: + size = len(str(self))/2 + if size >= 10000: return True for o in self.get_outputs(): diff --git a/lib/wallet.py b/lib/wallet.py index d109f7d2..8a5f4111 100644 --- a/lib/wallet.py +++ b/lib/wallet.py @@ -355,7 +355,9 @@ class Abstract_Wallet(object): return self.accounts[account_id].get_pubkeys(*sequence) def add_keypairs(self, tx, keypairs, password): - # first check the provided password. This will raise if invalid. + + if self.is_watching_only(): + return self.check_password(password) addr_list, xpub_list = tx.inputs_to_sign()