Skip to content

Commit 734b7e9

Browse files
committed
(fix) Added the min_notional field to all market classes. Updated the markets initialization logic to parse the min_notional. Added logic to populate the min_notional in the INI files
1 parent 7f39b06 commit 734b7e9

File tree

14 files changed

+1171
-330
lines changed

14 files changed

+1171
-330
lines changed

examples/chain_client/exchange/14_MsgCreateBinaryOptionsLimitOrder.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,14 @@ async def main() -> None:
3838
fee_recipient = "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r"
3939

4040
# set custom denom to bypass ini file load (optional)
41-
denom = Denom(description="desc", base=0, quote=6, min_price_tick_size=1000, min_quantity_tick_size=0.0001)
41+
denom = Denom(
42+
description="desc",
43+
base=0,
44+
quote=6,
45+
min_price_tick_size=1000,
46+
min_quantity_tick_size=0.0001,
47+
min_notional=0,
48+
)
4249

4350
# prepare tx msg
4451
msg = composer.msg_create_binary_options_limit_order(

pyinjective/async_client.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3324,6 +3324,7 @@ async def _initialize_tokens_and_markets(self):
33243324
service_provider_fee=Decimal(market_info["serviceProviderFee"]),
33253325
min_price_tick_size=Decimal(market_info["minPriceTickSize"]),
33263326
min_quantity_tick_size=Decimal(market_info["minQuantityTickSize"]),
3327+
min_notional=Decimal(market_info["minNotional"]),
33273328
)
33283329

33293330
spot_markets[market.id] = market
@@ -3359,6 +3360,7 @@ async def _initialize_tokens_and_markets(self):
33593360
service_provider_fee=Decimal(market_info["serviceProviderFee"]),
33603361
min_price_tick_size=Decimal(market_info["minPriceTickSize"]),
33613362
min_quantity_tick_size=Decimal(market_info["minQuantityTickSize"]),
3363+
min_notional=Decimal(market_info["minNotional"]),
33623364
)
33633365

33643366
derivative_markets[market.id] = market
@@ -3383,6 +3385,7 @@ async def _initialize_tokens_and_markets(self):
33833385
service_provider_fee=Decimal(market_info["serviceProviderFee"]),
33843386
min_price_tick_size=Decimal(market_info["minPriceTickSize"]),
33853387
min_quantity_tick_size=Decimal(market_info["minQuantityTickSize"]),
3388+
min_notional=Decimal(market_info["minNotional"]),
33863389
settlement_price=None
33873390
if market_info["settlementPrice"] == ""
33883391
else Decimal(market_info["settlementPrice"]),

pyinjective/composer.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2484,6 +2484,7 @@ def _initialize_markets_and_tokens_from_files(self):
24842484
service_provider_fee=None,
24852485
min_price_tick_size=Decimal(str(configuration_section["min_price_tick_size"])),
24862486
min_quantity_tick_size=Decimal(str(configuration_section["min_quantity_tick_size"])),
2487+
min_notional=Decimal(str(configuration_section.get("min_notional", "0"))),
24872488
)
24882489
spot_markets[market.id] = market
24892490
else:
@@ -2503,6 +2504,7 @@ def _initialize_markets_and_tokens_from_files(self):
25032504
service_provider_fee=None,
25042505
min_price_tick_size=Decimal(str(configuration_section["min_price_tick_size"])),
25052506
min_quantity_tick_size=Decimal(str(configuration_section["min_quantity_tick_size"])),
2507+
min_notional=Decimal(str(configuration_section.get("min_notional", "0"))),
25062508
)
25072509

25082510
derivative_markets[market.id] = market

pyinjective/core/market.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ class SpotMarket:
1919
service_provider_fee: Decimal
2020
min_price_tick_size: Decimal
2121
min_quantity_tick_size: Decimal
22+
min_notional: Decimal
2223

