fixes from code review
This commit is contained in:
parent
28b638f0aa
commit
b830f4c3ca
2 changed files with 3 additions and 12 deletions
|
@ -110,10 +110,9 @@ class SQLiteMixin:
|
|||
|
||||
async def open(self):
|
||||
log.info("connecting to database: %s", self._db_path)
|
||||
self.db = aiosqlite.connect(self._db_path)
|
||||
self.db = aiosqlite.connect(self._db_path, isolation_level=None)
|
||||
await self.db.__aenter__()
|
||||
await self.db.executescript(self.CREATE_TABLES_QUERY)
|
||||
await self.db.commit()
|
||||
|
||||
async def close(self):
|
||||
await self.db.close()
|
||||
|
@ -273,7 +272,6 @@ class BaseDatabase(SQLiteMixin):
|
|||
}))
|
||||
|
||||
await self._set_address_history(address, history)
|
||||
await self.db.commit()
|
||||
|
||||
async def reserve_outputs(self, txos, is_reserved=True):
|
||||
txoids = [txo.id for txo in txos]
|
||||
|
@ -282,7 +280,6 @@ class BaseDatabase(SQLiteMixin):
|
|||
', '.join(['?']*len(txoids))
|
||||
), [is_reserved]+txoids
|
||||
)
|
||||
await self.db.commit()
|
||||
|
||||
async def release_outputs(self, txos):
|
||||
await self.reserve_outputs(txos, is_reserved=False)
|
||||
|
@ -454,7 +451,6 @@ class BaseDatabase(SQLiteMixin):
|
|||
sqlite3.Binary(pubkey.pubkey_bytes)
|
||||
))
|
||||
await self.db.execute(sql, values)
|
||||
await self.db.commit()
|
||||
|
||||
async def _set_address_history(self, address, history):
|
||||
await self.db.execute(
|
||||
|
@ -464,4 +460,3 @@ class BaseDatabase(SQLiteMixin):
|
|||
|
||||
async def set_address_history(self, address, history):
|
||||
await self._set_address_history(address, history)
|
||||
await self.db.commit()
|
||||
|
|
|
@ -306,17 +306,13 @@ class BaseLedger(metaclass=LedgerRegistry):
|
|||
))
|
||||
|
||||
async def update_account(self, account: baseaccount.BaseAccount):
|
||||
# Before subscribing, download history for any addresses that don't have any,
|
||||
# this avoids situation where we're getting status updates to addresses we know
|
||||
# need to update anyways. Continue to get history and create more addresses until
|
||||
# all missing addresses are created and history for them is fully restored.
|
||||
await account.ensure_address_gap()
|
||||
addresses = await account.get_addresses(used_times=0)
|
||||
while addresses:
|
||||
await asyncio.gather(*(self.subscribe_history(a) for a in addresses))
|
||||
addresses = await account.ensure_address_gap()
|
||||
|
||||
async def _prefetch_history(self, remote_history, local_history):
|
||||
def _prefetch_history(self, remote_history, local_history):
|
||||
proofs, network_txs = {}, {}
|
||||
for i, (hex_id, remote_height) in enumerate(map(itemgetter('tx_hash', 'height'), remote_history)):
|
||||
if i < len(local_history) and local_history[i] == (hex_id, remote_height):
|
||||
|
@ -329,7 +325,7 @@ class BaseLedger(metaclass=LedgerRegistry):
|
|||
async def update_history(self, address):
|
||||
remote_history = await self.network.get_history(address)
|
||||
local_history = await self.get_local_history(address)
|
||||
proofs, network_txs = await self._prefetch_history(remote_history, local_history)
|
||||
proofs, network_txs = self._prefetch_history(remote_history, local_history)
|
||||
|
||||
synced_history = StringIO()
|
||||
for i, (hex_id, remote_height) in enumerate(map(itemgetter('tx_hash', 'height'), remote_history)):
|
||||
|
|
Loading…
Reference in a new issue