@decibeltrade/sdk 0.2.2 → 0.2.4
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.d.ts +1 -0
- package/dist/base.d.ts.map +1 -1
- package/dist/base.js +22 -26
- package/dist/constants.d.ts +1 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +37 -43
- 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 +5 -9
- package/dist/read/account-overview/account-overview.types.d.ts +7 -7
- package/dist/read/account-overview/account-overview.types.js +23 -29
- package/dist/read/base-reader.js +5 -9
- package/dist/read/candlesticks/candlesticks.reader.js +8 -12
- package/dist/read/candlesticks/candlesticks.types.js +14 -20
- package/dist/read/delegations/delegations.reader.js +4 -8
- package/dist/read/delegations/delegations.types.js +6 -12
- package/dist/read/index.js +50 -68
- package/dist/read/leaderboard/leaderboard.reader.js +6 -10
- package/dist/read/leaderboard/leaderboard.types.js +10 -13
- package/dist/read/market-contexts/market-contexts.reader.js +4 -8
- package/dist/read/market-contexts/market-contexts.types.js +11 -17
- package/dist/read/market-depth/market-depth.reader.js +9 -13
- package/dist/read/market-depth/market-depth.types.js +8 -14
- package/dist/read/market-prices/market-prices.reader.js +11 -15
- package/dist/read/market-prices/market-prices.types.js +22 -25
- package/dist/read/market-trades/market-trades.reader.js +8 -12
- package/dist/read/market-trades/market-trades.types.js +18 -21
- package/dist/read/markets/markets.reader.js +7 -11
- package/dist/read/markets/markets.types.js +32 -35
- package/dist/read/pagination.types.js +4 -11
- package/dist/read/portfolio-chart/portfolio-chart.reader.js +4 -8
- package/dist/read/portfolio-chart/portfolio-chart.types.js +5 -11
- package/dist/read/types.js +58 -75
- package/dist/read/user-active-twaps/user-active-twaps.reader.js +5 -9
- package/dist/read/user-active-twaps/user-active-twaps.types.js +18 -24
- package/dist/read/user-bulk-orders/user-bulk-orders.reader.js +5 -9
- package/dist/read/user-bulk-orders/user-bulk-orders.types.js +16 -22
- package/dist/read/user-funding-history/user-funding-history.reader.js +5 -9
- package/dist/read/user-funding-history/user-funding-history.types.js +13 -19
- package/dist/read/user-notifications/user-notifications.reader.js +4 -8
- package/dist/read/user-notifications/user-notifications.types.js +19 -25
- package/dist/read/user-open-orders/user-open-orders.reader.js +5 -9
- package/dist/read/user-open-orders/user-open-orders.types.js +27 -33
- package/dist/read/user-order-history/user-order-history.reader.js +5 -9
- package/dist/read/user-order-history/user-order-history.types.js +32 -38
- package/dist/read/user-positions/user-positions.reader.js +5 -9
- package/dist/read/user-positions/user-positions.types.d.ts +13 -13
- package/dist/read/user-positions/user-positions.types.js +21 -27
- package/dist/read/user-subaccounts/user-subaccounts.reader.js +4 -8
- package/dist/read/user-subaccounts/user-subaccounts.types.js +8 -14
- package/dist/read/user-trade-history/user-trade-history.reader.js +5 -9
- package/dist/read/user-trade-history/user-trade-history.types.js +18 -24
- package/dist/read/vaults/vaults.reader.js +6 -10
- package/dist/read/vaults/vaults.types.js +53 -59
- package/dist/read/ws-subscription.d.ts +1 -1
- package/dist/read/ws-subscription.js +12 -19
- package/dist/subaccount-types.js +4 -10
- package/dist/transaction-builder.js +11 -16
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utils.d.ts +4 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +46 -49
- package/dist/write.d.ts +2 -2
- package/dist/write.d.ts.map +1 -1
- package/dist/write.js +22 -26
- package/package.json +1 -1
- package/src/read/ws-subscription.ts +2 -2
- package/src/write.ts +3 -3
package/dist/utils.js
CHANGED
|
@@ -1,26 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
exports.getRequest = getRequest;
|
|
8
|
-
exports.prettifyMaybeZodError = prettifyMaybeZodError;
|
|
9
|
-
exports.bigIntReviver = bigIntReviver;
|
|
10
|
-
exports.getPrimarySubaccountAddr = getPrimarySubaccountAddr;
|
|
11
|
-
exports.getTradingCompetitionSubaccountAddr = getTradingCompetitionSubaccountAddr;
|
|
12
|
-
exports.getVaultShareAddress = getVaultShareAddress;
|
|
13
|
-
exports.constructKnownQueryParams = constructKnownQueryParams;
|
|
14
|
-
exports.generateRandomReplayProtectionNonce = generateRandomReplayProtectionNonce;
|
|
15
|
-
exports.roundToTickSize = roundToTickSize;
|
|
16
|
-
const ts_sdk_1 = require("@aptos-labs/ts-sdk");
|
|
17
|
-
const v4_1 = require("zod/v4");
|
|
18
|
-
const constants_1 = require("./constants");
|
|
19
|
-
function getMarketAddr(name, perpEngineGlobalAddr) {
|
|
20
|
-
const marketNameBytes = new ts_sdk_1.MoveString(name).bcsToBytes();
|
|
21
|
-
return (0, ts_sdk_1.createObjectAddress)(ts_sdk_1.AccountAddress.fromString(perpEngineGlobalAddr), marketNameBytes);
|
|
1
|
+
import { AccountAddress, createObjectAddress, MoveString, } from "@aptos-labs/ts-sdk";
|
|
2
|
+
import { z, ZodError } from "zod/v4";
|
|
3
|
+
import { CompatVersion, QUERY_PARAM_KEYS } from "./constants";
|
|
4
|
+
export function getMarketAddr(name, perpEngineGlobalAddr) {
|
|
5
|
+
const marketNameBytes = new MoveString(name).bcsToBytes();
|
|
6
|
+
return createObjectAddress(AccountAddress.fromString(perpEngineGlobalAddr), marketNameBytes);
|
|
22
7
|
}
|
|
23
|
-
async function postRequest({ schema, url, body, options = {}, apiKey, }) {
|
|
8
|
+
export async function postRequest({ schema, url, body, options = {}, apiKey, }) {
|
|
24
9
|
return baseRequest({
|
|
25
10
|
schema,
|
|
26
11
|
url,
|
|
@@ -31,7 +16,7 @@ async function postRequest({ schema, url, body, options = {}, apiKey, }) {
|
|
|
31
16
|
apiKey,
|
|
32
17
|
});
|
|
33
18
|
}
|
|
34
|
-
async function patchRequest({ schema, url, body, options = {}, apiKey, }) {
|
|
19
|
+
export async function patchRequest({ schema, url, body, options = {}, apiKey, }) {
|
|
35
20
|
return baseRequest({
|
|
36
21
|
schema,
|
|
37
22
|
url,
|
|
@@ -42,7 +27,7 @@ async function patchRequest({ schema, url, body, options = {}, apiKey, }) {
|
|
|
42
27
|
apiKey,
|
|
43
28
|
});
|
|
44
29
|
}
|
|
45
|
-
async function getRequest({ schema, url, queryParams, options = {}, apiKey, }) {
|
|
30
|
+
export async function getRequest({ schema, url, queryParams, options = {}, apiKey, }) {
|
|
46
31
|
return baseRequest({
|
|
47
32
|
schema,
|
|
48
33
|
url,
|
|
@@ -87,13 +72,13 @@ async function baseRequest({ schema, url, method, options = {}, body, queryParam
|
|
|
87
72
|
throw prettifyMaybeZodError(e);
|
|
88
73
|
}
|
|
89
74
|
}
|
|
90
|
-
function prettifyMaybeZodError(e) {
|
|
91
|
-
if (e instanceof
|
|
92
|
-
return new Error(
|
|
75
|
+
export function prettifyMaybeZodError(e) {
|
|
76
|
+
if (e instanceof ZodError) {
|
|
77
|
+
return new Error(z.prettifyError(e), { cause: e });
|
|
93
78
|
}
|
|
94
79
|
return e;
|
|
95
80
|
}
|
|
96
|
-
function bigIntReviver(key, value) {
|
|
81
|
+
export function bigIntReviver(key, value) {
|
|
97
82
|
if (value &&
|
|
98
83
|
typeof value === "object" &&
|
|
99
84
|
"$bigint" in value &&
|
|
@@ -102,45 +87,58 @@ function bigIntReviver(key, value) {
|
|
|
102
87
|
}
|
|
103
88
|
return value;
|
|
104
89
|
}
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
90
|
+
const baseSeed = "decibel_dex_primary";
|
|
91
|
+
const getCompatVersionAsNumber = (compatVersion) => {
|
|
92
|
+
return Number(compatVersion.split(".")[1]);
|
|
93
|
+
};
|
|
94
|
+
const createSeed = (compatVersion) => {
|
|
95
|
+
return new TextEncoder().encode(compatVersion === CompatVersion.V0_0
|
|
96
|
+
? baseSeed
|
|
97
|
+
: `${baseSeed}_v${getCompatVersionAsNumber(compatVersion)}`);
|
|
98
|
+
};
|
|
99
|
+
export function getPrimarySubaccountAddr(addr, config, options) {
|
|
100
|
+
const account = typeof addr === "string" ? AccountAddress.fromString(addr) : addr;
|
|
101
|
+
if (options?.overrideCompatVersion &&
|
|
102
|
+
getCompatVersionAsNumber(options.overrideCompatVersion) <=
|
|
103
|
+
getCompatVersionAsNumber(config.compatVersion)) {
|
|
104
|
+
return createObjectAddress(account, createSeed(options.overrideCompatVersion)).toString();
|
|
105
|
+
}
|
|
106
|
+
return createObjectAddress(account, createSeed(config.compatVersion)).toString();
|
|
109
107
|
}
|
|
110
|
-
function getTradingCompetitionSubaccountAddr(addr) {
|
|
111
|
-
const account = typeof addr === "string" ?
|
|
108
|
+
export function getTradingCompetitionSubaccountAddr(addr) {
|
|
109
|
+
const account = typeof addr === "string" ? AccountAddress.fromString(addr) : addr;
|
|
112
110
|
const seed = new TextEncoder().encode("trading_competition");
|
|
113
|
-
return
|
|
111
|
+
return createObjectAddress(account, seed).toString();
|
|
114
112
|
}
|
|
115
|
-
function getVaultShareAddress(vaultAddress) {
|
|
113
|
+
export function getVaultShareAddress(vaultAddress) {
|
|
116
114
|
const seed = new TextEncoder().encode("vault_share_asset");
|
|
117
|
-
return
|
|
115
|
+
return createObjectAddress(AccountAddress.fromString(vaultAddress), seed).toString();
|
|
118
116
|
}
|
|
119
|
-
|
|
120
|
-
limit:
|
|
121
|
-
offset:
|
|
122
|
-
sortKey:
|
|
123
|
-
sortDir:
|
|
124
|
-
searchTerm:
|
|
117
|
+
export const PARAM_MAP = {
|
|
118
|
+
limit: QUERY_PARAM_KEYS.limit,
|
|
119
|
+
offset: QUERY_PARAM_KEYS.offset,
|
|
120
|
+
sortKey: QUERY_PARAM_KEYS.sortKey,
|
|
121
|
+
sortDir: QUERY_PARAM_KEYS.sortDir,
|
|
122
|
+
searchTerm: QUERY_PARAM_KEYS.searchTerm,
|
|
125
123
|
};
|
|
126
124
|
/**
|
|
127
125
|
* Construct query params from an args object, supporting optional PageParams, SearchTermParams, and generic SortParams.
|
|
128
126
|
* @param args - The argument object, which may include page, search, and sort params.
|
|
129
127
|
* @returns URLSearchParams instance with the constructed query parameters.
|
|
130
128
|
*/
|
|
131
|
-
function constructKnownQueryParams(args) {
|
|
129
|
+
export function constructKnownQueryParams(args) {
|
|
132
130
|
const queryParams = new URLSearchParams();
|
|
133
131
|
Object.keys(args).forEach((_argKey) => {
|
|
134
132
|
const argKey = _argKey;
|
|
135
133
|
const value = args[argKey];
|
|
136
|
-
const paramKey =
|
|
134
|
+
const paramKey = PARAM_MAP[argKey];
|
|
137
135
|
if (paramKey && value !== undefined && !(typeof value === "string" && value.trim() === "")) {
|
|
138
136
|
queryParams.set(paramKey, String(value));
|
|
139
137
|
}
|
|
140
138
|
});
|
|
141
139
|
return queryParams;
|
|
142
140
|
}
|
|
143
|
-
function generateRandomReplayProtectionNonce() {
|
|
141
|
+
export function generateRandomReplayProtectionNonce() {
|
|
144
142
|
const buf = new Uint32Array(2);
|
|
145
143
|
crypto.getRandomValues(buf);
|
|
146
144
|
const valueAtIndex0 = buf[0];
|
|
@@ -154,7 +152,7 @@ function generateRandomReplayProtectionNonce() {
|
|
|
154
152
|
* Round price to valid tick size.
|
|
155
153
|
* Prices must be multiples of tickSize in chain units.
|
|
156
154
|
*/
|
|
157
|
-
function roundToTickSize(price, tickSize, pxDecimals, roundUp) {
|
|
155
|
+
export function roundToTickSize(price, tickSize, pxDecimals, roundUp) {
|
|
158
156
|
if (price === 0)
|
|
159
157
|
return 0;
|
|
160
158
|
const denormalized = price * 10 ** pxDecimals;
|
|
@@ -163,7 +161,7 @@ function roundToTickSize(price, tickSize, pxDecimals, roundUp) {
|
|
|
163
161
|
: Math.floor(denormalized / tickSize) * tickSize;
|
|
164
162
|
return Number((rounded / 10 ** pxDecimals).toFixed(pxDecimals));
|
|
165
163
|
}
|
|
166
|
-
const extractVaultAddressFromCreateTx = (createVaultTx) => {
|
|
164
|
+
export const extractVaultAddressFromCreateTx = (createVaultTx) => {
|
|
167
165
|
// Extract vault address from transaction events
|
|
168
166
|
let vaultAddress = null;
|
|
169
167
|
if ("events" in createVaultTx && Array.isArray(createVaultTx.events)) {
|
|
@@ -181,4 +179,3 @@ const extractVaultAddressFromCreateTx = (createVaultTx) => {
|
|
|
181
179
|
typeof vaultAddress === "object" && "inner" in vaultAddress ? vaultAddress.inner : vaultAddress;
|
|
182
180
|
return vaultAddress;
|
|
183
181
|
};
|
|
184
|
-
exports.extractVaultAddressFromCreateTx = extractVaultAddressFromCreateTx;
|
package/dist/write.d.ts
CHANGED
|
@@ -133,8 +133,8 @@ export declare class DecibelWriteDex extends BaseSDK {
|
|
|
133
133
|
*/
|
|
134
134
|
accountOverride?: Account;
|
|
135
135
|
}): Promise<CommittedTransactionResponse>;
|
|
136
|
-
|
|
137
|
-
subaccountAddr
|
|
136
|
+
delegateTradingToForSubaccount({ subaccountAddr, accountToDelegateTo, }: {
|
|
137
|
+
subaccountAddr: string;
|
|
138
138
|
accountToDelegateTo: string;
|
|
139
139
|
}): Promise<CommittedTransactionResponse>;
|
|
140
140
|
revokeDelegation({ subaccountAddr, accountToRevoke, }: {
|
package/dist/write.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write.d.ts","sourceRoot":"","sources":["../src/write.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"write.d.ts","sourceRoot":"","sources":["../src/write.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AAE3F,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAqB,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAc,gBAAgB,EAAa,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,oBAAoB,EAA0B,MAAM,oBAAoB,CAAC;AAGlF,eAAO,MAAM,WAAW;;;;CAId,CAAC;AACX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC;AAEzE,UAAU,KAAK;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,KAAK,iBAAiB,CAAC,CAAC,IAAI,CAAC,GAAG;IAC9B,aAAa,EAAE,cAAc,CAAC;CAC/B,CAAC;AAaF,qBAAa,eAAgB,SAAQ,OAAO;IAC1C,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;gBAElC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO;IAMnE;;OAEG;IACH,OAAO,CAAC,6BAA6B;IAiC/B,gBAAgB,CAAC,EAAE,iBAAiB,EAAE,OAAO,EAAE,EAAE,oBAAoB;;;;;;;;IAQrE,gBAAgB;IAQhB,gBAAgB,CACpB,MAAM,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC,4BAA4B,CAAC,EACzE,cAAc,CAAC,EAAE,MAAM;IAQnB,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,EAAE,MAAM;IAM3F;;OAEG;IACG,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM;IAoBrD;;OAEG;IACG,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM;IAYhD,8BAA8B,CAAC,EACnC,UAAU,EACV,cAAc,EACd,OAAO,EACP,YAAY,GACb,EAAE;QACD,UAAU,EAAE,MAAM,CAAC;QACnB,cAAc,EAAE,MAAM,CAAC;QACvB,OAAO,EAAE,OAAO,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;KACtB;IAYK,UAAU,CAAC,EACf,UAAU,EACV,KAAK,EACL,IAAI,EACJ,KAAK,EACL,WAAW,EACX,YAAY,EACZ,aAAa,EACb,SAAS,EACT,cAAc,EACd,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,WAAW,EACX,UAAU,EACV,cAAc,EACd,eAAe,EACf,QAAQ,GACT,EAAE;QACD,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,OAAO,CAAC;QACf,WAAW,EAAE,WAAW,CAAC;QACzB,YAAY,EAAE,OAAO,CAAC;QACtB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB;;;WAGG;QACH,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B;;WAEG;QACH,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAuEvB,eAAe,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE;;;;IAYxF,cAAc,CAAC,EACnB,UAAU,EACV,IAAI,EACJ,KAAK,EACL,YAAY,EAEZ,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,EACd,WAAW,EACX,cAAc,EACd,eAAe,GAChB,EAAE;QACD,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,OAAO,CAAC;QACf,YAAY,EAAE,OAAO,CAAC;QAEtB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,mBAAmB,EAAE,MAAM,CAAC;QAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB;;;WAGG;QACH,eAAe,CAAC,EAAE,OAAO,CAAC;KAC3B;;;;;IAoCD;;;;;;OAMG;IACG,WAAW,CAAC,EAChB,OAAO,EACP,cAAc,EACd,eAAe,EACf,GAAG,IAAI,EACR,EAAE;QACD,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;QAEzB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB;;;WAGG;QACH,eAAe,CAAC,EAAE,OAAO,CAAC;KAC3B,GAAG,CAAC;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IAqB/C,iBAAiB,CAAC,EACtB,aAAa,EACb,UAAU,EACV,cAAc,EACd,eAAe,GAChB,EAAE;QACD,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC;QACnB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB;;;WAGG;QACH,eAAe,CAAC,EAAE,OAAO,CAAC;KAC3B;IAgBK,8BAA8B,CAAC,EACnC,cAAc,EACd,mBAAmB,GACpB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,mBAAmB,EAAE,MAAM,CAAC;KAC7B;IAYK,gBAAgB,CAAC,EACrB,cAAc,EACd,eAAe,GAChB,EAAE;QACD,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,eAAe,EAAE,MAAM,CAAC;KACzB;IAYD;;OAEG;IACG,yBAAyB,CAAC,EAC9B,UAAU,EACV,cAAc,EACd,YAAY,EACZ,MAAM,EACN,cAAc,EACd,YAAY,EACZ,MAAM,EACN,cAAc,EACd,eAAe,EACf,QAAQ,GACT,EAAE;QACD,UAAU,EAAE,MAAM,CAAC;QACnB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB;IA2CD;;OAEG;IACG,wBAAwB,CAAC,EAC7B,UAAU,EACV,WAAW,EACX,cAAc,EACd,YAAY,EACZ,MAAM,EACN,cAAc,EACd,eAAe,GAChB,EAAE;QACD,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;QAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,eAAe,CAAC,EAAE,OAAO,CAAC;KAC3B;IAsBD;;OAEG;IACG,wBAAwB,CAAC,EAC7B,UAAU,EACV,WAAW,EACX,cAAc,EACd,YAAY,EACZ,MAAM,EACN,cAAc,EACd,eAAe,GAChB,EAAE;QACD,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;QAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,eAAe,CAAC,EAAE,OAAO,CAAC;KAC3B;IAsBD;;OAEG;IACG,0BAA0B,CAAC,EAC/B,UAAU,EACV,OAAO,EACP,cAAc,EACd,eAAe,GAChB,EAAE;QACD,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;QACzB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,eAAe,CAAC,EAAE,OAAO,CAAC;KAC3B;IAeK,eAAe,CAAC,EACpB,OAAO,EACP,UAAU,EACV,cAAc,EACd,eAAe,GAChB,EAAE;QACD,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB;;;WAGG;QACH,eAAe,CAAC,EAAE,OAAO,CAAC;KAC3B;IAeK,yBAAyB,CAAC,EAC9B,cAAc,EACd,oBAA2B,EAC3B,aAAa,GACd,EAAE,iBAAiB,CAAC;QACnB,cAAc,EAAE,MAAM,CAAC;QACvB,oBAAoB,EAAE,OAAO,CAAC;KAC/B,CAAC;IAeF;;OAEG;IACG,kBAAkB,CAAC,EACvB,qBAAqB,EACrB,SAAS,EACT,gBAAgB,EAChB,iBAAsB,EACtB,oBAAyB,EACzB,MAAM,EACN,YAAY,EACZ,2BAA2B,EAC3B,cAAkB,EAClB,oBAA4B,EAC5B,iBAAyB,EACzB,aAAa,EACb,gBAAgB,EAChB,gBAAgB,GACjB,EAAE,iBAAiB,CAAC,eAAe,CAAC;IA6B/B,WAAW,CACf,IAAI,EAAE,eAAe,GAAG;QACtB;;;WAGG;QACH,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB;IAkCH;;OAEG;IACG,oBAAoB,CAAC,EACzB,YAAY,EACZ,iBAAqB,EACrB,aAAa,GACd,EAAE,iBAAiB,CAAC,iBAAiB,CAAC;IAYvC;;OAEG;IACG,qBAAqB,CAAC,EAC1B,YAAY,EACZ,MAAM,EACN,aAAa,GACd,EAAE,iBAAiB,CAAC,kBAAkB,CAAC;IAYlC,cAAc,CAClB,IAAI,EAAE,kBAAkB,GAAG;QACzB,cAAc,EAAE,MAAM,CAAC;KACxB;IAoBH;;OAEG;IACG,wBAAwB,CAAC,EAC7B,YAAY,EACZ,MAAM,EACN,aAAa,GACd,EAAE,iBAAiB,CAAC,qBAAqB,CAAC;IAWrC,iBAAiB,CACrB,IAAI,EAAE,qBAAqB,GAAG;QAC5B;;;WAGG;QACH,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB;IAiBH;;OAEG;IACG,2BAA2B,CAAC,EAChC,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACb,uBAAuB,GACxB,EAAE,iBAAiB,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,mBAAmB,EAAE,MAAM,CAAC;QAC5B,uBAAuB,CAAC,EAAE,MAAM,CAAC;KAClC,CAAC;IAWF;;;;;OAKG;IACG,oBAAoB,CAAC,EACzB,WAAW,EACX,MAAM,EACN,cAAc,GACf,EAAE;QACD,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC;QACf,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB;IAYD;;;;OAIG;IACG,mBAAmB,CAAC,EACxB,WAAW,EACX,cAAc,GACf,EAAE;QACD,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB;CAWF"}
|
package/dist/write.js
CHANGED
|
@@ -1,12 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const
|
|
7
|
-
const subaccount_types_1 = require("./subaccount-types");
|
|
8
|
-
const utils_1 = require("./utils");
|
|
9
|
-
exports.TimeInForce = {
|
|
1
|
+
import { BaseSDK } from "./base";
|
|
2
|
+
import { getVaultApiModule } from "./constants";
|
|
3
|
+
import { OrderStatusClient } from "./order-status";
|
|
4
|
+
import { RenameSubaccountSchema } from "./subaccount-types";
|
|
5
|
+
import { getMarketAddr, getPrimarySubaccountAddr, postRequest } from "./utils";
|
|
6
|
+
export const TimeInForce = {
|
|
10
7
|
GoodTillCanceled: 0,
|
|
11
8
|
PostOnly: 1,
|
|
12
9
|
ImmediateOrCancel: 2,
|
|
@@ -22,13 +19,13 @@ function roundToTickSize(price, tickSize) {
|
|
|
22
19
|
return 0;
|
|
23
20
|
return Math.round(price / tickSize) * tickSize;
|
|
24
21
|
}
|
|
25
|
-
class DecibelWriteDex extends
|
|
22
|
+
export class DecibelWriteDex extends BaseSDK {
|
|
26
23
|
cache;
|
|
27
24
|
orderStatusClient;
|
|
28
25
|
constructor(config, account, opts) {
|
|
29
26
|
super(config, account, opts);
|
|
30
27
|
this.cache = {};
|
|
31
|
-
this.orderStatusClient = new
|
|
28
|
+
this.orderStatusClient = new OrderStatusClient(config);
|
|
32
29
|
}
|
|
33
30
|
/**
|
|
34
31
|
* Extract order_id from OrderEvent in transaction response
|
|
@@ -64,8 +61,8 @@ class DecibelWriteDex extends base_1.BaseSDK {
|
|
|
64
61
|
}
|
|
65
62
|
}
|
|
66
63
|
async renameSubaccount({ subaccountAddress, newName }) {
|
|
67
|
-
return await
|
|
68
|
-
schema:
|
|
64
|
+
return await postRequest({
|
|
65
|
+
schema: RenameSubaccountSchema,
|
|
69
66
|
url: `${this.config.tradingHttpUrl}/api/v1/subaccounts/${subaccountAddress}`,
|
|
70
67
|
body: { name: newName },
|
|
71
68
|
});
|
|
@@ -79,13 +76,13 @@ class DecibelWriteDex extends base_1.BaseSDK {
|
|
|
79
76
|
}
|
|
80
77
|
async sendSubaccountTx(sendTx, subaccountAddr) {
|
|
81
78
|
if (!subaccountAddr) {
|
|
82
|
-
subaccountAddr =
|
|
79
|
+
subaccountAddr = getPrimarySubaccountAddr(this.account.accountAddress, this.config);
|
|
83
80
|
}
|
|
84
81
|
return await sendTx(subaccountAddr);
|
|
85
82
|
}
|
|
86
83
|
async withSubaccount(fn, subaccountAddr) {
|
|
87
84
|
if (!subaccountAddr) {
|
|
88
|
-
subaccountAddr =
|
|
85
|
+
subaccountAddr = getPrimarySubaccountAddr(this.account.accountAddress, this.config);
|
|
89
86
|
}
|
|
90
87
|
return await fn(subaccountAddr);
|
|
91
88
|
}
|
|
@@ -127,7 +124,7 @@ class DecibelWriteDex extends base_1.BaseSDK {
|
|
|
127
124
|
}
|
|
128
125
|
async placeOrder({ marketName, price, size, isBuy, timeInForce, isReduceOnly, clientOrderId, stopPrice, tpTriggerPrice, tpLimitPrice, slTriggerPrice, slLimitPrice, builderAddr, builderFee, subaccountAddr, accountOverride, tickSize, }) {
|
|
129
126
|
try {
|
|
130
|
-
const marketAddr =
|
|
127
|
+
const marketAddr = getMarketAddr(marketName, this.config.deployment.perpEngineGlobal);
|
|
131
128
|
// Apply tick size rounding if tickSize is provided
|
|
132
129
|
const roundedPrice = tickSize ? roundToTickSize(price, tickSize) : price;
|
|
133
130
|
const roundedStopPrice = stopPrice !== undefined && tickSize ? roundToTickSize(stopPrice, tickSize) : stopPrice;
|
|
@@ -194,7 +191,7 @@ class DecibelWriteDex extends base_1.BaseSDK {
|
|
|
194
191
|
async placeTwapOrder({ marketName, size, isBuy, isReduceOnly,
|
|
195
192
|
// clientOrderId,
|
|
196
193
|
twapFrequencySeconds, twapDurationSeconds, builderAddress, builderFees, subaccountAddr, accountOverride, }) {
|
|
197
|
-
const marketAddr =
|
|
194
|
+
const marketAddr = getMarketAddr(marketName, this.config.deployment.perpEngineGlobal);
|
|
198
195
|
const txResponse = await this.sendSubaccountTx((subaccountAddr) => this.sendTx({
|
|
199
196
|
// TODO: update to place_twap_order_to_subaccount_v2 once available
|
|
200
197
|
function: `${this.config.deployment.package}::dex_accounts::place_twap_order_to_subaccount`,
|
|
@@ -229,7 +226,7 @@ class DecibelWriteDex extends base_1.BaseSDK {
|
|
|
229
226
|
async cancelOrder({ orderId, subaccountAddr, accountOverride, ...args }) {
|
|
230
227
|
// Either marketName or marketAddr must be provided
|
|
231
228
|
const marketAddr = "marketName" in args
|
|
232
|
-
?
|
|
229
|
+
? getMarketAddr(args.marketName, this.config.deployment.perpEngineGlobal)
|
|
233
230
|
: args.marketAddr;
|
|
234
231
|
return await this.sendSubaccountTx((subaccountAddr) => this.sendTx({
|
|
235
232
|
function: `${this.config.deployment.package}::dex_accounts::cancel_order_to_subaccount`,
|
|
@@ -238,16 +235,16 @@ class DecibelWriteDex extends base_1.BaseSDK {
|
|
|
238
235
|
}, accountOverride), subaccountAddr);
|
|
239
236
|
}
|
|
240
237
|
async cancelClientOrder({ clientOrderId, marketName, subaccountAddr, accountOverride, }) {
|
|
241
|
-
const marketAddr =
|
|
238
|
+
const marketAddr = getMarketAddr(marketName, this.config.deployment.perpEngineGlobal);
|
|
242
239
|
return await this.sendSubaccountTx((subaccountAddr) => this.sendTx({
|
|
243
240
|
function: `${this.config.deployment.package}::dex_accounts::cancel_client_order_to_subaccount`,
|
|
244
241
|
typeArguments: [],
|
|
245
242
|
functionArguments: [subaccountAddr, clientOrderId, marketAddr.toString()],
|
|
246
243
|
}, accountOverride), subaccountAddr);
|
|
247
244
|
}
|
|
248
|
-
async
|
|
245
|
+
async delegateTradingToForSubaccount({ subaccountAddr, accountToDelegateTo, }) {
|
|
249
246
|
return await this.sendSubaccountTx((subaccountAddr) => this.sendTx({
|
|
250
|
-
function: `${this.config.deployment.package}::dex_accounts::
|
|
247
|
+
function: `${this.config.deployment.package}::dex_accounts::delegate_trading_to_for_subaccount`,
|
|
251
248
|
typeArguments: [],
|
|
252
249
|
functionArguments: [subaccountAddr, accountToDelegateTo],
|
|
253
250
|
}), subaccountAddr);
|
|
@@ -357,7 +354,7 @@ class DecibelWriteDex extends base_1.BaseSDK {
|
|
|
357
354
|
* Create a new vault with optional initial funding
|
|
358
355
|
*/
|
|
359
356
|
async buildCreateVaultTx({ contributionAssetType, vaultName, vaultShareSymbol, vaultShareIconUri = "", vaultShareProjectUri = "", feeBps, feeIntervalS, contributionLockupDurationS, initialFunding = 0, acceptsContributions = false, delegateToCreator = false, signerAddress, vaultDescription, vaultSocialLinks, }) {
|
|
360
|
-
const vaultApiModule =
|
|
357
|
+
const vaultApiModule = getVaultApiModule(this.config.compatVersion);
|
|
361
358
|
const transaction = await this.buildTx({
|
|
362
359
|
function: `${this.config.deployment.package}::${vaultApiModule}::create_and_fund_vault`,
|
|
363
360
|
typeArguments: [],
|
|
@@ -381,7 +378,7 @@ class DecibelWriteDex extends base_1.BaseSDK {
|
|
|
381
378
|
return transaction;
|
|
382
379
|
}
|
|
383
380
|
async createVault(args) {
|
|
384
|
-
const vaultApiModule =
|
|
381
|
+
const vaultApiModule = getVaultApiModule(this.config.compatVersion);
|
|
385
382
|
const txResponse = await this.sendSubaccountTx(() => this.sendTx({
|
|
386
383
|
function: `${this.config.deployment.package}::${vaultApiModule}::create_and_fund_vault`,
|
|
387
384
|
typeArguments: [],
|
|
@@ -408,7 +405,7 @@ class DecibelWriteDex extends base_1.BaseSDK {
|
|
|
408
405
|
* Activate a vault to accept contributions
|
|
409
406
|
*/
|
|
410
407
|
async buildActivateVaultTx({ vaultAddress, additionalFunding = 0, signerAddress, }) {
|
|
411
|
-
const vaultApiModule =
|
|
408
|
+
const vaultApiModule = getVaultApiModule(this.config.compatVersion);
|
|
412
409
|
return await this.buildTx({
|
|
413
410
|
function: `${this.config.deployment.package}::${vaultApiModule}::activate_vault`,
|
|
414
411
|
typeArguments: [],
|
|
@@ -419,7 +416,7 @@ class DecibelWriteDex extends base_1.BaseSDK {
|
|
|
419
416
|
* Contribute funds to a vault in exchange for shares
|
|
420
417
|
*/
|
|
421
418
|
async buildDepositToVaultTx({ vaultAddress, amount, signerAddress, }) {
|
|
422
|
-
const vaultApiModule =
|
|
419
|
+
const vaultApiModule = getVaultApiModule(this.config.compatVersion);
|
|
423
420
|
return await this.buildTx({
|
|
424
421
|
function: `${this.config.deployment.package}::${vaultApiModule}::contribute`,
|
|
425
422
|
typeArguments: [],
|
|
@@ -493,4 +490,3 @@ class DecibelWriteDex extends base_1.BaseSDK {
|
|
|
493
490
|
}), subaccountAddr);
|
|
494
491
|
}
|
|
495
492
|
}
|
|
496
|
-
exports.DecibelWriteDex = DecibelWriteDex;
|
package/package.json
CHANGED
|
@@ -52,9 +52,9 @@ export class DecibelWsSubscription {
|
|
|
52
52
|
|
|
53
53
|
ws.addEventListener("open", () => {
|
|
54
54
|
this.#reconnectAttempts = 0;
|
|
55
|
-
this.#subscriptions.keys()
|
|
55
|
+
for (const topic of Array.from(this.#subscriptions.keys())) {
|
|
56
56
|
ws.send(this.#getSubscribeMessage(topic));
|
|
57
|
-
}
|
|
57
|
+
}
|
|
58
58
|
});
|
|
59
59
|
|
|
60
60
|
ws.addEventListener("message", (event) => {
|
package/src/write.ts
CHANGED
|
@@ -439,17 +439,17 @@ export class DecibelWriteDex extends BaseSDK {
|
|
|
439
439
|
);
|
|
440
440
|
}
|
|
441
441
|
|
|
442
|
-
async
|
|
442
|
+
async delegateTradingToForSubaccount({
|
|
443
443
|
subaccountAddr,
|
|
444
444
|
accountToDelegateTo,
|
|
445
445
|
}: {
|
|
446
|
-
subaccountAddr
|
|
446
|
+
subaccountAddr: string;
|
|
447
447
|
accountToDelegateTo: string;
|
|
448
448
|
}) {
|
|
449
449
|
return await this.sendSubaccountTx(
|
|
450
450
|
(subaccountAddr) =>
|
|
451
451
|
this.sendTx({
|
|
452
|
-
function: `${this.config.deployment.package}::dex_accounts::
|
|
452
|
+
function: `${this.config.deployment.package}::dex_accounts::delegate_trading_to_for_subaccount`,
|
|
453
453
|
typeArguments: [],
|
|
454
454
|
functionArguments: [subaccountAddr, accountToDelegateTo],
|
|
455
455
|
}),
|