2324
def quantity_to_chain_format(self, human_readable_value: Decimal) -> Decimal:
2425
chain_formatted_value = human_readable_value * Decimal(f"1e{self.base_token.decimals}")
@@ -69,6 +70,7 @@ class DerivativeMarket:
6970
service_provider_fee: Decimal
7071
min_price_tick_size: Decimal
7172
min_quantity_tick_size: Decimal
73+
min_notional: Decimal
7274

7375
def quantity_to_chain_format(self, human_readable_value: Decimal) -> Decimal:
7476
# Derivative markets do not have a base market to provide the number of decimals
@@ -146,6 +148,7 @@ class BinaryOptionMarket:
146148
service_provider_fee: Decimal
147149
min_price_tick_size: Decimal
148150
min_quantity_tick_size: Decimal
151+
min_notional: Decimal
149152
settlement_price: Optional[Decimal] = None
150153

151154
def quantity_to_chain_format(self, human_readable_value: Decimal, special_denom: Optional[Denom] = None) -> Decimal:

pyinjective/denoms_devnet.ini

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ min_price_tick_size = 0.000000000000001
66
min_display_price_tick_size = 0.001
77
min_quantity_tick_size = 1000000000000000
88
min_display_quantity_tick_size = 0.001
9+
min_notional = 0
910

1011
[0x0511ddc4e6586f3bfe1acb2dd905f8b8a82c97e1edaef654b12ca7e6031ca0fa]
1112
description = 'Devnet Spot ATOM/USDT'
@@ -15,6 +16,7 @@ min_price_tick_size = 0.001
1516
min_display_price_tick_size = 0.001
1617
min_quantity_tick_size = 1000
1718
min_display_quantity_tick_size = 0.001
19+
min_notional = 1000000
1820

1921
[0xd1956e20d74eeb1febe31cd37060781ff1cb266f49e0512b446a5fafa9a16034]
2022
description = 'Devnet Spot WETH/USDT'
@@ -24,6 +26,7 @@ min_price_tick_size = 0.000000000000001
2426
min_display_price_tick_size = 0.001
2527
min_quantity_tick_size = 1000000000000000
2628
min_display_quantity_tick_size = 0.001
29+
min_notional = 1000000
2730

2831
[0xe97ebaf3e2ae3bd00dabe59046fcc28ec58ea969df33a9ce95f4fc285306c2d4]
2932
description = 'Devnet Spot WBTC/USDT'
@@ -33,6 +36,7 @@ min_price_tick_size = 0.000000000000001
3336
min_display_price_tick_size = 0.001
3437
min_quantity_tick_size = 1000000000000000
3538
min_display_quantity_tick_size = 0.001
39+
min_notional = 1000000
3640

3741
[0x26413a70c9b78a495023e5ab8003c9cf963ef963f6755f8b57255feb5744bf31]
3842
description = 'Devnet Spot LINK/USDT'
@@ -42,6 +46,7 @@ min_price_tick_size = 0.000000000000001
4246
min_display_price_tick_size = 0.001
4347
min_quantity_tick_size = 1000000000000000
4448
min_display_quantity_tick_size = 0.001
49+
min_notional = 1000000
4550

4651
[0x28f3c9897e23750bf653889224f93390c467b83c86d736af79431958fff833d1]
4752
description = 'Devnet Spot MATIC/USDT'
@@ -51,6 +56,7 @@ min_price_tick_size = 0.000000000000001
5156
min_display_price_tick_size = 0.001
5257
min_quantity_tick_size = 1000000000000000
5358
min_display_quantity_tick_size = 0.001
59+
min_notional = 1000000
5460

5561
[0x74b17b0d6855feba39f1f7ab1e8bad0363bd510ee1dcc74e40c2adfe1502f781]
5662
description = 'Devnet Spot BNB/USDT'
@@ -60,6 +66,7 @@ min_price_tick_size = 0.000000000000001
6066
min_display_price_tick_size = 0.001
6167
min_quantity_tick_size = 1000000000000000
6268
min_display_quantity_tick_size = 0.001
69+
min_notional = 1000000
6370

