Skip to content

Commit 624bc35

Browse files
StorageType generic argument (#34)
1 parent 624720e commit 624bc35

31 files changed

+168
-195
lines changed

poetry.lock

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

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,11 +1,12 @@
11
import demo_hic_et_nunc.models as models
2-
from demo_hic_et_nunc.types.hen_minter.parameter.cancel_swap import CancelSwap
2+
from demo_hic_et_nunc.types.hen_minter.parameter.cancel_swap import CancelSwap as CancelSwapParameter
3+
from demo_hic_et_nunc.types.hen_minter.storage import Storage as HenMinterStorage
34
from dipdup.models import HandlerContext, OperationContext
45

56

67
async def on_cancel_swap(
78
ctx: HandlerContext,
8-
cancel_swap: OperationContext[CancelSwap],
9+
cancel_swap: OperationContext[CancelSwapParameter, HenMinterStorage],
910
) -> None:
1011
swap = await models.Swap.filter(id=int(cancel_swap.parameter.__root__)).get()
1112
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,11 +1,12 @@
11
import demo_hic_et_nunc.models as models
2-
from demo_hic_et_nunc.types.hen_minter.parameter.collect import Collect
2+
from demo_hic_et_nunc.types.hen_minter.parameter.collect import Collect as CollectParameter
3+
from demo_hic_et_nunc.types.hen_minter.storage import Storage as HenMinterStorage
34
from dipdup.models import HandlerContext, OperationContext
45

56

67
async def on_collect(
78
ctx: HandlerContext,
8-
collect: OperationContext[Collect],
9+
collect: OperationContext[CollectParameter, HenMinterStorage],
910
) -> None:
1011
swap = await models.Swap.filter(id=collect.parameter.swap_id).get()
1112
seller = await swap.creator

src/demo_hic_et_nunc/handlers/on_mint.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,18 @@
1-
from demo_hic_et_nunc.models import Holder, Token
2-
from demo_hic_et_nunc.types.hen_minter.parameter.mint_objkt import MintOBJKT
3-
from demo_hic_et_nunc.types.hen_objkts.parameter.mint import Mint
1+
import demo_hic_et_nunc.models as models
2+
from demo_hic_et_nunc.types.hen_minter.parameter.mint_objkt import MintOBJKT as MintOBJKTParameter
3+
from demo_hic_et_nunc.types.hen_minter.storage import Storage as HenMinterStorage
4+
from demo_hic_et_nunc.types.hen_objkts.parameter.mint import Mint as MintParameter
5+
from demo_hic_et_nunc.types.hen_objkts.storage import Storage as HenObjktsStorage
46
from dipdup.models import HandlerContext, OperationContext
57

68

79
async def on_mint(
810
ctx: HandlerContext,
9-
mint_objkt: OperationContext[MintOBJKT],
10-
mint: OperationContext[Mint],
11+
mint_objkt: OperationContext[MintOBJKTParameter, HenMinterStorage],
12+
mint: OperationContext[MintParameter, HenObjktsStorage],
1113
) -> None:
12-
holder, _ = await Holder.get_or_create(address=mint.parameter.address)
13-
token = Token(
14+
holder, _ = await models.Holder.get_or_create(address=mint.parameter.address)
15+
token = models.Token(
1416
id=mint.parameter.token_id,
1517
creator=holder,
1618
supply=mint.parameter.amount,

src/demo_hic_et_nunc/handlers/on_swap.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
import demo_hic_et_nunc.models as models
2-
from demo_hic_et_nunc.types.hen_minter.parameter.swap import Swap
2+
from demo_hic_et_nunc.types.hen_minter.parameter.swap import Swap as SwapParameter
3+
from demo_hic_et_nunc.types.hen_minter.storage import Storage as HenMinterStorage
34
from dipdup.models import HandlerContext, OperationContext
45

56

67
async def on_swap(
78
ctx: HandlerContext,
8-
swap: OperationContext[Swap],
9+
swap: OperationContext[SwapParameter, HenMinterStorage],
910
) -> None:
1011
holder, _ = await models.Holder.get_or_create(address=swap.data.sender_address)
1112
swap_model = models.Swap(

src/demo_hic_et_nunc/types/hen_minter/storage.py

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,28 +5,15 @@
55

66
from typing import Dict
77

8-
from pydantic import BaseModel, Extra
9-
10-
11-
class Metadata(BaseModel):
12-
class Config:
13-
extra = Extra.allow
14-
15-
__root__: str
8+
from pydantic import BaseModel
169

1710

1811
class Royalties(BaseModel):
19-
class Config:
20-
extra = Extra.allow
21-
2212
issuer: str
2313
royalties: str
2414

2515

2616
class Swaps(BaseModel):
27-
class Config:
28-
extra = Extra.allow
29-
3017
issuer: str
3118
objkt_amount: str
3219
objkt_id: str
@@ -39,7 +26,7 @@ class Storage(BaseModel):
3926
hdao: str
4027
locked: bool
4128
manager: str
42-
metadata: Dict[str, Metadata]
29+
metadata: Dict[str, str]
4330
objkt: str
4431
objkt_id: str
4532
royalties: Dict[str, Royalties]

src/demo_hic_et_nunc/types/hen_objkts/parameter/mint.py

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,11 @@
55

66
from typing import Dict
77

8-
from pydantic import BaseModel, Extra
9-
10-
11-
class TokenInfo(BaseModel):
12-
class Config:
13-
extra = Extra.allow
14-
15-
__root__: str
8+
from pydantic import BaseModel
169

1710

1811
class Mint(BaseModel):
1912
address: str
2013
amount: str
2114
token_id: str
22-
token_info: Dict[str, TokenInfo]
15+
token_info: Dict[str, str]

src/demo_hic_et_nunc/types/hen_objkts/storage.py

Lines changed: 3 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
from typing import Any, Dict, List
77

8-
from pydantic import BaseModel, Extra
8+
from pydantic import BaseModel
99

1010

1111
class Key(BaseModel):
@@ -18,13 +18,6 @@ class LedgerItem(BaseModel):
1818
value: str
1919

2020

21-
class Metadata(BaseModel):
22-
class Config:
23-
extra = Extra.allow
24-
25-
__root__: str
26-
27-
2821
class Key1(BaseModel):
2922
owner: str
3023
operator: str
@@ -36,26 +29,16 @@ class Operator(BaseModel):
3629
value: Dict[str, Any]
3730

3831

39-
class TokenInfo(BaseModel):
40-
class Config:
41-
extra = Extra.allow
42-
43-
__root__: str
44-
45-
4632
class TokenMetadata(BaseModel):
47-
class Config:
48-
extra = Extra.allow
49-
5033
token_id: str
51-
token_info: Dict[str, TokenInfo]
34+
token_info: Dict[str, str]
5235

5336

5437
class Storage(BaseModel):
5538
administrator: str
5639
all_tokens: str
5740
ledger: List[LedgerItem]
58-
metadata: Dict[str, Metadata]
41+
metadata: Dict[str, str]
5942
operators: List[Operator]
6043
paused: bool
6144
token_metadata: Dict[str, TokenMetadata]

src/demo_quipuswap/handlers/on_fa12_divest_liquidity.py

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,22 @@
11
from decimal import Decimal
2-
from typing import cast
32

43
import demo_quipuswap.models as models
5-
from demo_quipuswap.types.fa12_token.parameter.transfer import Transfer
6-
from demo_quipuswap.types.quipu_fa12.parameter.divest_liquidity import DivestLiquidity
7-
from demo_quipuswap.types.quipu_fa12.storage import Storage as QuipuFA12Storage
4+
from demo_quipuswap.types.fa12_token.parameter.transfer import Transfer as TransferParameter
5+
from demo_quipuswap.types.fa12_token.storage import Storage as Fa12TokenStorage
6+
from demo_quipuswap.types.quipu_fa12.parameter.divest_liquidity import DivestLiquidity as DivestLiquidityParameter
7+
from demo_quipuswap.types.quipu_fa12.storage import Storage as QuipuFa12Storage
88
from dipdup.models import HandlerContext, OperationContext
99

1010

1111
async def on_fa12_divest_liquidity(
1212
ctx: HandlerContext,
13-
divest_liquidity: OperationContext[DivestLiquidity],
14-
transfer: OperationContext[Transfer],
13+
divest_liquidity: OperationContext[DivestLiquidityParameter, QuipuFa12Storage],
14+
transfer: OperationContext[TransferParameter, Fa12TokenStorage],
1515
) -> None:
16-
1716
if ctx.template_values is None:
1817
raise Exception('This index must be templated')
1918

20-
storage = cast(QuipuFA12Storage, divest_liquidity.storage) # FIXME: remove
19+
storage = divest_liquidity.storage
2120

2221
decimals = int(ctx.template_values['decimals'])
2322
symbol = ctx.template_values['symbol']

0 commit comments

Comments
 (0)