@nadohq/client 0.1.0-alpha.1
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/README.md +3 -0
- package/dist/apis/base.cjs +66 -0
- package/dist/apis/base.cjs.map +1 -0
- package/dist/apis/base.d.cts +23 -0
- package/dist/apis/base.d.ts +23 -0
- package/dist/apis/base.js +41 -0
- package/dist/apis/base.js.map +1 -0
- package/dist/apis/market/MarketExecuteAPI.cjs +169 -0
- package/dist/apis/market/MarketExecuteAPI.cjs.map +1 -0
- package/dist/apis/market/MarketExecuteAPI.d.cts +57 -0
- package/dist/apis/market/MarketExecuteAPI.d.ts +57 -0
- package/dist/apis/market/MarketExecuteAPI.js +144 -0
- package/dist/apis/market/MarketExecuteAPI.js.map +1 -0
- package/dist/apis/market/MarketQueryAPI.cjs +191 -0
- package/dist/apis/market/MarketQueryAPI.cjs.map +1 -0
- package/dist/apis/market/MarketQueryAPI.d.cts +127 -0
- package/dist/apis/market/MarketQueryAPI.d.ts +127 -0
- package/dist/apis/market/MarketQueryAPI.js +166 -0
- package/dist/apis/market/MarketQueryAPI.js.map +1 -0
- package/dist/apis/market/index.cjs +38 -0
- package/dist/apis/market/index.cjs.map +1 -0
- package/dist/apis/market/index.d.cts +18 -0
- package/dist/apis/market/index.d.ts +18 -0
- package/dist/apis/market/index.js +11 -0
- package/dist/apis/market/index.js.map +1 -0
- package/dist/apis/market/types.cjs +19 -0
- package/dist/apis/market/types.cjs.map +1 -0
- package/dist/apis/market/types.d.cts +26 -0
- package/dist/apis/market/types.d.ts +26 -0
- package/dist/apis/market/types.js +1 -0
- package/dist/apis/market/types.js.map +1 -0
- package/dist/apis/perp/PerpExecuteAPI.cjs +36 -0
- package/dist/apis/perp/PerpExecuteAPI.cjs.map +1 -0
- package/dist/apis/perp/PerpExecuteAPI.d.cts +13 -0
- package/dist/apis/perp/PerpExecuteAPI.d.ts +13 -0
- package/dist/apis/perp/PerpExecuteAPI.js +11 -0
- package/dist/apis/perp/PerpExecuteAPI.js.map +1 -0
- package/dist/apis/perp/PerpQueryAPI.cjs +47 -0
- package/dist/apis/perp/PerpQueryAPI.cjs.map +1 -0
- package/dist/apis/perp/PerpQueryAPI.d.cts +23 -0
- package/dist/apis/perp/PerpQueryAPI.d.ts +23 -0
- package/dist/apis/perp/PerpQueryAPI.js +22 -0
- package/dist/apis/perp/PerpQueryAPI.js.map +1 -0
- package/dist/apis/perp/index.cjs +35 -0
- package/dist/apis/perp/index.cjs.map +1 -0
- package/dist/apis/perp/index.d.cts +16 -0
- package/dist/apis/perp/index.d.ts +16 -0
- package/dist/apis/perp/index.js +10 -0
- package/dist/apis/perp/index.js.map +1 -0
- package/dist/apis/spot/BaseSpotAPI.cjs +55 -0
- package/dist/apis/spot/BaseSpotAPI.cjs.map +1 -0
- package/dist/apis/spot/BaseSpotAPI.d.cts +19 -0
- package/dist/apis/spot/BaseSpotAPI.d.ts +19 -0
- package/dist/apis/spot/BaseSpotAPI.js +30 -0
- package/dist/apis/spot/BaseSpotAPI.js.map +1 -0
- package/dist/apis/spot/SpotExecuteAPI.cjs +108 -0
- package/dist/apis/spot/SpotExecuteAPI.cjs.map +1 -0
- package/dist/apis/spot/SpotExecuteAPI.d.cts +28 -0
- package/dist/apis/spot/SpotExecuteAPI.d.ts +28 -0
- package/dist/apis/spot/SpotExecuteAPI.js +88 -0
- package/dist/apis/spot/SpotExecuteAPI.js.map +1 -0
- package/dist/apis/spot/SpotQueryAPI.cjs +74 -0
- package/dist/apis/spot/SpotQueryAPI.cjs.map +1 -0
- package/dist/apis/spot/SpotQueryAPI.d.cts +35 -0
- package/dist/apis/spot/SpotQueryAPI.d.ts +35 -0
- package/dist/apis/spot/SpotQueryAPI.js +49 -0
- package/dist/apis/spot/SpotQueryAPI.js.map +1 -0
- package/dist/apis/spot/index.cjs +38 -0
- package/dist/apis/spot/index.cjs.map +1 -0
- package/dist/apis/spot/index.d.cts +23 -0
- package/dist/apis/spot/index.d.ts +23 -0
- package/dist/apis/spot/index.js +11 -0
- package/dist/apis/spot/index.js.map +1 -0
- package/dist/apis/spot/types.cjs +19 -0
- package/dist/apis/spot/types.cjs.map +1 -0
- package/dist/apis/spot/types.d.cts +23 -0
- package/dist/apis/spot/types.d.ts +23 -0
- package/dist/apis/spot/types.js +1 -0
- package/dist/apis/spot/types.js.map +1 -0
- package/dist/apis/subaccount/SubaccountExecuteAPI.cjs +59 -0
- package/dist/apis/subaccount/SubaccountExecuteAPI.cjs.map +1 -0
- package/dist/apis/subaccount/SubaccountExecuteAPI.d.cts +26 -0
- package/dist/apis/subaccount/SubaccountExecuteAPI.d.ts +26 -0
- package/dist/apis/subaccount/SubaccountExecuteAPI.js +34 -0
- package/dist/apis/subaccount/SubaccountExecuteAPI.js.map +1 -0
- package/dist/apis/subaccount/SubaccountQueryAPI.cjs +84 -0
- package/dist/apis/subaccount/SubaccountQueryAPI.cjs.map +1 -0
- package/dist/apis/subaccount/SubaccountQueryAPI.d.cts +51 -0
- package/dist/apis/subaccount/SubaccountQueryAPI.d.ts +51 -0
- package/dist/apis/subaccount/SubaccountQueryAPI.js +61 -0
- package/dist/apis/subaccount/SubaccountQueryAPI.js.map +1 -0
- package/dist/apis/subaccount/index.cjs +68 -0
- package/dist/apis/subaccount/index.cjs.map +1 -0
- package/dist/apis/subaccount/index.d.cts +27 -0
- package/dist/apis/subaccount/index.d.ts +27 -0
- package/dist/apis/subaccount/index.js +41 -0
- package/dist/apis/subaccount/index.js.map +1 -0
- package/dist/apis/subaccount/types.cjs +19 -0
- package/dist/apis/subaccount/types.cjs.map +1 -0
- package/dist/apis/subaccount/types.d.cts +9 -0
- package/dist/apis/subaccount/types.d.ts +9 -0
- package/dist/apis/subaccount/types.js +1 -0
- package/dist/apis/subaccount/types.js.map +1 -0
- package/dist/apis/types.cjs +19 -0
- package/dist/apis/types.cjs.map +1 -0
- package/dist/apis/types.d.cts +9 -0
- package/dist/apis/types.d.ts +9 -0
- package/dist/apis/types.js +1 -0
- package/dist/apis/types.js.map +1 -0
- package/dist/apis/ws/WebSocketExecuteAPI.cjs +73 -0
- package/dist/apis/ws/WebSocketExecuteAPI.cjs.map +1 -0
- package/dist/apis/ws/WebSocketExecuteAPI.d.cts +48 -0
- package/dist/apis/ws/WebSocketExecuteAPI.d.ts +48 -0
- package/dist/apis/ws/WebSocketExecuteAPI.js +48 -0
- package/dist/apis/ws/WebSocketExecuteAPI.js.map +1 -0
- package/dist/apis/ws/WebSocketQueryAPI.cjs +42 -0
- package/dist/apis/ws/WebSocketQueryAPI.cjs.map +1 -0
- package/dist/apis/ws/WebSocketQueryAPI.d.cts +23 -0
- package/dist/apis/ws/WebSocketQueryAPI.d.ts +23 -0
- package/dist/apis/ws/WebSocketQueryAPI.js +17 -0
- package/dist/apis/ws/WebSocketQueryAPI.js.map +1 -0
- package/dist/apis/ws/WebSocketSubscriptionAPI.cjs +61 -0
- package/dist/apis/ws/WebSocketSubscriptionAPI.cjs.map +1 -0
- package/dist/apis/ws/WebSocketSubscriptionAPI.d.cts +37 -0
- package/dist/apis/ws/WebSocketSubscriptionAPI.d.ts +37 -0
- package/dist/apis/ws/WebSocketSubscriptionAPI.js +36 -0
- package/dist/apis/ws/WebSocketSubscriptionAPI.js.map +1 -0
- package/dist/apis/ws/index.cjs +42 -0
- package/dist/apis/ws/index.cjs.map +1 -0
- package/dist/apis/ws/index.d.cts +22 -0
- package/dist/apis/ws/index.d.ts +22 -0
- package/dist/apis/ws/index.js +17 -0
- package/dist/apis/ws/index.js.map +1 -0
- package/dist/client.cjs +79 -0
- package/dist/client.cjs.map +1 -0
- package/dist/client.d.cts +57 -0
- package/dist/client.d.ts +57 -0
- package/dist/client.js +54 -0
- package/dist/client.js.map +1 -0
- package/dist/context.cjs +125 -0
- package/dist/context.cjs.map +1 -0
- package/dist/context.d.cts +42 -0
- package/dist/context.d.ts +42 -0
- package/dist/context.js +109 -0
- package/dist/context.js.map +1 -0
- package/dist/createNadoClient.cjs +35 -0
- package/dist/createNadoClient.cjs.map +1 -0
- package/dist/createNadoClient.d.cts +42 -0
- package/dist/createNadoClient.d.ts +42 -0
- package/dist/createNadoClient.js +12 -0
- package/dist/createNadoClient.js.map +1 -0
- package/dist/index.cjs +47 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +32 -0
- package/dist/index.d.ts +32 -0
- package/dist/index.js +14 -0
- package/dist/index.js.map +1 -0
- package/package.json +54 -0
- package/src/apis/base.ts +52 -0
- package/src/apis/market/MarketExecuteAPI.ts +169 -0
- package/src/apis/market/MarketQueryAPI.ts +214 -0
- package/src/apis/market/index.ts +7 -0
- package/src/apis/market/types.ts +58 -0
- package/src/apis/perp/PerpExecuteAPI.ts +8 -0
- package/src/apis/perp/PerpQueryAPI.ts +25 -0
- package/src/apis/perp/index.ts +5 -0
- package/src/apis/spot/BaseSpotAPI.ts +30 -0
- package/src/apis/spot/SpotExecuteAPI.ts +102 -0
- package/src/apis/spot/SpotQueryAPI.ts +53 -0
- package/src/apis/spot/index.ts +10 -0
- package/src/apis/spot/types.ts +44 -0
- package/src/apis/subaccount/SubaccountExecuteAPI.ts +32 -0
- package/src/apis/subaccount/SubaccountQueryAPI.ts +78 -0
- package/src/apis/subaccount/index.ts +44 -0
- package/src/apis/subaccount/types.ts +16 -0
- package/src/apis/types.ts +11 -0
- package/src/apis/ws/WebSocketExecuteAPI.ts +70 -0
- package/src/apis/ws/WebSocketQueryAPI.ts +25 -0
- package/src/apis/ws/WebSocketSubscriptionAPI.ts +62 -0
- package/src/apis/ws/index.ts +21 -0
- package/src/client.ts +67 -0
- package/src/context.ts +165 -0
- package/src/createNadoClient.ts +20 -0
- package/src/index.ts +15 -0
package/README.md
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/apis/base.ts
|
|
21
|
+
var base_exports = {};
|
|
22
|
+
__export(base_exports, {
|
|
23
|
+
BaseNadoAPI: () => BaseNadoAPI
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(base_exports);
|
|
26
|
+
var import_utils = require("@nadohq/utils");
|
|
27
|
+
var BaseNadoAPI = class {
|
|
28
|
+
constructor(context) {
|
|
29
|
+
this.context = context;
|
|
30
|
+
}
|
|
31
|
+
getWalletClientAddress() {
|
|
32
|
+
if (!this.context.walletClient) {
|
|
33
|
+
throw new import_utils.WalletNotProvidedError();
|
|
34
|
+
}
|
|
35
|
+
return this.context.walletClient.account.address;
|
|
36
|
+
}
|
|
37
|
+
getWalletClientChainIdIfNeeded(params) {
|
|
38
|
+
if (params.chainId) {
|
|
39
|
+
return params.chainId;
|
|
40
|
+
}
|
|
41
|
+
if (!this.context.walletClient) {
|
|
42
|
+
throw new import_utils.WalletNotProvidedError();
|
|
43
|
+
}
|
|
44
|
+
return this.context.walletClient.chain.id;
|
|
45
|
+
}
|
|
46
|
+
getEndpointAddress() {
|
|
47
|
+
return this.context.contractAddresses.endpoint;
|
|
48
|
+
}
|
|
49
|
+
async getOrderbookAddress(productId) {
|
|
50
|
+
return this.context.engineClient.getOrderbookAddress(productId);
|
|
51
|
+
}
|
|
52
|
+
getSubaccountOwnerIfNeeded(params) {
|
|
53
|
+
return params.subaccountOwner ?? this.getWalletClientAddress();
|
|
54
|
+
}
|
|
55
|
+
paramsWithContracts(params) {
|
|
56
|
+
return {
|
|
57
|
+
...params,
|
|
58
|
+
...this.context.contracts
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
63
|
+
0 && (module.exports = {
|
|
64
|
+
BaseNadoAPI
|
|
65
|
+
});
|
|
66
|
+
//# sourceMappingURL=base.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/apis/base.ts"],"sourcesContent":["import { WithContracts } from '@nadohq/contracts';\nimport { WalletNotProvidedError } from '@nadohq/utils';\n\nimport { NadoClientContext } from '../context';\n\nexport class BaseNadoAPI {\n readonly context: NadoClientContext;\n\n constructor(context: NadoClientContext) {\n this.context = context;\n }\n\n protected getWalletClientAddress() {\n if (!this.context.walletClient) {\n throw new WalletNotProvidedError();\n }\n return this.context.walletClient.account.address;\n }\n\n protected getWalletClientChainIdIfNeeded(params: {\n chainId?: number;\n }): number {\n if (params.chainId) {\n return params.chainId;\n }\n if (!this.context.walletClient) {\n throw new WalletNotProvidedError();\n }\n return this.context.walletClient.chain.id;\n }\n\n protected getEndpointAddress() {\n return this.context.contractAddresses.endpoint;\n }\n\n protected async getOrderbookAddress(productId: number) {\n return this.context.engineClient.getOrderbookAddress(productId);\n }\n\n protected getSubaccountOwnerIfNeeded(params: {\n subaccountOwner?: string;\n }): string {\n return params.subaccountOwner ?? this.getWalletClientAddress();\n }\n\n protected paramsWithContracts<T>(params: T): WithContracts<T> {\n return {\n ...params,\n ...this.context.contracts,\n };\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,mBAAuC;AAIhC,IAAM,cAAN,MAAkB;AAAA,EAGvB,YAAY,SAA4B;AACtC,SAAK,UAAU;AAAA,EACjB;AAAA,EAEU,yBAAyB;AACjC,QAAI,CAAC,KAAK,QAAQ,cAAc;AAC9B,YAAM,IAAI,oCAAuB;AAAA,IACnC;AACA,WAAO,KAAK,QAAQ,aAAa,QAAQ;AAAA,EAC3C;AAAA,EAEU,+BAA+B,QAE9B;AACT,QAAI,OAAO,SAAS;AAClB,aAAO,OAAO;AAAA,IAChB;AACA,QAAI,CAAC,KAAK,QAAQ,cAAc;AAC9B,YAAM,IAAI,oCAAuB;AAAA,IACnC;AACA,WAAO,KAAK,QAAQ,aAAa,MAAM;AAAA,EACzC;AAAA,EAEU,qBAAqB;AAC7B,WAAO,KAAK,QAAQ,kBAAkB;AAAA,EACxC;AAAA,EAEA,MAAgB,oBAAoB,WAAmB;AACrD,WAAO,KAAK,QAAQ,aAAa,oBAAoB,SAAS;AAAA,EAChE;AAAA,EAEU,2BAA2B,QAE1B;AACT,WAAO,OAAO,mBAAmB,KAAK,uBAAuB;AAAA,EAC/D;AAAA,EAEU,oBAAuB,QAA6B;AAC5D,WAAO;AAAA,MACL,GAAG;AAAA,MACH,GAAG,KAAK,QAAQ;AAAA,IAClB;AAAA,EACF;AACF;","names":[]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { WithContracts } from '@nadohq/contracts';
|
|
2
|
+
import { NadoClientContext } from '../context.cjs';
|
|
3
|
+
import '@nadohq/engine-client';
|
|
4
|
+
import '@nadohq/indexer-client';
|
|
5
|
+
import '@nadohq/trigger-client';
|
|
6
|
+
import 'viem';
|
|
7
|
+
|
|
8
|
+
declare class BaseNadoAPI {
|
|
9
|
+
readonly context: NadoClientContext;
|
|
10
|
+
constructor(context: NadoClientContext);
|
|
11
|
+
protected getWalletClientAddress(): `0x${string}`;
|
|
12
|
+
protected getWalletClientChainIdIfNeeded(params: {
|
|
13
|
+
chainId?: number;
|
|
14
|
+
}): number;
|
|
15
|
+
protected getEndpointAddress(): `0x${string}`;
|
|
16
|
+
protected getOrderbookAddress(productId: number): Promise<string>;
|
|
17
|
+
protected getSubaccountOwnerIfNeeded(params: {
|
|
18
|
+
subaccountOwner?: string;
|
|
19
|
+
}): string;
|
|
20
|
+
protected paramsWithContracts<T>(params: T): WithContracts<T>;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export { BaseNadoAPI };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { WithContracts } from '@nadohq/contracts';
|
|
2
|
+
import { NadoClientContext } from '../context.js';
|
|
3
|
+
import '@nadohq/engine-client';
|
|
4
|
+
import '@nadohq/indexer-client';
|
|
5
|
+
import '@nadohq/trigger-client';
|
|
6
|
+
import 'viem';
|
|
7
|
+
|
|
8
|
+
declare class BaseNadoAPI {
|
|
9
|
+
readonly context: NadoClientContext;
|
|
10
|
+
constructor(context: NadoClientContext);
|
|
11
|
+
protected getWalletClientAddress(): `0x${string}`;
|
|
12
|
+
protected getWalletClientChainIdIfNeeded(params: {
|
|
13
|
+
chainId?: number;
|
|
14
|
+
}): number;
|
|
15
|
+
protected getEndpointAddress(): `0x${string}`;
|
|
16
|
+
protected getOrderbookAddress(productId: number): Promise<string>;
|
|
17
|
+
protected getSubaccountOwnerIfNeeded(params: {
|
|
18
|
+
subaccountOwner?: string;
|
|
19
|
+
}): string;
|
|
20
|
+
protected paramsWithContracts<T>(params: T): WithContracts<T>;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export { BaseNadoAPI };
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
// src/apis/base.ts
|
|
2
|
+
import { WalletNotProvidedError } from "@nadohq/utils";
|
|
3
|
+
var BaseNadoAPI = class {
|
|
4
|
+
constructor(context) {
|
|
5
|
+
this.context = context;
|
|
6
|
+
}
|
|
7
|
+
getWalletClientAddress() {
|
|
8
|
+
if (!this.context.walletClient) {
|
|
9
|
+
throw new WalletNotProvidedError();
|
|
10
|
+
}
|
|
11
|
+
return this.context.walletClient.account.address;
|
|
12
|
+
}
|
|
13
|
+
getWalletClientChainIdIfNeeded(params) {
|
|
14
|
+
if (params.chainId) {
|
|
15
|
+
return params.chainId;
|
|
16
|
+
}
|
|
17
|
+
if (!this.context.walletClient) {
|
|
18
|
+
throw new WalletNotProvidedError();
|
|
19
|
+
}
|
|
20
|
+
return this.context.walletClient.chain.id;
|
|
21
|
+
}
|
|
22
|
+
getEndpointAddress() {
|
|
23
|
+
return this.context.contractAddresses.endpoint;
|
|
24
|
+
}
|
|
25
|
+
async getOrderbookAddress(productId) {
|
|
26
|
+
return this.context.engineClient.getOrderbookAddress(productId);
|
|
27
|
+
}
|
|
28
|
+
getSubaccountOwnerIfNeeded(params) {
|
|
29
|
+
return params.subaccountOwner ?? this.getWalletClientAddress();
|
|
30
|
+
}
|
|
31
|
+
paramsWithContracts(params) {
|
|
32
|
+
return {
|
|
33
|
+
...params,
|
|
34
|
+
...this.context.contracts
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
export {
|
|
39
|
+
BaseNadoAPI
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/apis/base.ts"],"sourcesContent":["import { WithContracts } from '@nadohq/contracts';\nimport { WalletNotProvidedError } from '@nadohq/utils';\n\nimport { NadoClientContext } from '../context';\n\nexport class BaseNadoAPI {\n readonly context: NadoClientContext;\n\n constructor(context: NadoClientContext) {\n this.context = context;\n }\n\n protected getWalletClientAddress() {\n if (!this.context.walletClient) {\n throw new WalletNotProvidedError();\n }\n return this.context.walletClient.account.address;\n }\n\n protected getWalletClientChainIdIfNeeded(params: {\n chainId?: number;\n }): number {\n if (params.chainId) {\n return params.chainId;\n }\n if (!this.context.walletClient) {\n throw new WalletNotProvidedError();\n }\n return this.context.walletClient.chain.id;\n }\n\n protected getEndpointAddress() {\n return this.context.contractAddresses.endpoint;\n }\n\n protected async getOrderbookAddress(productId: number) {\n return this.context.engineClient.getOrderbookAddress(productId);\n }\n\n protected getSubaccountOwnerIfNeeded(params: {\n subaccountOwner?: string;\n }): string {\n return params.subaccountOwner ?? this.getWalletClientAddress();\n }\n\n protected paramsWithContracts<T>(params: T): WithContracts<T> {\n return {\n ...params,\n ...this.context.contracts,\n };\n }\n}\n"],"mappings":";AACA,SAAS,8BAA8B;AAIhC,IAAM,cAAN,MAAkB;AAAA,EAGvB,YAAY,SAA4B;AACtC,SAAK,UAAU;AAAA,EACjB;AAAA,EAEU,yBAAyB;AACjC,QAAI,CAAC,KAAK,QAAQ,cAAc;AAC9B,YAAM,IAAI,uBAAuB;AAAA,IACnC;AACA,WAAO,KAAK,QAAQ,aAAa,QAAQ;AAAA,EAC3C;AAAA,EAEU,+BAA+B,QAE9B;AACT,QAAI,OAAO,SAAS;AAClB,aAAO,OAAO;AAAA,IAChB;AACA,QAAI,CAAC,KAAK,QAAQ,cAAc;AAC9B,YAAM,IAAI,uBAAuB;AAAA,IACnC;AACA,WAAO,KAAK,QAAQ,aAAa,MAAM;AAAA,EACzC;AAAA,EAEU,qBAAqB;AAC7B,WAAO,KAAK,QAAQ,kBAAkB;AAAA,EACxC;AAAA,EAEA,MAAgB,oBAAoB,WAAmB;AACrD,WAAO,KAAK,QAAQ,aAAa,oBAAoB,SAAS;AAAA,EAChE;AAAA,EAEU,2BAA2B,QAE1B;AACT,WAAO,OAAO,mBAAmB,KAAK,uBAAuB;AAAA,EAC/D;AAAA,EAEU,oBAAuB,QAA6B;AAC5D,WAAO;AAAA,MACL,GAAG;AAAA,MACH,GAAG,KAAK,QAAQ;AAAA,IAClB;AAAA,EACF;AACF;","names":[]}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/apis/market/MarketExecuteAPI.ts
|
|
21
|
+
var MarketExecuteAPI_exports = {};
|
|
22
|
+
__export(MarketExecuteAPI_exports, {
|
|
23
|
+
MarketExecuteAPI: () => MarketExecuteAPI
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(MarketExecuteAPI_exports);
|
|
26
|
+
var import_base = require("../base.cjs");
|
|
27
|
+
var MarketExecuteAPI = class extends import_base.BaseNadoAPI {
|
|
28
|
+
/**
|
|
29
|
+
* Places an order through the engine
|
|
30
|
+
* @param params
|
|
31
|
+
*/
|
|
32
|
+
async placeOrder(params) {
|
|
33
|
+
const { id: orderId, productId, order, nonce } = params;
|
|
34
|
+
return this.context.engineClient.placeOrder({
|
|
35
|
+
id: orderId,
|
|
36
|
+
order: {
|
|
37
|
+
...order,
|
|
38
|
+
subaccountOwner: this.getSubaccountOwnerIfNeeded(params.order)
|
|
39
|
+
},
|
|
40
|
+
chainId: this.getWalletClientChainIdIfNeeded(params),
|
|
41
|
+
verifyingAddr: await this.getOrderbookVerifyingAddressIfNeeded(params),
|
|
42
|
+
productId,
|
|
43
|
+
spotLeverage: params.spotLeverage,
|
|
44
|
+
nonce
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Places an isolated order through the engine
|
|
49
|
+
* @param params
|
|
50
|
+
*/
|
|
51
|
+
async placeIsolatedOrder(params) {
|
|
52
|
+
const { id: orderId, productId, order, nonce, borrowMargin } = params;
|
|
53
|
+
return this.context.engineClient.placeIsolatedOrder({
|
|
54
|
+
id: orderId,
|
|
55
|
+
order: {
|
|
56
|
+
...order,
|
|
57
|
+
subaccountOwner: this.getSubaccountOwnerIfNeeded(params.order)
|
|
58
|
+
},
|
|
59
|
+
chainId: this.getWalletClientChainIdIfNeeded(params),
|
|
60
|
+
verifyingAddr: await this.getOrderbookVerifyingAddressIfNeeded(params),
|
|
61
|
+
productId,
|
|
62
|
+
borrowMargin,
|
|
63
|
+
nonce
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Cancels orders through the engine
|
|
68
|
+
* @param params
|
|
69
|
+
*/
|
|
70
|
+
async cancelOrders(params) {
|
|
71
|
+
return this.context.engineClient.cancelOrders({
|
|
72
|
+
...params,
|
|
73
|
+
chainId: this.getWalletClientChainIdIfNeeded(params),
|
|
74
|
+
subaccountOwner: this.getSubaccountOwnerIfNeeded(params),
|
|
75
|
+
verifyingAddr: this.getEndpointAddress()
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Cancels orders through the engine and places a new one
|
|
80
|
+
* @param params
|
|
81
|
+
*/
|
|
82
|
+
async cancelAndPlace(params) {
|
|
83
|
+
const { productId, order, nonce, spotLeverage } = params.placeOrder;
|
|
84
|
+
const subaccountOwner = this.getSubaccountOwnerIfNeeded(
|
|
85
|
+
params.cancelOrders
|
|
86
|
+
);
|
|
87
|
+
const chainId = this.getWalletClientChainIdIfNeeded(params.cancelOrders);
|
|
88
|
+
return this.context.engineClient.cancelAndPlace({
|
|
89
|
+
cancelOrders: {
|
|
90
|
+
...params.cancelOrders,
|
|
91
|
+
subaccountOwner,
|
|
92
|
+
verifyingAddr: params.cancelOrders.verifyingAddr ?? this.getEndpointAddress(),
|
|
93
|
+
chainId
|
|
94
|
+
},
|
|
95
|
+
placeOrder: {
|
|
96
|
+
order: {
|
|
97
|
+
...order,
|
|
98
|
+
subaccountOwner
|
|
99
|
+
},
|
|
100
|
+
verifyingAddr: await this.getOrderbookVerifyingAddressIfNeeded(
|
|
101
|
+
params.placeOrder
|
|
102
|
+
),
|
|
103
|
+
chainId,
|
|
104
|
+
productId,
|
|
105
|
+
spotLeverage,
|
|
106
|
+
nonce
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Cancels all orders for provided products through the engine.
|
|
112
|
+
* @param params
|
|
113
|
+
*/
|
|
114
|
+
async cancelProductOrders(params) {
|
|
115
|
+
return this.context.engineClient.cancelProductOrders({
|
|
116
|
+
...params,
|
|
117
|
+
chainId: this.getWalletClientChainIdIfNeeded(params),
|
|
118
|
+
subaccountOwner: this.getSubaccountOwnerIfNeeded(params),
|
|
119
|
+
verifyingAddr: this.getEndpointAddress()
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Places a trigger order through the trigger service
|
|
124
|
+
* @param params
|
|
125
|
+
*/
|
|
126
|
+
async placeTriggerOrder(params) {
|
|
127
|
+
return this.context.triggerClient.placeTriggerOrder({
|
|
128
|
+
...params,
|
|
129
|
+
chainId: this.getWalletClientChainIdIfNeeded(params),
|
|
130
|
+
verifyingAddr: await this.getOrderbookVerifyingAddressIfNeeded(params),
|
|
131
|
+
order: {
|
|
132
|
+
subaccountOwner: this.getSubaccountOwnerIfNeeded(params.order),
|
|
133
|
+
...params.order
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Cancels all trigger orders for provided digests through the trigger service.
|
|
139
|
+
* @param params
|
|
140
|
+
*/
|
|
141
|
+
async cancelTriggerOrders(params) {
|
|
142
|
+
return this.context.triggerClient.cancelTriggerOrders({
|
|
143
|
+
...params,
|
|
144
|
+
chainId: this.getWalletClientChainIdIfNeeded(params),
|
|
145
|
+
subaccountOwner: this.getSubaccountOwnerIfNeeded(params),
|
|
146
|
+
verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress()
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Cancels all trigger orders for provided products through the trigger service.
|
|
151
|
+
* @param params
|
|
152
|
+
*/
|
|
153
|
+
async cancelTriggerProductOrders(params) {
|
|
154
|
+
return this.context.triggerClient.cancelProductOrders({
|
|
155
|
+
...params,
|
|
156
|
+
chainId: this.getWalletClientChainIdIfNeeded(params),
|
|
157
|
+
subaccountOwner: this.getSubaccountOwnerIfNeeded(params),
|
|
158
|
+
verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress()
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
async getOrderbookVerifyingAddressIfNeeded(params) {
|
|
162
|
+
return params.verifyingAddr ?? await this.getOrderbookAddress(params.productId);
|
|
163
|
+
}
|
|
164
|
+
};
|
|
165
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
166
|
+
0 && (module.exports = {
|
|
167
|
+
MarketExecuteAPI
|
|
168
|
+
});
|
|
169
|
+
//# sourceMappingURL=MarketExecuteAPI.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/apis/market/MarketExecuteAPI.ts"],"sourcesContent":["import { BaseNadoAPI } from '../base';\nimport { OptionalSignatureParams } from '../types';\nimport {\n CancelAndPlaceOrderParams,\n CancelOrdersParams,\n CancelProductOrdersParams,\n CancelTriggerOrdersParams,\n CancelTriggerProductOrdersParams,\n PlaceIsolatedOrderParams,\n PlaceOrderParams,\n PlaceTriggerOrderParams,\n} from './types';\n\nexport class MarketExecuteAPI extends BaseNadoAPI {\n /**\n * Places an order through the engine\n * @param params\n */\n async placeOrder(params: PlaceOrderParams) {\n const { id: orderId, productId, order, nonce } = params;\n\n return this.context.engineClient.placeOrder({\n id: orderId,\n order: {\n ...order,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params.order),\n },\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: await this.getOrderbookVerifyingAddressIfNeeded(params),\n productId,\n spotLeverage: params.spotLeverage,\n nonce,\n });\n }\n\n /**\n * Places an isolated order through the engine\n * @param params\n */\n async placeIsolatedOrder(params: PlaceIsolatedOrderParams) {\n const { id: orderId, productId, order, nonce, borrowMargin } = params;\n\n return this.context.engineClient.placeIsolatedOrder({\n id: orderId,\n order: {\n ...order,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params.order),\n },\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: await this.getOrderbookVerifyingAddressIfNeeded(params),\n productId,\n borrowMargin,\n nonce,\n });\n }\n\n /**\n * Cancels orders through the engine\n * @param params\n */\n async cancelOrders(params: CancelOrdersParams) {\n return this.context.engineClient.cancelOrders({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: this.getEndpointAddress(),\n });\n }\n\n /**\n * Cancels orders through the engine and places a new one\n * @param params\n */\n async cancelAndPlace(params: CancelAndPlaceOrderParams) {\n const { productId, order, nonce, spotLeverage } = params.placeOrder;\n const subaccountOwner = this.getSubaccountOwnerIfNeeded(\n params.cancelOrders,\n );\n const chainId = this.getWalletClientChainIdIfNeeded(params.cancelOrders);\n\n return this.context.engineClient.cancelAndPlace({\n cancelOrders: {\n ...params.cancelOrders,\n subaccountOwner,\n verifyingAddr:\n params.cancelOrders.verifyingAddr ?? this.getEndpointAddress(),\n chainId,\n },\n placeOrder: {\n order: {\n ...order,\n subaccountOwner,\n },\n verifyingAddr: await this.getOrderbookVerifyingAddressIfNeeded(\n params.placeOrder,\n ),\n chainId,\n productId,\n spotLeverage,\n nonce,\n },\n });\n }\n\n /**\n * Cancels all orders for provided products through the engine.\n * @param params\n */\n async cancelProductOrders(params: CancelProductOrdersParams) {\n return this.context.engineClient.cancelProductOrders({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: this.getEndpointAddress(),\n });\n }\n\n /**\n * Places a trigger order through the trigger service\n * @param params\n */\n async placeTriggerOrder(params: PlaceTriggerOrderParams) {\n return this.context.triggerClient.placeTriggerOrder({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: await this.getOrderbookVerifyingAddressIfNeeded(params),\n order: {\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params.order),\n ...params.order,\n },\n });\n }\n\n /**\n * Cancels all trigger orders for provided digests through the trigger service.\n * @param params\n */\n async cancelTriggerOrders(params: CancelTriggerOrdersParams) {\n return this.context.triggerClient.cancelTriggerOrders({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n });\n }\n\n /**\n * Cancels all trigger orders for provided products through the trigger service.\n * @param params\n */\n async cancelTriggerProductOrders(params: CancelTriggerProductOrdersParams) {\n return this.context.triggerClient.cancelProductOrders({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n });\n }\n\n protected async getOrderbookVerifyingAddressIfNeeded(\n params: OptionalSignatureParams<{\n productId: number;\n }>,\n ): Promise<string> {\n return (\n params.verifyingAddr ?? (await this.getOrderbookAddress(params.productId))\n );\n }\n}\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import * as _nadohq_trigger_client from '@nadohq/trigger-client';
|
|
2
|
+
import * as _nadohq_engine_client from '@nadohq/engine-client';
|
|
3
|
+
import { BaseNadoAPI } from '../base.cjs';
|
|
4
|
+
import { OptionalSignatureParams } from '../types.cjs';
|
|
5
|
+
import { PlaceOrderParams, PlaceIsolatedOrderParams, CancelOrdersParams, CancelAndPlaceOrderParams, CancelProductOrdersParams, PlaceTriggerOrderParams, CancelTriggerOrdersParams, CancelTriggerProductOrdersParams } from './types.cjs';
|
|
6
|
+
import '@nadohq/contracts';
|
|
7
|
+
import '../../context.cjs';
|
|
8
|
+
import '@nadohq/indexer-client';
|
|
9
|
+
import 'viem';
|
|
10
|
+
|
|
11
|
+
declare class MarketExecuteAPI extends BaseNadoAPI {
|
|
12
|
+
/**
|
|
13
|
+
* Places an order through the engine
|
|
14
|
+
* @param params
|
|
15
|
+
*/
|
|
16
|
+
placeOrder(params: PlaceOrderParams): Promise<_nadohq_engine_client.EnginePlaceOrderResult>;
|
|
17
|
+
/**
|
|
18
|
+
* Places an isolated order through the engine
|
|
19
|
+
* @param params
|
|
20
|
+
*/
|
|
21
|
+
placeIsolatedOrder(params: PlaceIsolatedOrderParams): Promise<_nadohq_engine_client.EnginePlaceIsolatedOrderResult>;
|
|
22
|
+
/**
|
|
23
|
+
* Cancels orders through the engine
|
|
24
|
+
* @param params
|
|
25
|
+
*/
|
|
26
|
+
cancelOrders(params: CancelOrdersParams): Promise<_nadohq_engine_client.EngineServerExecuteSuccessResult<"cancel_orders">>;
|
|
27
|
+
/**
|
|
28
|
+
* Cancels orders through the engine and places a new one
|
|
29
|
+
* @param params
|
|
30
|
+
*/
|
|
31
|
+
cancelAndPlace(params: CancelAndPlaceOrderParams): Promise<_nadohq_engine_client.EngineServerExecuteSuccessResult<"cancel_and_place">>;
|
|
32
|
+
/**
|
|
33
|
+
* Cancels all orders for provided products through the engine.
|
|
34
|
+
* @param params
|
|
35
|
+
*/
|
|
36
|
+
cancelProductOrders(params: CancelProductOrdersParams): Promise<_nadohq_engine_client.EngineServerExecuteSuccessResult<"cancel_product_orders">>;
|
|
37
|
+
/**
|
|
38
|
+
* Places a trigger order through the trigger service
|
|
39
|
+
* @param params
|
|
40
|
+
*/
|
|
41
|
+
placeTriggerOrder(params: PlaceTriggerOrderParams): Promise<_nadohq_trigger_client.TriggerServerExecuteSuccessResult<"place_order">>;
|
|
42
|
+
/**
|
|
43
|
+
* Cancels all trigger orders for provided digests through the trigger service.
|
|
44
|
+
* @param params
|
|
45
|
+
*/
|
|
46
|
+
cancelTriggerOrders(params: CancelTriggerOrdersParams): Promise<_nadohq_trigger_client.TriggerServerExecuteSuccessResult<"cancel_orders">>;
|
|
47
|
+
/**
|
|
48
|
+
* Cancels all trigger orders for provided products through the trigger service.
|
|
49
|
+
* @param params
|
|
50
|
+
*/
|
|
51
|
+
cancelTriggerProductOrders(params: CancelTriggerProductOrdersParams): Promise<_nadohq_trigger_client.TriggerServerExecuteSuccessResult<"cancel_product_orders">>;
|
|
52
|
+
protected getOrderbookVerifyingAddressIfNeeded(params: OptionalSignatureParams<{
|
|
53
|
+
productId: number;
|
|
54
|
+
}>): Promise<string>;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export { MarketExecuteAPI };
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import * as _nadohq_trigger_client from '@nadohq/trigger-client';
|
|
2
|
+
import * as _nadohq_engine_client from '@nadohq/engine-client';
|
|
3
|
+
import { BaseNadoAPI } from '../base.js';
|
|
4
|
+
import { OptionalSignatureParams } from '../types.js';
|
|
5
|
+
import { PlaceOrderParams, PlaceIsolatedOrderParams, CancelOrdersParams, CancelAndPlaceOrderParams, CancelProductOrdersParams, PlaceTriggerOrderParams, CancelTriggerOrdersParams, CancelTriggerProductOrdersParams } from './types.js';
|
|
6
|
+
import '@nadohq/contracts';
|
|
7
|
+
import '../../context.js';
|
|
8
|
+
import '@nadohq/indexer-client';
|
|
9
|
+
import 'viem';
|
|
10
|
+
|
|
11
|
+
declare class MarketExecuteAPI extends BaseNadoAPI {
|
|
12
|
+
/**
|
|
13
|
+
* Places an order through the engine
|
|
14
|
+
* @param params
|
|
15
|
+
*/
|
|
16
|
+
placeOrder(params: PlaceOrderParams): Promise<_nadohq_engine_client.EnginePlaceOrderResult>;
|
|
17
|
+
/**
|
|
18
|
+
* Places an isolated order through the engine
|
|
19
|
+
* @param params
|
|
20
|
+
*/
|
|
21
|
+
placeIsolatedOrder(params: PlaceIsolatedOrderParams): Promise<_nadohq_engine_client.EnginePlaceIsolatedOrderResult>;
|
|
22
|
+
/**
|
|
23
|
+
* Cancels orders through the engine
|
|
24
|
+
* @param params
|
|
25
|
+
*/
|
|
26
|
+
cancelOrders(params: CancelOrdersParams): Promise<_nadohq_engine_client.EngineServerExecuteSuccessResult<"cancel_orders">>;
|
|
27
|
+
/**
|
|
28
|
+
* Cancels orders through the engine and places a new one
|
|
29
|
+
* @param params
|
|
30
|
+
*/
|
|
31
|
+
cancelAndPlace(params: CancelAndPlaceOrderParams): Promise<_nadohq_engine_client.EngineServerExecuteSuccessResult<"cancel_and_place">>;
|
|
32
|
+
/**
|
|
33
|
+
* Cancels all orders for provided products through the engine.
|
|
34
|
+
* @param params
|
|
35
|
+
*/
|
|
36
|
+
cancelProductOrders(params: CancelProductOrdersParams): Promise<_nadohq_engine_client.EngineServerExecuteSuccessResult<"cancel_product_orders">>;
|
|
37
|
+
/**
|
|
38
|
+
* Places a trigger order through the trigger service
|
|
39
|
+
* @param params
|
|
40
|
+
*/
|
|
41
|
+
placeTriggerOrder(params: PlaceTriggerOrderParams): Promise<_nadohq_trigger_client.TriggerServerExecuteSuccessResult<"place_order">>;
|
|
42
|
+
/**
|
|
43
|
+
* Cancels all trigger orders for provided digests through the trigger service.
|
|
44
|
+
* @param params
|
|
45
|
+
*/
|
|
46
|
+
cancelTriggerOrders(params: CancelTriggerOrdersParams): Promise<_nadohq_trigger_client.TriggerServerExecuteSuccessResult<"cancel_orders">>;
|
|
47
|
+
/**
|
|
48
|
+
* Cancels all trigger orders for provided products through the trigger service.
|
|
49
|
+
* @param params
|
|
50
|
+
*/
|
|
51
|
+
cancelTriggerProductOrders(params: CancelTriggerProductOrdersParams): Promise<_nadohq_trigger_client.TriggerServerExecuteSuccessResult<"cancel_product_orders">>;
|
|
52
|
+
protected getOrderbookVerifyingAddressIfNeeded(params: OptionalSignatureParams<{
|
|
53
|
+
productId: number;
|
|
54
|
+
}>): Promise<string>;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export { MarketExecuteAPI };
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
// src/apis/market/MarketExecuteAPI.ts
|
|
2
|
+
import { BaseNadoAPI } from "../base.js";
|
|
3
|
+
var MarketExecuteAPI = class extends BaseNadoAPI {
|
|
4
|
+
/**
|
|
5
|
+
* Places an order through the engine
|
|
6
|
+
* @param params
|
|
7
|
+
*/
|
|
8
|
+
async placeOrder(params) {
|
|
9
|
+
const { id: orderId, productId, order, nonce } = params;
|
|
10
|
+
return this.context.engineClient.placeOrder({
|
|
11
|
+
id: orderId,
|
|
12
|
+
order: {
|
|
13
|
+
...order,
|
|
14
|
+
subaccountOwner: this.getSubaccountOwnerIfNeeded(params.order)
|
|
15
|
+
},
|
|
16
|
+
chainId: this.getWalletClientChainIdIfNeeded(params),
|
|
17
|
+
verifyingAddr: await this.getOrderbookVerifyingAddressIfNeeded(params),
|
|
18
|
+
productId,
|
|
19
|
+
spotLeverage: params.spotLeverage,
|
|
20
|
+
nonce
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Places an isolated order through the engine
|
|
25
|
+
* @param params
|
|
26
|
+
*/
|
|
27
|
+
async placeIsolatedOrder(params) {
|
|
28
|
+
const { id: orderId, productId, order, nonce, borrowMargin } = params;
|
|
29
|
+
return this.context.engineClient.placeIsolatedOrder({
|
|
30
|
+
id: orderId,
|
|
31
|
+
order: {
|
|
32
|
+
...order,
|
|
33
|
+
subaccountOwner: this.getSubaccountOwnerIfNeeded(params.order)
|
|
34
|
+
},
|
|
35
|
+
chainId: this.getWalletClientChainIdIfNeeded(params),
|
|
36
|
+
verifyingAddr: await this.getOrderbookVerifyingAddressIfNeeded(params),
|
|
37
|
+
productId,
|
|
38
|
+
borrowMargin,
|
|
39
|
+
nonce
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Cancels orders through the engine
|
|
44
|
+
* @param params
|
|
45
|
+
*/
|
|
46
|
+
async cancelOrders(params) {
|
|
47
|
+
return this.context.engineClient.cancelOrders({
|
|
48
|
+
...params,
|
|
49
|
+
chainId: this.getWalletClientChainIdIfNeeded(params),
|
|
50
|
+
subaccountOwner: this.getSubaccountOwnerIfNeeded(params),
|
|
51
|
+
verifyingAddr: this.getEndpointAddress()
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Cancels orders through the engine and places a new one
|
|
56
|
+
* @param params
|
|
57
|
+
*/
|
|
58
|
+
async cancelAndPlace(params) {
|
|
59
|
+
const { productId, order, nonce, spotLeverage } = params.placeOrder;
|
|
60
|
+
const subaccountOwner = this.getSubaccountOwnerIfNeeded(
|
|
61
|
+
params.cancelOrders
|
|
62
|
+
);
|
|
63
|
+
const chainId = this.getWalletClientChainIdIfNeeded(params.cancelOrders);
|
|
64
|
+
return this.context.engineClient.cancelAndPlace({
|
|
65
|
+
cancelOrders: {
|
|
66
|
+
...params.cancelOrders,
|
|
67
|
+
subaccountOwner,
|
|
68
|
+
verifyingAddr: params.cancelOrders.verifyingAddr ?? this.getEndpointAddress(),
|
|
69
|
+
chainId
|
|
70
|
+
},
|
|
71
|
+
placeOrder: {
|
|
72
|
+
order: {
|
|
73
|
+
...order,
|
|
74
|
+
subaccountOwner
|
|
75
|
+
},
|
|
76
|
+
verifyingAddr: await this.getOrderbookVerifyingAddressIfNeeded(
|
|
77
|
+
params.placeOrder
|
|
78
|
+
),
|
|
79
|
+
chainId,
|
|
80
|
+
productId,
|
|
81
|
+
spotLeverage,
|
|
82
|
+
nonce
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Cancels all orders for provided products through the engine.
|
|
88
|
+
* @param params
|
|
89
|
+
*/
|
|
90
|
+
async cancelProductOrders(params) {
|
|
91
|
+
return this.context.engineClient.cancelProductOrders({
|
|
92
|
+
...params,
|
|
93
|
+
chainId: this.getWalletClientChainIdIfNeeded(params),
|
|
94
|
+
subaccountOwner: this.getSubaccountOwnerIfNeeded(params),
|
|
95
|
+
verifyingAddr: this.getEndpointAddress()
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Places a trigger order through the trigger service
|
|
100
|
+
* @param params
|
|
101
|
+
*/
|
|
102
|
+
async placeTriggerOrder(params) {
|
|
103
|
+
return this.context.triggerClient.placeTriggerOrder({
|
|
104
|
+
...params,
|
|
105
|
+
chainId: this.getWalletClientChainIdIfNeeded(params),
|
|
106
|
+
verifyingAddr: await this.getOrderbookVerifyingAddressIfNeeded(params),
|
|
107
|
+
order: {
|
|
108
|
+
subaccountOwner: this.getSubaccountOwnerIfNeeded(params.order),
|
|
109
|
+
...params.order
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Cancels all trigger orders for provided digests through the trigger service.
|
|
115
|
+
* @param params
|
|
116
|
+
*/
|
|
117
|
+
async cancelTriggerOrders(params) {
|
|
118
|
+
return this.context.triggerClient.cancelTriggerOrders({
|
|
119
|
+
...params,
|
|
120
|
+
chainId: this.getWalletClientChainIdIfNeeded(params),
|
|
121
|
+
subaccountOwner: this.getSubaccountOwnerIfNeeded(params),
|
|
122
|
+
verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress()
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Cancels all trigger orders for provided products through the trigger service.
|
|
127
|
+
* @param params
|
|
128
|
+
*/
|
|
129
|
+
async cancelTriggerProductOrders(params) {
|
|
130
|
+
return this.context.triggerClient.cancelProductOrders({
|
|
131
|
+
...params,
|
|
132
|
+
chainId: this.getWalletClientChainIdIfNeeded(params),
|
|
133
|
+
subaccountOwner: this.getSubaccountOwnerIfNeeded(params),
|
|
134
|
+
verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress()
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
async getOrderbookVerifyingAddressIfNeeded(params) {
|
|
138
|
+
return params.verifyingAddr ?? await this.getOrderbookAddress(params.productId);
|
|
139
|
+
}
|
|
140
|
+
};
|
|
141
|
+
export {
|
|
142
|
+
MarketExecuteAPI
|
|
143
|
+
};
|
|
144
|
+
//# sourceMappingURL=MarketExecuteAPI.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/apis/market/MarketExecuteAPI.ts"],"sourcesContent":["import { BaseNadoAPI } from '../base';\nimport { OptionalSignatureParams } from '../types';\nimport {\n CancelAndPlaceOrderParams,\n CancelOrdersParams,\n CancelProductOrdersParams,\n CancelTriggerOrdersParams,\n CancelTriggerProductOrdersParams,\n PlaceIsolatedOrderParams,\n PlaceOrderParams,\n PlaceTriggerOrderParams,\n} from './types';\n\nexport class MarketExecuteAPI extends BaseNadoAPI {\n /**\n * Places an order through the engine\n * @param params\n */\n async placeOrder(params: PlaceOrderParams) {\n const { id: orderId, productId, order, nonce } = params;\n\n return this.context.engineClient.placeOrder({\n id: orderId,\n order: {\n ...order,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params.order),\n },\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: await this.getOrderbookVerifyingAddressIfNeeded(params),\n productId,\n spotLeverage: params.spotLeverage,\n nonce,\n });\n }\n\n /**\n * Places an isolated order through the engine\n * @param params\n */\n async placeIsolatedOrder(params: PlaceIsolatedOrderParams) {\n const { id: orderId, productId, order, nonce, borrowMargin } = params;\n\n return this.context.engineClient.placeIsolatedOrder({\n id: orderId,\n order: {\n ...order,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params.order),\n },\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: await this.getOrderbookVerifyingAddressIfNeeded(params),\n productId,\n borrowMargin,\n nonce,\n });\n }\n\n /**\n * Cancels orders through the engine\n * @param params\n */\n async cancelOrders(params: CancelOrdersParams) {\n return this.context.engineClient.cancelOrders({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: this.getEndpointAddress(),\n });\n }\n\n /**\n * Cancels orders through the engine and places a new one\n * @param params\n */\n async cancelAndPlace(params: CancelAndPlaceOrderParams) {\n const { productId, order, nonce, spotLeverage } = params.placeOrder;\n const subaccountOwner = this.getSubaccountOwnerIfNeeded(\n params.cancelOrders,\n );\n const chainId = this.getWalletClientChainIdIfNeeded(params.cancelOrders);\n\n return this.context.engineClient.cancelAndPlace({\n cancelOrders: {\n ...params.cancelOrders,\n subaccountOwner,\n verifyingAddr:\n params.cancelOrders.verifyingAddr ?? this.getEndpointAddress(),\n chainId,\n },\n placeOrder: {\n order: {\n ...order,\n subaccountOwner,\n },\n verifyingAddr: await this.getOrderbookVerifyingAddressIfNeeded(\n params.placeOrder,\n ),\n chainId,\n productId,\n spotLeverage,\n nonce,\n },\n });\n }\n\n /**\n * Cancels all orders for provided products through the engine.\n * @param params\n */\n async cancelProductOrders(params: CancelProductOrdersParams) {\n return this.context.engineClient.cancelProductOrders({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: this.getEndpointAddress(),\n });\n }\n\n /**\n * Places a trigger order through the trigger service\n * @param params\n */\n async placeTriggerOrder(params: PlaceTriggerOrderParams) {\n return this.context.triggerClient.placeTriggerOrder({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: await this.getOrderbookVerifyingAddressIfNeeded(params),\n order: {\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params.order),\n ...params.order,\n },\n });\n }\n\n /**\n * Cancels all trigger orders for provided digests through the trigger service.\n * @param params\n */\n async cancelTriggerOrders(params: CancelTriggerOrdersParams) {\n return this.context.triggerClient.cancelTriggerOrders({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n });\n }\n\n /**\n * Cancels all trigger orders for provided products through the trigger service.\n * @param params\n */\n async cancelTriggerProductOrders(params: CancelTriggerProductOrdersParams) {\n return this.context.triggerClient.cancelProductOrders({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n });\n }\n\n protected async getOrderbookVerifyingAddressIfNeeded(\n params: OptionalSignatureParams<{\n productId: number;\n }>,\n ): Promise<string> {\n return (\n params.verifyingAddr ?? (await this.getOrderbookAddress(params.productId))\n );\n }\n}\n"],"mappings":"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","names":[]}
|