6471
[0x572f05fd93a6c2c4611b2eba1a0a36e102b6a592781956f0128a27662d84f112]
6572
description = 'Devnet Spot APE/USDT'
@@ -69,6 +76,7 @@ min_price_tick_size = 0.000000000000001
6976
min_display_price_tick_size = 0.001
7077
min_quantity_tick_size = 1000000000000000
7178
min_display_quantity_tick_size = 0.001
79+
min_notional = 1000000
7280

7381
[0x74ee114ad750f8429a97e07b5e73e145724e9b21670a7666625ddacc03d6758d]
7482
description = 'Devnet Spot YFI/USDT'
@@ -78,6 +86,7 @@ min_price_tick_size = 0.000000000000001
7886
min_display_price_tick_size = 0.001
7987
min_quantity_tick_size = 1000000000000000
8088
min_display_quantity_tick_size = 0.001
89+
min_notional = 1000000
8190

8291
[0x7f71c4fba375c964be8db7fc7a5275d974f8c6cdc4d758f2ac4997f106bb052b]
8392
description = 'Devnet Spot GF/USDT'
@@ -87,6 +96,7 @@ min_price_tick_size = 0.000000000000001
8796
min_display_price_tick_size = 0.001
8897
min_quantity_tick_size = 100000
8998
min_display_quantity_tick_size = 0.0000000000001
99+
min_notional = 1000000
90100

91101
[0x8b1a4d3e8f6b559e30e40922ee3662dd78edf7042330d4d620d188699d1a9715]
92102
description = 'Devnet Spot USDT/USDC'
@@ -96,6 +106,7 @@ min_price_tick_size = 0.001
96106
min_display_price_tick_size = 0.001
97107
min_quantity_tick_size = 1000
98108
min_display_quantity_tick_size = 0.001
109+
min_notional = 1000000
99110

100111
[0xa508cb32923323679f29a032c70342c147c17d0145625922b0ef22e955c844c0]
101112
description = 'Devnet Spot INJ/USDT'
@@ -105,6 +116,7 @@ min_price_tick_size = 0.000000000000001
105116
min_display_price_tick_size = 0.001
106117
min_quantity_tick_size = 1000000000000000
107118
min_display_quantity_tick_size = 0.001
119+
min_notional = 1000000
108120

109121
[0x6fa856bca5a9298ced8da3ef7616e66081ff64e4fdd2bffa38e95cf23c1f2321]
110122
description = 'Devnet Spot PROJ/USDT'
@@ -114,6 +126,7 @@ min_price_tick_size = 0.001
114126
min_display_price_tick_size = 1000000000
115127
min_quantity_tick_size = 1000
116128
min_display_quantity_tick_size = 0.000000000000001
129+
min_notional = 1000000
117130

118131
[0x0686357b934c761784d58a2b8b12618dfe557de108a220e06f8f6580abb83aab]
119132
description = 'Devnet Spot SOMM/USDT'
@@ -123,6 +136,7 @@ min_price_tick_size = 0.0001
123136
min_display_price_tick_size = 0.0001
124137
min_quantity_tick_size = 10000000
125138
min_display_quantity_tick_size = 10
139+
min_notional = 1000000
126140

127141
[0x4fa0bd2c2adbfe077f58395c18a72f5cbf89532743e3bddf43bc7aba706b0b74]
128142
description = 'Devnet Spot CHZ/USDC'
@@ -132,6 +146,7 @@ min_price_tick_size = 0.000001
132146
min_display_price_tick_size = 0.0001
133147
min_quantity_tick_size = 100000000
134148
min_display_quantity_tick_size = 1
149+
min_notional = 1000000
135150

136151
[0x2021159081a88c9a627c66f770fb60c7be78d492509c89b203e1829d0413995a]
137152
description = 'Devnet Spot ETHBTCTrend/USDT'
@@ -141,6 +156,7 @@ min_price_tick_size = 0.000000000000001
141156
min_display_price_tick_size = 0.001
142157
min_quantity_tick_size = 10000000000000000
143158
min_display_quantity_tick_size = 0.01
159+
min_notional = 1000000
144160

