Skip to content

Commit 2b09d82

Browse files
Fix unassigned reference in BigMapFetcher (#166)
* Fix big map fetcher WIP * Lint * Changelog
1 parent 756b8ba commit 2b09d82

File tree

2 files changed

+14
-3
lines changed

2 files changed

+14
-3
lines changed

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# Changelog
22

3+
## 3.1.2 - [unreleased]
4+
5+
### Fixed
6+
7+
* Fixed crash occurred during synchronization of big map indexes.
8+
39
## 3.1.1 - 2021-10-18
410

511
### Fixed

src/dipdup/datasources/tzkt/datasource.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,7 @@ async def fetch_big_maps_by_level(self) -> AsyncGenerator[Tuple[int, Tuple[BigMa
215215
offset = 0
216216
big_maps: Tuple[BigMapData, ...] = tuple()
217217

218+
# TODO: Share code between this and OperationFetcher
218219
while True:
219220
fetched_big_maps = await self._datasource.get_big_maps(
220221
self._big_map_addresses,
@@ -226,10 +227,14 @@ async def fetch_big_maps_by_level(self) -> AsyncGenerator[Tuple[int, Tuple[BigMa
226227
)
227228
big_maps = big_maps + fetched_big_maps
228229

230+
# NOTE: Yield big map slices by level except the last one
229231
while True:
230232
for i in range(len(big_maps) - 1):
231-
if big_maps[i].level != big_maps[i + 1].level:
232-
yield big_maps[i].level, tuple(big_maps[: i + 1])
233+
curr_level, next_level = big_maps[i].level, big_maps[i + 1].level
234+
235+
# NOTE: Level boundaries found. Exit for loop, stay in while.
236+
if curr_level != next_level:
237+
yield curr_level, big_maps[: i + 1]
233238
big_maps = big_maps[i + 1 :]
234239
break
235240
else:
@@ -241,7 +246,7 @@ async def fetch_big_maps_by_level(self) -> AsyncGenerator[Tuple[int, Tuple[BigMa
241246
offset += self._datasource.request_limit
242247

243248
if big_maps:
244-
yield big_maps[0].level, tuple(big_maps[: i + 2])
249+
yield big_maps[0].level, big_maps
245250

246251

247252
class TzktDatasource(IndexDatasource):

0 commit comments

Comments
 (0)