@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.
Files changed (148) hide show
  1. package/README.md +23 -8
  2. package/dist/api/applications/api.d.ts +1 -2
  3. package/dist/api/applications/api.d.ts.map +1 -1
  4. package/dist/api/applications/api.js +1 -2
  5. package/dist/api/applications/api.js.map +1 -1
  6. package/dist/api/applications/index.d.ts +1 -2
  7. package/dist/api/applications/index.d.ts.map +1 -1
  8. package/dist/api/applications/index.js +1 -1
  9. package/dist/api/applications/index.js.map +1 -1
  10. package/dist/api/auth/api.d.ts +1 -1
  11. package/dist/api/auth/api.d.ts.map +1 -1
  12. package/dist/api/auth/api.js +2 -2
  13. package/dist/api/auth/api.js.map +1 -1
  14. package/dist/api/auth/index.d.ts +1 -2
  15. package/dist/api/auth/index.d.ts.map +1 -1
  16. package/dist/api/auth/index.js +1 -1
  17. package/dist/api/auth/index.js.map +1 -1
  18. package/dist/api/base.d.ts +26 -1
  19. package/dist/api/base.d.ts.map +1 -1
  20. package/dist/api/base.js +173 -43
  21. package/dist/api/base.js.map +1 -1
  22. package/dist/api/fees/api.d.ts +1 -1
  23. package/dist/api/fees/api.d.ts.map +1 -1
  24. package/dist/api/fees/api.js +4 -4
  25. package/dist/api/fees/api.js.map +1 -1
  26. package/dist/api/fees/index.d.ts +1 -1
  27. package/dist/api/fees/index.d.ts.map +1 -1
  28. package/dist/api/fees/index.js +1 -1
  29. package/dist/api/fees/index.js.map +1 -1
  30. package/dist/api/index.d.ts +10 -8
  31. package/dist/api/index.d.ts.map +1 -1
  32. package/dist/api/index.js +10 -8
  33. package/dist/api/index.js.map +1 -1
  34. package/dist/api/market/api.d.ts +1 -1
  35. package/dist/api/market/api.d.ts.map +1 -1
  36. package/dist/api/market/api.js +12 -3
  37. package/dist/api/market/api.js.map +1 -1
  38. package/dist/api/market/index.d.ts +1 -2
  39. package/dist/api/market/index.d.ts.map +1 -1
  40. package/dist/api/market/index.js +1 -1
  41. package/dist/api/market/index.js.map +1 -1
  42. package/dist/api/orderbook/api.d.ts +16 -0
  43. package/dist/api/orderbook/api.d.ts.map +1 -0
  44. package/dist/api/orderbook/api.js +38 -0
  45. package/dist/api/orderbook/api.js.map +1 -0
  46. package/dist/api/orderbook/index.d.ts +2 -0
  47. package/dist/api/orderbook/index.d.ts.map +1 -0
  48. package/dist/api/orderbook/index.js +2 -0
  49. package/dist/api/orderbook/index.js.map +1 -0
  50. package/dist/api/profile/api.d.ts +10 -11
  51. package/dist/api/profile/api.d.ts.map +1 -1
  52. package/dist/api/profile/api.js +17 -11
  53. package/dist/api/profile/api.js.map +1 -1
  54. package/dist/api/profile/index.d.ts +1 -1
  55. package/dist/api/profile/index.d.ts.map +1 -1
  56. package/dist/api/profile/index.js +1 -1
  57. package/dist/api/profile/index.js.map +1 -1
  58. package/dist/api/trades/api.d.ts +45 -0
  59. package/dist/api/trades/api.d.ts.map +1 -0
  60. package/dist/api/trades/api.js +43 -0
  61. package/dist/api/trades/api.js.map +1 -0
  62. package/dist/api/trades/index.d.ts +2 -0
  63. package/dist/api/trades/index.d.ts.map +1 -0
  64. package/dist/api/trades/index.js +2 -0
  65. package/dist/api/trades/index.js.map +1 -0
  66. package/dist/api/trading/api.d.ts +1 -2
  67. package/dist/api/trading/api.d.ts.map +1 -1
  68. package/dist/api/trading/api.js +10 -2
  69. package/dist/api/trading/api.js.map +1 -1
  70. package/dist/api/trading/index.d.ts +1 -2
  71. package/dist/api/trading/index.d.ts.map +1 -1
  72. package/dist/api/trading/index.js +1 -1
  73. package/dist/api/trading/index.js.map +1 -1
  74. package/dist/api/vault/api.d.ts +17 -19
  75. package/dist/api/vault/api.d.ts.map +1 -1
  76. package/dist/api/vault/api.js +58 -46
  77. package/dist/api/vault/api.js.map +1 -1
  78. package/dist/api/vault/index.d.ts +1 -2
  79. package/dist/api/vault/index.d.ts.map +1 -1
  80. package/dist/api/vault/index.js +1 -1
  81. package/dist/api/vault/index.js.map +1 -1
  82. package/dist/api/websocket/index.d.ts +3 -9
  83. package/dist/api/websocket/index.d.ts.map +1 -1
  84. package/dist/api/websocket/index.js +3 -9
  85. package/dist/api/websocket/index.js.map +1 -1
  86. package/dist/api/websocket/types.d.ts +34 -0
  87. package/dist/api/websocket/types.d.ts.map +1 -0
  88. package/dist/api/websocket/types.js +2 -0
  89. package/dist/api/websocket/types.js.map +1 -0
  90. package/dist/api/websocket/utils.d.ts +9 -0
  91. package/dist/api/websocket/utils.d.ts.map +1 -0
  92. package/dist/api/websocket/utils.js +23 -0
  93. package/dist/api/websocket/utils.js.map +1 -0
  94. package/dist/api/websocket/websocket.d.ts +6 -0
  95. package/dist/api/websocket/websocket.d.ts.map +1 -0
  96. package/dist/api/websocket/websocket.js +309 -0
  97. package/dist/api/websocket/websocket.js.map +1 -0
  98. package/dist/errors/errors.d.ts +382 -0
  99. package/dist/errors/errors.d.ts.map +1 -0
  100. package/dist/errors/errors.js +801 -0
  101. package/dist/errors/errors.js.map +1 -0
  102. package/dist/errors/index.d.ts +2 -0
  103. package/dist/errors/index.d.ts.map +1 -0
  104. package/dist/errors/index.js +2 -0
  105. package/dist/errors/index.js.map +1 -0
  106. package/dist/index.d.ts +5 -11
  107. package/dist/index.d.ts.map +1 -1
  108. package/dist/index.js +5 -22
  109. package/dist/index.js.map +1 -1
  110. package/dist/networks/index.d.ts +2 -0
  111. package/dist/networks/index.d.ts.map +1 -0
  112. package/dist/networks/index.js +2 -0
  113. package/dist/networks/index.js.map +1 -0
  114. package/dist/{networks.d.ts → networks/networks.d.ts} +1 -1
  115. package/dist/networks/networks.d.ts.map +1 -0
  116. package/dist/{networks.js → networks/networks.js} +4 -3
  117. package/dist/networks/networks.js.map +1 -0
  118. package/dist/sdk.d.ts +19 -27
  119. package/dist/sdk.d.ts.map +1 -1
  120. package/dist/sdk.js +77 -107
  121. package/dist/sdk.js.map +1 -1
  122. package/dist/utils/index.d.ts +1 -1
  123. package/dist/utils/index.d.ts.map +1 -1
  124. package/dist/utils/index.js +1 -1
  125. package/dist/utils/index.js.map +1 -1
  126. package/package.json +5 -7
  127. package/dist/api/websocket/base-ws-client.d.ts +0 -85
  128. package/dist/api/websocket/base-ws-client.d.ts.map +0 -1
  129. package/dist/api/websocket/base-ws-client.js +0 -256
  130. package/dist/api/websocket/base-ws-client.js.map +0 -1
  131. package/dist/api/websocket/clients/ohlcv-ws-client.d.ts +0 -57
  132. package/dist/api/websocket/clients/ohlcv-ws-client.d.ts.map +0 -1
  133. package/dist/api/websocket/clients/ohlcv-ws-client.js +0 -132
  134. package/dist/api/websocket/clients/ohlcv-ws-client.js.map +0 -1
  135. package/dist/api/websocket/clients/orderbook-ws-client.d.ts +0 -70
  136. package/dist/api/websocket/clients/orderbook-ws-client.d.ts.map +0 -1
  137. package/dist/api/websocket/clients/orderbook-ws-client.js +0 -197
  138. package/dist/api/websocket/clients/orderbook-ws-client.js.map +0 -1
  139. package/dist/api/websocket/clients/orders-ws-client.d.ts +0 -61
  140. package/dist/api/websocket/clients/orders-ws-client.d.ts.map +0 -1
  141. package/dist/api/websocket/clients/orders-ws-client.js +0 -150
  142. package/dist/api/websocket/clients/orders-ws-client.js.map +0 -1
  143. package/dist/errors.d.ts +0 -103
  144. package/dist/errors.d.ts.map +0 -1
  145. package/dist/errors.js +0 -108
  146. package/dist/errors.js.map +0 -1
  147. package/dist/networks.d.ts.map +0 -1
  148. 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, TransactionError, OrderError } from "@0xmonaco/core";
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.js";
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,YAAY,CAAC;AAErC,qBAAa,mBAAoB,SAAQ,OAAQ,YAAW,eAAe;IACzE;;;;;;;;;;;;;;;;;;;OAmBG;IACG,oBAAoB,IAAI,OAAO,CAAC,yBAAyB,CAAC;CAkBjE"}
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.js";
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,YAAY,CAAC;AAErC,MAAM,OAAO,mBAAoB,SAAQ,OAAO;IAC9C;;;;;;;;;;;;;;;;;;;OAmBG;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
+ {"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,6 +1,5 @@
1
1
  /**
2
2
  * Applications API Module
3
3
  */
4
- export type { ApplicationsAPI } from "@0xmonaco/types";
5
- export { ApplicationsAPIImpl } from "./api.js";
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,UAAU,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,5 +1,5 @@
1
1
  /**
2
2
  * Applications API Module
3
3
  */
4
- export { ApplicationsAPIImpl } from "./api.js";
4
+ export { ApplicationsAPIImpl } from "./api";
5
5
  //# sourceMappingURL=index.js.map
@@ -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,UAAU,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"}
@@ -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.js";
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,YAAY,CAAC;AAErC,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"}
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"}
@@ -28,8 +28,8 @@
28
28
  * const backendAuth = await authAPI.authenticateBackend(secretKey);
29
29
  * ```
30
30
  */
31
- import { InvalidConfigError } from "../../errors.js";
32
- import { BaseAPI } from "../base.js";
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.
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/api/auth/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/api/auth/api.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  /**
2
2
  * Auth API Module
3
3
  */
4
- export type { AuthAPI } from "@0xmonaco/types";
5
- export { AuthAPIImpl } from "./api.js";
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,UAAU,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,5 +1,5 @@
1
1
  /**
2
2
  * Auth API Module
3
3
  */
4
- export { AuthAPIImpl } from "./api.js";
4
+ export { AuthAPIImpl } from "./api";
5
5
  //# sourceMappingURL=index.js.map
@@ -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,UAAU,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
@@ -20,15 +20,21 @@
20
20
  * }
21
21
  * ```
22
22
  */
23
- import { APIError } from "../errors.js";
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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"}
@@ -22,7 +22,7 @@
22
22
  * ```
23
23
  */
24
24
  import type { FeesAPI, SimulateFeeParams, SimulateFeeResponse } from "@0xmonaco/types";
25
- import { BaseAPI } from "../base.js";
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,YAAY,CAAC;AAErC,qBAAa,WAAY,SAAQ,OAAQ,YAAW,OAAO;IACzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAyCG;IACG,YAAY,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAgB5E"}
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"}
@@ -21,8 +21,8 @@
21
21
  * });
22
22
  * ```
23
23
  */
24
- import { SimulateFeeParamsSchema } from "@0xmonaco/types";
25
- import { BaseAPI } from "../base.js";
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 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,YAAY,CAAC;AAErC,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"}
@@ -3,5 +3,5 @@
3
3
  *
4
4
  * Exports fees API implementation.
5
5
  */
6
- export { FeesAPIImpl } from "./api.js";
6
+ export { FeesAPIImpl } from "./api";
7
7
  //# sourceMappingURL=index.d.ts.map
@@ -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,UAAU,CAAC"}
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"}
@@ -3,5 +3,5 @@
3
3
  *
4
4
  * Exports fees API implementation.
5
5
  */
6
- export { FeesAPIImpl } from "./api.js";
6
+ export { FeesAPIImpl } from "./api";
7
7
  //# sourceMappingURL=index.js.map
@@ -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,UAAU,CAAC"}
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"}