145161
[0xfad0838bf6be7467c6a00d61360f7924afc848e4d0c56cc4261f94e77e124e7a]
146162
description = 'Devnet Spot USDC/USDT'
@@ -150,6 +166,7 @@ min_price_tick_size = 0.001
150166
min_display_price_tick_size = 0.001
151167
min_quantity_tick_size = 1000
152168
min_display_quantity_tick_size = 0.001
169+
min_notional = 1000000
153170

154171
[0xba3101edf6cb94d0b29fd95fb1679f84fe981a98da91a3df1e06809845fab209]
155172
description = 'Devnet Spot WBTC/INJ'
@@ -159,6 +176,7 @@ min_price_tick_size = 0.001
159176
min_display_price_tick_size = 0.001
160177
min_quantity_tick_size = 10000000000000
161178
min_display_quantity_tick_size = 0.00001
179+
min_notional = 10000000000000000
162180

163181
[0xefc8e0b5bdb799010c9584c59fa14e759009d86c04fa52e0e67b411309096ace]
164182
description = 'Devnet Spot PROJ/INJ'
@@ -168,6 +186,7 @@ min_price_tick_size = 0.00000001
168186
min_display_price_tick_size = 0.00000001
169187
min_quantity_tick_size = 1000000000000000000000
170188
min_display_quantity_tick_size = 1000
189+
min_notional = 10000000000000000
171190

172191
[0x2d3b8d8833dda54a717adea9119134556848105fd6028e9a4a526e4e5a122a57]
173192
description = 'Devnet Spot KIRA/INJ'
@@ -177,6 +196,7 @@ min_price_tick_size = 10000
177196
min_display_price_tick_size = 0.00000001
178197
min_quantity_tick_size = 1000000000
179198
min_display_quantity_tick_size = 1000
199+
min_notional = 10000000000000000
180200

181201
[0x42edf70cc37e155e9b9f178e04e18999bc8c404bd7b638cc4cbf41da8ef45a21]
182202
description = 'Devnet Spot QUNT/INJ'
@@ -186,6 +206,7 @@ min_price_tick_size = 10000
186206
min_display_price_tick_size = 0.00000001
187207
min_quantity_tick_size = 1000000000
188208
min_display_quantity_tick_size = 1000
209+
min_notional = 0
189210

190211
[0xc8fafa1fcab27e16da20e98b4dc9dda45320418c27db80663b21edac72f3b597]
191212
description = 'Devnet Spot HDRO/INJ'
@@ -195,6 +216,7 @@ min_price_tick_size = 1000000
195216
min_display_price_tick_size = 0.000001
196217
min_quantity_tick_size = 1000000
197218
min_display_quantity_tick_size = 1
219+
min_notional = 10000000000000000
198220

199221
[0xd166688623206f9931307285678e9ff17cecd80a27d7b781dd88cecfba3b1839]
200222
description = 'Devnet Spot BLACK/INJ'
@@ -204,6 +226,7 @@ min_price_tick_size = 1000000
204226
min_display_price_tick_size = 0.000001
205227
min_quantity_tick_size = 1000000
206228
min_display_quantity_tick_size = 1
229+
min_notional = 10000000000000000
207230

208231
[0x1422a13427d5eabd4d8de7907c8340f7e58cb15553a9fd4ad5c90406561886f9]
209232
description = 'Devnet Derivative COMP/USDT PERP'
@@ -213,6 +236,7 @@ min_price_tick_size = 1000
213236
min_display_price_tick_size = 0.001
214237
min_quantity_tick_size = 0.001
215238
min_display_quantity_tick_size = 0.001
239+
min_notional = 1000000
216240

217241
[0x1c284820f24dff4c60fecd521a9df3df9c745d23dd585d45bf418653c2d73ab4]
218242
description = 'Devnet Derivative SNX/USDT PERP'
@@ -222,6 +246,7 @@ min_price_tick_size = 1000
222246
min_display_price_tick_size = 0.001
223247
min_quantity_tick_size = 0.001
224248
min_display_quantity_tick_size = 0.001
249+
min_notional = 1000000
225250

