@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.
Files changed (184) hide show
  1. package/README.md +3 -0
  2. package/dist/apis/base.cjs +66 -0
  3. package/dist/apis/base.cjs.map +1 -0
  4. package/dist/apis/base.d.cts +23 -0
  5. package/dist/apis/base.d.ts +23 -0
  6. package/dist/apis/base.js +41 -0
  7. package/dist/apis/base.js.map +1 -0
  8. package/dist/apis/market/MarketExecuteAPI.cjs +169 -0
  9. package/dist/apis/market/MarketExecuteAPI.cjs.map +1 -0
  10. package/dist/apis/market/MarketExecuteAPI.d.cts +57 -0
  11. package/dist/apis/market/MarketExecuteAPI.d.ts +57 -0
  12. package/dist/apis/market/MarketExecuteAPI.js +144 -0
  13. package/dist/apis/market/MarketExecuteAPI.js.map +1 -0
  14. package/dist/apis/market/MarketQueryAPI.cjs +191 -0
  15. package/dist/apis/market/MarketQueryAPI.cjs.map +1 -0
  16. package/dist/apis/market/MarketQueryAPI.d.cts +127 -0
  17. package/dist/apis/market/MarketQueryAPI.d.ts +127 -0
  18. package/dist/apis/market/MarketQueryAPI.js +166 -0
  19. package/dist/apis/market/MarketQueryAPI.js.map +1 -0
  20. package/dist/apis/market/index.cjs +38 -0
  21. package/dist/apis/market/index.cjs.map +1 -0
  22. package/dist/apis/market/index.d.cts +18 -0
  23. package/dist/apis/market/index.d.ts +18 -0
  24. package/dist/apis/market/index.js +11 -0
  25. package/dist/apis/market/index.js.map +1 -0
  26. package/dist/apis/market/types.cjs +19 -0
  27. package/dist/apis/market/types.cjs.map +1 -0
  28. package/dist/apis/market/types.d.cts +26 -0
  29. package/dist/apis/market/types.d.ts +26 -0
  30. package/dist/apis/market/types.js +1 -0
  31. package/dist/apis/market/types.js.map +1 -0
  32. package/dist/apis/perp/PerpExecuteAPI.cjs +36 -0
  33. package/dist/apis/perp/PerpExecuteAPI.cjs.map +1 -0
  34. package/dist/apis/perp/PerpExecuteAPI.d.cts +13 -0
  35. package/dist/apis/perp/PerpExecuteAPI.d.ts +13 -0
  36. package/dist/apis/perp/PerpExecuteAPI.js +11 -0
  37. package/dist/apis/perp/PerpExecuteAPI.js.map +1 -0
  38. package/dist/apis/perp/PerpQueryAPI.cjs +47 -0
  39. package/dist/apis/perp/PerpQueryAPI.cjs.map +1 -0
  40. package/dist/apis/perp/PerpQueryAPI.d.cts +23 -0
  41. package/dist/apis/perp/PerpQueryAPI.d.ts +23 -0
  42. package/dist/apis/perp/PerpQueryAPI.js +22 -0
  43. package/dist/apis/perp/PerpQueryAPI.js.map +1 -0
  44. package/dist/apis/perp/index.cjs +35 -0
  45. package/dist/apis/perp/index.cjs.map +1 -0
  46. package/dist/apis/perp/index.d.cts +16 -0
  47. package/dist/apis/perp/index.d.ts +16 -0
  48. package/dist/apis/perp/index.js +10 -0
  49. package/dist/apis/perp/index.js.map +1 -0
  50. package/dist/apis/spot/BaseSpotAPI.cjs +55 -0
  51. package/dist/apis/spot/BaseSpotAPI.cjs.map +1 -0
  52. package/dist/apis/spot/BaseSpotAPI.d.cts +19 -0
  53. package/dist/apis/spot/BaseSpotAPI.d.ts +19 -0
  54. package/dist/apis/spot/BaseSpotAPI.js +30 -0
  55. package/dist/apis/spot/BaseSpotAPI.js.map +1 -0
  56. package/dist/apis/spot/SpotExecuteAPI.cjs +108 -0
  57. package/dist/apis/spot/SpotExecuteAPI.cjs.map +1 -0
  58. package/dist/apis/spot/SpotExecuteAPI.d.cts +28 -0
  59. package/dist/apis/spot/SpotExecuteAPI.d.ts +28 -0
  60. package/dist/apis/spot/SpotExecuteAPI.js +88 -0
  61. package/dist/apis/spot/SpotExecuteAPI.js.map +1 -0
  62. package/dist/apis/spot/SpotQueryAPI.cjs +74 -0
  63. package/dist/apis/spot/SpotQueryAPI.cjs.map +1 -0
  64. package/dist/apis/spot/SpotQueryAPI.d.cts +35 -0
  65. package/dist/apis/spot/SpotQueryAPI.d.ts +35 -0
  66. package/dist/apis/spot/SpotQueryAPI.js +49 -0
  67. package/dist/apis/spot/SpotQueryAPI.js.map +1 -0
  68. package/dist/apis/spot/index.cjs +38 -0
  69. package/dist/apis/spot/index.cjs.map +1 -0
  70. package/dist/apis/spot/index.d.cts +23 -0
  71. package/dist/apis/spot/index.d.ts +23 -0
  72. package/dist/apis/spot/index.js +11 -0
  73. package/dist/apis/spot/index.js.map +1 -0
  74. package/dist/apis/spot/types.cjs +19 -0
  75. package/dist/apis/spot/types.cjs.map +1 -0
  76. package/dist/apis/spot/types.d.cts +23 -0
  77. package/dist/apis/spot/types.d.ts +23 -0
  78. package/dist/apis/spot/types.js +1 -0
  79. package/dist/apis/spot/types.js.map +1 -0
  80. package/dist/apis/subaccount/SubaccountExecuteAPI.cjs +59 -0
  81. package/dist/apis/subaccount/SubaccountExecuteAPI.cjs.map +1 -0
  82. package/dist/apis/subaccount/SubaccountExecuteAPI.d.cts +26 -0
  83. package/dist/apis/subaccount/SubaccountExecuteAPI.d.ts +26 -0
  84. package/dist/apis/subaccount/SubaccountExecuteAPI.js +34 -0
  85. package/dist/apis/subaccount/SubaccountExecuteAPI.js.map +1 -0
  86. package/dist/apis/subaccount/SubaccountQueryAPI.cjs +84 -0
  87. package/dist/apis/subaccount/SubaccountQueryAPI.cjs.map +1 -0
  88. package/dist/apis/subaccount/SubaccountQueryAPI.d.cts +51 -0
  89. package/dist/apis/subaccount/SubaccountQueryAPI.d.ts +51 -0
  90. package/dist/apis/subaccount/SubaccountQueryAPI.js +61 -0
  91. package/dist/apis/subaccount/SubaccountQueryAPI.js.map +1 -0
  92. package/dist/apis/subaccount/index.cjs +68 -0
  93. package/dist/apis/subaccount/index.cjs.map +1 -0
  94. package/dist/apis/subaccount/index.d.cts +27 -0
  95. package/dist/apis/subaccount/index.d.ts +27 -0
  96. package/dist/apis/subaccount/index.js +41 -0
  97. package/dist/apis/subaccount/index.js.map +1 -0
  98. package/dist/apis/subaccount/types.cjs +19 -0
  99. package/dist/apis/subaccount/types.cjs.map +1 -0
  100. package/dist/apis/subaccount/types.d.cts +9 -0
  101. package/dist/apis/subaccount/types.d.ts +9 -0
  102. package/dist/apis/subaccount/types.js +1 -0
  103. package/dist/apis/subaccount/types.js.map +1 -0
  104. package/dist/apis/types.cjs +19 -0
  105. package/dist/apis/types.cjs.map +1 -0
  106. package/dist/apis/types.d.cts +9 -0
  107. package/dist/apis/types.d.ts +9 -0
  108. package/dist/apis/types.js +1 -0
  109. package/dist/apis/types.js.map +1 -0
  110. package/dist/apis/ws/WebSocketExecuteAPI.cjs +73 -0
  111. package/dist/apis/ws/WebSocketExecuteAPI.cjs.map +1 -0
  112. package/dist/apis/ws/WebSocketExecuteAPI.d.cts +48 -0
  113. package/dist/apis/ws/WebSocketExecuteAPI.d.ts +48 -0
  114. package/dist/apis/ws/WebSocketExecuteAPI.js +48 -0
  115. package/dist/apis/ws/WebSocketExecuteAPI.js.map +1 -0
  116. package/dist/apis/ws/WebSocketQueryAPI.cjs +42 -0
  117. package/dist/apis/ws/WebSocketQueryAPI.cjs.map +1 -0
  118. package/dist/apis/ws/WebSocketQueryAPI.d.cts +23 -0
  119. package/dist/apis/ws/WebSocketQueryAPI.d.ts +23 -0
  120. package/dist/apis/ws/WebSocketQueryAPI.js +17 -0
  121. package/dist/apis/ws/WebSocketQueryAPI.js.map +1 -0
  122. package/dist/apis/ws/WebSocketSubscriptionAPI.cjs +61 -0
  123. package/dist/apis/ws/WebSocketSubscriptionAPI.cjs.map +1 -0
  124. package/dist/apis/ws/WebSocketSubscriptionAPI.d.cts +37 -0
  125. package/dist/apis/ws/WebSocketSubscriptionAPI.d.ts +37 -0
  126. package/dist/apis/ws/WebSocketSubscriptionAPI.js +36 -0
  127. package/dist/apis/ws/WebSocketSubscriptionAPI.js.map +1 -0
  128. package/dist/apis/ws/index.cjs +42 -0
  129. package/dist/apis/ws/index.cjs.map +1 -0
  130. package/dist/apis/ws/index.d.cts +22 -0
  131. package/dist/apis/ws/index.d.ts +22 -0
  132. package/dist/apis/ws/index.js +17 -0
  133. package/dist/apis/ws/index.js.map +1 -0
  134. package/dist/client.cjs +79 -0
  135. package/dist/client.cjs.map +1 -0
  136. package/dist/client.d.cts +57 -0
  137. package/dist/client.d.ts +57 -0
  138. package/dist/client.js +54 -0
  139. package/dist/client.js.map +1 -0
  140. package/dist/context.cjs +125 -0
  141. package/dist/context.cjs.map +1 -0
  142. package/dist/context.d.cts +42 -0
  143. package/dist/context.d.ts +42 -0
  144. package/dist/context.js +109 -0
  145. package/dist/context.js.map +1 -0
  146. package/dist/createNadoClient.cjs +35 -0
  147. package/dist/createNadoClient.cjs.map +1 -0
  148. package/dist/createNadoClient.d.cts +42 -0
  149. package/dist/createNadoClient.d.ts +42 -0
  150. package/dist/createNadoClient.js +12 -0
  151. package/dist/createNadoClient.js.map +1 -0
  152. package/dist/index.cjs +47 -0
  153. package/dist/index.cjs.map +1 -0
  154. package/dist/index.d.cts +32 -0
  155. package/dist/index.d.ts +32 -0
  156. package/dist/index.js +14 -0
  157. package/dist/index.js.map +1 -0
  158. package/package.json +54 -0
  159. package/src/apis/base.ts +52 -0
  160. package/src/apis/market/MarketExecuteAPI.ts +169 -0
  161. package/src/apis/market/MarketQueryAPI.ts +214 -0
  162. package/src/apis/market/index.ts +7 -0
  163. package/src/apis/market/types.ts +58 -0
  164. package/src/apis/perp/PerpExecuteAPI.ts +8 -0
  165. package/src/apis/perp/PerpQueryAPI.ts +25 -0
  166. package/src/apis/perp/index.ts +5 -0
  167. package/src/apis/spot/BaseSpotAPI.ts +30 -0
  168. package/src/apis/spot/SpotExecuteAPI.ts +102 -0
  169. package/src/apis/spot/SpotQueryAPI.ts +53 -0
  170. package/src/apis/spot/index.ts +10 -0
  171. package/src/apis/spot/types.ts +44 -0
  172. package/src/apis/subaccount/SubaccountExecuteAPI.ts +32 -0
  173. package/src/apis/subaccount/SubaccountQueryAPI.ts +78 -0
  174. package/src/apis/subaccount/index.ts +44 -0
  175. package/src/apis/subaccount/types.ts +16 -0
  176. package/src/apis/types.ts +11 -0
  177. package/src/apis/ws/WebSocketExecuteAPI.ts +70 -0
  178. package/src/apis/ws/WebSocketQueryAPI.ts +25 -0
  179. package/src/apis/ws/WebSocketSubscriptionAPI.ts +62 -0
  180. package/src/apis/ws/index.ts +21 -0
  181. package/src/client.ts +67 -0
  182. package/src/context.ts +165 -0
  183. package/src/createNadoClient.ts +20 -0
  184. package/src/index.ts +15 -0
