@0xmonaco/core 0.5.5 → 0.5.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/README.md +13 -23
  2. package/dist/api/auth/api.js +2 -0
  3. package/dist/api/auth/api.js.map +1 -1
  4. package/dist/api/base.js +3 -0
  5. package/dist/api/base.js.map +1 -1
  6. package/dist/api/profile/api.d.ts +13 -3
  7. package/dist/api/profile/api.d.ts.map +1 -1
  8. package/dist/api/profile/api.js +29 -3
  9. package/dist/api/profile/api.js.map +1 -1
  10. package/dist/api/trading/api.d.ts +77 -19
  11. package/dist/api/trading/api.d.ts.map +1 -1
  12. package/dist/api/trading/api.js +136 -28
  13. package/dist/api/trading/api.js.map +1 -1
  14. package/dist/api/vault/api.d.ts.map +1 -1
  15. package/dist/api/vault/api.js +10 -1
  16. package/dist/api/vault/api.js.map +1 -1
  17. package/dist/api/websocket/types.d.ts +3 -1
  18. package/dist/api/websocket/types.d.ts.map +1 -1
  19. package/dist/api/websocket/types.js +0 -1
  20. package/dist/api/websocket/websocket.d.ts.map +1 -1
  21. package/dist/api/websocket/websocket.js +36 -0
  22. package/dist/api/websocket/websocket.js.map +1 -1
  23. package/dist/errors/errors.d.ts +1 -1
  24. package/dist/errors/errors.d.ts.map +1 -1
  25. package/dist/errors/errors.js +24 -9
  26. package/dist/errors/errors.js.map +1 -1
  27. package/dist/index.d.ts +1 -1
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +1 -1
  30. package/dist/index.js.map +1 -1
  31. package/dist/networks/networks.d.ts +8 -1
  32. package/dist/networks/networks.d.ts.map +1 -1
  33. package/dist/networks/networks.js +20 -7
  34. package/dist/networks/networks.js.map +1 -1
  35. package/dist/sdk.d.ts.map +1 -1
  36. package/dist/sdk.js +26 -26
  37. package/dist/sdk.js.map +1 -1
  38. package/dist/utils/magnitude.js +1 -1
  39. package/dist/utils/magnitude.js.map +1 -1
  40. package/package.json +3 -3
package/README.md CHANGED
@@ -62,7 +62,7 @@ npm install viem@^2.31.7
62
62
 
63
63
  ## Network Support
64
64
 
65
- The SDK supports multiple preset networks and custom API URLs. Configure the network by providing the `network` and `seiRpcUrl` parameters:
65
+ The SDK supports the following preset networks. Configure the network by providing the `network` and `seiRpcUrl` parameters:
66
66
 
67
67
  **Preset Networks:**
