@decibeltrade/sdk 0.1.6 → 0.1.7
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/dist/abi/generate-abis.js +9 -44
- package/dist/abi/types.js +1 -2
- package/dist/admin.js +10 -14
- package/dist/base.js +19 -26
- package/dist/constants.js +34 -41
- package/dist/fee-pay.js +1 -4
- package/dist/gas/gas-price-manager.js +3 -7
- package/dist/index.js +10 -26
- package/dist/order-event.types.js +1 -2
- package/dist/order-status.js +16 -23
- package/dist/read/account-overview/account-overview.reader.js +20 -91
- package/dist/read/account-overview/account-overview.types.d.ts +7 -7
- package/dist/read/account-overview/account-overview.types.js +23 -26
- package/dist/read/base-reader.js +5 -9
- package/dist/read/candlesticks/candlesticks.reader.js +24 -95
- package/dist/read/candlesticks/candlesticks.types.js +14 -17
- package/dist/read/delegations/delegations.reader.js +14 -84
- package/dist/read/delegations/delegations.types.js +6 -9
- package/dist/read/index.js +50 -68
- package/dist/read/leaderboard/leaderboard.reader.js +13 -94
- package/dist/read/leaderboard/leaderboard.types.js +10 -13
- package/dist/read/market-contexts/market-contexts.reader.js +16 -83
- package/dist/read/market-contexts/market-contexts.types.js +12 -15
- package/dist/read/market-depth/market-depth.reader.js +29 -101
- package/dist/read/market-depth/market-depth.types.js +8 -11
- package/dist/read/market-prices/market-prices.reader.js +30 -111
- package/dist/read/market-prices/market-prices.types.js +21 -24
- package/dist/read/market-trades/market-trades.reader.js +23 -94
- package/dist/read/market-trades/market-trades.types.js +18 -21
- package/dist/read/markets/markets.reader.js +55 -152
- package/dist/read/markets/markets.types.js +32 -35
- package/dist/read/pagination.types.js +5 -11
- package/dist/read/portfolio-chart/portfolio-chart.reader.js +12 -82
- package/dist/read/portfolio-chart/portfolio-chart.types.js +5 -8
- package/dist/read/types.js +58 -75
- package/dist/read/user-active-twaps/user-active-twaps.reader.js +16 -86
- package/dist/read/user-active-twaps/user-active-twaps.types.js +18 -21
- package/dist/read/user-bulk-orders/user-bulk-orders.reader.js +16 -86
- package/dist/read/user-bulk-orders/user-bulk-orders.types.js +16 -19
- package/dist/read/user-funding-history/user-funding-history.reader.js +16 -86
- package/dist/read/user-funding-history/user-funding-history.types.js +13 -16
- package/dist/read/user-notifications/user-notifications.reader.js +8 -32
- package/dist/read/user-notifications/user-notifications.types.js +19 -22
- package/dist/read/user-open-orders/user-open-orders.reader.js +16 -86
- package/dist/read/user-open-orders/user-open-orders.types.js +27 -30
- package/dist/read/user-order-history/user-order-history.reader.js +18 -88
- package/dist/read/user-order-history/user-order-history.types.js +29 -32
- package/dist/read/user-positions/user-positions.reader.js +24 -95
- package/dist/read/user-positions/user-positions.types.d.ts +15 -15
- package/dist/read/user-positions/user-positions.types.js +22 -25
- package/dist/read/user-subaccounts/user-subaccounts.reader.js +18 -89
- package/dist/read/user-subaccounts/user-subaccounts.types.js +8 -11
- package/dist/read/user-trade-history/user-trade-history.reader.js +16 -86
- package/dist/read/user-trade-history/user-trade-history.types.js +18 -21
- package/dist/read/vaults/vaults.reader.js +45 -150
- package/dist/read/vaults/vaults.types.js +52 -55
- package/dist/read/ws-subscription.js +10 -17
- package/dist/subaccount-types.js +4 -7
- package/dist/transaction-builder.js +15 -23
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utils.js +28 -42
- package/dist/write.js +20 -24
- package/package.json +2 -1
- package/tsconfig.json +4 -1
|
@@ -33,19 +33,19 @@ export declare const AccountOverviewSchema: z.ZodObject<{
|
|
|
33
33
|
}, z.core.$strip>;
|
|
34
34
|
export declare const AccountOverviewWsMessageSchema: z.ZodObject<{
|
|
35
35
|
account_overview: z.ZodObject<{
|
|
36
|
-
|
|
36
|
+
all_time_return: z.ZodNullable<z.ZodNumber>;
|
|
37
|
+
sharpe_ratio: z.ZodNullable<z.ZodNumber>;
|
|
38
|
+
max_drawdown: z.ZodNullable<z.ZodNumber>;
|
|
39
|
+
weekly_win_rate_12w: z.ZodNullable<z.ZodNumber>;
|
|
40
|
+
pnl_90d: z.ZodNullable<z.ZodNumber>;
|
|
41
|
+
average_leverage: z.ZodNullable<z.ZodNumber>;
|
|
37
42
|
unrealized_pnl: z.ZodNumber;
|
|
43
|
+
perp_equity_balance: z.ZodNumber;
|
|
38
44
|
unrealized_funding_cost: z.ZodNumber;
|
|
39
45
|
cross_margin_ratio: z.ZodNumber;
|
|
40
46
|
maintenance_margin: z.ZodNumber;
|
|
41
47
|
cross_account_leverage_ratio: z.ZodNullable<z.ZodNumber>;
|
|
42
|
-
all_time_return: z.ZodNullable<z.ZodNumber>;
|
|
43
|
-
pnl_90d: z.ZodNullable<z.ZodNumber>;
|
|
44
|
-
sharpe_ratio: z.ZodNullable<z.ZodNumber>;
|
|
45
|
-
max_drawdown: z.ZodNullable<z.ZodNumber>;
|
|
46
|
-
weekly_win_rate_12w: z.ZodNullable<z.ZodNumber>;
|
|
47
48
|
average_cash_position: z.ZodNullable<z.ZodNumber>;
|
|
48
|
-
average_leverage: z.ZodNullable<z.ZodNumber>;
|
|
49
49
|
cross_account_position: z.ZodNumber;
|
|
50
50
|
total_margin: z.ZodNumber;
|
|
51
51
|
usdc_cross_withdrawable_balance: z.ZodNumber;
|
|
@@ -1,33 +1,30 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.AccountOverviewWsMessageSchema = exports.AccountOverviewSchema = exports.VolumeWindow = void 0;
|
|
4
|
-
var v4_1 = require("zod/v4");
|
|
5
|
-
exports.VolumeWindow = {
|
|
1
|
+
import z from "zod/v4";
|
|
2
|
+
export const VolumeWindow = {
|
|
6
3
|
SevenDays: "7d",
|
|
7
4
|
FourteenDays: "14d",
|
|
8
5
|
ThirtyDays: "30d",
|
|
9
6
|
NinetyDays: "90d",
|
|
10
7
|
};
|
|
11
|
-
|
|
12
|
-
perp_equity_balance:
|
|
13
|
-
unrealized_pnl:
|
|
14
|
-
unrealized_funding_cost:
|
|
15
|
-
cross_margin_ratio:
|
|
16
|
-
maintenance_margin:
|
|
17
|
-
cross_account_leverage_ratio:
|
|
18
|
-
volume:
|
|
19
|
-
all_time_return:
|
|
20
|
-
pnl_90d:
|
|
21
|
-
sharpe_ratio:
|
|
22
|
-
max_drawdown:
|
|
23
|
-
weekly_win_rate_12w:
|
|
24
|
-
average_cash_position:
|
|
25
|
-
average_leverage:
|
|
26
|
-
cross_account_position:
|
|
27
|
-
total_margin:
|
|
28
|
-
usdc_cross_withdrawable_balance:
|
|
29
|
-
usdc_isolated_withdrawable_balance:
|
|
8
|
+
export const AccountOverviewSchema = z.object({
|
|
9
|
+
perp_equity_balance: z.number(),
|
|
10
|
+
unrealized_pnl: z.number(),
|
|
11
|
+
unrealized_funding_cost: z.number(),
|
|
12
|
+
cross_margin_ratio: z.number(),
|
|
13
|
+
maintenance_margin: z.number(),
|
|
14
|
+
cross_account_leverage_ratio: z.number().nullable(),
|
|
15
|
+
volume: z.number().nullable(),
|
|
16
|
+
all_time_return: z.number().nullable(),
|
|
17
|
+
pnl_90d: z.number().nullable(),
|
|
18
|
+
sharpe_ratio: z.number().nullable(),
|
|
19
|
+
max_drawdown: z.number().nullable(),
|
|
20
|
+
weekly_win_rate_12w: z.number().nullable(),
|
|
21
|
+
average_cash_position: z.number().nullable(),
|
|
22
|
+
average_leverage: z.number().nullable(),
|
|
23
|
+
cross_account_position: z.number(),
|
|
24
|
+
total_margin: z.number(),
|
|
25
|
+
usdc_cross_withdrawable_balance: z.number(),
|
|
26
|
+
usdc_isolated_withdrawable_balance: z.number(),
|
|
30
27
|
});
|
|
31
|
-
|
|
32
|
-
account_overview:
|
|
28
|
+
export const AccountOverviewWsMessageSchema = z.object({
|
|
29
|
+
account_overview: AccountOverviewSchema.omit({ volume: true }),
|
|
33
30
|
});
|
package/dist/read/base-reader.js
CHANGED
|
@@ -1,29 +1,25 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.BaseReader = void 0;
|
|
4
|
-
const utils_1 = require("../utils");
|
|
5
|
-
class BaseReader {
|
|
1
|
+
import { getRequest as baseGetRequest, patchRequest as basePatchRequest, postRequest as basePostRequest, } from "../utils";
|
|
2
|
+
export class BaseReader {
|
|
6
3
|
deps;
|
|
7
4
|
constructor(deps) {
|
|
8
5
|
this.deps = deps;
|
|
9
6
|
}
|
|
10
7
|
async getRequest(args) {
|
|
11
|
-
return (
|
|
8
|
+
return baseGetRequest({
|
|
12
9
|
...args,
|
|
13
10
|
apiKey: this.deps.apiKey,
|
|
14
11
|
});
|
|
15
12
|
}
|
|
16
13
|
async postRequest(args) {
|
|
17
|
-
return (
|
|
14
|
+
return basePostRequest({
|
|
18
15
|
...args,
|
|
19
16
|
apiKey: this.deps.apiKey,
|
|
20
17
|
});
|
|
21
18
|
}
|
|
22
19
|
async patchRequest(args) {
|
|
23
|
-
return (
|
|
20
|
+
return basePatchRequest({
|
|
24
21
|
...args,
|
|
25
22
|
apiKey: this.deps.apiKey,
|
|
26
23
|
});
|
|
27
24
|
}
|
|
28
25
|
}
|
|
29
|
-
exports.BaseReader = BaseReader;
|
|
@@ -1,65 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
-
return extendStatics(d, b);
|
|
8
|
-
};
|
|
9
|
-
return function (d, b) {
|
|
10
|
-
if (typeof b !== "function" && b !== null)
|
|
11
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
-
extendStatics(d, b);
|
|
13
|
-
function __() { this.constructor = d; }
|
|
14
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
-
};
|
|
16
|
-
})();
|
|
17
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
18
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
19
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
20
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
21
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
22
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
23
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
24
|
-
});
|
|
25
|
-
};
|
|
26
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
27
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
|
|
28
|
-
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
29
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
30
|
-
function step(op) {
|
|
31
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
32
|
-
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
33
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
34
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
35
|
-
switch (op[0]) {
|
|
36
|
-
case 0: case 1: t = op; break;
|
|
37
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
38
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
39
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
40
|
-
default:
|
|
41
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
42
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
43
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
44
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
45
|
-
if (t[2]) _.ops.pop();
|
|
46
|
-
_.trys.pop(); continue;
|
|
47
|
-
}
|
|
48
|
-
op = body.call(thisArg, _);
|
|
49
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
50
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
54
|
-
exports.CandlesticksReader = void 0;
|
|
55
|
-
var utils_1 = require("../../utils");
|
|
56
|
-
var base_reader_1 = require("../base-reader");
|
|
57
|
-
var candlesticks_types_1 = require("./candlesticks.types");
|
|
58
|
-
var CandlesticksReader = /** @class */ (function (_super) {
|
|
59
|
-
__extends(CandlesticksReader, _super);
|
|
60
|
-
function CandlesticksReader() {
|
|
61
|
-
return _super !== null && _super.apply(this, arguments) || this;
|
|
62
|
-
}
|
|
1
|
+
import { getMarketAddr } from "../../utils";
|
|
2
|
+
import { BaseReader } from "../base-reader";
|
|
3
|
+
import { CandlesticksSchema, CandlestickWsMessageSchema, } from "./candlesticks.types";
|
|
4
|
+
export class CandlesticksReader extends BaseReader {
|
|
63
5
|
/**
|
|
64
6
|
* Get the candlestick data points for a given market during a given time period
|
|
65
7
|
* @param marketName The name of the market to get candlestick data for
|
|
@@ -68,32 +10,21 @@ var CandlesticksReader = /** @class */ (function (_super) {
|
|
|
68
10
|
* @param endTime The end time of the candlestick data points
|
|
69
11
|
* @returns The candlestick data points for the given market during the given time period
|
|
70
12
|
*/
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
market: marketAddr.toString(),
|
|
84
|
-
interval: interval,
|
|
85
|
-
startTime: startTime.toString(),
|
|
86
|
-
endTime: endTime.toString(),
|
|
87
|
-
},
|
|
88
|
-
options: fetchOptions,
|
|
89
|
-
})];
|
|
90
|
-
case 1:
|
|
91
|
-
response = _c.sent();
|
|
92
|
-
return [2 /*return*/, response.data];
|
|
93
|
-
}
|
|
94
|
-
});
|
|
13
|
+
async getByName({ marketName, interval, startTime, endTime, fetchOptions, }) {
|
|
14
|
+
const marketAddr = getMarketAddr(marketName, this.deps.config.deployment.perpEngineGlobal);
|
|
15
|
+
const response = await this.getRequest({
|
|
16
|
+
schema: CandlesticksSchema,
|
|
17
|
+
url: `${this.deps.config.tradingHttpUrl}/api/v1/candlesticks`,
|
|
18
|
+
queryParams: {
|
|
19
|
+
market: marketAddr.toString(),
|
|
20
|
+
interval,
|
|
21
|
+
startTime: startTime.toString(),
|
|
22
|
+
endTime: endTime.toString(),
|
|
23
|
+
},
|
|
24
|
+
options: fetchOptions,
|
|
95
25
|
});
|
|
96
|
-
|
|
26
|
+
return response.data;
|
|
27
|
+
}
|
|
97
28
|
/**
|
|
98
29
|
* Subscribe to candlestick data points for a given market
|
|
99
30
|
* @param marketName The name of the market to subscribe to
|
|
@@ -101,11 +32,9 @@ var CandlesticksReader = /** @class */ (function (_super) {
|
|
|
101
32
|
* @param onData Callback function for received candlestick data points
|
|
102
33
|
* @returns A function to unsubscribe from the candlestick updates
|
|
103
34
|
*/
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
return this.deps.ws.subscribe(topic,
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
}(base_reader_1.BaseReader));
|
|
111
|
-
exports.CandlesticksReader = CandlesticksReader;
|
|
35
|
+
subscribeByName(marketName, interval, onData) {
|
|
36
|
+
const marketAddr = getMarketAddr(marketName, this.deps.config.deployment.perpEngineGlobal);
|
|
37
|
+
const topic = `market_candlestick:${marketAddr}:${interval}`;
|
|
38
|
+
return this.deps.ws.subscribe(topic, CandlestickWsMessageSchema, onData);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -1,33 +1,30 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.CandlestickWsMessageSchema = exports.CandlesticksSchema = exports.CandlestickSchema = exports.CandlestickInterval = void 0;
|
|
4
|
-
var v4_1 = require("zod/v4");
|
|
5
|
-
exports.CandlestickInterval = {
|
|
1
|
+
import z from "zod/v4";
|
|
2
|
+
export const CandlestickInterval = {
|
|
6
3
|
OneMinute: "1m",
|
|
7
4
|
FifteenMinutes: "15m",
|
|
8
5
|
OneHour: "1h",
|
|
9
6
|
FourHours: "4h",
|
|
10
7
|
OneDay: "1d",
|
|
11
8
|
};
|
|
12
|
-
|
|
9
|
+
export const CandlestickSchema = z.object({
|
|
13
10
|
/** time end */
|
|
14
|
-
T:
|
|
11
|
+
T: z.number(),
|
|
15
12
|
/** close */
|
|
16
|
-
c:
|
|
13
|
+
c: z.number(),
|
|
17
14
|
/** high */
|
|
18
|
-
h:
|
|
15
|
+
h: z.number(),
|
|
19
16
|
/** internal */
|
|
20
|
-
i:
|
|
17
|
+
i: z.string(),
|
|
21
18
|
/** low */
|
|
22
|
-
l:
|
|
19
|
+
l: z.number(),
|
|
23
20
|
/** open */
|
|
24
|
-
o:
|
|
21
|
+
o: z.number(),
|
|
25
22
|
/** time start */
|
|
26
|
-
t:
|
|
23
|
+
t: z.number(),
|
|
27
24
|
/** volume */
|
|
28
|
-
v:
|
|
25
|
+
v: z.number(),
|
|
29
26
|
});
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
candle:
|
|
27
|
+
export const CandlesticksSchema = z.array(CandlestickSchema);
|
|
28
|
+
export const CandlestickWsMessageSchema = z.object({
|
|
29
|
+
candle: CandlestickSchema,
|
|
33
30
|
});
|
|
@@ -1,90 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
extendStatics = Object.setPrototypeOf ||
|
|
5
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
-
return extendStatics(d, b);
|
|
8
|
-
};
|
|
9
|
-
return function (d, b) {
|
|
10
|
-
if (typeof b !== "function" && b !== null)
|
|
11
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
-
extendStatics(d, b);
|
|
13
|
-
function __() { this.constructor = d; }
|
|
14
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
-
};
|
|
16
|
-
})();
|
|
17
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
18
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
19
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
20
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
21
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
22
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
23
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
24
|
-
});
|
|
25
|
-
};
|
|
26
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
27
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
|
|
28
|
-
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
29
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
30
|
-
function step(op) {
|
|
31
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
32
|
-
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
33
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
34
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
35
|
-
switch (op[0]) {
|
|
36
|
-
case 0: case 1: t = op; break;
|
|
37
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
38
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
39
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
40
|
-
default:
|
|
41
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
42
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
43
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
44
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
45
|
-
if (t[2]) _.ops.pop();
|
|
46
|
-
_.trys.pop(); continue;
|
|
47
|
-
}
|
|
48
|
-
op = body.call(thisArg, _);
|
|
49
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
50
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
54
|
-
exports.DelegationsReader = void 0;
|
|
55
|
-
var base_reader_1 = require("../base-reader");
|
|
56
|
-
var delegations_types_1 = require("./delegations.types");
|
|
57
|
-
var DelegationsReader = /** @class */ (function (_super) {
|
|
58
|
-
__extends(DelegationsReader, _super);
|
|
59
|
-
function DelegationsReader() {
|
|
60
|
-
return _super !== null && _super.apply(this, arguments) || this;
|
|
61
|
-
}
|
|
1
|
+
import { BaseReader } from "../base-reader";
|
|
2
|
+
import { DelegationsSchema } from "./delegations.types";
|
|
3
|
+
export class DelegationsReader extends BaseReader {
|
|
62
4
|
/**
|
|
63
5
|
* Get all active delegations for a subaccount
|
|
64
6
|
* @param args The arguments containing the subaccount address
|
|
65
7
|
* @returns The list of active delegations for the given subaccount
|
|
66
8
|
*/
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
url: "".concat(this.deps.config.tradingHttpUrl, "/api/v1/delegations"),
|
|
76
|
-
queryParams: new URLSearchParams({
|
|
77
|
-
subaccount: subAddr,
|
|
78
|
-
}),
|
|
79
|
-
options: fetchOptions,
|
|
80
|
-
})];
|
|
81
|
-
case 1:
|
|
82
|
-
response = _c.sent();
|
|
83
|
-
return [2 /*return*/, response.data];
|
|
84
|
-
}
|
|
85
|
-
});
|
|
9
|
+
async getAll({ subAddr, fetchOptions }) {
|
|
10
|
+
const response = await this.getRequest({
|
|
11
|
+
schema: DelegationsSchema,
|
|
12
|
+
url: `${this.deps.config.tradingHttpUrl}/api/v1/delegations`,
|
|
13
|
+
queryParams: new URLSearchParams({
|
|
14
|
+
subaccount: subAddr,
|
|
15
|
+
}),
|
|
16
|
+
options: fetchOptions,
|
|
86
17
|
});
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
}
|
|
90
|
-
exports.DelegationsReader = DelegationsReader;
|
|
18
|
+
return response.data;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
delegated_account: v4_1.default.string(),
|
|
7
|
-
permission_type: v4_1.default.string(),
|
|
8
|
-
expiration_time_s: v4_1.default.number().nullable(),
|
|
1
|
+
import z from "zod/v4";
|
|
2
|
+
export const DelegationSchema = z.object({
|
|
3
|
+
delegated_account: z.string(),
|
|
4
|
+
permission_type: z.string(),
|
|
5
|
+
expiration_time_s: z.number().nullable(),
|
|
9
6
|
});
|
|
10
|
-
|
|
7
|
+
export const DelegationsSchema = z.array(DelegationSchema);
|
package/dist/read/index.js
CHANGED
|
@@ -1,45 +1,28 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
const market_trades_reader_1 = require("./market-trades/market-trades.reader");
|
|
27
|
-
const markets_reader_1 = require("./markets/markets.reader");
|
|
28
|
-
const portfolio_chart_reader_1 = require("./portfolio-chart/portfolio-chart.reader");
|
|
29
|
-
const types_1 = require("./types");
|
|
30
|
-
const user_active_twaps_reader_1 = require("./user-active-twaps/user-active-twaps.reader");
|
|
31
|
-
const user_bulk_orders_reader_1 = require("./user-bulk-orders/user-bulk-orders.reader");
|
|
32
|
-
const user_funding_history_reader_1 = require("./user-funding-history/user-funding-history.reader");
|
|
33
|
-
const user_notifications_reader_1 = require("./user-notifications/user-notifications.reader");
|
|
34
|
-
const user_open_orders_reader_1 = require("./user-open-orders/user-open-orders.reader");
|
|
35
|
-
const user_order_history_reader_1 = require("./user-order-history/user-order-history.reader");
|
|
36
|
-
const user_positions_reader_1 = require("./user-positions/user-positions.reader");
|
|
37
|
-
const user_subaccounts_reader_1 = require("./user-subaccounts/user-subaccounts.reader");
|
|
38
|
-
const user_trade_history_reader_1 = require("./user-trade-history/user-trade-history.reader");
|
|
39
|
-
const vaults_reader_1 = require("./vaults/vaults.reader");
|
|
40
|
-
const ws_subscription_1 = require("./ws-subscription");
|
|
41
|
-
__exportStar(require("./types"), exports);
|
|
42
|
-
class DecibelReadDex {
|
|
1
|
+
import { Aptos, AptosConfig, createObjectAddress } from "@aptos-labs/ts-sdk";
|
|
2
|
+
import { AccountOverviewReader } from "./account-overview/account-overview.reader";
|
|
3
|
+
import { CandlesticksReader } from "./candlesticks/candlesticks.reader";
|
|
4
|
+
import { DelegationsReader } from "./delegations/delegations.reader";
|
|
5
|
+
import { LeaderboardReader } from "./leaderboard/leaderboard.reader";
|
|
6
|
+
import { MarketContextsReader } from "./market-contexts/market-contexts.reader";
|
|
7
|
+
import { MarketDepthReader } from "./market-depth/market-depth.reader";
|
|
8
|
+
import { MarketPricesReader } from "./market-prices/market-prices.reader";
|
|
9
|
+
import { MarketTradesReader } from "./market-trades/market-trades.reader";
|
|
10
|
+
import { MarketsReader } from "./markets/markets.reader";
|
|
11
|
+
import { PortfolioChartReader } from "./portfolio-chart/portfolio-chart.reader";
|
|
12
|
+
import { CrossedPosition } from "./types";
|
|
13
|
+
import { UserActiveTwapsReader } from "./user-active-twaps/user-active-twaps.reader";
|
|
14
|
+
import { UserBulkOrdersReader } from "./user-bulk-orders/user-bulk-orders.reader";
|
|
15
|
+
import { UserFundingHistoryReader } from "./user-funding-history/user-funding-history.reader";
|
|
16
|
+
import { UserNotificationsReader } from "./user-notifications/user-notifications.reader";
|
|
17
|
+
import { UserOpenOrdersReader } from "./user-open-orders/user-open-orders.reader";
|
|
18
|
+
import { UserOrderHistoryReader } from "./user-order-history/user-order-history.reader";
|
|
19
|
+
import { UserPositionsReader } from "./user-positions/user-positions.reader";
|
|
20
|
+
import { UserSubaccountsReader } from "./user-subaccounts/user-subaccounts.reader";
|
|
21
|
+
import { UserTradeHistoryReader } from "./user-trade-history/user-trade-history.reader";
|
|
22
|
+
import { VaultsReader } from "./vaults/vaults.reader";
|
|
23
|
+
import { DecibelWsSubscription } from "./ws-subscription";
|
|
24
|
+
export * from "./types";
|
|
25
|
+
export class DecibelReadDex {
|
|
43
26
|
config;
|
|
44
27
|
cache;
|
|
45
28
|
deps;
|
|
@@ -65,38 +48,38 @@ class DecibelReadDex {
|
|
|
65
48
|
userNotifications;
|
|
66
49
|
constructor(config, opts) {
|
|
67
50
|
this.config = config;
|
|
68
|
-
const aptosConfig = new
|
|
51
|
+
const aptosConfig = new AptosConfig({
|
|
69
52
|
network: config.network,
|
|
70
53
|
fullnode: config.fullnodeUrl,
|
|
71
54
|
clientConfig: { API_KEY: opts?.nodeApiKey },
|
|
72
55
|
});
|
|
73
56
|
this.deps = {
|
|
74
|
-
aptos: new
|
|
75
|
-
ws: new
|
|
57
|
+
aptos: new Aptos(aptosConfig),
|
|
58
|
+
ws: new DecibelWsSubscription(config, opts?.onWsError),
|
|
76
59
|
config: this.config,
|
|
77
60
|
apiKey: opts?.nodeApiKey,
|
|
78
61
|
};
|
|
79
62
|
this.cache = {};
|
|
80
|
-
this.accountOverview = new
|
|
81
|
-
this.markets = new
|
|
82
|
-
this.marketContexts = new
|
|
83
|
-
this.marketDepth = new
|
|
84
|
-
this.marketPrices = new
|
|
85
|
-
this.marketTrades = new
|
|
86
|
-
this.userPositions = new
|
|
87
|
-
this.userOrderHistory = new
|
|
88
|
-
this.userSubaccounts = new
|
|
89
|
-
this.userOpenOrders = new
|
|
90
|
-
this.userBulkOrders = new
|
|
91
|
-
this.userFundingHistory = new
|
|
92
|
-
this.userTradeHistory = new
|
|
93
|
-
this.userActiveTwaps = new
|
|
94
|
-
this.candlesticks = new
|
|
95
|
-
this.portfolioChart = new
|
|
96
|
-
this.leaderboard = new
|
|
97
|
-
this.vaults = new
|
|
98
|
-
this.delegations = new
|
|
99
|
-
this.userNotifications = new
|
|
63
|
+
this.accountOverview = new AccountOverviewReader(this.deps);
|
|
64
|
+
this.markets = new MarketsReader(this.deps);
|
|
65
|
+
this.marketContexts = new MarketContextsReader(this.deps);
|
|
66
|
+
this.marketDepth = new MarketDepthReader(this.deps);
|
|
67
|
+
this.marketPrices = new MarketPricesReader(this.deps);
|
|
68
|
+
this.marketTrades = new MarketTradesReader(this.deps);
|
|
69
|
+
this.userPositions = new UserPositionsReader(this.deps);
|
|
70
|
+
this.userOrderHistory = new UserOrderHistoryReader(this.deps);
|
|
71
|
+
this.userSubaccounts = new UserSubaccountsReader(this.deps);
|
|
72
|
+
this.userOpenOrders = new UserOpenOrdersReader(this.deps);
|
|
73
|
+
this.userBulkOrders = new UserBulkOrdersReader(this.deps);
|
|
74
|
+
this.userFundingHistory = new UserFundingHistoryReader(this.deps);
|
|
75
|
+
this.userTradeHistory = new UserTradeHistoryReader(this.deps);
|
|
76
|
+
this.userActiveTwaps = new UserActiveTwapsReader(this.deps);
|
|
77
|
+
this.candlesticks = new CandlesticksReader(this.deps);
|
|
78
|
+
this.portfolioChart = new PortfolioChartReader(this.deps);
|
|
79
|
+
this.leaderboard = new LeaderboardReader(this.deps);
|
|
80
|
+
this.vaults = new VaultsReader(this.deps);
|
|
81
|
+
this.delegations = new DelegationsReader(this.deps);
|
|
82
|
+
this.userNotifications = new UserNotificationsReader(this.deps);
|
|
100
83
|
}
|
|
101
84
|
async globalPerpEngineState() {
|
|
102
85
|
try {
|
|
@@ -242,7 +225,7 @@ class DecibelReadDex {
|
|
|
242
225
|
*/
|
|
243
226
|
async getCrossedPosition(addr) {
|
|
244
227
|
const seed = new TextEncoder().encode("perp_position");
|
|
245
|
-
const crossedPositionAddr =
|
|
228
|
+
const crossedPositionAddr = createObjectAddress(addr, seed);
|
|
246
229
|
try {
|
|
247
230
|
// TODO: Fix lint error
|
|
248
231
|
// eslint-disable-next-line custom/no-get-account-resource
|
|
@@ -250,11 +233,10 @@ class DecibelReadDex {
|
|
|
250
233
|
accountAddress: crossedPositionAddr,
|
|
251
234
|
resourceType: `${this.config.deployment.package}::perp_positions::CrossedPosition`,
|
|
252
235
|
});
|
|
253
|
-
return
|
|
236
|
+
return CrossedPosition.parse(crossedPosition);
|
|
254
237
|
}
|
|
255
238
|
catch {
|
|
256
239
|
return null;
|
|
257
240
|
}
|
|
258
241
|
}
|
|
259
242
|
}
|
|
260
|
-
exports.DecibelReadDex = DecibelReadDex;
|