@0xmonaco/core 0.0.0-develop-20260128054439 → 0.0.0-develop-20260129174410

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.
@@ -24,7 +24,7 @@
24
24
  * const openOrders = await tradingAPI.getOpenOrders({ market: "ETH-USD" });
25
25
  * ```
26
26
  */
27
- import type { CancelOrderResponse, CreateOrderResponse, GetOrderResponse, GetPaginatedOrdersParams, GetPaginatedOrdersResponse, OrderSide, ReplaceOrderResponse, TimeInForce, TradingAPI, TradingMode } from "@0xmonaco/types";
27
+ import type { BatchCancelOrdersResponse, 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
  /**
@@ -155,6 +155,35 @@ export declare class TradingAPIImpl extends BaseAPI implements TradingAPI {
155
155
  * ```
156
156
  */
157
157
  cancelOrder(orderId: string): Promise<CancelOrderResponse>;
158
+ /**
159
+ * Batch cancels multiple orders in a single request.
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.
163
+ *
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
167
+ * @returns Promise resolving to BatchCancelOrdersResponse with cancellation details
168
+ * @throws {APIError} When API communication fails
169
+ *
170
+ * @example
171
+ * ```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`);
177
+ *
178
+ * // Cancel all active orders
179
+ * const allCanceled = await tradingAPI.batchCancelOrders({ cancelAll: true });
180
+ * console.log(`Canceled all ${allCanceled.total_canceled} active orders`);
181
+ * ```
182
+ */
183
+ batchCancelOrders(options: {
184
+ orderIds?: string[];
185
+ cancelAll?: boolean;
186
+ }): Promise<BatchCancelOrdersResponse>;
158
187
  replaceOrder(orderId: string, newOrder: {
159
188
  price?: string;
160
189
  quantity?: string;
@@ -167,7 +196,7 @@ export declare class TradingAPIImpl extends BaseAPI implements TradingAPI {
167
196
  * Pagination parameters are always included with sensible defaults for consistent API behavior.
168
197
  *
169
198
  * @param params - Query parameters for filtering orders
170
- * @param params.status - Filter by order status (e.g., "PENDING", "FILLED") (optional)
199
+ * @param params.status - Filter by order status (e.g., "SUBMITTED", "FILLED") (optional)
171
200
  * @param params.trading_pair - Filter by trading pair (e.g., "USDCo/MTK") (optional)
172
201
  * @param params.page - Page number for pagination (defaults to 1, must be > 0)
173
202
  * @param params.page_size - Number of orders per page (defaults to 10, max 100, must be > 0)
@@ -176,9 +205,9 @@ export declare class TradingAPIImpl extends BaseAPI implements TradingAPI {
176
205
  *
177
206
  * @example
178
207
  * ```typescript
179
- * // Get pending orders for a specific trading pair with custom pagination
208
+ * // Get submitted orders for a specific trading pair with custom pagination
180
209
  * const orders = await tradingAPI.getPaginatedOrders({
181
- * status: "PENDING",
210
+ * status: "SUBMITTED",
182
211
  * trading_pair: "USDCo/MTK",
183
212
  * page: 1,
184
213
  * page_size: 20
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/api/trading/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EACV,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;IAW1D,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,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"}
@@ -193,6 +193,47 @@ export class TradingAPIImpl extends BaseAPI {
193
193
  body: JSON.stringify(requestBody),
194
194
  });
195
195
  }
196
+ /**
197
+ * Batch cancels multiple orders in a single request.
198
+ *
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.
201
+ *
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
205
+ * @returns Promise resolving to BatchCancelOrdersResponse with cancellation details
206
+ * @throws {APIError} When API communication fails
207
+ *
208
+ * @example
209
+ * ```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`);
215
+ *
216
+ * // Cancel all active orders
217
+ * const allCanceled = await tradingAPI.batchCancelOrders({ cancelAll: true });
218
+ * console.log(`Canceled all ${allCanceled.total_canceled} active orders`);
219
+ * ```
220
+ */
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, {
233
+ method: "POST",
234
+ body: JSON.stringify(requestBody),
235
+ });
236
+ }
196
237
  async replaceOrder(orderId, newOrder) {
197
238
  const requestBody = {
198
239
  use_master_balance: newOrder.useMasterBalance ?? false,
@@ -215,7 +256,7 @@ export class TradingAPIImpl extends BaseAPI {
215
256
  * Pagination parameters are always included with sensible defaults for consistent API behavior.
216
257
  *
217
258
  * @param params - Query parameters for filtering orders
218
- * @param params.status - Filter by order status (e.g., "PENDING", "FILLED") (optional)
259
+ * @param params.status - Filter by order status (e.g., "SUBMITTED", "FILLED") (optional)
219
260
  * @param params.trading_pair - Filter by trading pair (e.g., "USDCo/MTK") (optional)
220
261
  * @param params.page - Page number for pagination (defaults to 1, must be > 0)
221
262
  * @param params.page_size - Number of orders per page (defaults to 10, max 100, must be > 0)
@@ -224,9 +265,9 @@ export class TradingAPIImpl extends BaseAPI {
224
265
  *
225
266
  * @example
226
267
  * ```typescript
227
- * // Get pending orders for a specific trading pair with custom pagination
268
+ * // Get submitted orders for a specific trading pair with custom pagination
228
269
  * const orders = await tradingAPI.getPaginatedOrders({
229
- * status: "PENDING",
270
+ * status: "SUBMITTED",
230
271
  * trading_pair: "USDCo/MTK",
231
272
  * page: 1,
232
273
  * page_size: 20
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/api/trading/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/api/trading/api.ts"],"names":[],"mappings":"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"}
@@ -60,6 +60,15 @@ export declare class VaultAPIImpl extends BaseAPI implements VaultAPI {
60
60
  * @private
61
61
  */
62
62
  getVaultAddress(): Promise<Address>;
63
+ /**
64
+ * Resolves an asset ID to its token address and determines if it's a native token.
65
+ *
66
+ * @param assetId - The asset identifier (UUID) to resolve
67
+ * @returns Promise resolving to object with tokenAddress and isNativeToken flag
68
+ * @throws {ContractError} When asset ID cannot be resolved
69
+ * @private
70
+ */
71
+ private resolveAsset;
63
72
  /**
64
73
  * Approves the vault contract to spend tokens on behalf of the user.
65
74
  *
@@ -102,7 +111,7 @@ export declare class VaultAPIImpl extends BaseAPI implements VaultAPI {
102
111
  * first checks if sufficient approval exists, then obtains a signature from the
103
112
  * API Gateway, and finally executes the deposit transaction on-chain.
104
113
  *
105
- * Note: This method requires prior approval via the approve() method.
114
+ * Note: This method requires prior approval via the `approve()` method.
106
115
  *
107
116
  * @param assetId - The asset identifier (UUID) to deposit
108
117
  * @param amount - The amount of tokens to deposit (as bigint)
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/api/vault/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEzG,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,KAAK,EAAgD,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,MAAM,CAAC;AAEpI,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,qBAAa,YAAa,SAAQ,OAAQ,YAAW,QAAQ;IAgBzD,OAAO,CAAC,QAAQ,CAAC,YAAY;IAE7B,OAAO,CAAC,QAAQ,CAAC,KAAK;IAjBxB,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,YAAY,CAA2B;IAE/C;;;;;;;;;OASG;gBAEgB,YAAY,EAAE,YAAY,EAC3C,YAAY,EAAE,YAAY,GAAG,SAAS,EACrB,KAAK,EAAE,KAAK,EAC7B,eAAe,EAAE,eAAe,EAChC,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM;IAQhB;;;OAGG;IACH,eAAe,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI;IAIjD;;;;;;OAMG;IACG,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IAKzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACG,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAkDpG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACG,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA2EpG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAgErG;;;;;;;;;;;;;;;;OAgBG;IACG,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAkDnD;;;;;;;;;;;;;;;OAeG;IACG,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA4BpD;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACG,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKtE;;;;;;;;;;;;OAYG;YACW,mBAAmB;IAiBjC;;;;;;;;;;;;OAYG;YACW,oBAAoB;YAiBpB,kBAAkB;CA8BjC"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/api/vault/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEzG,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,KAAK,EAAgD,KAAK,YAAY,EAAE,KAAK,YAAY,EAAe,MAAM,MAAM,CAAC;AAEjJ,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,qBAAa,YAAa,SAAQ,OAAQ,YAAW,QAAQ;IAgBzD,OAAO,CAAC,QAAQ,CAAC,YAAY;IAE7B,OAAO,CAAC,QAAQ,CAAC,KAAK;IAjBxB,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,YAAY,CAA2B;IAE/C;;;;;;;;;OASG;gBAEgB,YAAY,EAAE,YAAY,EAC3C,YAAY,EAAE,YAAY,GAAG,SAAS,EACrB,KAAK,EAAE,KAAK,EAC7B,eAAe,EAAE,eAAe,EAChC,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM;IAQhB;;;OAGG;IACH,eAAe,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI;IAIjD;;;;;;OAMG;IACG,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IAKzC;;;;;;;OAOG;YACW,YAAY;IA+B1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACG,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAuCpG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACG,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA6DpG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAkDrG;;;;;;;;;;;;;;;;OAgBG;IACG,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAuCnD;;;;;;;;;;;;;;;OAeG;IACG,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAiBpD;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACG,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKtE;;;;;;;;;;;;OAYG;YACW,mBAAmB;IAiBjC;;;;;;;;;;;;OAYG;YACW,oBAAoB;YAiBpB,kBAAkB;CA8BjC"}
@@ -29,8 +29,8 @@
29
29
  */
30
30
  import { CONTRACT_ABIS } from "@0xmonaco/contracts";
31
31
  import { ApproveTokenSchema, DepositSchema, GetBalanceSchema, validate, WithdrawSchema } from "@0xmonaco/types";
32
- import { erc20Abi, formatUnits, getContract } from "viem";
33
- import { ContractError, InvalidConfigError } from "../../errors";
32
+ import { erc20Abi, formatUnits, getContract, zeroAddress } from "viem";
33
+ import { APIError, ContractError, InvalidConfigError } from "../../errors";
34
34
  import { BaseAPI } from "../base";
35
35
  export class VaultAPIImpl extends BaseAPI {
36
36
  /**
@@ -69,6 +69,44 @@ export class VaultAPIImpl extends BaseAPI {
69
69
  const config = await this.applicationsAPI.getApplicationConfig();
70
70
  return config.vaultContractAddress;
71
71
  }
72
+ /**
73
+ * Resolves an asset ID to its token address and determines if it's a native token.
74
+ *
75
+ * @param assetId - The asset identifier (UUID) to resolve
76
+ * @returns Promise resolving to object with tokenAddress and isNativeToken flag
77
+ * @throws {ContractError} When asset ID cannot be resolved
78
+ * @private
79
+ */
80
+ async resolveAsset(assetId) {
81
+ let tokenAddress;
82
+ try {
83
+ const assetBalance = await this.profileAPI.getUserBalanceByAssetId(assetId);
84
+ tokenAddress = assetBalance.token;
85
+ }
86
+ catch (error) {
87
+ // Differentiate between network errors and asset not found
88
+ if (error instanceof APIError) {
89
+ if (error.statusCode === 404) {
90
+ throw new ContractError(`Asset ID '${assetId}' does not exist`, {
91
+ revertReason: "ASSET_NOT_FOUND",
92
+ cause: error,
93
+ });
94
+ }
95
+ // Network or other API errors - preserve retryability context
96
+ throw new ContractError(`Failed to resolve asset ID '${assetId}': ${error.retryable ? "Network error occurred" : "API request failed"}`, {
97
+ revertReason: error.retryable ? "NETWORK_ERROR" : "API_ERROR",
98
+ cause: error,
99
+ });
100
+ }
101
+ // Unknown error type
102
+ throw new ContractError(`Failed to resolve asset ID '${assetId}': Unexpected error`, {
103
+ revertReason: "UNKNOWN_ERROR",
104
+ cause: error instanceof Error ? error : undefined,
105
+ });
106
+ }
107
+ const isNativeToken = tokenAddress === zeroAddress;
108
+ return { tokenAddress, isNativeToken };
109
+ }
72
110
  /**
73
111
  * Approves the vault contract to spend tokens on behalf of the user.
74
112
  *
@@ -110,18 +148,7 @@ export class VaultAPIImpl extends BaseAPI {
110
148
  // Validate inputs
111
149
  validate(ApproveTokenSchema, { assetId, amount, autoWait });
112
150
  const vaultAddress = await this.getVaultAddress();
113
- // Look up token address from asset ID
114
- let tokenAddress;
115
- try {
116
- const assetBalance = await this.profileAPI.getUserBalanceByAssetId(assetId);
117
- tokenAddress = assetBalance.token;
118
- }
119
- catch (error) {
120
- throw new ContractError(`Failed to resolve asset ID '${assetId}': Asset not found or invalid`, {
121
- revertReason: "ASSET_NOT_FOUND",
122
- cause: error instanceof Error ? error : undefined,
123
- });
124
- }
151
+ const { tokenAddress } = await this.resolveAsset(assetId);
125
152
  const account = this.walletClient.account;
126
153
  if (!account) {
127
154
  throw new InvalidConfigError("No account available in wallet client", "account");
@@ -151,7 +178,7 @@ export class VaultAPIImpl extends BaseAPI {
151
178
  * first checks if sufficient approval exists, then obtains a signature from the
152
179
  * API Gateway, and finally executes the deposit transaction on-chain.
153
180
  *
154
- * Note: This method requires prior approval via the approve() method.
181
+ * Note: This method requires prior approval via the `approve()` method.
155
182
  *
156
183
  * @param assetId - The asset identifier (UUID) to deposit
157
184
  * @param amount - The amount of tokens to deposit (as bigint)
@@ -188,20 +215,7 @@ export class VaultAPIImpl extends BaseAPI {
188
215
  // Validate inputs
189
216
  validate(DepositSchema, { assetId, amount, autoWait });
190
217
  const vaultAddress = await this.getVaultAddress();
191
- // Look up token address from asset ID
192
- let tokenAddress;
193
- try {
194
- const assetBalance = await this.profileAPI.getUserBalanceByAssetId(assetId);
195
- tokenAddress = assetBalance.token;
196
- }
197
- catch (error) {
198
- throw new ContractError(`Failed to resolve asset ID '${assetId}': Asset not found or invalid`, {
199
- revertReason: "ASSET_NOT_FOUND",
200
- cause: error instanceof Error ? error : undefined,
201
- });
202
- }
203
- // Native SEI has a zero address token - skip allowance check (no ERC20 approval needed)
204
- const isNativeToken = tokenAddress === "0x0000000000000000000000000000000000000000";
218
+ const { tokenAddress, isNativeToken } = await this.resolveAsset(assetId);
205
219
  if (!isNativeToken) {
206
220
  // Check if approval is needed before proceeding
207
221
  const needsApproval = await this.needsApproval(assetId, amount);
@@ -289,20 +303,7 @@ export class VaultAPIImpl extends BaseAPI {
289
303
  }
290
304
  validate(WithdrawSchema, { assetId, amount, autoWait });
291
305
  const vaultAddress = await this.getVaultAddress();
292
- // Look up token address from asset ID
293
- let tokenAddress;
294
- try {
295
- const assetBalance = await this.profileAPI.getUserBalanceByAssetId(assetId);
296
- tokenAddress = assetBalance.token;
297
- }
298
- catch (error) {
299
- throw new ContractError(`Failed to resolve asset ID '${assetId}': Asset not found or invalid`, {
300
- revertReason: "ASSET_NOT_FOUND",
301
- cause: error instanceof Error ? error : undefined,
302
- });
303
- }
304
- // Native SEI has a zero address token
305
- const isNativeToken = tokenAddress === "0x0000000000000000000000000000000000000000";
306
+ const { tokenAddress, isNativeToken } = await this.resolveAsset(assetId);
306
307
  // Get signature from backend API using asset_id
307
308
  const { seed, signature } = await this.getWithdrawSignature(assetId, amount);
308
309
  const walletAccount = this.walletClient.account;
@@ -364,18 +365,7 @@ export class VaultAPIImpl extends BaseAPI {
364
365
  // Validate inputs
365
366
  validate(GetBalanceSchema, { assetId });
366
367
  const vaultAddress = await this.getVaultAddress();
367
- // Look up token address from asset ID
368
- let tokenAddress;
369
- try {
370
- const assetBalance = await this.profileAPI.getUserBalanceByAssetId(assetId);
371
- tokenAddress = assetBalance.token;
372
- }
373
- catch (error) {
374
- throw new ContractError(`Failed to resolve asset ID '${assetId}': Asset not found or invalid`, {
375
- revertReason: "ASSET_NOT_FOUND",
376
- cause: error instanceof Error ? error : undefined,
377
- });
378
- }
368
+ const { tokenAddress } = await this.resolveAsset(assetId);
379
369
  const [account] = await this.walletClient.getAddresses();
380
370
  // Get balance from vault contract
381
371
  const balance = (await this.publicClient.readContract({
@@ -421,18 +411,7 @@ export class VaultAPIImpl extends BaseAPI {
421
411
  }
422
412
  const vaultAddress = await this.getVaultAddress();
423
413
  const [account] = await this.walletClient.getAddresses();
424
- // Look up token address from asset ID
425
- let tokenAddress;
426
- try {
427
- const assetBalance = await this.profileAPI.getUserBalanceByAssetId(assetId);
428
- tokenAddress = assetBalance.token;
429
- }
430
- catch (error) {
431
- throw new ContractError(`Failed to resolve asset ID '${assetId}': Asset not found or invalid`, {
432
- revertReason: "ASSET_NOT_FOUND",
433
- cause: error instanceof Error ? error : undefined,
434
- });
435
- }
414
+ const { tokenAddress } = await this.resolveAsset(assetId);
436
415
  return (await this.publicClient.readContract({
437
416
  address: tokenAddress,
438
417
  abi: erc20Abi,
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/api/vault/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/api/vault/api.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,49 +1,49 @@
1
1
  {
2
- "name": "@0xmonaco/core",
3
- "version": "0.0.0-develop-20260128054439",
4
- "type": "module",
5
- "main": "./dist/index.js",
6
- "module": "./dist/index.js",
7
- "types": "./dist/index.d.ts",
8
- "files": [
9
- "dist"
10
- ],
11
- "peerDependencies": {
12
- "viem": "^2.0.0"
13
- },
14
- "dependencies": {
15
- "@0xmonaco/contracts": "0.0.0-develop-20260128054439",
16
- "@0xmonaco/types": "0.0.0-develop-20260128054439",
17
- "http-status-codes": "^2.3.0"
18
- },
19
- "devDependencies": {
20
- "@types/node": "^20.11.30",
21
- "@types/ws": "^8.18.1",
22
- "@vitest/coverage-v8": "^1.3.1",
23
- "dotenv": "^17.1.0",
24
- "typescript": "5.9.2",
25
- "vitest": "^1.3.1",
26
- "ws": "^8.18.3"
27
- },
28
- "exports": {
29
- ".": {
30
- "types": "./dist/index.d.ts",
31
- "default": "./dist/index.js"
32
- }
33
- },
34
- "scripts": {
35
- "build": "tsc -b",
36
- "dev": "tsc --watch",
37
- "clean": "rm -rf dist",
38
- "lint": "eslint src --ext .ts",
39
- "test": "vitest run --config vitest.config.ts",
40
- "test:unit": "vitest run --config tests/configs/unit.config.ts",
41
- "test:integration": "vitest run --config tests/configs/integration.config.ts",
42
- "test:coverage": "vitest run --coverage --config vitest.config.ts",
43
- "test:coverage:unit": "vitest run --coverage --config tests/configs/unit.config.ts",
44
- "test:coverage:integration": "vitest run --coverage --config tests/configs/integration.config.ts",
45
- "test:watch": "vitest --config vitest.config.ts --watch",
46
- "test:watch:unit": "vitest --config tests/configs/unit.config.ts --watch",
47
- "test:watch:integration": "vitest --config tests/configs/integration.config.ts --watch"
48
- }
49
- }
2
+ "name": "@0xmonaco/core",
3
+ "version": "0.0.0-develop-20260129174410",
4
+ "type": "module",
5
+ "main": "./dist/index.js",
6
+ "module": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "files": [
9
+ "dist"
10
+ ],
11
+ "scripts": {
12
+ "build": "tsc -b",
13
+ "dev": "tsc --watch",
14
+ "clean": "rm -rf dist",
15
+ "lint": "eslint src --ext .ts",
16
+ "test": "vitest run --config vitest.config.ts",
17
+ "test:unit": "vitest run --config tests/configs/unit.config.ts",
18
+ "test:integration": "vitest run --config tests/configs/integration.config.ts",
19
+ "test:coverage": "vitest run --coverage --config vitest.config.ts",
20
+ "test:coverage:unit": "vitest run --coverage --config tests/configs/unit.config.ts",
21
+ "test:coverage:integration": "vitest run --coverage --config tests/configs/integration.config.ts",
22
+ "test:watch": "vitest --config vitest.config.ts --watch",
23
+ "test:watch:unit": "vitest --config tests/configs/unit.config.ts --watch",
24
+ "test:watch:integration": "vitest --config tests/configs/integration.config.ts --watch"
25
+ },
26
+ "peerDependencies": {
27
+ "viem": "^2.0.0"
28
+ },
29
+ "dependencies": {
30
+ "@0xmonaco/contracts": "workspace:0.0.0-develop-20260129174410",
31
+ "@0xmonaco/types": "workspace:0.0.0-develop-20260129174410",
32
+ "http-status-codes": "^2.3.0"
33
+ },
34
+ "devDependencies": {
35
+ "@types/node": "^20.11.30",
36
+ "@types/ws": "^8.18.1",
37
+ "@vitest/coverage-v8": "^1.3.1",
38
+ "dotenv": "^17.1.0",
39
+ "typescript": "5.9.2",
40
+ "vitest": "^1.3.1",
41
+ "ws": "^8.18.3"
42
+ },
43
+ "exports": {
44
+ ".": {
45
+ "types": "./dist/index.d.ts",
46
+ "default": "./dist/index.js"
47
+ }
48
+ }
49
+ }