check if txi.txo_ref.txo is not None before using it
This commit is contained in:
parent
841d49554c
commit
a879c822c2
2 changed files with 6 additions and 4 deletions
|
@ -6,7 +6,7 @@ from twisted.internet import defer
|
|||
from twisted.enterprise import adbapi
|
||||
|
||||
from torba.hash import TXRefImmutable
|
||||
from torba.basetransaction import TXORefResolvable
|
||||
from torba.basetransaction import BaseTransaction, TXORefResolvable
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
|
@ -186,7 +186,7 @@ class BaseDatabase(SQLiteMixin):
|
|||
'script': sqlite3.Binary(txo.script.source)
|
||||
}
|
||||
|
||||
def save_transaction_io(self, save_tx, tx, is_verified, address, txhash, history):
|
||||
def save_transaction_io(self, save_tx, tx: BaseTransaction, is_verified, address, txhash, history):
|
||||
|
||||
def _steps(t):
|
||||
if save_tx == 'insert':
|
||||
|
@ -270,7 +270,7 @@ class BaseDatabase(SQLiteMixin):
|
|||
return None, None, None, False
|
||||
|
||||
@defer.inlineCallbacks
|
||||
def get_transactions(self, account, offset=0, limit=100):
|
||||
def get_transactions(self, account, offset=0, limit=100) -> List[BaseTransaction]:
|
||||
account_id = account.public_key.address
|
||||
tx_rows = yield self.run_query(
|
||||
"""
|
||||
|
|
|
@ -306,7 +306,7 @@ class BaseTransaction:
|
|||
|
||||
@property
|
||||
def input_sum(self):
|
||||
return sum(i.amount for i in self.inputs)
|
||||
return sum(i.amount for i in self.inputs if i.txo_ref.txo is not None)
|
||||
|
||||
@property
|
||||
def output_sum(self):
|
||||
|
@ -316,6 +316,8 @@ class BaseTransaction:
|
|||
def net_account_balance(self) -> int:
|
||||
balance = 0
|
||||
for txi in self.inputs:
|
||||
if txi.txo_ref.txo is None:
|
||||
continue
|
||||
if txi.is_my_account is None:
|
||||
raise ValueError(
|
||||
"Cannot access net_account_balance if inputs/outputs do not "
|
||||
|
|
Loading…
Reference in a new issue