Skip to content

Commit

Permalink
Return etherlink test using mainnet
Browse files Browse the repository at this point in the history
  • Loading branch information
igorsereda committed Feb 10, 2025
1 parent c481d30 commit 0d7ee64
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 47 deletions.
5 changes: 3 additions & 2 deletions src/demo_tezos_etherlink/handlers/on_deposit.py
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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)
40 changes: 4 additions & 36 deletions src/demo_tezos_etherlink/models/__init__.py
Original file line number Diff line number Diff line change
@@ -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()
12 changes: 6 additions & 6 deletions tests/configs/demo_tezos_etherlink.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down Expand Up @@ -55,5 +55,5 @@ indexes:
- type: transaction
source: ticketer
entrypoint: transfer
first_level: 2838138
last_level: 2838138
first_level: 7001300
last_level: 7056600
18 changes: 15 additions & 3 deletions tests/test_demos.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand All @@ -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),
Expand Down

0 comments on commit 0d7ee64

Please sign in to comment.