@0xmonaco/core 0.4.2 → 0.5.0

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 (77) hide show
  1. package/README.md +1 -8
  2. package/dist/api/applications/index.d.ts +0 -1
  3. package/dist/api/applications/index.d.ts.map +1 -1
  4. package/dist/api/applications/index.js.map +1 -1
  5. package/dist/api/auth/index.d.ts +0 -1
  6. package/dist/api/auth/index.d.ts.map +1 -1
  7. package/dist/api/auth/index.js.map +1 -1
  8. package/dist/api/base.d.ts +26 -1
  9. package/dist/api/base.d.ts.map +1 -1
  10. package/dist/api/base.js +172 -42
  11. package/dist/api/base.js.map +1 -1
  12. package/dist/api/fees/api.js +3 -3
  13. package/dist/api/fees/api.js.map +1 -1
  14. package/dist/api/market/api.d.ts.map +1 -1
  15. package/dist/api/market/api.js +11 -2
  16. package/dist/api/market/api.js.map +1 -1
  17. package/dist/api/market/index.d.ts +0 -1
  18. package/dist/api/market/index.d.ts.map +1 -1
  19. package/dist/api/market/index.js.map +1 -1
  20. package/dist/api/orderbook/api.d.ts.map +1 -1
  21. package/dist/api/orderbook/api.js.map +1 -1
  22. package/dist/api/profile/api.d.ts +9 -10
  23. package/dist/api/profile/api.d.ts.map +1 -1
  24. package/dist/api/profile/api.js +16 -10
  25. package/dist/api/profile/api.js.map +1 -1
  26. package/dist/api/trades/api.d.ts +1 -1
  27. package/dist/api/trades/api.d.ts.map +1 -1
  28. package/dist/api/trades/api.js.map +1 -1
  29. package/dist/api/trading/api.d.ts +0 -1
  30. package/dist/api/trading/api.d.ts.map +1 -1
  31. package/dist/api/trading/api.js +9 -1
  32. package/dist/api/trading/api.js.map +1 -1
  33. package/dist/api/trading/index.d.ts +0 -1
  34. package/dist/api/trading/index.d.ts.map +1 -1
  35. package/dist/api/trading/index.js.map +1 -1
  36. package/dist/api/vault/api.d.ts +16 -18
  37. package/dist/api/vault/api.d.ts.map +1 -1
  38. package/dist/api/vault/api.js +56 -44
  39. package/dist/api/vault/api.js.map +1 -1
  40. package/dist/api/vault/index.d.ts +0 -1
  41. package/dist/api/vault/index.d.ts.map +1 -1
  42. package/dist/api/vault/index.js.map +1 -1
  43. package/dist/api/websocket/types.d.ts.map +1 -1
  44. package/dist/api/websocket/websocket.d.ts.map +1 -1
  45. package/dist/api/websocket/websocket.js +1 -6
  46. package/dist/api/websocket/websocket.js.map +1 -1
  47. package/dist/errors/errors.d.ts +382 -0
  48. package/dist/errors/errors.d.ts.map +1 -0
  49. package/dist/errors/errors.js +801 -0
  50. package/dist/errors/errors.js.map +1 -0
  51. package/dist/errors/index.d.ts +2 -0
  52. package/dist/errors/index.d.ts.map +1 -0
  53. package/dist/errors/index.js +2 -0
  54. package/dist/errors/index.js.map +1 -0
  55. package/dist/index.d.ts +2 -9
  56. package/dist/index.d.ts.map +1 -1
  57. package/dist/index.js +2 -17
  58. package/dist/index.js.map +1 -1
  59. package/dist/networks/index.d.ts +2 -0
  60. package/dist/networks/index.d.ts.map +1 -0
  61. package/dist/networks/index.js +2 -0
  62. package/dist/networks/index.js.map +1 -0
  63. package/dist/networks/networks.d.ts.map +1 -0
  64. package/dist/{networks.js → networks/networks.js} +2 -1
  65. package/dist/networks/networks.js.map +1 -0
  66. package/dist/sdk.d.ts +4 -3
  67. package/dist/sdk.d.ts.map +1 -1
  68. package/dist/sdk.js +41 -52
  69. package/dist/sdk.js.map +1 -1
  70. package/package.json +5 -7
  71. package/dist/errors.d.ts +0 -103
  72. package/dist/errors.d.ts.map +0 -1
  73. package/dist/errors.js +0 -108
  74. package/dist/errors.js.map +0 -1
  75. package/dist/networks.d.ts.map +0 -1
  76. package/dist/networks.js.map +0 -1
  77. /package/dist/{networks.d.ts → networks/networks.d.ts} +0 -0
