From 0d7ee6487c68817fd0b40b84e3641c87373f1ffb Mon Sep 17 00:00:00 2001 From: Igor Sereda Date: Mon, 10 Feb 2025 22:50:13 +0300 Subject: [PATCH] Return etherlink test using mainnet --- .../handlers/on_deposit.py | 5 ++- src/demo_tezos_etherlink/models/__init__.py | 40 ++----------------- tests/configs/demo_tezos_etherlink.yaml | 12 +++--- tests/test_demos.py | 18 +++++++-- 4 files changed, 28 insertions(+), 47 deletions(-) diff --git a/src/demo_tezos_etherlink/handlers/on_deposit.py b/src/demo_tezos_etherlink/handlers/on_deposit.py index aaa3ad833..7de2f9dbd 100644 --- a/src/demo_tezos_etherlink/handlers/on_deposit.py +++ b/src/demo_tezos_etherlink/handlers/on_deposit.py @@ -1,4 +1,4 @@ -from demo_tezos_etherlink import models as models +from demo_tezos_etherlink.models import Deposit from demo_tezos_etherlink.types.rollup.tezos_parameters.default import DefaultParameter as RollupDefaultParameter from demo_tezos_etherlink.types.rollup.tezos_storage import RollupStorage from demo_tezos_etherlink.types.ticket_helper.tezos_parameters.default import DefaultParameter @@ -14,4 +14,5 @@ async def on_deposit( deposit: TezosTransaction[DepositParameter, TicketerStorage], default: TezosTransaction[DefaultParameter, TicketHelperStorage], rollup_default: TezosTransaction[RollupDefaultParameter, RollupStorage], -) -> None: ... +) -> None: + await Deposit.create(level=deposit.data.level, token=deposit.storage.token.fa2.address, amount=default.parameter.amount) diff --git a/src/demo_tezos_etherlink/models/__init__.py b/src/demo_tezos_etherlink/models/__init__.py index 66ff2bbef..9964b40d7 100644 --- a/src/demo_tezos_etherlink/models/__init__.py +++ b/src/demo_tezos_etherlink/models/__init__.py @@ -1,41 +1,9 @@ -import enum - from dipdup import fields from dipdup.models import Model -class ExampleModel(Model): +class Deposit(Model): id = fields.IntField(primary_key=True) - array = fields.ArrayField() - big_int = fields.BigIntField() - binary = fields.BinaryField() - boolean = fields.BooleanField() - decimal = fields.DecimalField(10, 2) - date = fields.DateField() - datetime = fields.DatetimeField() - enum_ = fields.EnumField(enum.Enum) - float = fields.FloatField() - int_enum = fields.IntEnumField(enum.IntEnum) - int_ = fields.IntField() - json = fields.JSONField() - small_int = fields.SmallIntField() - text = fields.TextField() - time_delta = fields.TimeDeltaField() - time = fields.TimeField() - uuid = fields.UUIDField() - - relation: fields.ForeignKeyField['ExampleModel'] = fields.ForeignKeyField( - 'models.ExampleModel', related_name='reverse_relation' - ) - m2m_relation: fields.ManyToManyField['ExampleModel'] = fields.ManyToManyField( - 'models.ExampleModel', related_name='reverse_m2m_relation' - ) - - created_at = fields.DatetimeField(auto_now_add=True) - updated_at = fields.DatetimeField(auto_now=True) - - relation_id: int - m2m_relation_ids: list[int] - - class Meta: - abstract = True + level = fields.IntField() + token = fields.CharField(max_length=36) + amount = fields.IntField() diff --git a/tests/configs/demo_tezos_etherlink.yaml b/tests/configs/demo_tezos_etherlink.yaml index 4f474dfe3..8f87da052 100644 --- a/tests/configs/demo_tezos_etherlink.yaml +++ b/tests/configs/demo_tezos_etherlink.yaml @@ -4,20 +4,20 @@ package: demo_tezos_etherlink datasources: tzkt: kind: tezos.tzkt - url: ${TZKT_URL:-https://api.parisnet.tzkt.io} + url: ${TZKT_URL:-https://api.tzkt.io} contracts: ticketer: kind: tezos - address: KT1AAi4DCQiTUv5MYoXtdiFwUrPH3t3Yhkjo + address: KT1UzfUMQDiEv7w6RQnnvt412qFXZmgjrLpd typename: ticketer ticket_helper: kind: tezos - address: KT1FcXb4oFBWtUVbEa96Do4DfQZXn6878yu1 + address: KT1JJsiwXgGVhomcUQsPQYdALkRRqakvK3XC typename: ticket_helper rollup: kind: tezos - address: sr1GBHEgzZmpWH4URqshZEZFCxBpqzi6ahvL + address: sr1Ghq66tYK9y3r8CC1Tf8i8m5nxh8nTvZEf typename: rollup indexes: @@ -55,5 +55,5 @@ indexes: - type: transaction source: ticketer entrypoint: transfer - first_level: 2838138 - last_level: 2838138 \ No newline at end of file + first_level: 7001300 + last_level: 7056600 diff --git a/tests/test_demos.py b/tests/test_demos.py index 7b24cfc67..b484e0937 100644 --- a/tests/test_demos.py +++ b/tests/test_demos.py @@ -6,7 +6,9 @@ from functools import partial import pytest +from tortoise.functions import Sum +import demo_tezos_etherlink.models from dipdup.database import tortoise_wrapper from dipdup.models.tezos import TezosOperationType from dipdup.test import run_in_tmp @@ -172,6 +174,17 @@ async def assert_run_dao() -> None: assert votes == 1 +async def assert_run_etherlink() -> None: + query_set = demo_tezos_etherlink.models.Deposit.all() + deposits: int = await query_set.count() + tokens: list[str] = await query_set.distinct().values_list('token', flat=True) + volume: int = await query_set.annotate(volume=Sum('amount')).first().values_list('volume', flat=True) + + assert deposits == 3 + assert tokens == ['KT1MZg99PxMDEENwB4Fi64xkqAVh5d1rv8Z9'] + assert volume == 15005 + + test_args = ('config', 'package', 'cmd', 'assert_fn') test_params = ( # NOTE: Tezos @@ -183,9 +196,8 @@ async def assert_run_dao() -> None: ('demo_tezos_dex.yml', 'demo_tezos_dex', 'init', None), ('demo_tezos_domains.yml', 'demo_tezos_domains', 'run', assert_run_domains), ('demo_tezos_domains.yml', 'demo_tezos_domains', 'init', None), - # FIXME: parisnet is dead - # ('demo_tezos_etherlink.yml', 'demo_tezos_etherlink', 'run', None), - # ('demo_tezos_etherlink.yml', 'demo_tezos_etherlink', 'init', None), + ('demo_tezos_etherlink.yml', 'demo_tezos_etherlink', 'run', None), + ('demo_tezos_etherlink.yml', 'demo_tezos_etherlink', 'init', None), ('demo_tezos_events.yml', 'demo_tezos_events', 'run', assert_run_events), ('demo_tezos_events.yml', 'demo_tezos_events', 'init', None), ('demo_tezos_factories.yml', 'demo_tezos_factories', 'run', assert_run_factories),