Skip to content

Commit bf968fe

Browse files
Dynamic configuration, context and rollback improvements, bugfixes (#49)
1 parent f77cf30 commit bf968fe

File tree

76 files changed

+2482
-1820
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

76 files changed

+2482
-1820
lines changed

docker-compose.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
version: "3.8"
22

33
services:
4+
45
hic_et_nunc:
56
build: .
67
depends_on:

poetry.lock

Lines changed: 58 additions & 46 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pyproject.toml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,15 @@ packages = [
2424
python = "^3.8"
2525
aiohttp = "^3.7.4"
2626
aiomysql = "^0.0.21"
27-
asyncpg = "^0.22.0"
27+
asyncpg = "0.23.0"
2828
datamodel-code-generator = "^0.11.1"
2929
"ruamel.yaml" = "^0.17.2"
30-
tortoise-orm = "^0.17.1"
30+
tortoise-orm = "0.17.4"
3131
pydantic = "^1.8.1"
3232
aiosignalrcore = "^0.9.2"
3333
fcache = "^0.4.7"
3434
click = "^8.0.1"
35+
pyee = "^8.1.0"
3536

3637
[tool.poetry.dev-dependencies]
3738
black = "^20.8b1"

src/demo_hic_et_nunc/handlers/on_cancel_swap.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
import demo_hic_et_nunc.models as models
22
from demo_hic_et_nunc.types.hen_minter.parameter.cancel_swap import CancelSwapParameter
33
from demo_hic_et_nunc.types.hen_minter.storage import HenMinterStorage
4-
from dipdup.models import OperationHandlerContext, TransactionContext
4+
from dipdup.context import OperationHandlerContext
5+
from dipdup.models import Transaction
56

67

78
async def on_cancel_swap(
89
ctx: OperationHandlerContext,
9-
cancel_swap: TransactionContext[CancelSwapParameter, HenMinterStorage],
10+
cancel_swap: Transaction[CancelSwapParameter, HenMinterStorage],
1011
) -> None:
1112
swap = await models.Swap.filter(id=int(cancel_swap.parameter.__root__)).get()
1213
swap.status = models.SwapStatus.CANCELED

src/demo_hic_et_nunc/handlers/on_collect.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
import demo_hic_et_nunc.models as models
22
from demo_hic_et_nunc.types.hen_minter.parameter.collect import CollectParameter
33
from demo_hic_et_nunc.types.hen_minter.storage import HenMinterStorage
4-
from dipdup.models import OperationHandlerContext, TransactionContext
4+
from dipdup.context import OperationHandlerContext
5+
from dipdup.models import Transaction
56

67

78
async def on_collect(
89
ctx: OperationHandlerContext,
9-
collect: TransactionContext[CollectParameter, HenMinterStorage],
10+
collect: Transaction[CollectParameter, HenMinterStorage],
1011
) -> None:
1112
swap = await models.Swap.filter(id=collect.parameter.swap_id).get()
1213
seller = await swap.creator
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
from dipdup.context import HandlerContext
2+
3+
4+
async def on_configure(ctx: HandlerContext) -> None:
5+
...

src/demo_hic_et_nunc/handlers/on_mint.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,14 @@
33
from demo_hic_et_nunc.types.hen_minter.storage import HenMinterStorage
44
from demo_hic_et_nunc.types.hen_objkts.parameter.mint import MintParameter
55
from demo_hic_et_nunc.types.hen_objkts.storage import HenObjktsStorage
6-
from dipdup.models import OperationHandlerContext, TransactionContext
6+
from dipdup.context import OperationHandlerContext
7+
from dipdup.models import Transaction
78

89

910
async def on_mint(
1011
ctx: OperationHandlerContext,
11-
mint_objkt: TransactionContext[MintOBJKTParameter, HenMinterStorage],
12-
mint: TransactionContext[MintParameter, HenObjktsStorage],
12+
mint_objkt: Transaction[MintOBJKTParameter, HenMinterStorage],
13+
mint: Transaction[MintParameter, HenObjktsStorage],
1314
) -> None:
1415
holder, _ = await models.Holder.get_or_create(address=mint.parameter.address)
1516
token = models.Token(
Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,10 @@
11
import logging
22

3-
from dipdup.utils import reindex
3+
from dipdup.context import RollbackHandlerContext
44

55
_logger = logging.getLogger(__name__)
66

77

8-
async def on_rollback(
9-
from_level: int,
10-
to_level: int,
11-
) -> None:
12-
_logger.warning('Rollback event received, reindexing')
13-
await reindex()
8+
async def on_rollback(ctx: RollbackHandlerContext) -> None:
9+
_logger.warning('Datasource `%s` rolled back from level %s to level %s, reindexing', ctx.datasource, ctx.from_level, ctx.to_level)
10+
await ctx.reindex()

src/demo_hic_et_nunc/handlers/on_swap.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
import demo_hic_et_nunc.models as models
22
from demo_hic_et_nunc.types.hen_minter.parameter.swap import SwapParameter
33
from demo_hic_et_nunc.types.hen_minter.storage import HenMinterStorage
4-
from dipdup.models import OperationHandlerContext, TransactionContext
4+
from dipdup.context import OperationHandlerContext
5+
from dipdup.models import Transaction
56

67

78
async def on_swap(
89
ctx: OperationHandlerContext,
9-
swap: TransactionContext[SwapParameter, HenMinterStorage],
10+
swap: Transaction[SwapParameter, HenMinterStorage],
1011
) -> None:
1112
holder, _ = await models.Holder.get_or_create(address=swap.data.sender_address)
1213
swap_model = models.Swap(

src/demo_hic_et_nunc/models.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,7 @@
1-
from enum import Enum, IntEnum
1+
from enum import IntEnum
22

33
from tortoise import Model, fields
44

5-
# on mint token, holder
6-
# on_swap new, cancel_swap, collect
7-
85

96
class SwapStatus(IntEnum):
107
ACTIVE = 0

0 commit comments

Comments
 (0)