@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.
- package/dist/api/trading/api.d.ts +33 -4
- package/dist/api/trading/api.d.ts.map +1 -1
- package/dist/api/trading/api.js +44 -3
- package/dist/api/trading/api.js.map +1 -1
- package/dist/api/vault/api.d.ts +10 -1
- package/dist/api/vault/api.d.ts.map +1 -1
- package/dist/api/vault/api.js +46 -67
- package/dist/api/vault/api.js.map +1 -1
- package/package.json +48 -48
|
@@ -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., "
|
|
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
|
|
208
|
+
* // Get submitted orders for a specific trading pair with custom pagination
|
|
180
209
|
* const orders = await tradingAPI.getPaginatedOrders({
|
|
181
|
-
* status: "
|
|
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;
|
|
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"}
|
package/dist/api/trading/api.js
CHANGED
|
@@ -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., "
|
|
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
|
|
268
|
+
* // Get submitted orders for a specific trading pair with custom pagination
|
|
228
269
|
* const orders = await tradingAPI.getPaginatedOrders({
|
|
229
|
-
* status: "
|
|
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":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/api/trading/api.ts"],"names":[],"mappings":"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"}
|
package/dist/api/vault/api.d.ts
CHANGED
|
@@ -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,
|
|
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"}
|
package/dist/api/vault/api.js
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,gBAAgB,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAChH,OAAO,EAA4B,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAkD,MAAM,MAAM,CAAC;
|
|
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
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
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
|
+
}
|