pmxt 1.3.4__py3-none-any.whl → 1.4.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pmxt/__init__.py +1 -1
- pmxt/_server/server/bundled.js +55 -0
- pmxt/client.py +83 -1
- pmxt/models.py +14 -0
- {pmxt-1.3.4.dist-info → pmxt-1.4.0.dist-info}/METADATA +3 -1
- {pmxt-1.3.4.dist-info → pmxt-1.4.0.dist-info}/RECORD +18 -13
- pmxt_internal/__init__.py +11 -1
- pmxt_internal/api/default_api.py +573 -0
- pmxt_internal/api_client.py +1 -1
- pmxt_internal/configuration.py +1 -1
- pmxt_internal/models/__init__.py +5 -0
- pmxt_internal/models/execution_price_result.py +91 -0
- pmxt_internal/models/get_execution_price200_response.py +95 -0
- pmxt_internal/models/get_execution_price_detailed200_response.py +99 -0
- pmxt_internal/models/get_execution_price_request.py +102 -0
- pmxt_internal/models/get_execution_price_request_args_inner.py +157 -0
- {pmxt-1.3.4.dist-info → pmxt-1.4.0.dist-info}/WHEEL +0 -0
- {pmxt-1.3.4.dist-info → pmxt-1.4.0.dist-info}/top_level.txt +0 -0
pmxt/__init__.py
CHANGED
pmxt/_server/server/bundled.js
CHANGED
|
@@ -24359,12 +24359,61 @@ var require_lib3 = __commonJS({
|
|
|
24359
24359
|
}
|
|
24360
24360
|
});
|
|
24361
24361
|
|
|
24362
|
+
// dist/utils/math.js
|
|
24363
|
+
var require_math = __commonJS({
|
|
24364
|
+
"dist/utils/math.js"(exports2) {
|
|
24365
|
+
"use strict";
|
|
24366
|
+
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
24367
|
+
exports2.getExecutionPrice = getExecutionPrice;
|
|
24368
|
+
exports2.getExecutionPriceDetailed = getExecutionPriceDetailed;
|
|
24369
|
+
function getExecutionPrice(orderBook, side, amount) {
|
|
24370
|
+
const result = getExecutionPriceDetailed(orderBook, side, amount);
|
|
24371
|
+
return result.fullyFilled ? result.price : 0;
|
|
24372
|
+
}
|
|
24373
|
+
function getExecutionPriceDetailed(orderBook, side, amount) {
|
|
24374
|
+
if (amount <= 0) {
|
|
24375
|
+
throw new Error("Amount must be greater than 0");
|
|
24376
|
+
}
|
|
24377
|
+
let levels = (side === "buy" ? orderBook.asks : orderBook.bids).filter((l) => l.size > 0);
|
|
24378
|
+
levels.sort((a, b) => side === "buy" ? a.price - b.price : b.price - a.price);
|
|
24379
|
+
if (levels.length === 0) {
|
|
24380
|
+
return {
|
|
24381
|
+
price: 0,
|
|
24382
|
+
filledAmount: 0,
|
|
24383
|
+
fullyFilled: false
|
|
24384
|
+
};
|
|
24385
|
+
}
|
|
24386
|
+
let remainingAmount = amount;
|
|
24387
|
+
let totalCost = 0;
|
|
24388
|
+
let filledAmount = 0;
|
|
24389
|
+
const EPSILON = 1e-8;
|
|
24390
|
+
for (const level of levels) {
|
|
24391
|
+
if (remainingAmount <= EPSILON) {
|
|
24392
|
+
break;
|
|
24393
|
+
}
|
|
24394
|
+
const fillSize = Math.min(remainingAmount, level.size);
|
|
24395
|
+
totalCost += fillSize * level.price;
|
|
24396
|
+
filledAmount += fillSize;
|
|
24397
|
+
remainingAmount -= fillSize;
|
|
24398
|
+
}
|
|
24399
|
+
const fullyFilled = remainingAmount <= EPSILON;
|
|
24400
|
+
const executionPrice = filledAmount > EPSILON ? totalCost / filledAmount : 0;
|
|
24401
|
+
return {
|
|
24402
|
+
price: executionPrice,
|
|
24403
|
+
filledAmount,
|
|
24404
|
+
fullyFilled
|
|
24405
|
+
};
|
|
24406
|
+
}
|
|
24407
|
+
}
|
|
24408
|
+
});
|
|
24409
|
+
|
|
24362
24410
|
// dist/BaseExchange.js
|
|
24363
24411
|
var require_BaseExchange = __commonJS({
|
|
24364
24412
|
"dist/BaseExchange.js"(exports2) {
|
|
24365
24413
|
"use strict";
|
|
24366
24414
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
24367
24415
|
exports2.PredictionMarketExchange = void 0;
|
|
24416
|
+
var math_1 = require_math();
|
|
24368
24417
|
var PredictionMarketExchange = class {
|
|
24369
24418
|
constructor(credentials) {
|
|
24370
24419
|
this.credentials = credentials;
|
|
@@ -24438,6 +24487,12 @@ var require_BaseExchange = __commonJS({
|
|
|
24438
24487
|
async fetchBalance() {
|
|
24439
24488
|
throw new Error("Method fetchBalance not implemented.");
|
|
24440
24489
|
}
|
|
24490
|
+
getExecutionPrice(orderBook, side, amount) {
|
|
24491
|
+
return (0, math_1.getExecutionPrice)(orderBook, side, amount);
|
|
24492
|
+
}
|
|
24493
|
+
getExecutionPriceDetailed(orderBook, side, amount) {
|
|
24494
|
+
return (0, math_1.getExecutionPriceDetailed)(orderBook, side, amount);
|
|
24495
|
+
}
|
|
24441
24496
|
// ----------------------------------------------------------------------------
|
|
24442
24497
|
// WebSocket Streaming Methods
|
|
24443
24498
|
// ----------------------------------------------------------------------------
|
pmxt/client.py
CHANGED
|
@@ -7,9 +7,10 @@ OpenAPI client, matching the JavaScript API exactly.
|
|
|
7
7
|
|
|
8
8
|
import os
|
|
9
9
|
import sys
|
|
10
|
-
from typing import List, Optional, Dict, Any
|
|
10
|
+
from typing import List, Optional, Dict, Any, Literal
|
|
11
11
|
from datetime import datetime
|
|
12
12
|
from abc import ABC, abstractmethod
|
|
13
|
+
import json
|
|
13
14
|
|
|
14
15
|
# Add generated client to path
|
|
15
16
|
_GENERATED_PATH = os.path.join(os.path.dirname(__file__), "..", "generated")
|
|
@@ -35,6 +36,7 @@ from .models import (
|
|
|
35
36
|
MarketFilterParams,
|
|
36
37
|
HistoryFilterParams,
|
|
37
38
|
CreateOrderParams,
|
|
39
|
+
ExecutionPriceResult,
|
|
38
40
|
)
|
|
39
41
|
from .server_manager import ServerManager
|
|
40
42
|
|
|
@@ -169,6 +171,15 @@ def _convert_balance(raw: Dict[str, Any]) -> Balance:
|
|
|
169
171
|
)
|
|
170
172
|
|
|
171
173
|
|
|
174
|
+
def _convert_execution_result(raw: Dict[str, Any]) -> ExecutionPriceResult:
|
|
175
|
+
"""Convert raw API response to ExecutionPriceResult."""
|
|
176
|
+
return ExecutionPriceResult(
|
|
177
|
+
price=raw.get("price", 0),
|
|
178
|
+
filled_amount=raw.get("filledAmount", 0),
|
|
179
|
+
fully_filled=raw.get("fullyFilled", False),
|
|
180
|
+
)
|
|
181
|
+
|
|
182
|
+
|
|
172
183
|
class Exchange(ABC):
|
|
173
184
|
"""
|
|
174
185
|
Base class for prediction market exchanges.
|
|
@@ -831,6 +842,77 @@ class Exchange(ABC):
|
|
|
831
842
|
except ApiException as e:
|
|
832
843
|
raise Exception(f"Failed to fetch balance: {e}")
|
|
833
844
|
|
|
845
|
+
def get_execution_price(
|
|
846
|
+
self,
|
|
847
|
+
order_book: OrderBook,
|
|
848
|
+
side: Literal["buy", "sell"],
|
|
849
|
+
amount: float
|
|
850
|
+
) -> float:
|
|
851
|
+
"""
|
|
852
|
+
Calculate the average execution price for a given amount.
|
|
853
|
+
|
|
854
|
+
Args:
|
|
855
|
+
order_book: The current order book
|
|
856
|
+
side: "buy" or "sell"
|
|
857
|
+
amount: The amount to execute
|
|
858
|
+
|
|
859
|
+
Returns:
|
|
860
|
+
The volume-weighted average price, or 0 if insufficient liquidity
|
|
861
|
+
"""
|
|
862
|
+
result = self.get_execution_price_detailed(order_book, side, amount)
|
|
863
|
+
return result.price if result.fully_filled else 0
|
|
864
|
+
|
|
865
|
+
def get_execution_price_detailed(
|
|
866
|
+
self,
|
|
867
|
+
order_book: OrderBook,
|
|
868
|
+
side: Literal["buy", "sell"],
|
|
869
|
+
amount: float
|
|
870
|
+
) -> ExecutionPriceResult:
|
|
871
|
+
"""
|
|
872
|
+
Calculate detailed execution price information.
|
|
873
|
+
|
|
874
|
+
Args:
|
|
875
|
+
order_book: The current order book
|
|
876
|
+
side: "buy" or "sell"
|
|
877
|
+
amount: The amount to execute
|
|
878
|
+
|
|
879
|
+
Returns:
|
|
880
|
+
Detailed execution result
|
|
881
|
+
"""
|
|
882
|
+
try:
|
|
883
|
+
# Convert order_book to dict for API call
|
|
884
|
+
bids = [{"price": b.price, "size": b.size} for b in order_book.bids]
|
|
885
|
+
asks = [{"price": a.price, "size": a.size} for a in order_book.asks]
|
|
886
|
+
ob_dict = {"bids": bids, "asks": asks, "timestamp": order_book.timestamp}
|
|
887
|
+
|
|
888
|
+
body = {
|
|
889
|
+
"args": [ob_dict, side, amount]
|
|
890
|
+
}
|
|
891
|
+
|
|
892
|
+
creds = self._get_credentials_dict()
|
|
893
|
+
if creds:
|
|
894
|
+
body["credentials"] = creds
|
|
895
|
+
|
|
896
|
+
url = f"{self._api_client.configuration.host}/api/{self.exchange_name}/getExecutionPriceDetailed"
|
|
897
|
+
|
|
898
|
+
headers = {"Content-Type": "application/json", "Accept": "application/json"}
|
|
899
|
+
headers.update(self._api_client.default_headers)
|
|
900
|
+
|
|
901
|
+
response = self._api_client.call_api(
|
|
902
|
+
method="POST",
|
|
903
|
+
url=url,
|
|
904
|
+
body=body,
|
|
905
|
+
header_params=headers
|
|
906
|
+
)
|
|
907
|
+
|
|
908
|
+
response.read()
|
|
909
|
+
data_json = json.loads(response.data)
|
|
910
|
+
|
|
911
|
+
data = self._handle_response(data_json)
|
|
912
|
+
return _convert_execution_result(data)
|
|
913
|
+
except Exception as e:
|
|
914
|
+
raise Exception(f"Failed to get execution price: {e}")
|
|
915
|
+
|
|
834
916
|
|
|
835
917
|
class Polymarket(Exchange):
|
|
836
918
|
"""
|
pmxt/models.py
CHANGED
|
@@ -217,6 +217,20 @@ class OrderBook:
|
|
|
217
217
|
"""Unix timestamp (milliseconds)"""
|
|
218
218
|
|
|
219
219
|
|
|
220
|
+
@dataclass
|
|
221
|
+
class ExecutionPriceResult:
|
|
222
|
+
"""Result of an execution price calculation."""
|
|
223
|
+
|
|
224
|
+
price: float
|
|
225
|
+
"""The volume-weighted average price"""
|
|
226
|
+
|
|
227
|
+
filled_amount: float
|
|
228
|
+
"""The actual amount that can be filled"""
|
|
229
|
+
|
|
230
|
+
fully_filled: bool
|
|
231
|
+
"""Whether the full requested amount can be filled"""
|
|
232
|
+
|
|
233
|
+
|
|
220
234
|
@dataclass
|
|
221
235
|
class Trade:
|
|
222
236
|
"""A historical trade."""
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pmxt
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.4.0
|
|
4
4
|
Summary: Unified prediction market data API - The ccxt for prediction markets
|
|
5
5
|
Author: PMXT Contributors
|
|
6
6
|
License: MIT
|
|
@@ -160,6 +160,8 @@ for pos in positions:
|
|
|
160
160
|
- `fetch_ohlcv(outcome_id, params)` - Get historical price candles
|
|
161
161
|
- `fetch_order_book(outcome_id)` - Get current order book
|
|
162
162
|
- `fetch_trades(outcome_id, params)` - Get trade history
|
|
163
|
+
- `get_execution_price(order_book, side, amount)` - Get execution price
|
|
164
|
+
- `get_execution_price_detailed(order_book, side, amount)` - Get detailed execution info
|
|
163
165
|
|
|
164
166
|
### Trading Methods (require authentication)
|
|
165
167
|
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
pmxt/__init__.py,sha256=
|
|
2
|
-
pmxt/client.py,sha256=
|
|
3
|
-
pmxt/models.py,sha256
|
|
1
|
+
pmxt/__init__.py,sha256=MAOqnWgwuaG-IN2JEPoGdUrp2DHARbZAFjHd-SmyEvs,1150
|
|
2
|
+
pmxt/client.py,sha256=1qa8ObZtf-tdzhDXQXvWWdeLvGbyxsiVHAgQvl8Z4Uk,32955
|
|
3
|
+
pmxt/models.py,sha256=-jiQ9mmv_qnF6mzj3DrvNgEA77tE_Pl0RCblM1VbV7o,8581
|
|
4
4
|
pmxt/server_manager.py,sha256=-G97dYEdKl7F3HK9bAOKYl-SGWP6HsvzZIx2QxiZm24,11494
|
|
5
5
|
pmxt/_server/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
6
6
|
pmxt/_server/bin/pmxt-ensure-server,sha256=kXIond0UbxS52FAVQD7kHmSBaL_s6cbIyapLRr4KZJw,4544
|
|
7
|
-
pmxt/_server/server/bundled.js,sha256=
|
|
8
|
-
pmxt_internal/__init__.py,sha256=
|
|
9
|
-
pmxt_internal/api_client.py,sha256=
|
|
7
|
+
pmxt/_server/server/bundled.js,sha256=ETpsJ6ZmRtO1gQmBZYwwHWTHJIEI8ooeeMhOwoeDJ84,4198184
|
|
8
|
+
pmxt_internal/__init__.py,sha256=Kbxeq4WFfhIjcDkz72ZeXhWFpecUcOXCwUgqUzs6qsw,7578
|
|
9
|
+
pmxt_internal/api_client.py,sha256=2XZZdrKh90kAA4P3bJ54IdzRfAFMawSUqwnp2pRZNYA,27889
|
|
10
10
|
pmxt_internal/api_response.py,sha256=eMxw1mpmJcoGZ3gs9z6jM4oYoZ10Gjk333s9sKxGv7s,652
|
|
11
|
-
pmxt_internal/configuration.py,sha256=
|
|
11
|
+
pmxt_internal/configuration.py,sha256=evyyjQzPpYofXsIUdNKTMlMbpmq38l2ISokDuXJ0qJ0,18320
|
|
12
12
|
pmxt_internal/exceptions.py,sha256=txF8A7vlan57JS69kFPs-IZF-Qhp7IZobBTJVa4fOaM,6644
|
|
13
13
|
pmxt_internal/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
14
14
|
pmxt_internal/rest.py,sha256=FMj4yaV6XLr842u_ScWHSzQsTFdk0jaUeuWLJoRbogQ,9760
|
|
15
15
|
pmxt_internal/api/__init__.py,sha256=ppJSCipQ5IAk2z6UZkFaGSsEmnoAnSSHb8sjb_DYUkY,101
|
|
16
|
-
pmxt_internal/api/default_api.py,sha256=
|
|
17
|
-
pmxt_internal/models/__init__.py,sha256=
|
|
16
|
+
pmxt_internal/api/default_api.py,sha256=6nMYcL__0wtDJAyDAHadN8zk1Sw-qE3nhcpvqUf3ymw,206490
|
|
17
|
+
pmxt_internal/models/__init__.py,sha256=nviUepbTwMI-ro_lY6JbUgsQ1MskT7AKN3mb5WKJR74,4141
|
|
18
18
|
pmxt_internal/models/balance.py,sha256=Dj5kFiLrsXOZyyXTC18bPjWrgw7qdWnTgTSCmk_l6xk,2962
|
|
19
19
|
pmxt_internal/models/base_request.py,sha256=ZNipF7ycXFkQJ6j3QmB1TzA0UO3fB54AMPlAgIA3KOA,2987
|
|
20
20
|
pmxt_internal/models/base_response.py,sha256=g-NG4Swxl3cg4-YOCPl65dUeHzOnA9S7ubTj8HOYZs0,2975
|
|
@@ -25,6 +25,7 @@ pmxt_internal/models/create_order_request.py,sha256=prj6TnIFbhB8eDq-6e-MK2DtfDzA
|
|
|
25
25
|
pmxt_internal/models/error_detail.py,sha256=590jlnQmIgqcjUQ5ef07_nWMn7fnyjuAvkUjmSoAkMs,2605
|
|
26
26
|
pmxt_internal/models/error_response.py,sha256=c5DgOpTGqx9Qoz7hYKhRPAM3UfoX4GBWkyhfxerMXEI,2979
|
|
27
27
|
pmxt_internal/models/exchange_credentials.py,sha256=BtZCkGnnGQ24KPolTRtoA_jtXp-5_1Y1FmQLe1L5WCo,3308
|
|
28
|
+
pmxt_internal/models/execution_price_result.py,sha256=gsYJWD4GXVC9-_YmtLleegxmS4p7Q9bLNaJNEz6Ljsk,3012
|
|
28
29
|
pmxt_internal/models/fetch_balance200_response.py,sha256=VN5yrsVSKnI_WprK1U4wbl60jGEiSnu4VAOGkSM5K4o,3539
|
|
29
30
|
pmxt_internal/models/fetch_markets200_response.py,sha256=olOMs8IBKPL2Foqw3r66jeGcRlJpOpGcGq0jNccUPuA,3564
|
|
30
31
|
pmxt_internal/models/fetch_markets_request.py,sha256=2kV2N3jVPy7qKMpVMt-QiTP_Ea0Unrkq2R-qBnB5xKk,3627
|
|
@@ -39,6 +40,10 @@ pmxt_internal/models/fetch_positions200_response.py,sha256=mzEq-rEYJaZHmjqjcaW9w
|
|
|
39
40
|
pmxt_internal/models/fetch_positions_request.py,sha256=F823DuKhltLMw04QrtSi1ZNVhkSISKz72evpWaEIaE8,3208
|
|
40
41
|
pmxt_internal/models/fetch_trades200_response.py,sha256=fdsEd4luXJpzk6MuM192PaZ62fOBA3He3VreZhCd4-w,3527
|
|
41
42
|
pmxt_internal/models/fetch_trades_request.py,sha256=GQZGh2dy-Y3n8DnR8x5b9bLH_nLmCmIJqjcTTNzcoSA,3690
|
|
43
|
+
pmxt_internal/models/get_execution_price200_response.py,sha256=uf5eCUHZK5ZVzgJ2UrXMvOJnNvVhNq5Zwb6_MAWa_O4,3172
|
|
44
|
+
pmxt_internal/models/get_execution_price_detailed200_response.py,sha256=PqBksuFhxToYvl-O4eM9WhSn0h5x0lwK4c7cttbAoL8,3463
|
|
45
|
+
pmxt_internal/models/get_execution_price_request.py,sha256=sVPuP6QKDeAMOueYlJT9MQTg9JnQzDHI-C4B4Db4Cvc,3756
|
|
46
|
+
pmxt_internal/models/get_execution_price_request_args_inner.py,sha256=CoiBFk1iGMIfWNGEDCLBGAyT4fFhjANttQftNOKaDIo,6225
|
|
42
47
|
pmxt_internal/models/get_markets_by_slug_request.py,sha256=PtjXAw6hixHuYzCvSGH1aka2rZrsHmT8ofXYSuuOh9k,3173
|
|
43
48
|
pmxt_internal/models/health_check200_response.py,sha256=yR_OkIlTPztO0zFmpyWllSwyaEbI48RpumfmVVCJAyc,2758
|
|
44
49
|
pmxt_internal/models/history_filter_params.py,sha256=0i9oQLwJsRWRyzPZuW467y_0ccKpc2_I6T2lgZCkHd4,3239
|
|
@@ -59,7 +64,7 @@ pmxt_internal/models/unified_market.py,sha256=DoYhiH4HycYGlq858PEeB-CIA7haT6rxmJ
|
|
|
59
64
|
pmxt_internal/models/watch_order_book_request.py,sha256=kavGUI-SLz2-Kam_jcJ_h0GDe0-9UkxqCmVsAi6Uios,3726
|
|
60
65
|
pmxt_internal/models/watch_order_book_request_args_inner.py,sha256=ZHrjmFDGxRG5MXbuz4mUp9KFfo3XS7zuXWTyMNgi4xI,5464
|
|
61
66
|
pmxt_internal/models/watch_trades_request.py,sha256=brrg8JbEe-aeg7mIe_Y2HzRPogp-IfRhkXChrxzqoLU,3722
|
|
62
|
-
pmxt-1.
|
|
63
|
-
pmxt-1.
|
|
64
|
-
pmxt-1.
|
|
65
|
-
pmxt-1.
|
|
67
|
+
pmxt-1.4.0.dist-info/METADATA,sha256=6fTb2tiWCkPoyKkYSs16e6yzhUdp-s-NaE7NPY6VFhc,6449
|
|
68
|
+
pmxt-1.4.0.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
|
|
69
|
+
pmxt-1.4.0.dist-info/top_level.txt,sha256=J_jrcouJ-x-5lpcXMxeW0GOSi1HsBVR5_PdSfvigVrw,19
|
|
70
|
+
pmxt-1.4.0.dist-info/RECORD,,
|
pmxt_internal/__init__.py
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
""" # noqa: E501
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
__version__ = "1.
|
|
17
|
+
__version__ = "1.4.0"
|
|
18
18
|
|
|
19
19
|
# Define package exports
|
|
20
20
|
__all__ = [
|
|
@@ -38,6 +38,7 @@ __all__ = [
|
|
|
38
38
|
"ErrorDetail",
|
|
39
39
|
"ErrorResponse",
|
|
40
40
|
"ExchangeCredentials",
|
|
41
|
+
"ExecutionPriceResult",
|
|
41
42
|
"FetchBalance200Response",
|
|
42
43
|
"FetchMarkets200Response",
|
|
43
44
|
"FetchMarketsRequest",
|
|
@@ -52,6 +53,10 @@ __all__ = [
|
|
|
52
53
|
"FetchPositionsRequest",
|
|
53
54
|
"FetchTrades200Response",
|
|
54
55
|
"FetchTradesRequest",
|
|
56
|
+
"GetExecutionPrice200Response",
|
|
57
|
+
"GetExecutionPriceDetailed200Response",
|
|
58
|
+
"GetExecutionPriceRequest",
|
|
59
|
+
"GetExecutionPriceRequestArgsInner",
|
|
55
60
|
"GetMarketsBySlugRequest",
|
|
56
61
|
"HealthCheck200Response",
|
|
57
62
|
"HistoryFilterParams",
|
|
@@ -99,6 +104,7 @@ from pmxt_internal.models.create_order_request import CreateOrderRequest as Crea
|
|
|
99
104
|
from pmxt_internal.models.error_detail import ErrorDetail as ErrorDetail
|
|
100
105
|
from pmxt_internal.models.error_response import ErrorResponse as ErrorResponse
|
|
101
106
|
from pmxt_internal.models.exchange_credentials import ExchangeCredentials as ExchangeCredentials
|
|
107
|
+
from pmxt_internal.models.execution_price_result import ExecutionPriceResult as ExecutionPriceResult
|
|
102
108
|
from pmxt_internal.models.fetch_balance200_response import FetchBalance200Response as FetchBalance200Response
|
|
103
109
|
from pmxt_internal.models.fetch_markets200_response import FetchMarkets200Response as FetchMarkets200Response
|
|
104
110
|
from pmxt_internal.models.fetch_markets_request import FetchMarketsRequest as FetchMarketsRequest
|
|
@@ -113,6 +119,10 @@ from pmxt_internal.models.fetch_positions200_response import FetchPositions200Re
|
|
|
113
119
|
from pmxt_internal.models.fetch_positions_request import FetchPositionsRequest as FetchPositionsRequest
|
|
114
120
|
from pmxt_internal.models.fetch_trades200_response import FetchTrades200Response as FetchTrades200Response
|
|
115
121
|
from pmxt_internal.models.fetch_trades_request import FetchTradesRequest as FetchTradesRequest
|
|
122
|
+
from pmxt_internal.models.get_execution_price200_response import GetExecutionPrice200Response as GetExecutionPrice200Response
|
|
123
|
+
from pmxt_internal.models.get_execution_price_detailed200_response import GetExecutionPriceDetailed200Response as GetExecutionPriceDetailed200Response
|
|
124
|
+
from pmxt_internal.models.get_execution_price_request import GetExecutionPriceRequest as GetExecutionPriceRequest
|
|
125
|
+
from pmxt_internal.models.get_execution_price_request_args_inner import GetExecutionPriceRequestArgsInner as GetExecutionPriceRequestArgsInner
|
|
116
126
|
from pmxt_internal.models.get_markets_by_slug_request import GetMarketsBySlugRequest as GetMarketsBySlugRequest
|
|
117
127
|
from pmxt_internal.models.health_check200_response import HealthCheck200Response as HealthCheck200Response
|
|
118
128
|
from pmxt_internal.models.history_filter_params import HistoryFilterParams as HistoryFilterParams
|