@decibeltrade/sdk 0.2.0 → 0.2.2
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.
- package/.env +2 -0
- package/.turbo/turbo-build.log +4 -5
- package/dist/abi/generate-abis.d.ts +1 -0
- package/dist/abi/generate-abis.d.ts.map +1 -0
- package/dist/abi/generate-abis.js +44 -9
- package/dist/abi/json/testnet.json +166 -165
- package/dist/abi/types.d.ts +1 -0
- package/dist/abi/types.d.ts.map +1 -0
- package/dist/abi/types.js +2 -1
- package/dist/admin.d.ts +1 -0
- package/dist/admin.d.ts.map +1 -0
- package/dist/admin.js +15 -10
- package/dist/base.d.ts +1 -0
- package/dist/base.d.ts.map +1 -0
- package/dist/base.js +26 -19
- package/dist/constants.d.ts +5 -2
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +46 -37
- package/dist/fee-pay.d.ts +1 -0
- package/dist/fee-pay.d.ts.map +1 -0
- package/dist/fee-pay.js +4 -1
- package/dist/gas/gas-price-manager.d.ts +1 -0
- package/dist/gas/gas-price-manager.d.ts.map +1 -0
- package/dist/gas/gas-price-manager.js +7 -3
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +26 -10
- package/dist/order-event.types.d.ts +1 -0
- package/dist/order-event.types.d.ts.map +1 -0
- package/dist/order-event.types.js +2 -1
- package/dist/order-status.d.ts +1 -0
- package/dist/order-status.d.ts.map +1 -0
- package/dist/order-status.js +23 -16
- package/dist/read/account-overview/account-overview.reader.d.ts +1 -0
- package/dist/read/account-overview/account-overview.reader.d.ts.map +1 -0
- package/dist/read/account-overview/account-overview.reader.js +9 -5
- package/dist/read/account-overview/account-overview.types.d.ts +1 -0
- package/dist/read/account-overview/account-overview.types.d.ts.map +1 -0
- package/dist/read/account-overview/account-overview.types.js +29 -23
- package/dist/read/base-reader.d.ts +1 -0
- package/dist/read/base-reader.d.ts.map +1 -0
- package/dist/read/base-reader.js +9 -5
- package/dist/read/candlesticks/candlesticks.reader.d.ts +1 -0
- package/dist/read/candlesticks/candlesticks.reader.d.ts.map +1 -0
- package/dist/read/candlesticks/candlesticks.reader.js +12 -8
- package/dist/read/candlesticks/candlesticks.types.d.ts +1 -0
- package/dist/read/candlesticks/candlesticks.types.d.ts.map +1 -0
- package/dist/read/candlesticks/candlesticks.types.js +20 -14
- package/dist/read/delegations/delegations.reader.d.ts +1 -0
- package/dist/read/delegations/delegations.reader.d.ts.map +1 -0
- package/dist/read/delegations/delegations.reader.js +8 -4
- package/dist/read/delegations/delegations.types.d.ts +1 -0
- package/dist/read/delegations/delegations.types.d.ts.map +1 -0
- package/dist/read/delegations/delegations.types.js +12 -6
- package/dist/read/index.d.ts +1 -0
- package/dist/read/index.d.ts.map +1 -0
- package/dist/read/index.js +68 -50
- package/dist/read/leaderboard/leaderboard.reader.d.ts +1 -0
- package/dist/read/leaderboard/leaderboard.reader.d.ts.map +1 -0
- package/dist/read/leaderboard/leaderboard.reader.js +10 -6
- package/dist/read/leaderboard/leaderboard.types.d.ts +1 -0
- package/dist/read/leaderboard/leaderboard.types.d.ts.map +1 -0
- package/dist/read/leaderboard/leaderboard.types.js +13 -10
- package/dist/read/market-contexts/market-contexts.reader.d.ts +1 -1
- package/dist/read/market-contexts/market-contexts.reader.d.ts.map +1 -0
- package/dist/read/market-contexts/market-contexts.reader.js +8 -4
- package/dist/read/market-contexts/market-contexts.types.d.ts +1 -2
- package/dist/read/market-contexts/market-contexts.types.d.ts.map +1 -0
- package/dist/read/market-contexts/market-contexts.types.js +17 -12
- package/dist/read/market-depth/market-depth.reader.d.ts +1 -0
- package/dist/read/market-depth/market-depth.reader.d.ts.map +1 -0
- package/dist/read/market-depth/market-depth.reader.js +13 -9
- package/dist/read/market-depth/market-depth.types.d.ts +1 -0
- package/dist/read/market-depth/market-depth.types.d.ts.map +1 -0
- package/dist/read/market-depth/market-depth.types.js +14 -8
- package/dist/read/market-prices/market-prices.reader.d.ts +8 -1
- package/dist/read/market-prices/market-prices.reader.d.ts.map +1 -0
- package/dist/read/market-prices/market-prices.reader.js +23 -10
- package/dist/read/market-prices/market-prices.types.d.ts +14 -0
- package/dist/read/market-prices/market-prices.types.d.ts.map +1 -0
- package/dist/read/market-prices/market-prices.types.js +25 -21
- package/dist/read/market-trades/market-trades.reader.d.ts +1 -0
- package/dist/read/market-trades/market-trades.reader.d.ts.map +1 -0
- package/dist/read/market-trades/market-trades.reader.js +12 -8
- package/dist/read/market-trades/market-trades.types.d.ts +1 -0
- package/dist/read/market-trades/market-trades.types.d.ts.map +1 -0
- package/dist/read/market-trades/market-trades.types.js +21 -18
- package/dist/read/markets/markets.reader.d.ts +1 -0
- package/dist/read/markets/markets.reader.d.ts.map +1 -0
- package/dist/read/markets/markets.reader.js +11 -7
- package/dist/read/markets/markets.types.d.ts +1 -0
- package/dist/read/markets/markets.types.d.ts.map +1 -0
- package/dist/read/markets/markets.types.js +35 -32
- package/dist/read/pagination.types.d.ts +1 -0
- package/dist/read/pagination.types.d.ts.map +1 -0
- package/dist/read/pagination.types.js +11 -4
- package/dist/read/portfolio-chart/portfolio-chart.reader.d.ts +1 -0
- package/dist/read/portfolio-chart/portfolio-chart.reader.d.ts.map +1 -0
- package/dist/read/portfolio-chart/portfolio-chart.reader.js +8 -4
- package/dist/read/portfolio-chart/portfolio-chart.types.d.ts +1 -0
- package/dist/read/portfolio-chart/portfolio-chart.types.d.ts.map +1 -0
- package/dist/read/portfolio-chart/portfolio-chart.types.js +11 -5
- package/dist/read/types.d.ts +1 -0
- package/dist/read/types.d.ts.map +1 -0
- package/dist/read/types.js +75 -58
- package/dist/read/user-active-twaps/user-active-twaps.reader.d.ts +1 -0
- package/dist/read/user-active-twaps/user-active-twaps.reader.d.ts.map +1 -0
- package/dist/read/user-active-twaps/user-active-twaps.reader.js +9 -5
- package/dist/read/user-active-twaps/user-active-twaps.types.d.ts +1 -0
- package/dist/read/user-active-twaps/user-active-twaps.types.d.ts.map +1 -0
- package/dist/read/user-active-twaps/user-active-twaps.types.js +24 -18
- package/dist/read/user-bulk-orders/user-bulk-orders.reader.d.ts +1 -0
- package/dist/read/user-bulk-orders/user-bulk-orders.reader.d.ts.map +1 -0
- package/dist/read/user-bulk-orders/user-bulk-orders.reader.js +9 -5
- package/dist/read/user-bulk-orders/user-bulk-orders.types.d.ts +1 -0
- package/dist/read/user-bulk-orders/user-bulk-orders.types.d.ts.map +1 -0
- package/dist/read/user-bulk-orders/user-bulk-orders.types.js +22 -16
- package/dist/read/user-funding-history/user-funding-history.reader.d.ts +1 -0
- package/dist/read/user-funding-history/user-funding-history.reader.d.ts.map +1 -0
- package/dist/read/user-funding-history/user-funding-history.reader.js +9 -5
- package/dist/read/user-funding-history/user-funding-history.types.d.ts +1 -0
- package/dist/read/user-funding-history/user-funding-history.types.d.ts.map +1 -0
- package/dist/read/user-funding-history/user-funding-history.types.js +19 -13
- package/dist/read/user-notifications/user-notifications.reader.d.ts +1 -0
- package/dist/read/user-notifications/user-notifications.reader.d.ts.map +1 -0
- package/dist/read/user-notifications/user-notifications.reader.js +8 -4
- package/dist/read/user-notifications/user-notifications.types.d.ts +1 -0
- package/dist/read/user-notifications/user-notifications.types.d.ts.map +1 -0
- package/dist/read/user-notifications/user-notifications.types.js +25 -19
- package/dist/read/user-open-orders/user-open-orders.reader.d.ts +1 -0
- package/dist/read/user-open-orders/user-open-orders.reader.d.ts.map +1 -0
- package/dist/read/user-open-orders/user-open-orders.reader.js +9 -5
- package/dist/read/user-open-orders/user-open-orders.types.d.ts +1 -0
- package/dist/read/user-open-orders/user-open-orders.types.d.ts.map +1 -0
- package/dist/read/user-open-orders/user-open-orders.types.js +33 -27
- package/dist/read/user-order-history/user-order-history.reader.d.ts +4 -3
- package/dist/read/user-order-history/user-order-history.reader.d.ts.map +1 -0
- package/dist/read/user-order-history/user-order-history.reader.js +13 -9
- package/dist/read/user-order-history/user-order-history.types.d.ts +29 -24
- package/dist/read/user-order-history/user-order-history.types.d.ts.map +1 -0
- package/dist/read/user-order-history/user-order-history.types.js +39 -29
- package/dist/read/user-positions/user-positions.reader.d.ts +1 -1
- package/dist/read/user-positions/user-positions.reader.d.ts.map +1 -0
- package/dist/read/user-positions/user-positions.reader.js +9 -5
- package/dist/read/user-positions/user-positions.types.d.ts +34 -243
- package/dist/read/user-positions/user-positions.types.d.ts.map +1 -0
- package/dist/read/user-positions/user-positions.types.js +27 -22
- package/dist/read/user-subaccounts/user-subaccounts.reader.d.ts +1 -0
- package/dist/read/user-subaccounts/user-subaccounts.reader.d.ts.map +1 -0
- package/dist/read/user-subaccounts/user-subaccounts.reader.js +8 -4
- package/dist/read/user-subaccounts/user-subaccounts.types.d.ts +1 -0
- package/dist/read/user-subaccounts/user-subaccounts.types.d.ts.map +1 -0
- package/dist/read/user-subaccounts/user-subaccounts.types.js +14 -8
- package/dist/read/user-trade-history/user-trade-history.reader.d.ts +4 -3
- package/dist/read/user-trade-history/user-trade-history.reader.d.ts.map +1 -0
- package/dist/read/user-trade-history/user-trade-history.reader.js +13 -9
- package/dist/read/user-trade-history/user-trade-history.types.d.ts +1 -0
- package/dist/read/user-trade-history/user-trade-history.types.d.ts.map +1 -0
- package/dist/read/user-trade-history/user-trade-history.types.js +24 -18
- package/dist/read/vaults/vaults.reader.d.ts +2 -1
- package/dist/read/vaults/vaults.reader.d.ts.map +1 -0
- package/dist/read/vaults/vaults.reader.js +14 -6
- package/dist/read/vaults/vaults.types.d.ts +13 -3
- package/dist/read/vaults/vaults.types.d.ts.map +1 -0
- package/dist/read/vaults/vaults.types.js +59 -52
- package/dist/read/ws-subscription.d.ts +1 -0
- package/dist/read/ws-subscription.d.ts.map +1 -0
- package/dist/read/ws-subscription.js +17 -10
- package/dist/subaccount-types.d.ts +1 -0
- package/dist/subaccount-types.d.ts.map +1 -0
- package/dist/subaccount-types.js +10 -4
- package/dist/transaction-builder.d.ts +1 -0
- package/dist/transaction-builder.d.ts.map +1 -0
- package/dist/transaction-builder.js +16 -11
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utils.d.ts +8 -1
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +63 -29
- package/dist/write.d.ts +1 -0
- package/dist/write.d.ts.map +1 -0
- package/dist/write.js +26 -20
- package/package.json +1 -2
- package/readme.md +2 -2
- package/src/abi/json/testnet.json +166 -165
- package/src/admin.ts +1 -0
- package/src/base.ts +5 -1
- package/src/constants.ts +8 -5
- package/src/read/user-positions/user-positions.types.ts +0 -1
- package/src/read/vaults/vaults.reader.ts +2 -0
- package/src/read/vaults/vaults.types.ts +5 -2
- package/src/read/ws-subscription.ts +2 -2
- package/src/utils.ts +49 -3
- package/src/write.ts +4 -2
|
@@ -1,13 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.MarketContextsSchema = exports.MarketContextSchema = void 0;
|
|
7
|
+
const v4_1 = __importDefault(require("zod/v4"));
|
|
8
|
+
exports.MarketContextSchema = v4_1.default.object({
|
|
9
|
+
market: v4_1.default.string(),
|
|
10
|
+
volume_24h: v4_1.default.number(),
|
|
11
|
+
open_interest: v4_1.default.number(),
|
|
12
|
+
mark_price: v4_1.default.number(),
|
|
13
|
+
mid_price: v4_1.default.number(),
|
|
14
|
+
oracle_price: v4_1.default.number(),
|
|
15
|
+
previous_day_price: v4_1.default.number(),
|
|
16
|
+
price_change_pct_24h: v4_1.default.number(),
|
|
12
17
|
});
|
|
13
|
-
|
|
18
|
+
exports.MarketContextsSchema = v4_1.default.array(exports.MarketContextSchema);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"market-depth.reader.d.ts","sourceRoot":"","sources":["../../../src/read/market-depth/market-depth.reader.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EACL,WAAW,EACX,0BAA0B,EAC1B,sBAAsB,EAEvB,MAAM,sBAAsB,CAAC;AAE9B,qBAAa,iBAAkB,SAAQ,UAAU;IAC/C;;;;OAIG;IACG,SAAS,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,sBAAsB;;;;;;;;;;;IAiB3E;;;;;OAKG;IACH,eAAe,CACb,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,0BAA0B,EAC3C,MAAM,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI;IAQrC,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,eAAe,GAAE,0BAA8B;IAO3F,mBAAmB;CAGpB"}
|
|
@@ -1,20 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MarketDepthReader = void 0;
|
|
4
|
+
const utils_1 = require("../../utils");
|
|
5
|
+
const base_reader_1 = require("../base-reader");
|
|
6
|
+
const market_depth_types_1 = require("./market-depth.types");
|
|
7
|
+
class MarketDepthReader extends base_reader_1.BaseReader {
|
|
5
8
|
/**
|
|
6
9
|
* Get the market depth data for a given market
|
|
7
10
|
* @param marketName The name of the market to get market depth for
|
|
8
11
|
* @returns The market depth data for the given market
|
|
9
12
|
*/
|
|
10
13
|
async getByName({ marketName, limit, fetchOptions }) {
|
|
11
|
-
const marketAddr = getMarketAddr(marketName, this.deps.config.deployment.perpEngineGlobal);
|
|
14
|
+
const marketAddr = (0, utils_1.getMarketAddr)(marketName, this.deps.config.deployment.perpEngineGlobal);
|
|
12
15
|
const queryParams = new URLSearchParams({ market: marketAddr.toString() });
|
|
13
16
|
if (limit !== undefined) {
|
|
14
17
|
queryParams.set("limit", limit.toString());
|
|
15
18
|
}
|
|
16
19
|
const response = await this.getRequest({
|
|
17
|
-
schema: MarketDepthSchema,
|
|
20
|
+
schema: market_depth_types_1.MarketDepthSchema,
|
|
18
21
|
url: `${this.deps.config.tradingHttpUrl}/api/v1/depth`,
|
|
19
22
|
queryParams,
|
|
20
23
|
options: fetchOptions,
|
|
@@ -28,12 +31,12 @@ export class MarketDepthReader extends BaseReader {
|
|
|
28
31
|
* @returns A function to unsubscribe from the market depth updates
|
|
29
32
|
*/
|
|
30
33
|
subscribeByName(marketName, aggregationSize, onData) {
|
|
31
|
-
const marketAddr = getMarketAddr(marketName, this.deps.config.deployment.perpEngineGlobal);
|
|
34
|
+
const marketAddr = (0, utils_1.getMarketAddr)(marketName, this.deps.config.deployment.perpEngineGlobal);
|
|
32
35
|
const topic = `depth:${marketAddr}:${aggregationSize}`;
|
|
33
|
-
return this.deps.ws.subscribe(topic, MarketDepthSchema, onData);
|
|
36
|
+
return this.deps.ws.subscribe(topic, market_depth_types_1.MarketDepthSchema, onData);
|
|
34
37
|
}
|
|
35
38
|
resetSubscriptionByName(marketName, aggregationSize = 1) {
|
|
36
|
-
const marketAddr = getMarketAddr(marketName, this.deps.config.deployment.perpEngineGlobal);
|
|
39
|
+
const marketAddr = (0, utils_1.getMarketAddr)(marketName, this.deps.config.deployment.perpEngineGlobal);
|
|
37
40
|
const topic = `depth:${marketAddr}:${aggregationSize}`;
|
|
38
41
|
this.deps.ws.reset(topic);
|
|
39
42
|
}
|
|
@@ -41,3 +44,4 @@ export class MarketDepthReader extends BaseReader {
|
|
|
41
44
|
return [1, 2, 5, 10];
|
|
42
45
|
}
|
|
43
46
|
}
|
|
47
|
+
exports.MarketDepthReader = MarketDepthReader;
|
|
@@ -22,3 +22,4 @@ export declare const MarketDepthSchema: z.ZodObject<{
|
|
|
22
22
|
export type MarketDepthAggregationSize = 1 | 2 | 5 | 10;
|
|
23
23
|
export type MarketOrder = z.infer<typeof MarketOrderSchema>;
|
|
24
24
|
export type MarketDepth = z.infer<typeof MarketDepthSchema>;
|
|
25
|
+
//# sourceMappingURL=market-depth.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"market-depth.types.d.ts","sourceRoot":"","sources":["../../../src/read/market-depth/market-depth.types.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,QAAQ,CAAC;AAEvB,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,WAAW,sBAAuB,SAAQ,eAAe;IAC7D,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,iBAAiB;;;iBAG5B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;iBAI5B,CAAC;AAGH,MAAM,MAAM,0BAA0B,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;AACxD,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
|
|
@@ -1,10 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.MarketDepthSchema = exports.MarketOrderSchema = void 0;
|
|
7
|
+
const v4_1 = __importDefault(require("zod/v4"));
|
|
8
|
+
exports.MarketOrderSchema = v4_1.default.object({
|
|
9
|
+
price: v4_1.default.number(),
|
|
10
|
+
size: v4_1.default.number(),
|
|
5
11
|
});
|
|
6
|
-
|
|
7
|
-
market:
|
|
8
|
-
bids:
|
|
9
|
-
asks:
|
|
12
|
+
exports.MarketDepthSchema = v4_1.default.object({
|
|
13
|
+
market: v4_1.default.string(),
|
|
14
|
+
bids: v4_1.default.array(exports.MarketOrderSchema),
|
|
15
|
+
asks: v4_1.default.array(exports.MarketOrderSchema),
|
|
10
16
|
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BaseReader, BaseRequestArgs } from "../base-reader";
|
|
2
|
-
import { MarketPricesByNameRequestArgs, MarketPriceWsMessage } from "./market-prices.types";
|
|
2
|
+
import { AllMarketPricesWsMessage, MarketPricesByNameRequestArgs, MarketPriceWsMessage } from "./market-prices.types";
|
|
3
3
|
export declare class MarketPricesReader extends BaseReader {
|
|
4
4
|
getAll({ fetchOptions }?: BaseRequestArgs): Promise<{
|
|
5
5
|
market: string;
|
|
@@ -40,4 +40,11 @@ export declare class MarketPricesReader extends BaseReader {
|
|
|
40
40
|
* @returns A function to unsubscribe from the oracle price updates
|
|
41
41
|
*/
|
|
42
42
|
subscribeByAddress(marketAddr: string, onData: (data: MarketPriceWsMessage) => void): () => void;
|
|
43
|
+
/**
|
|
44
|
+
* Subscribe to price updates for all markets
|
|
45
|
+
* @param onData Callback function for received price data
|
|
46
|
+
* @returns A function to unsubscribe from the oracle price updates
|
|
47
|
+
*/
|
|
48
|
+
subscribeAll(onData: (data: AllMarketPricesWsMessage) => void): () => void;
|
|
43
49
|
}
|
|
50
|
+
//# sourceMappingURL=market-prices.reader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"market-prices.reader.d.ts","sourceRoot":"","sources":["../../../src/read/market-prices/market-prices.reader.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EACL,wBAAwB,EAExB,6BAA6B,EAE7B,oBAAoB,EAErB,MAAM,uBAAuB,CAAC;AAE/B,qBAAa,kBAAmB,SAAQ,UAAU;IAC1C,MAAM,CAAC,EAAE,YAAY,EAAE,GAAE,eAAoB;;;;;;;;;;IASnD;;;;OAIG;IACG,SAAS,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE,6BAA6B;;;;;;;;;;IAY3E;;;;;OAKG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,oBAAoB,KAAK,IAAI;IAOhF;;;;;OAKG;IACH,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,oBAAoB,KAAK,IAAI;IAMnF;;;;OAIG;IACH,YAAY,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,wBAAwB,KAAK,IAAI;CAK9D"}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MarketPricesReader = void 0;
|
|
4
|
+
const utils_1 = require("../../utils");
|
|
5
|
+
const base_reader_1 = require("../base-reader");
|
|
6
|
+
const market_prices_types_1 = require("./market-prices.types");
|
|
7
|
+
class MarketPricesReader extends base_reader_1.BaseReader {
|
|
5
8
|
async getAll({ fetchOptions } = {}) {
|
|
6
9
|
const response = await this.getRequest({
|
|
7
|
-
schema: MarketPricesSchema,
|
|
10
|
+
schema: market_prices_types_1.MarketPricesSchema,
|
|
8
11
|
url: `${this.deps.config.tradingHttpUrl}/api/v1/prices`,
|
|
9
12
|
options: fetchOptions,
|
|
10
13
|
});
|
|
@@ -16,9 +19,9 @@ export class MarketPricesReader extends BaseReader {
|
|
|
16
19
|
* @returns The price data for the given market
|
|
17
20
|
*/
|
|
18
21
|
async getByName({ marketName, fetchOptions }) {
|
|
19
|
-
const marketAddr = getMarketAddr(marketName, this.deps.config.deployment.perpEngineGlobal);
|
|
22
|
+
const marketAddr = (0, utils_1.getMarketAddr)(marketName, this.deps.config.deployment.perpEngineGlobal);
|
|
20
23
|
const response = await this.getRequest({
|
|
21
|
-
schema: MarketPricesSchema,
|
|
24
|
+
schema: market_prices_types_1.MarketPricesSchema,
|
|
22
25
|
url: `${this.deps.config.tradingHttpUrl}/api/v1/prices`,
|
|
23
26
|
queryParams: { market: marketAddr.toString() },
|
|
24
27
|
options: fetchOptions,
|
|
@@ -32,9 +35,9 @@ export class MarketPricesReader extends BaseReader {
|
|
|
32
35
|
* @returns A function to unsubscribe from the oracle price updates
|
|
33
36
|
*/
|
|
34
37
|
subscribeByName(marketName, onData) {
|
|
35
|
-
const marketAddr = getMarketAddr(marketName, this.deps.config.deployment.perpEngineGlobal);
|
|
38
|
+
const marketAddr = (0, utils_1.getMarketAddr)(marketName, this.deps.config.deployment.perpEngineGlobal);
|
|
36
39
|
const topic = `market_price:${marketAddr}`;
|
|
37
|
-
return this.deps.ws.subscribe(topic, MarketPriceWsMessageSchema, onData);
|
|
40
|
+
return this.deps.ws.subscribe(topic, market_prices_types_1.MarketPriceWsMessageSchema, onData);
|
|
38
41
|
}
|
|
39
42
|
/**
|
|
40
43
|
* Subscribe to price updates for a market
|
|
@@ -44,6 +47,16 @@ export class MarketPricesReader extends BaseReader {
|
|
|
44
47
|
*/
|
|
45
48
|
subscribeByAddress(marketAddr, onData) {
|
|
46
49
|
const topic = `market_price:${marketAddr}`;
|
|
47
|
-
return this.deps.ws.subscribe(topic, MarketPriceWsMessageSchema, onData);
|
|
50
|
+
return this.deps.ws.subscribe(topic, market_prices_types_1.MarketPriceWsMessageSchema, onData);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Subscribe to price updates for all markets
|
|
54
|
+
* @param onData Callback function for received price data
|
|
55
|
+
* @returns A function to unsubscribe from the oracle price updates
|
|
56
|
+
*/
|
|
57
|
+
subscribeAll(onData) {
|
|
58
|
+
const topic = `all_market_prices`;
|
|
59
|
+
return this.deps.ws.subscribe(topic, market_prices_types_1.AllMarketPricesWsMessageSchema, onData);
|
|
48
60
|
}
|
|
49
61
|
}
|
|
62
|
+
exports.MarketPricesReader = MarketPricesReader;
|
|
@@ -45,7 +45,21 @@ export declare const MarketPriceWsMessageSchema: z.ZodObject<{
|
|
|
45
45
|
transaction_unix_ms: z.ZodNumber;
|
|
46
46
|
}, z.core.$strip>;
|
|
47
47
|
}, z.core.$strip>;
|
|
48
|
+
export declare const AllMarketPricesWsMessageSchema: z.ZodObject<{
|
|
49
|
+
prices: z.ZodArray<z.ZodObject<{
|
|
50
|
+
market: z.ZodString;
|
|
51
|
+
mark_px: z.ZodNumber;
|
|
52
|
+
mid_px: z.ZodNumber;
|
|
53
|
+
oracle_px: z.ZodNumber;
|
|
54
|
+
funding_rate_bps: z.ZodNumber;
|
|
55
|
+
is_funding_positive: z.ZodBoolean;
|
|
56
|
+
open_interest: z.ZodNumber;
|
|
57
|
+
transaction_unix_ms: z.ZodNumber;
|
|
58
|
+
}, z.core.$strip>>;
|
|
59
|
+
}, z.core.$strip>;
|
|
48
60
|
export type Prices = z.infer<typeof PricesSchema>;
|
|
49
61
|
export type MarketPrices = z.infer<typeof MarketPricesSchema>;
|
|
50
62
|
export type MarketPrice = z.infer<typeof MarketPriceSchema>;
|
|
51
63
|
export type MarketPriceWsMessage = z.infer<typeof MarketPriceWsMessageSchema>;
|
|
64
|
+
export type AllMarketPricesWsMessage = z.infer<typeof AllMarketPricesWsMessageSchema>;
|
|
65
|
+
//# sourceMappingURL=market-prices.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"market-prices.types.d.ts","sourceRoot":"","sources":["../../../src/read/market-prices/market-prices.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,WAAW,6BAA8B,SAAQ,eAAe;IACpE,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,YAAY;;;;;;;;;iBASvB,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;kBAAwB,CAAC;AAExD,eAAO,MAAM,iBAAiB;;;;;;;;;iBAS5B,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;;;;;;;;iBAAyC,CAAC;AAEjF,eAAO,MAAM,8BAA8B;;;;;;;;;;;iBAA2C,CAAC;AAEvF,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAClD,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC"}
|
|
@@ -1,23 +1,27 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AllMarketPricesWsMessageSchema = exports.MarketPriceWsMessageSchema = exports.MarketPriceSchema = exports.MarketPricesSchema = exports.PricesSchema = void 0;
|
|
4
|
+
const v4_1 = require("zod/v4");
|
|
5
|
+
exports.PricesSchema = v4_1.z.object({
|
|
6
|
+
market: v4_1.z.string(),
|
|
7
|
+
mark_px: v4_1.z.number(),
|
|
8
|
+
mid_px: v4_1.z.number(),
|
|
9
|
+
oracle_px: v4_1.z.number(),
|
|
10
|
+
funding_rate_bps: v4_1.z.number(),
|
|
11
|
+
is_funding_positive: v4_1.z.boolean(),
|
|
12
|
+
open_interest: v4_1.z.number(),
|
|
13
|
+
transaction_unix_ms: v4_1.z.number(),
|
|
11
14
|
});
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
market: z.string(),
|
|
15
|
-
mark_px: z.number(),
|
|
16
|
-
mid_px: z.number(),
|
|
17
|
-
oracle_px: z.number(),
|
|
18
|
-
funding_rate_bps: z.number(),
|
|
19
|
-
is_funding_positive: z.boolean(),
|
|
20
|
-
open_interest: z.number(),
|
|
21
|
-
transaction_unix_ms: z.number(),
|
|
15
|
+
exports.MarketPricesSchema = v4_1.z.array(exports.PricesSchema);
|
|
16
|
+
exports.MarketPriceSchema = v4_1.z.object({
|
|
17
|
+
market: v4_1.z.string(),
|
|
18
|
+
mark_px: v4_1.z.number(),
|
|
19
|
+
mid_px: v4_1.z.number(),
|
|
20
|
+
oracle_px: v4_1.z.number(),
|
|
21
|
+
funding_rate_bps: v4_1.z.number(),
|
|
22
|
+
is_funding_positive: v4_1.z.boolean(),
|
|
23
|
+
open_interest: v4_1.z.number(),
|
|
24
|
+
transaction_unix_ms: v4_1.z.number(),
|
|
22
25
|
});
|
|
23
|
-
|
|
26
|
+
exports.MarketPriceWsMessageSchema = v4_1.z.object({ price: exports.MarketPriceSchema });
|
|
27
|
+
exports.AllMarketPricesWsMessageSchema = v4_1.z.object({ prices: exports.MarketPricesSchema });
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"market-trades.reader.d.ts","sourceRoot":"","sources":["../../../src/read/market-trades/market-trades.reader.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAEL,uBAAuB,EACvB,oBAAoB,EAErB,MAAM,uBAAuB,CAAC;AAE/B,qBAAa,kBAAmB,SAAQ,UAAU;IAChD;;;;;OAKG;IACG,SAAS,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,uBAAuB;;;;;;;;;;;;;;;IAiB5E;;;;;OAKG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,oBAAoB,KAAK,IAAI;CAMjF"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MarketTradesReader = void 0;
|
|
4
|
+
const utils_1 = require("../../utils");
|
|
5
|
+
const base_reader_1 = require("../base-reader");
|
|
6
|
+
const market_trades_types_1 = require("./market-trades.types");
|
|
7
|
+
class MarketTradesReader extends base_reader_1.BaseReader {
|
|
5
8
|
/**
|
|
6
9
|
* Get the latest market trades for a given market
|
|
7
10
|
* @param marketName The name of the market to get market trades for
|
|
@@ -9,13 +12,13 @@ export class MarketTradesReader extends BaseReader {
|
|
|
9
12
|
* @returns The market trades for the given market
|
|
10
13
|
*/
|
|
11
14
|
async getByName({ marketName, limit, fetchOptions }) {
|
|
12
|
-
const marketAddr = getMarketAddr(marketName, this.deps.config.deployment.perpEngineGlobal);
|
|
15
|
+
const marketAddr = (0, utils_1.getMarketAddr)(marketName, this.deps.config.deployment.perpEngineGlobal);
|
|
13
16
|
const queryParams = new URLSearchParams({ market: marketAddr.toString() });
|
|
14
17
|
if (limit !== undefined) {
|
|
15
18
|
queryParams.set("limit", limit.toString());
|
|
16
19
|
}
|
|
17
20
|
const response = await this.getRequest({
|
|
18
|
-
schema: MarketTradesHistorySchema,
|
|
21
|
+
schema: market_trades_types_1.MarketTradesHistorySchema,
|
|
19
22
|
url: `${this.deps.config.tradingHttpUrl}/api/v1/trades`,
|
|
20
23
|
queryParams,
|
|
21
24
|
options: fetchOptions,
|
|
@@ -29,8 +32,9 @@ export class MarketTradesReader extends BaseReader {
|
|
|
29
32
|
* @returns A function to unsubscribe from the market trades updates
|
|
30
33
|
*/
|
|
31
34
|
subscribeByName(marketName, onData) {
|
|
32
|
-
const marketAddr = getMarketAddr(marketName, this.deps.config.deployment.perpEngineGlobal);
|
|
35
|
+
const marketAddr = (0, utils_1.getMarketAddr)(marketName, this.deps.config.deployment.perpEngineGlobal);
|
|
33
36
|
const topic = `trades:${marketAddr}`;
|
|
34
|
-
return this.deps.ws.subscribe(topic, MarketTradeWsMessageSchema, onData);
|
|
37
|
+
return this.deps.ws.subscribe(topic, market_trades_types_1.MarketTradeWsMessageSchema, onData);
|
|
35
38
|
}
|
|
36
39
|
}
|
|
40
|
+
exports.MarketTradesReader = MarketTradesReader;
|
|
@@ -54,3 +54,4 @@ export declare const MarketTradeWsMessageSchema: z.ZodObject<{
|
|
|
54
54
|
export type MarketTrade = z.infer<typeof MarketTradeSchema>;
|
|
55
55
|
export type MarketTradesHistory = z.infer<typeof MarketTradesHistorySchema>;
|
|
56
56
|
export type MarketTradeWsMessage = z.infer<typeof MarketTradeWsMessageSchema>;
|
|
57
|
+
//# sourceMappingURL=market-trades.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"market-trades.types.d.ts","sourceRoot":"","sources":["../../../src/read/market-trades/market-trades.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,WAAW,uBAAwB,SAAQ,eAAe;IAC9D,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;iBAc5B,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;kBAA6B,CAAC;AAEpE,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;iBAErC,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC"}
|
|
@@ -1,20 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MarketTradeWsMessageSchema = exports.MarketTradesHistorySchema = exports.MarketTradeSchema = void 0;
|
|
4
|
+
const v4_1 = require("zod/v4");
|
|
5
|
+
exports.MarketTradeSchema = v4_1.z.object({
|
|
6
|
+
account: v4_1.z.string(),
|
|
7
|
+
market: v4_1.z.string(),
|
|
8
|
+
action: v4_1.z.string(),
|
|
9
|
+
size: v4_1.z.number(),
|
|
10
|
+
price: v4_1.z.number(),
|
|
11
|
+
is_profit: v4_1.z.boolean(),
|
|
12
|
+
realized_pnl_amount: v4_1.z.number(),
|
|
13
|
+
is_funding_positive: v4_1.z.boolean(),
|
|
14
|
+
realized_funding_amount: v4_1.z.number(),
|
|
15
|
+
is_rebate: v4_1.z.boolean(),
|
|
16
|
+
fee_amount: v4_1.z.number(),
|
|
17
|
+
transaction_unix_ms: v4_1.z.number(),
|
|
18
|
+
transaction_version: v4_1.z.number(),
|
|
16
19
|
});
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
trades: z.array(MarketTradeSchema),
|
|
20
|
+
exports.MarketTradesHistorySchema = v4_1.z.array(exports.MarketTradeSchema);
|
|
21
|
+
exports.MarketTradeWsMessageSchema = v4_1.z.object({
|
|
22
|
+
trades: v4_1.z.array(exports.MarketTradeSchema),
|
|
20
23
|
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markets.reader.d.ts","sourceRoot":"","sources":["../../../src/read/markets/markets.reader.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAA6C,MAAM,iBAAiB,CAAC;AAE9F,qBAAa,aAAc,SAAQ,UAAU;IAC3C;;;OAGG;IACG,MAAM,CAAC,EAAE,YAAY,EAAE,GAAE,eAAoB;;;;;;;;;;;;IAoBnD;;;;OAIG;IACG,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAiBrE;;;OAGG;IACG,mBAAmB;IAWzB;;;;OAIG;IACG,mBAAmB,CAAC,UAAU,EAAE,MAAM;CAU7C"}
|
|
@@ -1,14 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MarketsReader = void 0;
|
|
4
|
+
const utils_1 = require("../../utils");
|
|
5
|
+
const base_reader_1 = require("../base-reader");
|
|
6
|
+
const markets_types_1 = require("./markets.types");
|
|
7
|
+
class MarketsReader extends base_reader_1.BaseReader {
|
|
5
8
|
/**
|
|
6
9
|
* Get all of the available markets
|
|
7
10
|
* @returns The list of available markets
|
|
8
11
|
*/
|
|
9
12
|
async getAll({ fetchOptions } = {}) {
|
|
10
13
|
const response = await this.getRequest({
|
|
11
|
-
schema: PerpMarketsSchema,
|
|
14
|
+
schema: markets_types_1.PerpMarketsSchema,
|
|
12
15
|
url: `${this.deps.config.tradingHttpUrl}/api/v1/markets`,
|
|
13
16
|
options: fetchOptions,
|
|
14
17
|
});
|
|
@@ -29,7 +32,7 @@ export class MarketsReader extends BaseReader {
|
|
|
29
32
|
* @returns The market config for the given name
|
|
30
33
|
*/
|
|
31
34
|
async getByName(marketName) {
|
|
32
|
-
const marketAddr = getMarketAddr(marketName, this.deps.config.deployment.perpEngineGlobal);
|
|
35
|
+
const marketAddr = (0, utils_1.getMarketAddr)(marketName, this.deps.config.deployment.perpEngineGlobal);
|
|
33
36
|
try {
|
|
34
37
|
// TODO: Fix lint error
|
|
35
38
|
// eslint-disable-next-line custom/no-get-account-resource
|
|
@@ -38,7 +41,7 @@ export class MarketsReader extends BaseReader {
|
|
|
38
41
|
resourceType: `${this.deps.config.deployment.package}::perp_market_config::PerpMarketConfig`,
|
|
39
42
|
});
|
|
40
43
|
// TODO: Handle different __variant__ values
|
|
41
|
-
return PerpMarketConfigSchema.parse(market);
|
|
44
|
+
return markets_types_1.PerpMarketConfigSchema.parse(market);
|
|
42
45
|
}
|
|
43
46
|
catch (e) {
|
|
44
47
|
console.error(e);
|
|
@@ -75,3 +78,4 @@ export class MarketsReader extends BaseReader {
|
|
|
75
78
|
return name[0];
|
|
76
79
|
}
|
|
77
80
|
}
|
|
81
|
+
exports.MarketsReader = MarketsReader;
|
|
@@ -79,3 +79,4 @@ export type PerpMarketConfig = z.infer<typeof PerpMarketConfigSchema>;
|
|
|
79
79
|
export type MarketMode = z.infer<typeof MarketModeSchema>;
|
|
80
80
|
export type PerpMarket = z.infer<typeof PerpMarketSchema>;
|
|
81
81
|
export type PerpMarkets = z.infer<typeof PerpMarketsSchema>;
|
|
82
|
+
//# sourceMappingURL=markets.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markets.types.d.ts","sourceRoot":"","sources":["../../../src/read/markets/markets.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,eAAO,MAAM,sBAAsB;;;;;;;;;mBAQjC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;iBAYjC,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;EAM3B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;iBAW3B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;kBAA4B,CAAC;AAE3D,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
|
|
@@ -1,43 +1,46 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PerpMarketsSchema = exports.PerpMarketSchema = exports.MarketModeSchema = exports.PerpMarketConfigSchema = exports.MarketModeConfigSchema = void 0;
|
|
4
|
+
const v4_1 = require("zod/v4");
|
|
5
|
+
exports.MarketModeConfigSchema = v4_1.z.discriminatedUnion("__variant__", [
|
|
6
|
+
v4_1.z.object({ __variant__: v4_1.z.literal("Open") }),
|
|
7
|
+
v4_1.z.object({ __variant__: v4_1.z.literal("ReduceOnly") }),
|
|
8
|
+
v4_1.z.object({
|
|
9
|
+
__variant__: v4_1.z.literal("AllowlistOnly"),
|
|
10
|
+
allowlist: v4_1.z.array(v4_1.z.string()),
|
|
8
11
|
}),
|
|
9
|
-
z.object({ __variant__: z.literal("Halt") }),
|
|
12
|
+
v4_1.z.object({ __variant__: v4_1.z.literal("Halt") }),
|
|
10
13
|
]);
|
|
11
|
-
|
|
12
|
-
__variant__: z.literal("V1"),
|
|
13
|
-
name: z.string(),
|
|
14
|
-
sz_precision: z.object({
|
|
15
|
-
decimals: z.number(),
|
|
16
|
-
multiplier: z.string(),
|
|
14
|
+
exports.PerpMarketConfigSchema = v4_1.z.object({
|
|
15
|
+
__variant__: v4_1.z.literal("V1"),
|
|
16
|
+
name: v4_1.z.string(),
|
|
17
|
+
sz_precision: v4_1.z.object({
|
|
18
|
+
decimals: v4_1.z.number(),
|
|
19
|
+
multiplier: v4_1.z.string(),
|
|
17
20
|
}),
|
|
18
|
-
min_size: z.string(),
|
|
19
|
-
lot_size: z.string(),
|
|
20
|
-
ticker_size: z.string(),
|
|
21
|
-
max_leverage: z.number(),
|
|
22
|
-
mode: MarketModeConfigSchema,
|
|
21
|
+
min_size: v4_1.z.string(),
|
|
22
|
+
lot_size: v4_1.z.string(),
|
|
23
|
+
ticker_size: v4_1.z.string(),
|
|
24
|
+
max_leverage: v4_1.z.number(),
|
|
25
|
+
mode: exports.MarketModeConfigSchema,
|
|
23
26
|
});
|
|
24
|
-
|
|
27
|
+
exports.MarketModeSchema = v4_1.z.enum([
|
|
25
28
|
"Open",
|
|
26
29
|
"ReduceOnly",
|
|
27
30
|
"AllowlistOnly",
|
|
28
31
|
"Halt",
|
|
29
32
|
"Delisting",
|
|
30
33
|
]);
|
|
31
|
-
|
|
32
|
-
market_addr: z.string(),
|
|
33
|
-
market_name: z.string(),
|
|
34
|
-
sz_decimals: z.number(),
|
|
35
|
-
px_decimals: z.number(),
|
|
36
|
-
max_leverage: z.number(),
|
|
37
|
-
tick_size: z.number(),
|
|
38
|
-
min_size: z.number(),
|
|
39
|
-
lot_size: z.number(),
|
|
40
|
-
max_open_interest: z.number(),
|
|
41
|
-
mode: MarketModeSchema,
|
|
34
|
+
exports.PerpMarketSchema = v4_1.z.object({
|
|
35
|
+
market_addr: v4_1.z.string(),
|
|
36
|
+
market_name: v4_1.z.string(),
|
|
37
|
+
sz_decimals: v4_1.z.number(),
|
|
38
|
+
px_decimals: v4_1.z.number(),
|
|
39
|
+
max_leverage: v4_1.z.number(),
|
|
40
|
+
tick_size: v4_1.z.number(),
|
|
41
|
+
min_size: v4_1.z.number(),
|
|
42
|
+
lot_size: v4_1.z.number(),
|
|
43
|
+
max_open_interest: v4_1.z.number(),
|
|
44
|
+
mode: exports.MarketModeSchema,
|
|
42
45
|
});
|
|
43
|
-
|
|
46
|
+
exports.PerpMarketsSchema = v4_1.z.array(exports.PerpMarketSchema);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagination.types.d.ts","sourceRoot":"","sources":["../../src/read/pagination.types.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,QAAQ,CAAC;AAEvB,eAAO,MAAM,uBAAuB,GAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,YAAY,CAAC;;;iBAItE,CAAC;AAEL,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;CACrB;AAGD,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
|
|
@@ -1,5 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.PaginatedResponseSchema = void 0;
|
|
7
|
+
const v4_1 = __importDefault(require("zod/v4"));
|
|
8
|
+
const PaginatedResponseSchema = (itemSchema) => v4_1.default.object({
|
|
9
|
+
items: v4_1.default.array(itemSchema),
|
|
10
|
+
total_count: v4_1.default.number(),
|
|
5
11
|
});
|
|
12
|
+
exports.PaginatedResponseSchema = PaginatedResponseSchema;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"portfolio-chart.reader.d.ts","sourceRoot":"","sources":["../../../src/read/portfolio-chart/portfolio-chart.reader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,yBAAyB,EAAwB,MAAM,yBAAyB,CAAC;AAE1F,qBAAa,oBAAqB,SAAQ,UAAU;IAClD;;;;OAIG;IACG,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,yBAAyB;;;;CAUlF"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PortfolioChartReader = void 0;
|
|
4
|
+
const base_reader_1 = require("../base-reader");
|
|
5
|
+
const portfolio_chart_types_1 = require("./portfolio-chart.types");
|
|
6
|
+
class PortfolioChartReader extends base_reader_1.BaseReader {
|
|
4
7
|
/**
|
|
5
8
|
* Get the portfolio chart for a given user
|
|
6
9
|
* @param subAddr The subaccount address to get the account overview for
|
|
@@ -8,7 +11,7 @@ export class PortfolioChartReader extends BaseReader {
|
|
|
8
11
|
*/
|
|
9
12
|
async getByAddr({ subAddr, range, type, fetchOptions }) {
|
|
10
13
|
const response = await this.getRequest({
|
|
11
|
-
schema: PortfolioChartSchema,
|
|
14
|
+
schema: portfolio_chart_types_1.PortfolioChartSchema,
|
|
12
15
|
url: `${this.deps.config.tradingHttpUrl}/api/v1/portfolio_chart`,
|
|
13
16
|
queryParams: { user: subAddr, range, data_type: type },
|
|
14
17
|
options: fetchOptions,
|
|
@@ -16,3 +19,4 @@ export class PortfolioChartReader extends BaseReader {
|
|
|
16
19
|
return response.data;
|
|
17
20
|
}
|
|
18
21
|
}
|
|
22
|
+
exports.PortfolioChartReader = PortfolioChartReader;
|
|
@@ -17,3 +17,4 @@ export type PortfolioChartType = "pnl" | "account_value";
|
|
|
17
17
|
export type PortfolioChartTimeRange = "24h" | "7d" | "30d" | "90d";
|
|
18
18
|
export type PortfolioChartItem = z.infer<typeof PortfolioChartPnlItemSchema>;
|
|
19
19
|
export type PortfolioChart = z.infer<typeof PortfolioChartSchema>;
|
|
20
|
+
//# sourceMappingURL=portfolio-chart.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"portfolio-chart.types.d.ts","sourceRoot":"","sources":["../../../src/read/portfolio-chart/portfolio-chart.types.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,QAAQ,CAAC;AAEvB,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,WAAW,yBAA0B,SAAQ,eAAe;IAChE,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,uBAAuB,CAAC;IAC/B,IAAI,EAAE,kBAAkB,CAAC;CAC1B;AAED,eAAO,MAAM,2BAA2B;;;iBAGtC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;kBAAuC,CAAC;AAEzE,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,eAAe,CAAC;AACzD,MAAM,MAAM,uBAAuB,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,CAAC;AACnE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAC7E,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
|