Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Process contracts originated from migrations #113

Merged
merged 14 commits into from
Aug 5, 2021
Prev Previous commit
Next Next commit
Separate type for migrations
droserasprout committed Aug 5, 2021
commit fd87b27a0b7a283409bc9945eb7aa0ce61583712
1 change: 1 addition & 0 deletions src/dipdup/config.py
Original file line number Diff line number Diff line change
@@ -36,6 +36,7 @@
class OperationType(Enum):
transaction = 'transaction'
origination = 'origination'
migration = 'migration'


@dataclass
10 changes: 6 additions & 4 deletions src/dipdup/index.py
Original file line number Diff line number Diff line change
@@ -149,10 +149,12 @@ async def _synchronize(self, last_level: int, cache: bool = False) -> None:
transaction_addresses = await self._get_transaction_addresses()
origination_addresses = await self._get_origination_addresses()

migration_originations = await self._datasource.get_migration_originations(first_level)
for op in migration_originations:
code_hash, type_hash = await self._get_contract_hashes(cast(str, op.originated_contract_address))
op.originated_contract_code_hash, op.originated_contract_type_hash = code_hash, type_hash
migration_originations = []
if self._config.types and OperationType.migration in self._config.types:
migration_originations = await self._datasource.get_migration_originations(first_level)
for op in migration_originations:
code_hash, type_hash = await self._get_contract_hashes(cast(str, op.originated_contract_address))
op.originated_contract_code_hash, op.originated_contract_type_hash = code_hash, type_hash

fetcher = OperationFetcher(
datasource=self._datasource,