package/README.md ADDED
@@ -0,0 +1,3 @@
1
+ # `@nadohq/client`
2
+
3
+ Contains the high level `NadoClient`
@@ -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":";AAAA,SAAS,mBAAmB;AAarB,IAAM,mBAAN,cAA+B,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA,EAKhD,MAAM,WAAW,QAA0B;AACzC,UAAM,EAAE,IAAI,SAAS,WAAW,OAAO,MAAM,IAAI;AAEjD,WAAO,KAAK,QAAQ,aAAa,WAAW;AAAA,MAC1C,IAAI;AAAA,MACJ,OAAO;AAAA,QACL,GAAG;AAAA,QACH,iBAAiB,KAAK,2BAA2B,OAAO,KAAK;AAAA,MAC/D;AAAA,MACA,SAAS,KAAK,+BAA+B,MAAM;AAAA,MACnD,eAAe,MAAM,KAAK,qCAAqC,MAAM;AAAA,MACrE;AAAA,MACA,cAAc,OAAO;AAAA,MACrB;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,mBAAmB,QAAkC;AACzD,UAAM,EAAE,IAAI,SAAS,WAAW,OAAO,OAAO,aAAa,IAAI;AAE/D,WAAO,KAAK,QAAQ,aAAa,mBAAmB;AAAA,MAClD,IAAI;AAAA,MACJ,OAAO;AAAA,QACL,GAAG;AAAA,QACH,iBAAiB,KAAK,2BAA2B,OAAO,KAAK;AAAA,MAC/D;AAAA,MACA,SAAS,KAAK,+BAA+B,MAAM;AAAA,MACnD,eAAe,MAAM,KAAK,qCAAqC,MAAM;AAAA,MACrE;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,aAAa,QAA4B;AAC7C,WAAO,KAAK,QAAQ,aAAa,aAAa;AAAA,MAC5C,GAAG;AAAA,MACH,SAAS,KAAK,+BAA+B,MAAM;AAAA,MACnD,iBAAiB,KAAK,2BAA2B,MAAM;AAAA,MACvD,eAAe,KAAK,mBAAmB;AAAA,IACzC,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,eAAe,QAAmC;AACtD,UAAM,EAAE,WAAW,OAAO,OAAO,aAAa,IAAI,OAAO;AACzD,UAAM,kBAAkB,KAAK;AAAA,MAC3B,OAAO;AAAA,IACT;AACA,UAAM,UAAU,KAAK,+BAA+B,OAAO,YAAY;AAEvE,WAAO,KAAK,QAAQ,aAAa,eAAe;AAAA,MAC9C,cAAc;AAAA,QACZ,GAAG,OAAO;AAAA,QACV;AAAA,QACA,eACE,OAAO,aAAa,iBAAiB,KAAK,mBAAmB;AAAA,QAC/D;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV,OAAO;AAAA,UACL,GAAG;AAAA,UACH;AAAA,QACF;AAAA,QACA,eAAe,MAAM,KAAK;AAAA,UACxB,OAAO;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,oBAAoB,QAAmC;AAC3D,WAAO,KAAK,QAAQ,aAAa,oBAAoB;AAAA,MACnD,GAAG;AAAA,MACH,SAAS,KAAK,+BAA+B,MAAM;AAAA,MACnD,iBAAiB,KAAK,2BAA2B,MAAM;AAAA,MACvD,eAAe,KAAK,mBAAmB;AAAA,IACzC,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,kBAAkB,QAAiC;AACvD,WAAO,KAAK,QAAQ,cAAc,kBAAkB;AAAA,MAClD,GAAG;AAAA,MACH,SAAS,KAAK,+BAA+B,MAAM;AAAA,MACnD,eAAe,MAAM,KAAK,qCAAqC,MAAM;AAAA,MACrE,OAAO;AAAA,QACL,iBAAiB,KAAK,2BAA2B,OAAO,KAAK;AAAA,QAC7D,GAAG,OAAO;AAAA,MACZ;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,oBAAoB,QAAmC;AAC3D,WAAO,KAAK,QAAQ,cAAc,oBAAoB;AAAA,MACpD,GAAG;AAAA,MACH,SAAS,KAAK,+BAA+B,MAAM;AAAA,MACnD,iBAAiB,KAAK,2BAA2B,MAAM;AAAA,MACvD,eAAe,OAAO,iBAAiB,KAAK,mBAAmB;AAAA,IACjE,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,2BAA2B,QAA0C;AACzE,WAAO,KAAK,QAAQ,cAAc,oBAAoB;AAAA,MACpD,GAAG;AAAA,MACH,SAAS,KAAK,+BAA+B,MAAM;AAAA,MACnD,iBAAiB,KAAK,2BAA2B,MAAM;AAAA,MACvD,eAAe,OAAO,iBAAiB,KAAK,mBAAmB;AAAA,IACjE,CAAC;AAAA,EACH;AAAA,EAEA,MAAgB,qCACd,QAGiB;AACjB,WACE,OAAO,iBAAkB,MAAM,KAAK,oBAAoB,OAAO,SAAS;AAAA,EAE5E;AACF;","names":[]}