1
0

wallet.is_beyond_limit (False for imported accounts)

This commit is contained in:
ThomasV
2014-06-24 20:47:44 +02:00
parent 2e410a6368
commit 0c440ee6a6
2 changed files with 31 additions and 37 deletions

View File

@@ -1051,6 +1051,8 @@ class Imported_Wallet(Abstract_Wallet):
def get_master_public_keys(self):
return {}
def is_beyond_limit(self, address, account, is_change):
return False
class Deterministic_Wallet(Abstract_Wallet):
@@ -1239,6 +1241,22 @@ class Deterministic_Wallet(Abstract_Wallet):
self.accounts[account_id] = PendingAccount({'pending':addr})
self.save_accounts()
def is_beyond_limit(self, address, account, is_change):
if type(account) == ImportedAccount:
return False
addr_list = account.get_addresses(is_change)
i = addr_list.index(address)
prev_addresses = addr_list[:max(0, i)]
limit = self.gap_limit_for_change if is_change else self.gap_limit
if len(prev_addresses) < limit:
return False
prev_addresses = prev_addresses[max(0, i - limit):]
for addr in prev_addresses:
num, is_used = self.is_used(addr)
if num > 0:
return False
return True
class NewWallet(Deterministic_Wallet):