68
68
  - `"development"` - Development environment (https://develop.apimonaco.xyz)
@@ -70,6 +70,8 @@ The SDK supports multiple preset networks and custom API URLs. Configure the net
70
70
  - `"mainnet"` - Production environment (https://api.monaco.xyz)
71
71
  - `"local"` - Local development (http://localhost:8080)
72
72
 
73
+ WebSocket URLs are automatically resolved per network.
74
+
73
75
  ```typescript
74
76
  import { MonacoSDK } from "@0xmonaco/core";
75
77
 
@@ -77,32 +79,21 @@ import { MonacoSDK } from "@0xmonaco/core";
77
79
  const devSdk = new MonacoSDK({
78
80
  walletClient,
79
81
  network: "development",
80
- seiRpcUrl: "https://evm-rpc-testnet.sei-apis.com", // Atlantic-2 testnet
81
- wsUrl: "wss://develop.apimonaco.xyz/ws"
82
+ seiRpcUrl: "https://evm-rpc-testnet.sei-apis.com",
82
83
  });
83
84
 
84
85
  // Staging configuration
85
86
  const stagingSdk = new MonacoSDK({
86
87
  walletClient,
87
88
  network: "staging",
88
- seiRpcUrl: "https://evm-rpc-testnet.sei-apis.com", // Atlantic-2 testnet
89
- wsUrl: "wss://staging.apimonaco.xyz/ws"
89
+ seiRpcUrl: "https://evm-rpc-testnet.sei-apis.com",
90
90
  });
91
91
 
92
92
  // Mainnet configuration
93
93
  const mainnetSdk = new MonacoSDK({
94
94
  walletClient,
95
95
  network: "mainnet",
96
- seiRpcUrl: "https://evm-rpc.sei-apis.com", // Pacific-1 mainnet
97
- wsUrl: "wss://api.monaco.xyz/ws"
98
- });
99
-
100
- // Custom API URL
101
- const customSdk = new MonacoSDK({
102
- walletClient,
103
- network: "https://my-custom-api.com",
104
- seiRpcUrl: "https://evm-rpc-testnet.sei-apis.com",
105
- wsUrl: "wss://my-custom-api.com/ws"
96
+ seiRpcUrl: "https://evm-rpc.sei-apis.com",
106
97
  });
107
98
  ```
108
99
 
@@ -123,9 +114,8 @@ const walletClient = createWalletClient({
123
114
 
124
115
  const monaco = new MonacoSDK({
125
116
  walletClient,
126
- network: "development", // or "staging", "mainnet"
117
+ network: "development", // or "staging", "mainnet", "local"
127
118
  seiRpcUrl: "https://evm-rpc-testnet.sei-apis.com", // or https://evm-rpc.sei-apis.com for mainnet
128
- wsUrl: "wss://develop.apimonaco.xyz/ws" // or wss://staging.apimonaco.xyz/ws, wss://api.monaco.xyz/ws
129
119
  });
130
120
 
131
121
  // Authentication
@@ -264,14 +254,14 @@ The main SDK class that provides access to all protocol features.
264
254
 
265
255
  ```typescript
266
256
  interface SDKConfig {
267
- /** Wallet client for signing operations */
268
- walletClient: WalletClient;
257
+ /** Wallet client for signing operations (optional - can be set later via setWalletClient) */
258
+ walletClient?: WalletClient;
269
259
 
270
- /** Optional network override (defaults to 'mainnet') */
271
- network?: Network;
260
+ /** Network preset: "local", "development", "staging", or "mainnet" */
261
+ network: Network;
272
262
 
273
- /** Optional transport for the public client */
274
- transport?: Transport;
263
+ /** RPC URL for Sei blockchain interactions */
264
+ seiRpcUrl: string;
275
265
  }
276
266
  ```
277
267
 
@@ -31,6 +31,8 @@
31
31
  import { InvalidConfigError } from "../../errors";
32
32
  import { BaseAPI } from "../base";
33
33
  export class AuthAPIImpl extends BaseAPI {
34
+ chain;
35
+ walletClient;
34
36
  /**
35
37
  * Creates a new AuthAPI instance.
36
38
  *
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/api/auth/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/api/auth/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAIH,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,MAAM,OAAO,WAAY,SAAQ,OAAO;IAYnB;IAXX,YAAY,CAA2B;IAE/C;;;;;;OAMG;IACH,YACE,YAAsC,EACrB,KAAY,EAC7B,MAAc;QAEd,KAAK,CAAC,MAAM,CAAC,CAAC;QAHG,UAAK,GAAL,KAAK,CAAO;QAI7B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAED;;;OAGG;IACH,eAAe,CAAC,YAA0B;QACxC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,KAAK,CAAC,YAAY,CAAC,QAAgB;QACjC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,MAAM,IAAI,kBAAkB,CAAC,gDAAgD,EAAE,cAAc,CAAC,CAAC;QACjG,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;QAC1C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,kBAAkB,CAAC,uCAAuC,EAAE,SAAS,CAAC,CAAC;QACnF,CAAC;QAED,sBAAsB;QACtB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAExE,gCAAgC;QAChC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAE9D,qCAAqC;QACrC,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC3F,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAAC,aAAa,CAAC,OAAe;QACjC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,MAAM,IAAI,kBAAkB,CAAC,gDAAgD,EAAE,cAAc,CAAC,CAAC;QACjG,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;QAC1C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,kBAAkB,CAAC,uCAAuC,EAAE,SAAS,CAAC,CAAC;QACnF,CAAC;QAED,2CAA2C;QAC3C,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC;YACzC,OAAO;YACP,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,KAAK,CAAC,eAAe,CAAC,OAAe,EAAE,QAAgB;QACrD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAI9C,wBAAwB,EAAE;YAC3B,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,OAAO;gBACP,SAAS,EAAE,QAAQ;gBACnB,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE;aACxB,CAAC;SACH,CAAC,CAAC;QAEH,OAAO;YACL,KAAK,EAAE,YAAY,CAAC,KAAK;YACzB,OAAO,EAAE,YAAY,CAAC,OAAO;YAC7B,SAAS,EAAE,YAAY,CAAC,UAAU;SACnC,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACH,KAAK,CAAC,eAAe,CAAC,OAAe,EAAE,SAAiB,EAAE,KAAa,EAAE,QAAgB;QACvF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAS9C,qBAAqB,EAAE;YACxB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,OAAO;gBACP,SAAS;gBACT,KAAK;gBACL,SAAS,EAAE,QAAQ;gBACnB,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE;aACxB,CAAC;SACH,CAAC,CAAC;QAEH,OAAO;YACL,WAAW,EAAE,YAAY,CAAC,YAAY;YACtC,YAAY,EAAE,YAAY,CAAC,aAAa;YACxC,SAAS,EAAE,YAAY,CAAC,UAAU;YAClC,IAAI,EAAE;gBACJ,EAAE,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE;gBACxB,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,OAAO;gBAClC,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,QAAQ;aACrC;SACF,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,CAAC,mBAAmB,CAAC,SAAiB;QACzC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAQ9C,sBAAsB,EAAE;YACzB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,UAAU,EAAE,SAAS;gBACrB,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE;aACxB,CAAC;SACH,CAAC,CAAC;QAEH,OAAO;YACL,WAAW,EAAE,YAAY,CAAC,YAAY;YACtC,SAAS,EAAE,YAAY,CAAC,UAAU;YAClC,WAAW,EAAE;gBACX,EAAE,EAAE,YAAY,CAAC,WAAW,CAAC,EAAE;gBAC/B,IAAI,EAAE,YAAY,CAAC,WAAW,CAAC,IAAI;gBACnC,QAAQ,EAAE,YAAY,CAAC,WAAW,CAAC,SAAS;aAC7C;SACF,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAAC,YAAY,CAAC,YAAoB;QACrC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAG9C,sBAAsB,EAAE;YACzB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,aAAa,EAAE,YAAY;aAC5B,CAAC;SACH,CAAC,CAAC;QAEH,OAAO;YACL,WAAW,EAAE,YAAY,CAAC,YAAY;YACtC,SAAS,EAAE,YAAY,CAAC,UAAU;SACnC,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,KAAK,CAAC,WAAW,CAAC,YAAoB;QACpC,MAAM,IAAI,CAAC,wBAAwB,CAAO,qBAAqB,EAAE;YAC/D,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,aAAa,EAAE,YAAY;aAC5B,CAAC;SACH,CAAC,CAAC;IACL,CAAC;CACF"}
package/dist/api/base.js CHANGED
@@ -23,6 +23,9 @@
23
23
  import { StatusCodes } from "http-status-codes";
24
24
  import { APIError } from "../errors";
25
25
  export class BaseAPI {
26
+ apiUrl;
27
+ accessToken;
28
+ retryOptions;
26
29
  /**
27
30
  * Creates a new BaseAPI instance.
28
31
  *
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/api/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/api/base.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAOrC,MAAM,OAAgB,OAAO;IAWN;IAVX,WAAW,CAAU;IACrB,YAAY,CAAyB;IAE/C;;;;;OAKG;IACH,YACqB,MAAc,EACjC,YAA2B;QADR,WAAM,GAAN,MAAM,CAAQ;QAGjC,IAAI,CAAC,YAAY,GAAG;YAClB,UAAU,EAAE,YAAY,EAAE,UAAU,IAAI,CAAC;YACzC,WAAW,EAAE,YAAY,EAAE,WAAW,IAAI,IAAI;SAC/C,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,cAAc,CAAC,KAAa;QAC1B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACO,cAAc;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;;;;;;;;OASG;IACK,gBAAgB,CAAC,IAAsB;QAC7C,IAAI,CAAC,IAAI;YAAE,OAAO,SAAS,CAAC;QAE5B,+DAA+D;QAC/D,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,IAAI,CAAC,CAAC,iCAAiC;YAChD,CAAC;QACH,CAAC;QAED,2CAA2C;QAC3C,IAAI,IAAI,YAAY,QAAQ,EAAE,CAAC;YAC7B,MAAM,UAAU,GAA4B,EAAE,CAAC;YAC/C,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;gBAC1B,UAAU,CAAC,GAAG,CAAC,GAAG,KAAK,YAAY,IAAI,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;YAC5E,CAAC,CAAC,CAAC;YACH,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,sCAAsC;QACtC,IAAI,IAAI,YAAY,eAAe,EAAE,CAAC;YACpC,MAAM,MAAM,GAA2B,EAAE,CAAC;YAC1C,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;gBAC1B,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACtB,CAAC,CAAC,CAAC;YACH,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,uDAAuD;QACvD,IAAI,IAAI,YAAY,IAAI,EAAE,CAAC;YACzB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QACrE,CAAC;QAED,kDAAkD;QAClD,IAAI,IAAI,YAAY,WAAW,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5D,MAAM,IAAI,GAAG,IAAI,YAAY,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;YAC7E,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;QACzC,CAAC;QAED,qEAAqE;QACrE,IAAI,OAAO,cAAc,KAAK,WAAW,IAAI,IAAI,YAAY,cAAc,EAAE,CAAC;YAC5E,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,sCAAsC,EAAE,CAAC;QACpF,CAAC;QAED,6BAA6B;QAC7B,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,IAAI,EAAE,CAAC;IACtD,CAAC;IAED;;OAEG;IACK,uBAAuB,CAAC,OAAiB;QAC/C,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,CAAC;QAExB,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,SAAS,CAAC;QAE3H,2CAA2C;QAC3C,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACpD,IAAI,UAA8B,CAAC;QACnC,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;YACrD,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;QACzD,CAAC;QAED,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;IACnC,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,cAAc,CAAI,GAAW,EAAE,QAAgB,EAAE,OAAoB,EAAE,WAAqB;QACxG,IAAI,QAAkB,CAAC;QAEvB,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,QAAQ,CAAC,8BAA8B,QAAQ,EAAE,EAAE;gBAC3D,QAAQ,EAAE,GAAG;gBACb,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChE,WAAW;aACZ,CAAC,CAAC;QACL,CAAC;QAED,iEAAiE;QACjE,IAAI,YAAqB,CAAC;QAC1B,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,cAAc,CAAC,IAAI,SAAS,CAAC;QAEvE,uFAAuF;QACvF,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;QAEnE,IAAI,CAAC;YACH,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACvC,CAAC;QAAC,OAAO,UAAU,EAAE,CAAC;YACpB,+EAA+E;YAC/E,IAAI,YAAoB,CAAC;YACzB,IAAI,CAAC;gBACH,YAAY,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC;YAC5C,CAAC;YAAC,MAAM,CAAC;gBACP,YAAY,GAAG,gCAAgC,CAAC;YAClD,CAAC;YAED,qGAAqG;YACrG,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,YAAY,GAAG,uBAAuB,QAAQ,CAAC,MAAM,yCAAyC,WAAW,GAAG,CAAC;gBACnH,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAEjF,MAAM,IAAI,QAAQ,CAAC,YAAY,EAAE;oBAC/B,QAAQ,EAAE,GAAG;oBACb,UAAU,EAAE,QAAQ,CAAC,MAAM;oBAC3B,YAAY,EAAE;wBACZ,WAAW,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,8CAA8C;wBAC3F,WAAW;wBACX,UAAU,EAAE,UAAU,YAAY,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;qBAClF;oBACD,KAAK,EAAE,UAAU,YAAY,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;oBAC3D,WAAW;oBACX,SAAS;oBACT,UAAU;iBACX,CAAC,CAAC;YACL,CAAC;YAED,8DAA8D;YAC9D,MAAM,IAAI,QAAQ,CAAC,uCAAuC,WAAW,EAAE,EAAE;gBACvE,QAAQ,EAAE,GAAG;gBACb,UAAU,EAAE,QAAQ,CAAC,MAAM;gBAC3B,YAAY,EAAE,EAAE,WAAW,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,WAAW,EAAE;gBAC1E,KAAK,EAAE,UAAU,YAAY,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;gBAC3D,WAAW;aACZ,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,wEAAwE;YACxE,MAAM,SAAS,GAAG,YAAY,KAAK,IAAI,IAAI,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAE,YAAwC,CAAC,CAAC,CAAC,SAAS,CAAC;YACpI,MAAM,YAAY,GAChB,CAAC,OAAO,SAAS,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;gBACxE,CAAC,OAAO,SAAS,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;gBACpE,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC3C,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAEjF,MAAM,IAAI,QAAQ,CAAC,YAAY,EAAE;gBAC/B,QAAQ,EAAE,GAAG;gBACb,UAAU,EAAE,QAAQ,CAAC,MAAM;gBAC3B,YAAY;gBACZ,WAAW;gBACX,SAAS;gBACT,UAAU;aACX,CAAC,CAAC;QACL,CAAC;QAED,OAAO,YAAiB,CAAC;IAC3B,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACO,KAAK,CAAC,wBAAwB,CAAI,QAAgB,EAAE,UAAuB,EAAE;QACrF,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,IAAI,QAAQ,CAAC,oDAAoD,EAAE;gBACvE,QAAQ,EAAE,GAAG,IAAI,CAAC,MAAM,GAAG,QAAQ,EAAE;gBACrC,UAAU,EAAE,WAAW,CAAC,YAAY;aACrC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC;QACxC,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAExD,OAAO,IAAI,CAAC,cAAc,CACxB,GAAG,EACH,QAAQ,EACR;YACE,GAAG,OAAO;YACV,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,UAAU,IAAI,CAAC,WAAW,EAAE;gBAC3C,GAAG,OAAO,CAAC,OAAO;aACnB;SACF,EACD,WAAW,CACZ,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACO,KAAK,CAAC,iBAAiB,CAAI,QAAgB,EAAE,UAAuB,EAAE;QAC9E,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC;QACxC,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAExD,OAAO,IAAI,CAAC,cAAc,CACxB,GAAG,EACH,QAAQ,EACR;YACE,GAAG,OAAO;YACV,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,GAAG,OAAO,CAAC,OAAO;aACnB;SACF,EACD,WAAW,CACZ,CAAC;IACJ,CAAC;CACF"}
@@ -50,21 +50,31 @@ export declare class ProfileAPIImpl extends BaseAPI implements ProfileAPI {
50
50
  * Fetches the user's transaction history from the /api/v1/accounts/movements endpoint.
51
51
  * Requires a valid access token to be set.
52
52
  *
53
- * @param params - Optional query parameters for pagination
53
+ * @param params - Optional query parameters for pagination and filtering
54
54
  * @param params.page - Page number (starts from 1, default: 1)
55
55
  * @param params.limit - Number of items per page (default: 20, max: 100)
56
+ * @param params.entry_type - Filter by entry type (CREDIT, DEBIT, LOCK, UNLOCK, FEE)
57
+ * @param params.transaction_type - Filter by transaction type (DEPOSIT, WITHDRAWAL, TRADE, FEE, FUNDING, LIQUIDATION, INTEREST, REWARD)
58
+ * @param params.asset_id - Filter by asset ID (UUID)
59
+ * @param params.source - Data source: "hot_storage", "cold_storage", or "both" (default: "hot_storage")
56
60
  * @returns Promise resolving to paginated movements response
57
61
  * @throws {APIError} When the request fails or user is not authenticated
58
62
  *
59
63
  * @example
60
64
  * ```typescript
61
65
  * // Get first page with default limit (20)
62
- * const movements = await profileAPI.getUserMovements();
66
+ * const movements = await profileAPI.getPaginatedUserMovements();
63
67
  * console.log(`Total movements: ${movements.total_count}`);
64
68
  *
65
69
  * // Get second page with custom limit
66
- * const page2 = await profileAPI.getUserMovements({ page: 2, limit: 50 });
70
+ * const page2 = await profileAPI.getPaginatedUserMovements({ page: 2, limit: 50 });
67
71
  * console.log(`Page ${page2.page} of ${page2.total_pages}`);
72
+ *
73
+ * // Filter by entry type and transaction type
74
+ * const deposits = await profileAPI.getPaginatedUserMovements({ entry_type: "CREDIT", transaction_type: "DEPOSIT" });
75
+ *
76
+ * // Filter by asset
77
+ * const usdcMovements = await profileAPI.getPaginatedUserMovements({ asset_id: "550e8400-e29b-41d4-a716-446655440000" });
68
78
  * ```
69
79
  */
70
80
  getPaginatedUserMovements(params?: GetUserMovementsParams): Promise<GetPaginatedUserMovementsResponse>;
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/api/profile/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,iCAAiC,EACjC,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,EACtB,UAAU,EACV,WAAW,EACZ,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,qBAAa,cAAe,SAAQ,OAAQ,YAAW,UAAU;IAC/D;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,UAAU,IAAI,OAAO,CAAC,WAAW,CAAC;IAgBxC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,yBAAyB,CAAC,MAAM,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,iCAAiC,CAAC;IAgB5G;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACG,eAAe,CAAC,MAAM,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAgBvF;;;;;;;;;;;;;;;;;;OAkBG;IACG,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;CASxE"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/api/profile/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,iCAAiC,EACjC,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,EACtB,UAAU,EACV,WAAW,EACZ,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,qBAAa,cAAe,SAAQ,OAAQ,YAAW,UAAU;IAC/D;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,UAAU,IAAI,OAAO,CAAC,WAAW,CAAC;IAgBxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACG,yBAAyB,CAAC,MAAM,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,iCAAiC,CAAC;IAgC5G;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACG,eAAe,CAAC,MAAM,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAgBvF;;;;;;;;;;;;;;;;;;OAkBG;IACG,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;CASxE"}
@@ -17,6 +17,7 @@
17
17
  * console.log(`User: ${profile.username} (${profile.address})`);
18
18
  * ```
19
19
  */
20
+ import { GetUserMovementsSchema, validate } from "@0xmonaco/types";
20
21
  import { APIError } from "../../errors";
21
22
  import { BaseAPI } from "../base";
22
23
  export class ProfileAPIImpl extends BaseAPI {
@@ -63,24 +64,37 @@ export class ProfileAPIImpl extends BaseAPI {
63
64
  * Fetches the user's transaction history from the /api/v1/accounts/movements endpoint.
64
65
  * Requires a valid access token to be set.
65
66
  *
66
- * @param params - Optional query parameters for pagination
67
+ * @param params - Optional query parameters for pagination and filtering
67
68
  * @param params.page - Page number (starts from 1, default: 1)
68
69
  * @param params.limit - Number of items per page (default: 20, max: 100)
70
+ * @param params.entry_type - Filter by entry type (CREDIT, DEBIT, LOCK, UNLOCK, FEE)
71
+ * @param params.transaction_type - Filter by transaction type (DEPOSIT, WITHDRAWAL, TRADE, FEE, FUNDING, LIQUIDATION, INTEREST, REWARD)
72
+ * @param params.asset_id - Filter by asset ID (UUID)
73
+ * @param params.source - Data source: "hot_storage", "cold_storage", or "both" (default: "hot_storage")
69
74
  * @returns Promise resolving to paginated movements response
70
75
  * @throws {APIError} When the request fails or user is not authenticated
71
76
  *
72
77
  * @example
73
78
  * ```typescript
74
79
  * // Get first page with default limit (20)
75
- * const movements = await profileAPI.getUserMovements();
80
+ * const movements = await profileAPI.getPaginatedUserMovements();
76
81
  * console.log(`Total movements: ${movements.total_count}`);
77
82
  *
78
83
  * // Get second page with custom limit
79
- * const page2 = await profileAPI.getUserMovements({ page: 2, limit: 50 });
84
+ * const page2 = await profileAPI.getPaginatedUserMovements({ page: 2, limit: 50 });
80
85
  * console.log(`Page ${page2.page} of ${page2.total_pages}`);
86
+ *
87
+ * // Filter by entry type and transaction type
88
+ * const deposits = await profileAPI.getPaginatedUserMovements({ entry_type: "CREDIT", transaction_type: "DEPOSIT" });
89
+ *
90
+ * // Filter by asset
91
+ * const usdcMovements = await profileAPI.getPaginatedUserMovements({ asset_id: "550e8400-e29b-41d4-a716-446655440000" });
81
92
  * ```
82
93
  */
83
94
  async getPaginatedUserMovements(params) {
95
+ if (params) {
96
+ validate(GetUserMovementsSchema, params);
97
+ }
84
98
  const searchParams = new URLSearchParams();
85
99
  if (params?.page !== undefined) {
86
100
  searchParams.append("page", params.page.toString());
@@ -88,6 +102,18 @@ export class ProfileAPIImpl extends BaseAPI {
88
102
  if (params?.limit !== undefined) {
89
103
  searchParams.append("limit", params.limit.toString());
90
104
  }
105
+ if (params?.entry_type !== undefined) {
106
+ searchParams.append("entry_type", params.entry_type);
107
+ }
108
+ if (params?.transaction_type !== undefined) {
109
+ searchParams.append("transaction_type", params.transaction_type);
110
+ }
111
+ if (params?.asset_id !== undefined) {
112
+ searchParams.append("asset_id", params.asset_id);
113
+ }
114
+ if (params?.source !== undefined) {
115
+ searchParams.append("source", params.source);
116
+ }
91
117
  const queryString = searchParams.toString();
92
118
  const url = queryString ? `/api/v1/accounts/movements?${queryString}` : "/api/v1/accounts/movements";
93
119
  return await this.makeAuthenticatedRequest(url);
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/api/profile/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/api/profile/api.ts"],"names":[],"mappings":"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"}
@@ -24,7 +24,7 @@
24
24
  * const openOrders = await tradingAPI.getOpenOrders({ market: "ETH-USD" });
25
25
  * ```
26
26
  */
27
- import type { BatchCancelOrdersResponse, CancelOrderResponse, CreateOrderResponse, GetOrderResponse, GetPaginatedOrdersParams, GetPaginatedOrdersResponse, OrderSide, ReplaceOrderResponse, TimeInForce, TradingAPI, TradingMode } from "@0xmonaco/types";
27
+ import type { BatchCancelOrdersResponse, BatchCreateOrderParams, BatchCreateOrdersResponse, BatchReplaceOrderParams, BatchReplaceOrdersResponse, CancelOrderResponse, CreateOrderResponse, GetOrderResponse, GetPaginatedOrdersParams, GetPaginatedOrdersResponse, OrderSide, ReplaceOrderResponse, TimeInForce, TradingAPI, TradingMode } from "@0xmonaco/types";
28
28
  import { BaseAPI } from "../base";
29
29
  export declare class TradingAPIImpl extends BaseAPI implements TradingAPI {
30
30
  /**
@@ -156,39 +156,97 @@ export declare class TradingAPIImpl extends BaseAPI implements TradingAPI {
156
156
  */
157
157
  cancelOrder(orderId: string): Promise<CancelOrderResponse>;
158
158
  /**
159
- * Batch cancels multiple orders in a single request.
159
+ * Batch cancels specific orders by their IDs.
160
160
  *
161
- * Cancel multiple orders at once by providing an array of order IDs, or cancel all
162
- * active orders for the user by setting cancelAll to true.
161
+ * @param orderIds - Array of order IDs to cancel
162
+ * @returns Promise resolving to BatchCancelOrdersResponse with cancellation details
163
+ * @throws {APIError} When API communication fails
164
+ *
165
+ * @example
166
+ * ```typescript
167
+ * const result = await tradingAPI.batchCancel(["order_123", "order_456"]);
168
+ * ```
169
+ */
170
+ batchCancel(orderIds: string[]): Promise<BatchCancelOrdersResponse>;
171
+ /**
172
+ * Cancels all active orders, optionally filtered by trading pair.
163
173
  *
164
- * @param options - Options for batch cancellation
165
- * @param options.orderIds - Array of order IDs to cancel (ignored if cancelAll is true)
166
- * @param options.cancelAll - If true, cancel all active orders for the user
174
+ * @param tradingPairId - Optional trading pair ID to filter cancellation
167
175
  * @returns Promise resolving to BatchCancelOrdersResponse with cancellation details
168
176
  * @throws {APIError} When API communication fails
169
177
  *
170
178
  * @example
171
179
  * ```typescript
172
- * // Cancel specific orders
173
- * const result = await tradingAPI.batchCancelOrders({
174
- * orderIds: ["order_123", "order_456", "order_789"]
175
- * });
176
- * console.log(`Canceled ${result.total_canceled} of ${result.total_requested} orders`);
180
+ * // Cancel all active orders globally
181
+ * await tradingAPI.batchCancelAll();
177
182
  *
178
- * // Cancel all active orders
179
- * const allCanceled = await tradingAPI.batchCancelOrders({ cancelAll: true });
180
- * console.log(`Canceled all ${allCanceled.total_canceled} active orders`);
183
+ * // Cancel all orders for a specific trading pair
184
+ * await tradingAPI.batchCancelAll("123e4567-e89b-12d3-a456-426614174000");
181
185
  * ```
182
186
  */
183
- batchCancelOrders(options: {
184
- orderIds?: string[];
185
- cancelAll?: boolean;
186
- }): Promise<BatchCancelOrdersResponse>;
187
+ batchCancelAll(tradingPairId?: string): Promise<BatchCancelOrdersResponse>;
187
188
  replaceOrder(orderId: string, newOrder: {
188
189
  price?: string;
189
190
  quantity?: string;
190
191
  useMasterBalance?: boolean;
191
192
  }): Promise<ReplaceOrderResponse>;
193
+ /**
194
+ * Batch creates multiple orders in a single request.
195
+ *
196
+ * Each order is validated and processed through the matching engine.
197
+ * Failed orders do not prevent other orders from being created.
198
+ *
199
+ * @param orders - Array of order parameters to create
200
+ * @returns Promise resolving to BatchCreateOrdersResponse with individual results
201
+ * @throws {APIError} When API communication fails
202
+ *
203
+ * @example
204
+ * ```typescript
205
+ * const result = await tradingAPI.batchCreate([
206
+ * {
207
+ * tradingPairId: "123e4567-e89b-12d3-a456-426614174000",
208
+ * orderType: "LIMIT",
209
+ * side: "BUY",
210
+ * price: "35000.00",
211
+ * quantity: "0.5",
212
+ * },
213
+ * {
214
+ * tradingPairId: "123e4567-e89b-12d3-a456-426614174000",
215
+ * orderType: "LIMIT",
216
+ * side: "SELL",
217
+ * price: "36000.00",
218
+ * quantity: "0.3",
219
+ * },
220
+ * ]);
221
+ * ```
222
+ */
223
+ batchCreate(orders: BatchCreateOrderParams[]): Promise<BatchCreateOrdersResponse>;
224
+ /**
225
+ * Batch replaces multiple orders in a single request.
226
+ *
227
+ * Each order is canceled and re-created with new parameters.
228
+ * Failed replacements do not prevent other orders from being replaced.
229
+ *
230
+ * @param orders - Array of order replacement parameters
231
+ * @returns Promise resolving to BatchReplaceOrdersResponse with individual results
232
+ * @throws {APIError} When API communication fails
233
+ *
234
+ * @example
235
+ * ```typescript
236
+ * const result = await tradingAPI.batchReplace([
237
+ * {
238
+ * orderId: "f47ac10b-58cc-4372-a567-0e02b2c3d479",
239
+ * price: "35500.00",
240
+ * quantity: "0.7",
241
+ * },
242
+ * {
243
+ * orderId: "7c9e6679-7425-40de-944b-e07fc1f90ae7",
244
+ * price: "36500.00",
245
+ * },
246
+ * ]);
247
+ * ```
248
+ */
249
+ batchReplace(orders: BatchReplaceOrderParams[]): Promise<BatchReplaceOrdersResponse>;
192
250
  /**
193
251
  * Gets paginated orders based on query parameters with automatic pagination.
194
252
  *
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/api/trading/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EACV,yBAAyB,EACzB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,wBAAwB,EACxB,0BAA0B,EAC1B,SAAS,EAET,oBAAoB,EACpB,WAAW,EACX,UAAU,EACV,WAAW,EACZ,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,qBAAa,cAAe,SAAQ,OAAQ,YAAW,UAAU;IAC/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiDG;IACG,eAAe,CACnB,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;QACR,WAAW,CAAC,EAAE,WAAW,CAAC;QAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,WAAW,CAAC,EAAE,WAAW,CAAC;KAC3B,GACA,OAAO,CAAC,mBAAmB,CAAC;IA4B/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiDG;IACG,gBAAgB,CACpB,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QACR,WAAW,CAAC,EAAE,WAAW,CAAC;QAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,WAAW,CAAC,EAAE,WAAW,CAAC;KAC3B,GACA,OAAO,CAAC,mBAAmB,CAAC;IAkB/B;;;;;;;;;;;;;;;OAeG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAWhE;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACG,iBAAiB,CAAC,OAAO,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAqB5G,YAAY,CAChB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE;QACR,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;KAC5B,GACA,OAAO,CAAC,oBAAoB,CAAC;IAuBhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACG,kBAAkB,CAAC,MAAM,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAAC,0BAA0B,CAAC;IA2BhG;;;;;;;;;;;;;;;;;OAiBG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAK3D"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/api/trading/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EACV,yBAAyB,EACzB,sBAAsB,EACtB,yBAAyB,EACzB,uBAAuB,EACvB,0BAA0B,EAC1B,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,wBAAwB,EACxB,0BAA0B,EAC1B,SAAS,EAET,oBAAoB,EACpB,WAAW,EACX,UAAU,EACV,WAAW,EACZ,MAAM,iBAAiB,CAAC;AAWzB,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,qBAAa,cAAe,SAAQ,OAAQ,YAAW,UAAU;IAC/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiDG;IACG,eAAe,CACnB,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;QACR,WAAW,CAAC,EAAE,WAAW,CAAC;QAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,WAAW,CAAC,EAAE,WAAW,CAAC;KAC3B,GACA,OAAO,CAAC,mBAAmB,CAAC;IA4B/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiDG;IACG,gBAAgB,CACpB,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QACR,WAAW,CAAC,EAAE,WAAW,CAAC;QAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,WAAW,CAAC,EAAE,WAAW,CAAC;KAC3B,GACA,OAAO,CAAC,mBAAmB,CAAC;IA0B/B;;;;;;;;;;;;;;;OAeG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAchE;;;;;;;;;;;OAWG;IACG,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAWzE;;;;;;;;;;;;;;;OAeG;IACG,cAAc,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAQ1E,YAAY,CAChB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE;QACR,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;KAC5B,GACA,OAAO,CAAC,oBAAoB,CAAC;IA0BhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACG,WAAW,CAAC,MAAM,EAAE,sBAAsB,EAAE,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAwBvF;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACG,YAAY,CAAC,MAAM,EAAE,uBAAuB,EAAE,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAkB1F;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACG,kBAAkB,CAAC,MAAM,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAgChG;;;;;;;;;;;;;;;;;OAiBG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAK3D"}
@@ -24,7 +24,7 @@
24
24
  * const openOrders = await tradingAPI.getOpenOrders({ market: "ETH-USD" });
25
25
  * ```
26
26
  */
27
- import { PlaceLimitOrderSchema, validate } from "@0xmonaco/types";
27
+ import { BatchCreateOrdersSchema, BatchReplaceOrdersSchema, CancelOrderSchema, GetPaginatedOrdersSchema, PlaceLimitOrderSchema, PlaceMarketOrderSchema, ReplaceOrderSchema, validate, } from "@0xmonaco/types";
28
28
  import { BaseAPI } from "../base";
29
29
  export class TradingAPIImpl extends BaseAPI {
30
30
  /**
@@ -153,6 +153,13 @@ export class TradingAPIImpl extends BaseAPI {
153
153
  * ```
154
154
  */
155
155
  async placeMarketOrder(tradingPairId, side, quantity, options) {
156
+ // Validate inputs before making API call
157
+ validate(PlaceMarketOrderSchema, {
158
+ tradingPairId,
159
+ side,
160
+ quantity,
161
+ options,
162
+ });
156
163
  const requestBody = {
157
164
  trading_pair_id: tradingPairId,
158
165
  order_type: "MARKET",
@@ -185,6 +192,8 @@ export class TradingAPIImpl extends BaseAPI {
185
192
  * ```
186
193
  */
187
194
  async cancelOrder(orderId) {
195
+ // Validate inputs before making API call
196
+ validate(CancelOrderSchema, { orderId });
188
197
  const requestBody = {
189
198
  order_id: orderId,
190
199
  };
@@ -194,47 +203,51 @@ export class TradingAPIImpl extends BaseAPI {
194
203
  });
195
204
  }
196
205
  /**
197
- * Batch cancels multiple orders in a single request.
206
+ * Batch cancels specific orders by their IDs.
207
+ *
208
+ * @param orderIds - Array of order IDs to cancel
209
+ * @returns Promise resolving to BatchCancelOrdersResponse with cancellation details
210
+ * @throws {APIError} When API communication fails
198
211
  *
199
- * Cancel multiple orders at once by providing an array of order IDs, or cancel all
200
- * active orders for the user by setting cancelAll to true.
212
+ * @example
213
+ * ```typescript
214
+ * const result = await tradingAPI.batchCancel(["order_123", "order_456"]);
215
+ * ```
216
+ */
217
+ async batchCancel(orderIds) {
218
+ if (!orderIds || orderIds.length === 0) {
219
+ throw new Error("orderIds is required and must not be empty");
220
+ }
221
+ return this.makeAuthenticatedRequest("/api/v1/orders/batch-cancel", {
222
+ method: "POST",
223
+ body: JSON.stringify({ order_ids: orderIds }),
224
+ });
225
+ }
226
+ /**
227
+ * Cancels all active orders, optionally filtered by trading pair.
201
228
  *
202
- * @param options - Options for batch cancellation
203
- * @param options.orderIds - Array of order IDs to cancel (ignored if cancelAll is true)
204
- * @param options.cancelAll - If true, cancel all active orders for the user
229
+ * @param tradingPairId - Optional trading pair ID to filter cancellation
205
230
  * @returns Promise resolving to BatchCancelOrdersResponse with cancellation details
206
231
  * @throws {APIError} When API communication fails
207
232
  *
208
233
  * @example
209
234
  * ```typescript
210
- * // Cancel specific orders
211
- * const result = await tradingAPI.batchCancelOrders({
212
- * orderIds: ["order_123", "order_456", "order_789"]
213
- * });
214
- * console.log(`Canceled ${result.total_canceled} of ${result.total_requested} orders`);
235
+ * // Cancel all active orders globally
236
+ * await tradingAPI.batchCancelAll();
215
237
  *
216
- * // Cancel all active orders
217
- * const allCanceled = await tradingAPI.batchCancelOrders({ cancelAll: true });
218
- * console.log(`Canceled all ${allCanceled.total_canceled} active orders`);
238
+ * // Cancel all orders for a specific trading pair
239
+ * await tradingAPI.batchCancelAll("123e4567-e89b-12d3-a456-426614174000");
219
240
  * ```
220
241
  */
221
- async batchCancelOrders(options) {
222
- const { orderIds = [], cancelAll = false } = options;
223
- const searchParams = new URLSearchParams();
224
- if (cancelAll) {
225
- searchParams.append("cancel_all", "true");
226
- }
227
- const queryString = searchParams.toString();
228
- const endpoint = `/api/v1/orders/batch-cancel${queryString ? `?${queryString}` : ""}`;
229
- const requestBody = {
230
- order_ids: orderIds,
231
- };
232
- return await this.makeAuthenticatedRequest(endpoint, {
242
+ async batchCancelAll(tradingPairId) {
243
+ const endpoint = tradingPairId ? `/api/v1/orders/batch-cancel-all/${tradingPairId}` : "/api/v1/orders/batch-cancel-all";
244
+ return this.makeAuthenticatedRequest(endpoint, {
233
245
  method: "POST",
234
- body: JSON.stringify(requestBody),
235
246
  });
236
247
  }
237
248
  async replaceOrder(orderId, newOrder) {
249
+ // Validate inputs before making API call
250
+ validate(ReplaceOrderSchema, { orderId, newOrder });
238
251
  const requestBody = {
239
252
  use_master_balance: newOrder.useMasterBalance ?? false,
240
253
  };
@@ -249,6 +262,97 @@ export class TradingAPIImpl extends BaseAPI {
249
262
  body: JSON.stringify(requestBody),
250
263
  });
251
264
  }
265
+ /**
266
+ * Batch creates multiple orders in a single request.
267
+ *
268
+ * Each order is validated and processed through the matching engine.
269
+ * Failed orders do not prevent other orders from being created.
270
+ *
271
+ * @param orders - Array of order parameters to create
272
+ * @returns Promise resolving to BatchCreateOrdersResponse with individual results
273
+ * @throws {APIError} When API communication fails
274
+ *
275
+ * @example
276
+ * ```typescript
277
+ * const result = await tradingAPI.batchCreate([
278
+ * {
279
+ * tradingPairId: "123e4567-e89b-12d3-a456-426614174000",
280
+ * orderType: "LIMIT",
281
+ * side: "BUY",
282
+ * price: "35000.00",
283
+ * quantity: "0.5",
284
+ * },
285
+ * {
286
+ * tradingPairId: "123e4567-e89b-12d3-a456-426614174000",
287
+ * orderType: "LIMIT",
288
+ * side: "SELL",
289
+ * price: "36000.00",
290
+ * quantity: "0.3",
291
+ * },
292
+ * ]);
293
+ * ```
294
+ */
295
+ async batchCreate(orders) {
296
+ validate(BatchCreateOrdersSchema, { orders });
297
+ const requestBody = {
298
+ orders: orders.map((order) => ({
299
+ trading_pair_id: order.tradingPairId,
300
+ order_type: order.orderType,
301
+ side: order.side,
302
+ price: order.price,
303
+ quantity: order.quantity,
304
+ trading_mode: order.tradingMode || "SPOT",
305
+ slippage_tolerance_bps: order.slippageTolerance !== undefined ? Math.round(order.slippageTolerance * 10000) : undefined,
306
+ use_master_balance: order.useMasterBalance,
307
+ expiration_date: order.expirationDate,
308
+ time_in_force: order.timeInForce,
309
+ })),
310
+ };
311
+ return this.makeAuthenticatedRequest("/api/v1/orders/batch-create", {
312
+ method: "POST",
313
+ body: JSON.stringify(requestBody),
314
+ });
315
+ }
316
+ /**
317
+ * Batch replaces multiple orders in a single request.
318
+ *
319
+ * Each order is canceled and re-created with new parameters.
320
+ * Failed replacements do not prevent other orders from being replaced.
321
+ *
322
+ * @param orders - Array of order replacement parameters
323
+ * @returns Promise resolving to BatchReplaceOrdersResponse with individual results
324
+ * @throws {APIError} When API communication fails
325
+ *
326
+ * @example
327
+ * ```typescript
328
+ * const result = await tradingAPI.batchReplace([
329
+ * {
330
+ * orderId: "f47ac10b-58cc-4372-a567-0e02b2c3d479",
331
+ * price: "35500.00",
332
+ * quantity: "0.7",
333
+ * },
334
+ * {
335
+ * orderId: "7c9e6679-7425-40de-944b-e07fc1f90ae7",
336
+ * price: "36500.00",
337
+ * },
338
+ * ]);
339
+ * ```
340
+ */
341
+ async batchReplace(orders) {
342
+ validate(BatchReplaceOrdersSchema, { orders });
343
+ const requestBody = {
344
+ orders: orders.map((order) => ({
345
+ order_id: order.orderId,
346
+ price: order.price,
347
+ quantity: order.quantity,
348
+ use_master_balance: order.useMasterBalance,
349
+ })),
350
+ };
351
+ return this.makeAuthenticatedRequest("/api/v1/orders/batch-replace", {
352
+ method: "POST",
353
+ body: JSON.stringify(requestBody),
354
+ });
355
+ }
252
356
  /**
253
357
  * Gets paginated orders based on query parameters with automatic pagination.
254
358
  *
@@ -279,6 +383,10 @@ export class TradingAPIImpl extends BaseAPI {
279
383
  * ```
280
384
  */
281
385
  async getPaginatedOrders(params) {
386
+ // Validate inputs before making API call
387
+ if (params) {
388
+ validate(GetPaginatedOrdersSchema, params);
389
+ }
282
390
  // Set pagination defaults with destructuring and validation
283
391
  const { page = 1, page_size = 10, status, trading_pair } = params || {};
284
392
  const validPage = page > 0 ? page : 1;