226251
[0x1f73e21972972c69c03fb105a5864592ac2b47996ffea3c500d1ea2d20138717]
227252
description = 'Devnet Derivative LINK/USDT PERP'
@@ -231,6 +256,7 @@ min_price_tick_size = 1000
231256
min_display_price_tick_size = 0.001
232257
min_quantity_tick_size = 0.001
233258
min_display_quantity_tick_size = 0.001
259+
min_notional = 1000000
234260

235261
[0x4ca0f92fc28be0c9761326016b5a1a2177dd6375558365116b5bdda9abc229ce]
236262
description = 'Devnet Derivative BTC/USDT PERP'
@@ -240,6 +266,7 @@ min_price_tick_size = 1000
240266
min_display_price_tick_size = 0.001
241267
min_quantity_tick_size = 0.001
242268
min_display_quantity_tick_size = 0.001
269+
min_notional = 1000000
243270

244271
[0x7cc8b10d7deb61e744ef83bdec2bbcf4a056867e89b062c6a453020ca82bd4e4]
245272
description = 'Devnet Derivative INJ/USDT PERP'
@@ -249,6 +276,7 @@ min_price_tick_size = 1000
249276
min_display_price_tick_size = 0.001
250277
min_quantity_tick_size = 0.001
251278
min_display_quantity_tick_size = 0.001
279+
min_notional = 1000000
252280

253281
[0x56d0c0293c4415e2d48fc2c8503a56a0c7389247396a2ef9b0a48c01f0646705]
254282
description = 'Devnet Derivative ATOM/USDT PERP'
@@ -258,6 +286,7 @@ min_price_tick_size = 1000
258286
min_display_price_tick_size = 0.001
259287
min_quantity_tick_size = 0.01
260288
min_display_quantity_tick_size = 0.01
289+
min_notional = 1000000
261290

262291
[0x979731deaaf17d26b2e256ad18fecd0ac742b3746b9ea5382bac9bd0b5e58f74]
263292
description = 'Devnet Derivative ETH/USDT PERP'
@@ -267,6 +296,7 @@ min_price_tick_size = 1000
267296
min_display_price_tick_size = 0.001
268297
min_quantity_tick_size = 0.001
269298
min_display_quantity_tick_size = 0.001
299+
min_notional = 1000000
270300

271301
[0xb64332daa987dcb200c26965bc9adaf8aa301fe3a0aecb0232fadbd3dfccd0d8]
272302
description = 'Devnet Derivative UNI/USDT PERP'
@@ -276,6 +306,7 @@ min_price_tick_size = 1000
276306
min_display_price_tick_size = 0.001
277307
min_quantity_tick_size = 0.001
278308
min_display_quantity_tick_size = 0.001
309+
min_notional = 1000000
279310

280311
[0xccd6723224cae013827668ad1e7f361cde694adbb7a87f62a6d547cc464ba9b5]
281312
description = 'Devnet Derivative GRT/USDT PERP'
@@ -285,6 +316,7 @@ min_price_tick_size = 1000
285316
min_display_price_tick_size = 0.001
286317
min_quantity_tick_size = 0.001
287318
min_display_quantity_tick_size = 0.001
319+
min_notional = 1000000
288320

289321
[0x3b7fb1d9351f7fa2e6e0e5a11b3639ee5e0486c33a6a74f629c3fc3c3043efd5]
290322
description = 'Devnet Derivative BONK/USDT PERP'
@@ -294,6 +326,7 @@ min_price_tick_size = 0.0001
294326
min_display_price_tick_size = 0.0000000001
295327
min_quantity_tick_size = 0.1
296328
min_display_quantity_tick_size = 0.1
329+
min_notional = 1000000
297330

298331
[$ALIEN]
299332
peggy_denom = factory/inj1mly2ykhf6f9tdj58pvndjf4q8dzdl4myjqm9t6/$alien

0 commit comments

Comments
 (0)