@0xmonaco/core 0.4.1 → 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.
- package/README.md +23 -8
- package/dist/api/applications/api.d.ts +1 -2
- package/dist/api/applications/api.d.ts.map +1 -1
- package/dist/api/applications/api.js +1 -2
- package/dist/api/applications/api.js.map +1 -1
- package/dist/api/applications/index.d.ts +1 -2
- package/dist/api/applications/index.d.ts.map +1 -1
- package/dist/api/applications/index.js +1 -1
- package/dist/api/applications/index.js.map +1 -1
- package/dist/api/auth/api.d.ts +1 -1
- package/dist/api/auth/api.d.ts.map +1 -1
- package/dist/api/auth/api.js +2 -2
- package/dist/api/auth/api.js.map +1 -1
- package/dist/api/auth/index.d.ts +1 -2
- package/dist/api/auth/index.d.ts.map +1 -1
- package/dist/api/auth/index.js +1 -1
- package/dist/api/auth/index.js.map +1 -1
- package/dist/api/base.d.ts +26 -1
- package/dist/api/base.d.ts.map +1 -1
- package/dist/api/base.js +173 -43
- package/dist/api/base.js.map +1 -1
- package/dist/api/fees/api.d.ts +1 -1
- package/dist/api/fees/api.d.ts.map +1 -1
- package/dist/api/fees/api.js +4 -4
- package/dist/api/fees/api.js.map +1 -1
- package/dist/api/fees/index.d.ts +1 -1
- package/dist/api/fees/index.d.ts.map +1 -1
- package/dist/api/fees/index.js +1 -1
- package/dist/api/fees/index.js.map +1 -1
- package/dist/api/index.d.ts +10 -8
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +10 -8
- package/dist/api/index.js.map +1 -1
- package/dist/api/market/api.d.ts +1 -1
- package/dist/api/market/api.d.ts.map +1 -1
- package/dist/api/market/api.js +12 -3
- package/dist/api/market/api.js.map +1 -1
- package/dist/api/market/index.d.ts +1 -2
- package/dist/api/market/index.d.ts.map +1 -1
- package/dist/api/market/index.js +1 -1
- package/dist/api/market/index.js.map +1 -1
- package/dist/api/orderbook/api.d.ts +16 -0
- package/dist/api/orderbook/api.d.ts.map +1 -0
- package/dist/api/orderbook/api.js +38 -0
- package/dist/api/orderbook/api.js.map +1 -0
- package/dist/api/orderbook/index.d.ts +2 -0
- package/dist/api/orderbook/index.d.ts.map +1 -0
- package/dist/api/orderbook/index.js +2 -0
- package/dist/api/orderbook/index.js.map +1 -0
- package/dist/api/profile/api.d.ts +10 -11
- package/dist/api/profile/api.d.ts.map +1 -1
- package/dist/api/profile/api.js +17 -11
- package/dist/api/profile/api.js.map +1 -1
- package/dist/api/profile/index.d.ts +1 -1
- package/dist/api/profile/index.d.ts.map +1 -1
- package/dist/api/profile/index.js +1 -1
- package/dist/api/profile/index.js.map +1 -1
- package/dist/api/trades/api.d.ts +45 -0
- package/dist/api/trades/api.d.ts.map +1 -0
- package/dist/api/trades/api.js +43 -0
- package/dist/api/trades/api.js.map +1 -0
- package/dist/api/trades/index.d.ts +2 -0
- package/dist/api/trades/index.d.ts.map +1 -0
- package/dist/api/trades/index.js +2 -0
- package/dist/api/trades/index.js.map +1 -0
- package/dist/api/trading/api.d.ts +1 -2
- package/dist/api/trading/api.d.ts.map +1 -1
- package/dist/api/trading/api.js +10 -2
- package/dist/api/trading/api.js.map +1 -1
- package/dist/api/trading/index.d.ts +1 -2
- package/dist/api/trading/index.d.ts.map +1 -1
- package/dist/api/trading/index.js +1 -1
- package/dist/api/trading/index.js.map +1 -1
- package/dist/api/vault/api.d.ts +17 -19
- package/dist/api/vault/api.d.ts.map +1 -1
- package/dist/api/vault/api.js +58 -46
- package/dist/api/vault/api.js.map +1 -1
- package/dist/api/vault/index.d.ts +1 -2
- package/dist/api/vault/index.d.ts.map +1 -1
- package/dist/api/vault/index.js +1 -1
- package/dist/api/vault/index.js.map +1 -1
- package/dist/api/websocket/index.d.ts +3 -9
- package/dist/api/websocket/index.d.ts.map +1 -1
- package/dist/api/websocket/index.js +3 -9
- package/dist/api/websocket/index.js.map +1 -1
- package/dist/api/websocket/types.d.ts +34 -0
- package/dist/api/websocket/types.d.ts.map +1 -0
- package/dist/api/websocket/types.js +2 -0
- package/dist/api/websocket/types.js.map +1 -0
- package/dist/api/websocket/utils.d.ts +9 -0
- package/dist/api/websocket/utils.d.ts.map +1 -0
- package/dist/api/websocket/utils.js +23 -0
- package/dist/api/websocket/utils.js.map +1 -0
- package/dist/api/websocket/websocket.d.ts +6 -0
- package/dist/api/websocket/websocket.d.ts.map +1 -0
- package/dist/api/websocket/websocket.js +309 -0
- package/dist/api/websocket/websocket.js.map +1 -0
- package/dist/errors/errors.d.ts +382 -0
- package/dist/errors/errors.d.ts.map +1 -0
- package/dist/errors/errors.js +801 -0
- package/dist/errors/errors.js.map +1 -0
- package/dist/errors/index.d.ts +2 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +2 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/index.d.ts +5 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -22
- package/dist/index.js.map +1 -1
- package/dist/networks/index.d.ts +2 -0
- package/dist/networks/index.d.ts.map +1 -0
- package/dist/networks/index.js +2 -0
- package/dist/networks/index.js.map +1 -0
- package/dist/{networks.d.ts → networks/networks.d.ts} +1 -1
- package/dist/networks/networks.d.ts.map +1 -0
- package/dist/{networks.js → networks/networks.js} +4 -3
- package/dist/networks/networks.js.map +1 -0
- package/dist/sdk.d.ts +19 -27
- package/dist/sdk.d.ts.map +1 -1
- package/dist/sdk.js +77 -107
- package/dist/sdk.js.map +1 -1
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -1
- package/dist/utils/index.js.map +1 -1
- package/package.json +5 -7
- package/dist/api/websocket/base-ws-client.d.ts +0 -85
- package/dist/api/websocket/base-ws-client.d.ts.map +0 -1
- package/dist/api/websocket/base-ws-client.js +0 -256
- package/dist/api/websocket/base-ws-client.js.map +0 -1
- package/dist/api/websocket/clients/ohlcv-ws-client.d.ts +0 -57
- package/dist/api/websocket/clients/ohlcv-ws-client.d.ts.map +0 -1
- package/dist/api/websocket/clients/ohlcv-ws-client.js +0 -132
- package/dist/api/websocket/clients/ohlcv-ws-client.js.map +0 -1
- package/dist/api/websocket/clients/orderbook-ws-client.d.ts +0 -70
- package/dist/api/websocket/clients/orderbook-ws-client.d.ts.map +0 -1
- package/dist/api/websocket/clients/orderbook-ws-client.js +0 -197
- package/dist/api/websocket/clients/orderbook-ws-client.js.map +0 -1
- package/dist/api/websocket/clients/orders-ws-client.d.ts +0 -61
- package/dist/api/websocket/clients/orders-ws-client.d.ts.map +0 -1
- package/dist/api/websocket/clients/orders-ws-client.js +0 -150
- package/dist/api/websocket/clients/orders-ws-client.js.map +0 -1
- package/dist/errors.d.ts +0 -103
- package/dist/errors.d.ts.map +0 -1
- package/dist/errors.js +0 -108
- package/dist/errors.js.map +0 -1
- package/dist/networks.d.ts.map +0 -1
- package/dist/networks.js.map +0 -1
package/README.md
CHANGED
|
@@ -19,6 +19,28 @@ Core SDK implementation for interacting with Monaco Protocol. This SDK provides
|
|
|
19
19
|
npm install @0xmonaco/core
|
|
20
20
|
```
|
|
21
21
|
|
|
22
|
+
**Required Peer Dependencies:**
|
|
23
|
+
```bash
|
|
24
|
+
npm install viem@^2.31.7
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### TypeScript Configuration
|
|
28
|
+
|
|
29
|
+
For best results, use these TypeScript settings in your `tsconfig.json`:
|
|
30
|
+
|
|
31
|
+
```json
|
|
32
|
+
{
|
|
33
|
+
"compilerOptions": {
|
|
34
|
+
"target": "ES2020",
|
|
35
|
+
"module": "nodenext",
|
|
36
|
+
"moduleResolution": "nodenext",
|
|
37
|
+
"strict": true,
|
|
38
|
+
"esModuleInterop": true,
|
|
39
|
+
"resolveJsonModule": true
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
```
|
|
43
|
+
|
|
22
44
|
## Features
|
|
23
45
|
|
|
24
46
|
### 🔐 **Authentication**
|
|
@@ -503,7 +525,7 @@ monaco.websocket.orders.subscribeToOrderEvents("BTC/USDC", "SPOT", (event) => {
|
|
|
503
525
|
The SDK uses structured error classes for comprehensive error handling:
|
|
504
526
|
|
|
505
527
|
```typescript
|
|
506
|
-
import { APIError, ContractError
|
|
528
|
+
import { APIError, ContractError } from "@0xmonaco/core";
|
|
507
529
|
|
|
508
530
|
try {
|
|
509
531
|
await sdk.vault.deposit(token, amount);
|
|
@@ -514,11 +536,6 @@ try {
|
|
|
514
536
|
} else if (error instanceof APIError) {
|
|
515
537
|
console.error("API error:", error.message);
|
|
516
538
|
console.error("Status:", error.status);
|
|
517
|
-
} else if (error instanceof TransactionError) {
|
|
518
|
-
console.error("Transaction error:", error.message);
|
|
519
|
-
} else if (error instanceof OrderError) {
|
|
520
|
-
console.error("Order error:", error.message);
|
|
521
|
-
console.error("Market:", error.market);
|
|
522
539
|
}
|
|
523
540
|
}
|
|
524
541
|
```
|
|
@@ -527,8 +544,6 @@ try {
|
|
|
527
544
|
- `MonacoCoreError`: Base error class for all SDK errors
|
|
528
545
|
- `APIError`: API request failures and communication errors
|
|
529
546
|
- `ContractError`: Smart contract operation errors
|
|
530
|
-
- `TransactionError`: Blockchain transaction errors
|
|
531
|
-
- `OrderError`: Trading order specific errors
|
|
532
547
|
- `InvalidConfigError`: Configuration validation errors
|
|
533
548
|
- `InvalidStateError`: Invalid state or operation errors
|
|
534
549
|
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
* ```
|
|
19
19
|
*/
|
|
20
20
|
import type { ApplicationConfigResponse, ApplicationsAPI } from "@0xmonaco/types";
|
|
21
|
-
import { BaseAPI } from "../base
|
|
21
|
+
import { BaseAPI } from "../base";
|
|
22
22
|
export declare class ApplicationsAPIImpl extends BaseAPI implements ApplicationsAPI {
|
|
23
23
|
/**
|
|
24
24
|
* Gets the configuration for the authenticated application.
|
|
@@ -34,7 +34,6 @@ export declare class ApplicationsAPIImpl extends BaseAPI implements Applications
|
|
|
34
34
|
* const config = await applicationsAPI.getApplicationConfig();
|
|
35
35
|
* console.log(`Application: ${config.name}`);
|
|
36
36
|
* console.log(`ID: ${config.id}`);
|
|
37
|
-
* console.log(`Allowed origins: ${config.allowedOrigins.join(', ')}`);
|
|
38
37
|
* if (config.webhookUrl) {
|
|
39
38
|
* console.log(`Webhook: ${config.webhookUrl}`);
|
|
40
39
|
* }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/api/applications/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,yBAAyB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClF,OAAO,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/api/applications/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,yBAAyB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClF,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,qBAAa,mBAAoB,SAAQ,OAAQ,YAAW,eAAe;IACzE;;;;;;;;;;;;;;;;;;OAkBG;IACG,oBAAoB,IAAI,OAAO,CAAC,yBAAyB,CAAC;CAkBjE"}
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
* console.log(`Allowed origins: ${config.allowedOrigins.join(', ')}`);
|
|
18
18
|
* ```
|
|
19
19
|
*/
|
|
20
|
-
import { BaseAPI } from "../base
|
|
20
|
+
import { BaseAPI } from "../base";
|
|
21
21
|
export class ApplicationsAPIImpl extends BaseAPI {
|
|
22
22
|
/**
|
|
23
23
|
* Gets the configuration for the authenticated application.
|
|
@@ -33,7 +33,6 @@ export class ApplicationsAPIImpl extends BaseAPI {
|
|
|
33
33
|
* const config = await applicationsAPI.getApplicationConfig();
|
|
34
34
|
* console.log(`Application: ${config.name}`);
|
|
35
35
|
* console.log(`ID: ${config.id}`);
|
|
36
|
-
* console.log(`Allowed origins: ${config.allowedOrigins.join(', ')}`);
|
|
37
36
|
* if (config.webhookUrl) {
|
|
38
37
|
* console.log(`Webhook: ${config.webhookUrl}`);
|
|
39
38
|
* }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/api/applications/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/api/applications/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,MAAM,OAAO,mBAAoB,SAAQ,OAAO;IAC9C;;;;;;;;;;;;;;;;;;OAkBG;IACH,KAAK,CAAC,oBAAoB;QACxB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAM7C,6BAA6B,EAAE;YAChC,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;QACH,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,cAAc,EAAE,IAAI,CAAC,eAAe;YACpC,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,oBAAoB,EAAE,IAAI,CAAC,sBAAsB;SAClD,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/applications/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,
|
|
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;
|
|
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"}
|
package/dist/api/auth/api.d.ts
CHANGED
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
*/
|
|
31
31
|
import type { AuthAPI, AuthState, BackendAuthResponse, ChallengeResponse, TokenRefreshResponse } from "@0xmonaco/types";
|
|
32
32
|
import type { Chain, WalletClient } from "viem";
|
|
33
|
-
import { BaseAPI } from "../base
|
|
33
|
+
import { BaseAPI } from "../base";
|
|
34
34
|
export declare class AuthAPIImpl extends BaseAPI implements AuthAPI {
|
|
35
35
|
private readonly walletClient;
|
|
36
36
|
private readonly chain;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/api/auth/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACxH,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAEhD,OAAO,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/api/auth/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACxH,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAEhD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,qBAAa,WAAY,SAAQ,OAAQ,YAAW,OAAO;IASvD,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,KAAK;IATxB;;;;;;OAMG;gBAEgB,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,KAAK,EAC7B,MAAM,EAAE,MAAM;IAKhB;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAgBxD;;;;;;;;;;;;;;;;;OAiBG;IACG,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAarD;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAqBpF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACG,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAiC9G;;;;;;;;;;;;;;;;OAgBG;IACG,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA4B1E;;;;;;;;;;;;;;;;;OAiBG;IACG,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAiBvE;;;;;;;;;;;;;;;;;;;OAmBG;IACG,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAQvD"}
|
package/dist/api/auth/api.js
CHANGED
|
@@ -28,8 +28,8 @@
|
|
|
28
28
|
* const backendAuth = await authAPI.authenticateBackend(secretKey);
|
|
29
29
|
* ```
|
|
30
30
|
*/
|
|
31
|
-
import { InvalidConfigError } from "../../errors
|
|
32
|
-
import { BaseAPI } from "../base
|
|
31
|
+
import { InvalidConfigError } from "../../errors";
|
|
32
|
+
import { BaseAPI } from "../base";
|
|
33
33
|
export class AuthAPIImpl extends BaseAPI {
|
|
34
34
|
/**
|
|
35
35
|
* Creates a new AuthAPI instance.
|
package/dist/api/auth/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/api/auth/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAIH,OAAO,EAAE,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/api/auth/api.ts"],"names":[],"mappings":"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"}
|
package/dist/api/auth/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/auth/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,
|
|
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"}
|
package/dist/api/auth/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/auth/index.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
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"}
|
package/dist/api/base.d.ts
CHANGED
|
@@ -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
|
*
|
package/dist/api/base.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/api/base.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;
|
|
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
|
@@ -20,15 +20,21 @@
|
|
|
20
20
|
* }
|
|
21
21
|
* ```
|
|
22
22
|
*/
|
|
23
|
-
import { APIError } from "../errors
|
|
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.",
|
|
78
|
-
|
|
79
|
-
|
|
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
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
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
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
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
|
package/dist/api/base.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/api/base.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/api/base.ts"],"names":[],"mappings":"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"}
|
package/dist/api/fees/api.d.ts
CHANGED
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
* ```
|
|
23
23
|
*/
|
|
24
24
|
import type { FeesAPI, SimulateFeeParams, SimulateFeeResponse } from "@0xmonaco/types";
|
|
25
|
-
import { BaseAPI } from "../base
|
|
25
|
+
import { BaseAPI } from "../base";
|
|
26
26
|
export declare class FeesAPIImpl extends BaseAPI implements FeesAPI {
|
|
27
27
|
/**
|
|
28
28
|
* Simulate fees for an order before placing it.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/api/fees/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEvF,OAAO,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/api/fees/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEvF,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,qBAAa,WAAY,SAAQ,OAAQ,YAAW,OAAO;IACzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAyCG;IACG,YAAY,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAgB5E"}
|
package/dist/api/fees/api.js
CHANGED
|
@@ -21,8 +21,8 @@
|
|
|
21
21
|
* });
|
|
22
22
|
* ```
|
|
23
23
|
*/
|
|
24
|
-
import { SimulateFeeParamsSchema } from "@0xmonaco/types";
|
|
25
|
-
import { BaseAPI } from "../base
|
|
24
|
+
import { SimulateFeeParamsSchema, validate } from "@0xmonaco/types";
|
|
25
|
+
import { BaseAPI } from "../base";
|
|
26
26
|
export class FeesAPIImpl extends BaseAPI {
|
|
27
27
|
/**
|
|
28
28
|
* Simulate fees for an order before placing it.
|
|
@@ -67,8 +67,8 @@ export class FeesAPIImpl extends BaseAPI {
|
|
|
67
67
|
* ```
|
|
68
68
|
*/
|
|
69
69
|
async simulateFees(params) {
|
|
70
|
-
// Validate parameters using
|
|
71
|
-
const validatedParams = SimulateFeeParamsSchema
|
|
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);
|
package/dist/api/fees/api.js.map
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/api/fees/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/fees/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/fees/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC"}
|
package/dist/api/fees/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/fees/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/fees/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC"}
|