package/README.md CHANGED
@@ -525,7 +525,7 @@ monaco.websocket.orders.subscribeToOrderEvents("BTC/USDC", "SPOT", (event) => {
525
525
  The SDK uses structured error classes for comprehensive error handling:
526
526
 
527
527
  ```typescript
528
- import { APIError, ContractError, TransactionError, OrderError } from "@0xmonaco/core";
528
+ import { APIError, ContractError } from "@0xmonaco/core";
529
529
 
530
530
  try {
531
531
  await sdk.vault.deposit(token, amount);
@@ -536,11 +536,6 @@ try {
536
536
  } else if (error instanceof APIError) {
537
537
  console.error("API error:", error.message);
538
538
  console.error("Status:", error.status);
539
- } else if (error instanceof TransactionError) {
540
- console.error("Transaction error:", error.message);
541
- } else if (error instanceof OrderError) {
542
- console.error("Order error:", error.message);
543
- console.error("Market:", error.market);
544
539
  }
545
540
  }
546
541
  ```
@@ -549,8 +544,6 @@ try {
549
544
  - `MonacoCoreError`: Base error class for all SDK errors
550
545
  - `APIError`: API request failures and communication errors
551
546
  - `ContractError`: Smart contract operation errors
552
- - `TransactionError`: Blockchain transaction errors
553
- - `OrderError`: Trading order specific errors
554
547
  - `InvalidConfigError`: Configuration validation errors
555
548
  - `InvalidStateError`: Invalid state or operation errors
556
549
 
@@ -1,6 +1,5 @@
1
1
  /**
2
2
  * Applications API Module
3
3
  */
4
- export type { ApplicationsAPI } from "@0xmonaco/types";
5
4
  export { ApplicationsAPIImpl } from "./api";
6
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/applications/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/applications/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/applications/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/applications/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC"}
@@ -1,6 +1,5 @@
1
1
  /**
2
2
  * Auth API Module
3
3
  */
4
- export type { AuthAPI } from "@0xmonaco/types";
5
4
  export { AuthAPIImpl } from "./api";
6
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/auth/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,YAAY,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/auth/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/auth/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/auth/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC"}
@@ -20,15 +20,21 @@
20
20
  * }
21
21
  * ```
22
22
  */
23
+ export interface RetryOptions {
24
+ maxRetries?: number;
25
+ baseDelayMs?: number;
26
+ }
23
27
  export declare abstract class BaseAPI {
24
28
  protected readonly apiUrl: string;
25
29
  protected accessToken?: string;
30
+ protected retryOptions: Required<RetryOptions>;
26
31
  /**
27
32
  * Creates a new BaseAPI instance.
28
33
  *
29
34
  * @param apiUrl - The base URL for the Monaco API Gateway
35
+ * @param retryOptions - Configuration for retry behavior on network failures
30
36
  */
31
- constructor(apiUrl: string);
37
+ constructor(apiUrl: string, retryOptions?: RetryOptions);
32
38
  /**
33
39
  * Set the access token for authenticated requests.
34
40
  *
@@ -41,6 +47,25 @@ export declare abstract class BaseAPI {
41
47
  * @returns The current access token or undefined if not set
42
48
  */
43
49
  protected getAccessToken(): string | undefined;
50
+ /**
51
+ * Parse request body for error logging
52
+ *
53
+ * Attempts to extract meaningful data from various BodyInit types for debugging.
54
+ * Note: Binary data (Blob, ArrayBuffer, ReadableStream) is logged as metadata only
55
+ * to avoid performance issues and maintain log readability.
56
+ *
57
+ * @param body - Request body from fetch options
58
+ * @returns Parsed body for logging, or metadata for binary types
59
+ */
60
+ private parseRequestBody;
61
+ /**
62
+ * Extract metadata from response headers
63
+ */
64
+ private extractResponseMetadata;
65
+ /**
66
+ * Execute HTTP request with error handling
67
+ */
68
+ private executeRequest;
44
69
  /**
45
70
  * Makes an authenticated API request with automatic token handling.
46
71
  *
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/api/base.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAIH,8BAAsB,OAAO;IAQf,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM;IAP7C,SAAS,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAE/B;;;;OAIG;gBAC4B,MAAM,EAAE,MAAM;IAE7C;;;;OAIG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAInC;;;;OAIG;IACH,SAAS,CAAC,cAAc,IAAI,MAAM,GAAG,SAAS;IAI9C;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;cACa,wBAAwB,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,CAAC,CAAC;IAqCpG;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;cACa,iBAAiB,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,CAAC,CAAC;CA6B9F"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/api/base.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAKH,MAAM,WAAW,YAAY;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,8BAAsB,OAAO;IAWzB,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM;IAVnC,SAAS,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC/B,SAAS,CAAC,YAAY,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;IAE/C;;;;;OAKG;gBAEkB,MAAM,EAAE,MAAM,EACjC,YAAY,CAAC,EAAE,YAAY;IAQ7B;;;;OAIG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAInC;;;;OAIG;IACH,SAAS,CAAC,cAAc,IAAI,MAAM,GAAG,SAAS;IAI9C;;;;;;;;;OASG;IACH,OAAO,CAAC,gBAAgB;IAkDxB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAgB/B;;OAEG;YACW,cAAc;IA8E5B;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;cACa,wBAAwB,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,CAAC,CAAC;IA0BpG;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;cACa,iBAAiB,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,CAAC,CAAC;CAiB9F"}
package/dist/api/base.js CHANGED
@@ -21,14 +21,20 @@
21
21
  * ```
22
22
  */
23
23
  import { APIError } from "../errors";
24
+ import { StatusCodes } from "http-status-codes";
24
25
  export class BaseAPI {
25
26
  /**
26
27
  * Creates a new BaseAPI instance.
27
28
  *
28
29
  * @param apiUrl - The base URL for the Monaco API Gateway
30
+ * @param retryOptions - Configuration for retry behavior on network failures
29
31
  */
30
- constructor(apiUrl) {
32
+ constructor(apiUrl, retryOptions) {
31
33
  this.apiUrl = apiUrl;
34
+ this.retryOptions = {
35
+ maxRetries: retryOptions?.maxRetries ?? 3,
36
+ baseDelayMs: retryOptions?.baseDelayMs ?? 1000,
37
+ };
32
38
  }
33
39
  /**
34
40
  * Set the access token for authenticated requests.
@@ -46,6 +52,149 @@ export class BaseAPI {
46
52
  getAccessToken() {
47
53
  return this.accessToken;
48
54
  }
55
+ /**
56
+ * Parse request body for error logging
57
+ *
58
+ * Attempts to extract meaningful data from various BodyInit types for debugging.
59
+ * Note: Binary data (Blob, ArrayBuffer, ReadableStream) is logged as metadata only
60
+ * to avoid performance issues and maintain log readability.
61
+ *
62
+ * @param body - Request body from fetch options
63
+ * @returns Parsed body for logging, or metadata for binary types
64
+ */
65
+ parseRequestBody(body) {
66
+ if (!body)
67
+ return undefined;
68
+ // String bodies (most common case) - parse as JSON if possible
69
+ if (typeof body === "string") {
70
+ try {
71
+ return JSON.parse(body);
72
+ }
73
+ catch {
74
+ return body; // Return as-is if not valid JSON
75
+ }
76
+ }
77
+ // FormData - convert to object for logging
78
+ if (body instanceof FormData) {
79
+ const formObject = {};
80
+ body.forEach((value, key) => {
81
+ formObject[key] = value instanceof File ? `[File: ${value.name}]` : value;
82
+ });
83
+ return formObject;
84
+ }
85
+ // URLSearchParams - convert to object
86
+ if (body instanceof URLSearchParams) {
87
+ const params = {};
88
+ body.forEach((value, key) => {
89
+ params[key] = value;
90
+ });
91
+ return params;
92
+ }
93
+ // Blob - log metadata only (avoid reading binary data)
94
+ if (body instanceof Blob) {
95
+ return { type: "[Blob]", size: body.size, contentType: body.type };
96
+ }
97
+ // ArrayBuffer/ArrayBufferView - log metadata only
98
+ if (body instanceof ArrayBuffer || ArrayBuffer.isView(body)) {
99
+ const size = body instanceof ArrayBuffer ? body.byteLength : body.byteLength;
100
+ return { type: "[ArrayBuffer]", size };
101
+ }
102
+ // ReadableStream - log metadata only (cannot read without consuming)
103
+ if (typeof ReadableStream !== "undefined" && body instanceof ReadableStream) {
104
+ return { type: "[ReadableStream]", note: "Stream body not captured for logging" };
105
+ }
106
+ // Fallback for unknown types
107
+ return { type: "[Unknown]", bodyType: typeof body };
108
+ }
109
+ /**
110
+ * Extract metadata from response headers
111
+ */
112
+ extractResponseMetadata(headers) {
113
+ if (!headers)
114
+ return {};
115
+ const requestId = headers.get("x-request-id") || headers.get("request-id") || headers.get("x-correlation-id") || undefined;
116
+ // Parse Retry-After header with validation
117
+ const retryAfterHeader = headers.get("retry-after");
118
+ let retryAfter;
119
+ if (retryAfterHeader !== null) {
120
+ const parsed = Number.parseInt(retryAfterHeader, 10);
121
+ retryAfter = Number.isNaN(parsed) ? undefined : parsed;
122
+ }
123
+ return { requestId, retryAfter };
124
+ }
125
+ /**
126
+ * Execute HTTP request with error handling
127
+ */
128
+ async executeRequest(url, endpoint, options, requestBody) {
129
+ let response;
130
+ try {
131
+ response = await fetch(url, options);
132
+ }
133
+ catch (error) {
134
+ throw new APIError(`Network request failed for ${endpoint}`, {
135
+ endpoint: url,
136
+ cause: error instanceof Error ? error : new Error(String(error)),
137
+ requestBody,
138
+ });
139
+ }
140
+ // Parse response body with error handling for non-JSON responses
141
+ let responseBody;
142
+ const contentType = response.headers?.get("content-type") || "unknown";
143
+ // Clone the response to avoid consuming the body stream twice (if clone method exists)
144
+ const responseClone = response.clone ? response.clone() : response;
145
+ try {
146
+ responseBody = await response.json();
147
+ }
148
+ catch (parseError) {
149
+ // If JSON parsing fails, try to get response as text for better error messages
150
+ let responseText;
151
+ try {
152
+ responseText = await responseClone.text();
153
+ }
154
+ catch {
155
+ responseText = "[Unable to read response body]";
156
+ }
157
+ // If response is not OK and we can't parse JSON, it's likely an error page (HTML, plain text, etc.)
158
+ if (!response.ok) {
159
+ const errorMessage = `API request failed: ${response.status}. Response is not JSON (Content-Type: ${contentType})`;
160
+ const { requestId, retryAfter } = this.extractResponseMetadata(response.headers);
161
+ throw new APIError(errorMessage, {
162
+ endpoint: url,
163
+ statusCode: response.status,
164
+ responseBody: {
165
+ rawResponse: responseText.substring(0, 500), // Limit to 500 chars to avoid huge error logs
166
+ contentType,
167
+ parseError: parseError instanceof Error ? parseError.message : String(parseError),
168
+ },
169
+ cause: parseError instanceof Error ? parseError : undefined,
170
+ requestBody,
171
+ requestId,
172
+ retryAfter,
173
+ });
174
+ }
175
+ // If response is OK but not JSON, throw a more specific error
176
+ throw new APIError(`Expected JSON response but received ${contentType}`, {
177
+ endpoint: url,
178
+ statusCode: response.status,
179
+ responseBody: { rawResponse: responseText.substring(0, 500), contentType },
180
+ cause: parseError instanceof Error ? parseError : undefined,
181
+ requestBody,
182
+ });
183
+ }
184
+ if (!response.ok) {
185
+ const errorMessage = responseBody?.message || responseBody?.error || `API request failed: ${response.status}`;
186
+ const { requestId, retryAfter } = this.extractResponseMetadata(response.headers);
187
+ throw new APIError(errorMessage, {
188
+ endpoint: url,
189
+ statusCode: response.status,
190
+ responseBody,
191
+ requestBody,
192
+ requestId,
193
+ retryAfter,
194
+ });
195
+ }
196
+ return responseBody;
197
+ }
49
198
  /**
50
199
  * Makes an authenticated API request with automatic token handling.
51
200
  *
@@ -74,30 +223,21 @@ export class BaseAPI {
74
223
  */
75
224
  async makeAuthenticatedRequest(endpoint, options = {}) {
76
225
  if (!this.accessToken) {
77
- throw new APIError("Access token not set. Call setAccessToken() first.", `${this.apiUrl}${endpoint}`, 401);
78
- }
79
- let response;
80
- try {
81
- response = await fetch(`${this.apiUrl}${endpoint}`, {
82
- headers: {
83
- "Content-Type": "application/json",
84
- Authorization: `Bearer ${this.accessToken}`,
85
- ...options.headers,
86
- },
87
- ...options,
226
+ throw new APIError("Access token not set. Call setAccessToken() first.", {
227
+ endpoint: `${this.apiUrl}${endpoint}`,
228
+ statusCode: StatusCodes.UNAUTHORIZED,
88
229
  });
89
230
  }
90
- catch (error) {
91
- // Network error - couldn't reach server
92
- throw new APIError(`Network request failed for ${endpoint}`, `${this.apiUrl}${endpoint}`, undefined, undefined, error instanceof Error ? error : new Error(String(error)));
93
- }
94
- // Parse response body
95
- const responseBody = await response.json();
96
- if (!response.ok) {
97
- const errorMessage = responseBody?.message || responseBody?.error || `API request failed: ${response.status}`;
98
- throw new APIError(errorMessage, `${this.apiUrl}${endpoint}`, response.status, responseBody);
99
- }
100
- return responseBody;
231
+ const url = `${this.apiUrl}${endpoint}`;
232
+ const requestBody = this.parseRequestBody(options.body);
233
+ return this.executeRequest(url, endpoint, {
234
+ ...options,
235
+ headers: {
236
+ "Content-Type": "application/json",
237
+ Authorization: `Bearer ${this.accessToken}`,
238
+ ...options.headers,
239
+ },
240
+ }, requestBody);
101
241
  }
102
242
  /**
103
243
  * Makes an unauthenticated API request.
@@ -126,25 +266,15 @@ export class BaseAPI {
126
266
  * ```
127
267
  */
128
268
  async makePublicRequest(endpoint, options = {}) {
129
- let response;
130
- try {
131
- response = await fetch(`${this.apiUrl}${endpoint}`, {
132
- headers: {
133
- "Content-Type": "application/json",
134
- ...options.headers,
135
- },
136
- ...options,
137
- });
138
- }
139
- catch (error) {
140
- throw new APIError(`Network request failed for ${endpoint}`, `${this.apiUrl}${endpoint}`, undefined, undefined, error instanceof Error ? error : new Error(String(error)));
141
- }
142
- const responseBody = await response.json();
143
- if (!response.ok) {
144
- const errorMessage = responseBody?.message || responseBody?.error || `API request failed: ${response.status}`;
145
- throw new APIError(errorMessage, `${this.apiUrl}${endpoint}`, response.status, responseBody);
146
- }
147
- return responseBody;
269
+ const url = `${this.apiUrl}${endpoint}`;
270
+ const requestBody = this.parseRequestBody(options.body);
271
+ return this.executeRequest(url, endpoint, {
272
+ ...options,
273
+ headers: {
274
+ "Content-Type": "application/json",
275
+ ...options.headers,
276
+ },
277
+ }, requestBody);
148
278
  }
149
279
  }
150
280
  //# sourceMappingURL=base.js.map
@@ -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":"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"}
@@ -21,7 +21,7 @@
21
21
  * });
22
22
  * ```
23
23
  */
24
- import { SimulateFeeParamsSchema } from "@0xmonaco/types";
24
+ import { SimulateFeeParamsSchema, validate } from "@0xmonaco/types";
25
25
  import { BaseAPI } from "../base";
26
26
  export class FeesAPIImpl extends BaseAPI {
27
27
  /**
@@ -67,8 +67,8 @@ export class FeesAPIImpl extends BaseAPI {
67
67
  * ```
68
68
  */
69
69
  async simulateFees(params) {
70
- // Validate parameters using Zod schema
71
- const validatedParams = SimulateFeeParamsSchema.parse(params);
70
+ // Validate parameters using the validate helper
71
+ const validatedParams = validate(SimulateFeeParamsSchema, params);
72
72
  const searchParams = new URLSearchParams();
73
73
  searchParams.append("trading_pair_id", validatedParams.trading_pair_id);
74
74
  searchParams.append("side", validatedParams.side);
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/api/fees/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,MAAM,OAAO,WAAY,SAAQ,OAAO;IACtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAyCG;IACH,KAAK,CAAC,YAAY,CAAC,MAAyB;QAC1C,uCAAuC;QACvC,MAAM,eAAe,GAAG,uBAAuB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAE9D,MAAM,YAAY,GAAG,IAAI,eAAe,EAAE,CAAC;QAC3C,YAAY,CAAC,MAAM,CAAC,iBAAiB,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;QACxE,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;QAClD,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;QACpD,YAAY,CAAC,MAAM,CAAC,UAAU,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;QAE1D,MAAM,QAAQ,GAAG,yBAAyB,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC;QAEpE,OAAO,MAAM,IAAI,CAAC,wBAAwB,CAAsB,QAAQ,EAAE;YACxE,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/api/fees/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,MAAM,OAAO,WAAY,SAAQ,OAAO;IACtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAyCG;IACH,KAAK,CAAC,YAAY,CAAC,MAAyB;QAC1C,gDAAgD;QAChD,MAAM,eAAe,GAAG,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;QAElE,MAAM,YAAY,GAAG,IAAI,eAAe,EAAE,CAAC;QAC3C,YAAY,CAAC,MAAM,CAAC,iBAAiB,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;QACxE,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;QAClD,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;QACpD,YAAY,CAAC,MAAM,CAAC,UAAU,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;QAE1D,MAAM,QAAQ,GAAG,yBAAyB,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC;QAEpE,OAAO,MAAM,IAAI,CAAC,wBAAwB,CAAsB,QAAQ,EAAE;YACxE,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/api/market/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EAGX,qBAAqB,EACrB,uBAAuB,EACvB,QAAQ,EACR,SAAS,EACT,WAAW,EACZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC;;;;GAIG;AACH,qBAAa,aAAc,SAAQ,OAAQ,YAAW,SAAS;IACvD,wBAAwB,CAAC,MAAM,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IA4B1F,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAMxE,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;CAYtH"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/api/market/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAA0B,qBAAqB,EAAE,uBAAuB,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE7J,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC;;;;GAIG;AACH,qBAAa,aAAc,SAAQ,OAAQ,YAAW,SAAS;IACvD,wBAAwB,CAAC,MAAM,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IA4B1F,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAMxE,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;CAoBtH"}
@@ -1,3 +1,4 @@
1
+ import { GetCandlesticksBySymbolSchema, validate } from "@0xmonaco/types";
1
2
  import { BaseAPI } from "../base";
2
3
  /**
3
4
  * Market API Implementation
@@ -30,10 +31,18 @@ export class MarketAPIImpl extends BaseAPI {
30
31
  return await this.makePublicRequest(url);
31
32
  }
32
33
  async getTradingPairBySymbol(symbol) {
33
- const response = await this.makePublicRequest(`/api/v1/market/pairs/${encodeURIComponent(symbol)}`);
34
- return response.data;
34
+ // Backend endpoint expects UUID, not symbol, so we fetch all pairs and filter
35
+ const response = await this.getPaginatedTradingPairs({ limit: 100 });
36
+ return response.data.data.find((pair) => pair.symbol === symbol);
35
37
  }
36
38
  async getCandlesticks(symbol, interval, startTime, endTime) {
39
+ // Validate inputs using the symbol-based schema
40
+ validate(GetCandlesticksBySymbolSchema, {
41
+ symbol,
42
+ interval,
43
+ startTime,
44
+ endTime,
45
+ });
37
46
  const params = new URLSearchParams();
38
47
  params.append("start_time", startTime.toString());
39
48
  params.append("end_time", endTime.toString());
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/api/market/api.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC;;;;GAIG;AACH,MAAM,OAAO,aAAc,SAAQ,OAAO;IACxC,KAAK,CAAC,wBAAwB,CAAC,MAA8B;QAC3D,MAAM,YAAY,GAAG,IAAI,eAAe,EAAE,CAAC;QAE3C,IAAI,MAAM,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;YAC/B,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,MAAM,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC;YAChC,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,MAAM,EAAE,WAAW,EAAE,CAAC;YACxB,YAAY,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,MAAM,EAAE,UAAU,EAAE,CAAC;YACvB,YAAY,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,MAAM,EAAE,WAAW,EAAE,CAAC;YACxB,YAAY,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,MAAM,EAAE,SAAS,KAAK,SAAS,EAAE,CAAC;YACpC,YAAY,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,WAAW,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;QAC5C,MAAM,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,wBAAwB,WAAW,EAAE,CAAC,CAAC,CAAC,sBAAsB,CAAC;QAEzF,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAA0B,GAAG,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,MAAc;QACzC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAyB,wBAAwB,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAE5H,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,MAAc,EAAE,QAAkB,EAAE,SAAiB,EAAE,OAAe;QAC1F,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE9C,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,MAAM,GAAG,GAAG,2CAA2C,kBAAkB,CAAC,MAAM,CAAC,IAAI,QAAQ,IAAI,WAAW,EAAE,CAAC;QAE/G,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAyB,GAAG,CAAC,CAAC;QAE3E,OAAO,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;IAC7B,CAAC;CACF"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/api/market/api.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC;;;;GAIG;AACH,MAAM,OAAO,aAAc,SAAQ,OAAO;IACxC,KAAK,CAAC,wBAAwB,CAAC,MAA8B;QAC3D,MAAM,YAAY,GAAG,IAAI,eAAe,EAAE,CAAC;QAE3C,IAAI,MAAM,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;YAC/B,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,MAAM,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC;YAChC,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,MAAM,EAAE,WAAW,EAAE,CAAC;YACxB,YAAY,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,MAAM,EAAE,UAAU,EAAE,CAAC;YACvB,YAAY,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,MAAM,EAAE,WAAW,EAAE,CAAC;YACxB,YAAY,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,MAAM,EAAE,SAAS,KAAK,SAAS,EAAE,CAAC;YACpC,YAAY,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,WAAW,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;QAC5C,MAAM,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,wBAAwB,WAAW,EAAE,CAAC,CAAC,CAAC,sBAAsB,CAAC;QAEzF,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAA0B,GAAG,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,MAAc;QACzC,8EAA8E;QAC9E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QACrE,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,MAAc,EAAE,QAAkB,EAAE,SAAiB,EAAE,OAAe;QAC1F,gDAAgD;QAChD,QAAQ,CAAC,6BAA6B,EAAE;YACtC,MAAM;YACN,QAAQ;YACR,SAAS;YACT,OAAO;SACR,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE9C,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,MAAM,GAAG,GAAG,2CAA2C,kBAAkB,CAAC,MAAM,CAAC,IAAI,QAAQ,IAAI,WAAW,EAAE,CAAC;QAE/G,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAyB,GAAG,CAAC,CAAC;QAE3E,OAAO,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;IAC7B,CAAC;CACF"}
@@ -1,3 +1,2 @@
1
- export type { MarketAPI } from "@0xmonaco/types";
2
1
  export { MarketAPIImpl } from "./api";
3
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/market/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/market/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/market/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/market/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/api/orderbook/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC3F,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAmBlC,MAAM,WAAW,mBAAmB;IAClC,kEAAkE;IAClE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,iGAAiG;IACjG,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kGAAkG;IAClG,YAAY,CAAC,EAAE,sBAAsB,CAAC;CACvC;AAED,qBAAa,gBAAiB,SAAQ,OAAO;IACrC,YAAY,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,cAAc,CAAC;CAoCtG"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/api/orderbook/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC3F,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAmBlC,MAAM,WAAW,mBAAmB;IAClC,kEAAkE;IAClE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,iGAAiG;IACjG,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kGAAkG;IAClG,YAAY,CAAC,EAAE,sBAAsB,CAAC;CACvC;AAED,qBAAa,gBAAiB,SAAQ,OAAO;IACrC,YAAY,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,cAAc,CAAC;CAkCtG"}
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/api/orderbook/api.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AA8BlC,MAAM,OAAO,gBAAiB,SAAQ,OAAO;IAC3C,KAAK,CAAC,YAAY,CAAC,aAAqB,EAAE,UAA+B,EAAE;QACzE,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC;QAErE,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACpC,IAAI,WAAW;YAAE,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QACzD,IAAI,SAAS,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QACxE,IAAI,YAAY;YAAE,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC;QAEzE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAC3C,qBAAqB,kBAAkB,CAAC,aAAa,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,CAC9E,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,QAAQ,CAAC,IAAI;YACrB,WAAW,EAAE,QAAQ,CAAC,YAA2B;YACjD,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACvC,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,UAAU,EAAE,KAAK,CAAC,WAAW;aAC9B,CAAC,CAAC;YACH,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACvC,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,UAAU,EAAE,KAAK,CAAC,WAAW;aAC9B,CAAC,CAAC;YACH,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ;YAC/B,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ;YAC/B,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,UAAU;YACnC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,UAAU;YACnC,YAAY,EAAE,QAAQ,CAAC,aAAa;YACpC,aAAa,EAAE,QAAQ,CAAC,cAAc;YACtC,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,QAAQ,EAAE,QAAQ,CAAC,eAAe;SACnC,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/api/orderbook/api.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AA8BlC,MAAM,OAAO,gBAAiB,SAAQ,OAAO;IAC3C,KAAK,CAAC,YAAY,CAAC,aAAqB,EAAE,UAA+B,EAAE;QACzE,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC;QAErE,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACpC,IAAI,WAAW;YAAE,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QACzD,IAAI,SAAS,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QACxE,IAAI,YAAY;YAAE,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC;QAEzE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAuB,qBAAqB,kBAAkB,CAAC,aAAa,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAEnJ,OAAO;YACL,MAAM,EAAE,QAAQ,CAAC,IAAI;YACrB,WAAW,EAAE,QAAQ,CAAC,YAA2B;YACjD,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACvC,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,UAAU,EAAE,KAAK,CAAC,WAAW;aAC9B,CAAC,CAAC;YACH,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACvC,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,UAAU,EAAE,KAAK,CAAC,WAAW;aAC9B,CAAC,CAAC;YACH,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ;YAC/B,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ;YAC/B,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,UAAU;YACnC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,UAAU;YACnC,YAAY,EAAE,QAAQ,CAAC,aAAa;YACpC,aAAa,EAAE,QAAQ,CAAC,cAAc;YACtC,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,QAAQ,EAAE,QAAQ,CAAC,eAAe;SACnC,CAAC;IACJ,CAAC;CACF"}
@@ -18,7 +18,6 @@
18
18
  * ```
19
19
  */
20
20
  import type { AccountBalance, GetPaginatedUserMovementsResponse, GetUserBalancesParams, GetUserBalancesResponse, GetUserMovementsParams, ProfileAPI, UserProfile } from "@0xmonaco/types";
21
- import type { Address } from "viem";
22
21
  import { BaseAPI } from "../base";
23
22
  export declare class ProfileAPIImpl extends BaseAPI implements ProfileAPI {
24
23
  /**
@@ -97,24 +96,24 @@ export declare class ProfileAPIImpl extends BaseAPI implements ProfileAPI {
97
96
  */
98
97
  getUserBalances(params?: GetUserBalancesParams): Promise<GetUserBalancesResponse>;
99
98
  /**
100
- * Get the current user's balance for a specific token.
99
+ * Get the current user's balance for a specific asset.
101
100
  *
102
- * Fetches the user's balance for a specific token from the /api/v1/accounts/balances/{token} endpoint.
103
- * Requires a valid access token to be set.
101
+ * Fetches the user's balance for a specific asset from the /api/v1/accounts/balances/{asset_id} endpoint.
102
+ * Requires a valid access token to be set. If no balance exists for a valid asset, returns zero balances.
104
103
  *
105
- * @param token - The token address (0x format)
106
- * @returns Promise resolving to the token balance
107
- * @throws {APIError} When the request fails, user is not authenticated, or balance not found (404)
104
+ * @param assetId - The asset identifier (UUID)
105
+ * @returns Promise resolving to the account balance for the asset
106
+ * @throws {APIError} When the request fails, user is not authenticated, or asset not found (404)
108
107
  *
109
108
  * @example
110
109
  * ```typescript
111
- * // Get balance for a specific token
112
- * const balance = await profileAPI.getUserBalanceByToken('0x6a86da986797d59a839d136db490292cd560c131');
110
+ * // Get balance for a specific asset
111
+ * const balance = await profileAPI.getUserBalanceByAssetId('123e4567-e89b-12d3-a456-426614174000');
113
112
  * console.log(`${balance.symbol}: ${balance.available_balance}`);
114
113
  * console.log(`Locked: ${balance.locked_balance}`);
115
114
  * console.log(`Total: ${balance.total_balance}`);
116
115
  * ```
117
116
  */
118
- getUserBalanceByToken(token: Address): Promise<AccountBalance>;
117
+ getUserBalanceByAssetId(assetId: string): Promise<AccountBalance>;
119
118
  }
120
119
  //# sourceMappingURL=api.d.ts.map
@@ -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;AACzB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpC,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,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC;CAIrE"}
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"}
@@ -17,6 +17,7 @@
17
17
  * console.log(`User: ${profile.username} (${profile.address})`);
18
18
  * ```
19
19
  */
20
+ import { APIError } from "../../errors";
20
21
  import { BaseAPI } from "../base";
21
22
  export class ProfileAPIImpl extends BaseAPI {
22
23
  /**
@@ -130,26 +131,31 @@ export class ProfileAPIImpl extends BaseAPI {
130
131
  return await this.makeAuthenticatedRequest(url);
131
132
  }
132
133
  /**
133
- * Get the current user's balance for a specific token.
134
+ * Get the current user's balance for a specific asset.
134
135
  *
135
- * Fetches the user's balance for a specific token from the /api/v1/accounts/balances/{token} endpoint.
136
- * Requires a valid access token to be set.
136
+ * Fetches the user's balance for a specific asset from the /api/v1/accounts/balances/{asset_id} endpoint.
137
+ * Requires a valid access token to be set. If no balance exists for a valid asset, returns zero balances.
137
138
  *
138
- * @param token - The token address (0x format)
139
- * @returns Promise resolving to the token balance
140
- * @throws {APIError} When the request fails, user is not authenticated, or balance not found (404)
139
+ * @param assetId - The asset identifier (UUID)
140
+ * @returns Promise resolving to the account balance for the asset
141
+ * @throws {APIError} When the request fails, user is not authenticated, or asset not found (404)
141
142
  *
142
143
  * @example
143
144
  * ```typescript
144
- * // Get balance for a specific token
145
- * const balance = await profileAPI.getUserBalanceByToken('0x6a86da986797d59a839d136db490292cd560c131');
145
+ * // Get balance for a specific asset
146
+ * const balance = await profileAPI.getUserBalanceByAssetId('123e4567-e89b-12d3-a456-426614174000');
146
147
  * console.log(`${balance.symbol}: ${balance.available_balance}`);
147
148
  * console.log(`Locked: ${balance.locked_balance}`);
148
149
  * console.log(`Total: ${balance.total_balance}`);
149
150
  * ```
150
151
  */
151
- async getUserBalanceByToken(token) {
152
- const url = `/api/v1/accounts/balances/${token}`;
152
+ async getUserBalanceByAssetId(assetId) {
153
+ if (!assetId || assetId.trim() === "") {
154
+ throw new APIError("assetId is required and cannot be empty", {
155
+ endpoint: "/api/v1/accounts/balances/{asset_id}",
156
+ });
157
+ }
158
+ const url = `/api/v1/accounts/balances/${assetId}`;
153
159
  return await this.makeAuthenticatedRequest(url);
154
160
  }
155
161
  }
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/api/profile/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAYH,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,MAAM,OAAO,cAAe,SAAQ,OAAO;IACzC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,KAAK,CAAC,UAAU;QACd,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAc,qBAAqB,CAAC,CAAC;QAErF,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE;YAC7B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,IAAI,EAAE;YAC7C,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,EAAE;SACxC,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,KAAK,CAAC,yBAAyB,CAAC,MAA+B;QAC7D,MAAM,YAAY,GAAG,IAAI,eAAe,EAAE,CAAC;QAE3C,IAAI,MAAM,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;YAC/B,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,MAAM,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC;YAChC,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,WAAW,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;QAC5C,MAAM,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,8BAA8B,WAAW,EAAE,CAAC,CAAC,CAAC,4BAA4B,CAAC;QAErG,OAAO,MAAM,IAAI,CAAC,wBAAwB,CAAoC,GAAG,CAAC,CAAC;IACrF,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,KAAK,CAAC,eAAe,CAAC,MAA8B;QAClD,MAAM,YAAY,GAAG,IAAI,eAAe,EAAE,CAAC;QAE3C,IAAI,MAAM,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC;YAChC,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,MAAM,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;YACjC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC1D,CAAC;QAED,MAAM,WAAW,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;QAC5C,MAAM,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,6BAA6B,WAAW,EAAE,CAAC,CAAC,CAAC,2BAA2B,CAAC;QAEnG,OAAO,MAAM,IAAI,CAAC,wBAAwB,CAA0B,GAAG,CAAC,CAAC;IAC3E,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,KAAK,CAAC,qBAAqB,CAAC,KAAc;QACxC,MAAM,GAAG,GAAG,6BAA6B,KAAK,EAAE,CAAC;QACjD,OAAO,MAAM,IAAI,CAAC,wBAAwB,CAAiB,GAAG,CAAC,CAAC;IAClE,CAAC;CACF"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/api/profile/api.ts"],"names":[],"mappings":"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"}