wallet: fix balance_at_timestamp

closes #5326
This commit is contained in:
SomberNight 2019-05-10 19:22:13 +02:00
parent aab067372c
commit 46ae86f600
No known key found for this signature in database
GPG key ID: B33B5F232C6271E9

View file

@ -438,10 +438,12 @@ class Abstract_Wallet(AddressSynchronizer):
return c1-c2, u1-u2, x1-x2
def balance_at_timestamp(self, domain, target_timestamp):
# we assume that get_history returns items ordered by block height
# we also assume that block timestamps are monotonic (which is false...!)
h = self.get_history(domain)
balance = 0
for tx_hash, tx_mined_status, value, balance in h:
if tx_mined_status.timestamp > target_timestamp:
if tx_mined_status.timestamp is None or tx_mined_status.timestamp > target_timestamp:
return balance - value
# return last balance
return balance