Skip to content

Commit f9aff10

Browse files
feat: add denom initialization on client (#128)
1 parent b2e8011 commit f9aff10

File tree

2 files changed

+22
-20
lines changed

2 files changed

+22
-20
lines changed

examples/chain_client/31_MsgCreateBinaryOptionsLimitOrder.py

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,9 @@
1919
from pyinjective.composer import Composer as ProtoMsgComposer
2020
from pyinjective.async_client import AsyncClient
2121
from pyinjective.transaction import Transaction
22-
from pyinjective.constant import Network
22+
from pyinjective.constant import Network, Denom
2323
from pyinjective.wallet import PrivateKey
2424

25-
2625
async def main() -> None:
2726
# select network: local, testnet, mainnet
2827
network = Network.testnet()
@@ -33,15 +32,18 @@ async def main() -> None:
3332
await client.sync_timeout_height()
3433

3534
# load account
36-
priv_key = PrivateKey.from_hex("5d386fbdbf11f1141010f81a46b40f94887367562bd33b452bbaa6ce1cd1381e")
35+
priv_key = PrivateKey.from_hex("f9db9bf330e23cb7839039e944adef6e9df447b90b503d5b4464c90bea9022f3")
3736
pub_key = priv_key.to_public_key()
3837
address = await pub_key.to_address().async_init_num_seq(network.lcd_endpoint)
3938
subaccount_id = address.get_subaccount_id(index=0)
4039

4140
# prepare trade info
42-
market_id = "0x00617e128fdc0c0423dd18a1ff454511af14c4db6bdd98005a99cdf8fdbf74e9"
41+
market_id = "0x767e1542fbc111e88901e223e625a4a8eb6d630c96884bbde672e8bc874075bb"
4342
fee_recipient = "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r"
4443

44+
denom = Denom(description="desc", base=0, quote=6,
45+
min_price_tick_size=1000, min_quantity_tick_size=0.0001)
46+
4547
# prepare tx msg
4648
msg = composer.MsgCreateBinaryOptionsLimitOrder(
4749
sender=address.to_acc_bech32(),
@@ -50,9 +52,11 @@ async def main() -> None:
5052
fee_recipient=fee_recipient,
5153
price=0.5,
5254
quantity=1,
53-
is_buy=True,
54-
is_reduce_only=False
55+
is_buy=False,
56+
is_reduce_only=False,
57+
denom=denom
5558
)
59+
5660
# build sim tx
5761
tx = (
5862
Transaction()

pyinjective/composer.py

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -146,8 +146,13 @@ def BinaryOptionsOrder(
146146
quantity: float,
147147
**kwargs
148148
):
149+
150+
if "denom" in kwargs:
151+
denom = kwargs.get("denom")
152+
else:
153+
denom = Denom.load_market(self.network, market_id)
154+
149155
# load denom metadata
150-
denom = Denom.load_market(self.network, market_id)
151156
print("Loaded market metadata for", denom.description)
152157

153158
if kwargs.get("is_reduce_only") is None and kwargs.get("is_buy"):
@@ -247,8 +252,7 @@ def MsgCreateSpotLimitOrder(
247252
fee_recipient=fee_recipient,
248253
price=price,
249254
quantity=quantity,
250-
is_buy=kwargs.get("is_buy"),
251-
is_po=kwargs.get("is_po")
255+
**kwargs
252256
),
253257
)
254258

@@ -317,10 +321,7 @@ def MsgCreateDerivativeLimitOrder(
317321
fee_recipient=fee_recipient,
318322
price=price,
319323
quantity=quantity,
320-
is_buy=kwargs.get("is_buy"),
321-
is_po=kwargs.get("is_po"),
322-
leverage=kwargs.get("leverage"),
323-
is_reduce_only=kwargs.get("is_reduce_only"),
324+
**kwargs
324325
),
325326
)
326327

@@ -344,8 +345,7 @@ def MsgCreateDerivativeMarketOrder(
344345
price=price,
345346
quantity=quantity,
346347
is_buy=is_buy,
347-
leverage=kwargs.get("leverage"),
348-
is_reduce_only=kwargs.get("is_reduce_only"),
348+
**kwargs
349349
),
350350
)
351351

@@ -359,6 +359,7 @@ def MsgCreateBinaryOptionsLimitOrder(
359359
quantity: float,
360360
**kwargs
361361
):
362+
362363
return injective_exchange_tx_pb.MsgCreateBinaryOptionsLimitOrder(
363364
sender=sender,
364365
order=self.BinaryOptionsOrder(
@@ -367,9 +368,7 @@ def MsgCreateBinaryOptionsLimitOrder(
367368
fee_recipient=fee_recipient,
368369
price=price,
369370
quantity=quantity,
370-
is_buy=kwargs.get("is_buy"),
371-
is_po=kwargs.get("is_po"),
372-
is_reduce_only=kwargs.get("is_reduce_only"),
371+
**kwargs
373372
),
374373
)
375374

@@ -391,8 +390,7 @@ def MsgCreateBinaryOptionsMarketOrder(
391390
fee_recipient=fee_recipient,
392391
price=price,
393392
quantity=quantity,
394-
is_buy=kwargs.get("is_buy"),
395-
is_reduce_only=kwargs.get("is_reduce_only"),
393+
**kwargs
396394
),
397395
)
398396

0 commit comments

Comments
 (0)