@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
@@ -27,14 +27,15 @@
27
27
  * console.log(`Deposit transaction: ${result.hash}`);
28
28
  * ```
29
29
  */
30
- import type { ApplicationsAPI, Balance, TransactionResult, VaultAPI } from "@0xmonaco/types";
30
+ import type { ApplicationsAPI, Balance, ProfileAPI, TransactionResult, VaultAPI } from "@0xmonaco/types";
31
31
  import { type Address, type Chain, type PublicClient, type WalletClient } from "viem";
32
- import { BaseAPI } from "../base.js";
32
+ import { BaseAPI } from "../base";
33
33
  export declare class VaultAPIImpl extends BaseAPI implements VaultAPI {
34
34
  private readonly publicClient;
35
35
  private readonly walletClient;
36
36
  private readonly chain;
37
37
  private applicationsAPI;
38
+ private profileAPI;
38
39
  /**
39
40
  * Creates a new VaultAPI instance.
40
41
  *
@@ -42,9 +43,10 @@ export declare class VaultAPIImpl extends BaseAPI implements VaultAPI {
42
43
  * @param walletClient - The viem wallet client for signing transactions
43
44
  * @param chain - The blockchain network configuration
44
45
  * @param applicationsAPI - The applications API instance for fetching vault address
46
+ * @param profileAPI - The profile API instance for fetching asset information
45
47
  * @param apiUrl - The base URL for the Monaco API Gateway
46
48
  */
47
- constructor(publicClient: PublicClient, walletClient: WalletClient, chain: Chain, applicationsAPI: ApplicationsAPI, apiUrl: string);
49
+ constructor(publicClient: PublicClient, walletClient: WalletClient, chain: Chain, applicationsAPI: ApplicationsAPI, profileAPI: ProfileAPI, apiUrl: string);
48
50
  /**
49
51
  * Fetches the vault contract address from the applications API.
50
52
  *
@@ -66,7 +68,6 @@ export declare class VaultAPIImpl extends BaseAPI implements VaultAPI {
66
68
  * @returns Promise resolving to TransactionResult with transaction details
67
69
  * @throws {ContractError} When approval transaction fails
68
70
  * @throws {InvalidConfigError} When wallet account is not available
69
- * @throws {TransactionError} When transaction signing fails
70
71
  *
71
72
  * @example
72
73
  * ```typescript
@@ -98,19 +99,19 @@ export declare class VaultAPIImpl extends BaseAPI implements VaultAPI {
98
99
  *
99
100
  * Note: This method requires prior approval via the approve() method.
100
101
  *
101
- * @param tokenAddress - The token address to deposit
102
+ * @param assetId - The asset identifier (UUID) to deposit
102
103
  * @param amount - The amount of tokens to deposit (as bigint)
103
104
  * @param autoWait - Whether to automatically wait for transaction confirmation (defaults to true)
104
105
  * @returns Promise resolving to TransactionResult with transaction details
105
106
  * @throws {ContractError} When deposit fails or approval is insufficient
107
+ * @throws {APIError} When the asset is not found or the assetId is invalid
106
108
  * @throws {InvalidConfigError} When wallet account is not available
107
- * @throws {TransactionError} When transaction signing fails
108
109
  *
109
110
  * @example
110
111
  * ```typescript
111
112
  * // Deposit 100 USDC into the vault (auto-waits by default)
112
113
  * const result = await vaultAPI.deposit(
113
- * "0x123...456",
114
+ * "123e4567-e89b-12d3-a456-426614174000",
114
115
  * parseUnits("100", 6)
115
116
  * );
116
117
  * console.log(`Deposit transaction: ${result.hash}`);
@@ -118,7 +119,7 @@ export declare class VaultAPIImpl extends BaseAPI implements VaultAPI {
118
119
  *
119
120
  * // Or skip auto-waiting
120
121
  * const result = await vaultAPI.deposit(
121
- * "0x123...456",
122
+ * "123e4567-e89b-12d3-a456-426614174000",
122
123
  * parseUnits("100", 6),
123
124
  * false
124
125
  * );
@@ -126,7 +127,7 @@ export declare class VaultAPIImpl extends BaseAPI implements VaultAPI {
126
127
  * const receipt = await sdk.waitForTransaction(result.hash);
127
128
  * ```
128
129
  */
129
- deposit(tokenAddress: Address, amount: bigint, autoWait?: boolean): Promise<TransactionResult>;
130
+ deposit(assetId: string, amount: bigint, autoWait?: boolean): Promise<TransactionResult>;
130
131
  /**
131
132
  * Withdraws tokens from the Monaco vault.
132
133
  *
@@ -134,20 +135,19 @@ export declare class VaultAPIImpl extends BaseAPI implements VaultAPI {
134
135
  * user's wallet. The method obtains a signature from the API Gateway and then
135
136
  * executes the withdrawal transaction on-chain.
136
137
  *
137
- * @param tokenAddress - The token address to withdraw
138
+ * @param assetId - The asset identifier (UUID) to withdraw
138
139
  * @param amount - The amount of tokens to withdraw (as bigint)
139
140
  * @param autoWait - Whether to automatically wait for transaction confirmation (defaults to true)
140
141
  * @returns Promise resolving to TransactionResult with transaction details
141
142
  * @throws {ContractError} When withdrawal fails
142
- * @throws {APIError} When signature retrieval fails
143
+ * @throws {APIError} When signature retrieval fails or the asset is not found/assetId is invalid
143
144
  * @throws {InvalidConfigError} When wallet account is not available
144
- * @throws {TransactionError} When transaction signing fails
145
145
  *
146
146
  * @example
147
147
  * ```typescript
148
148
  * // Withdraw 50 USDC from the vault (auto-waits by default)
149
149
  * const result = await vaultAPI.withdraw(
150
- * "0x123...456",
150
+ * "123e4567-e89b-12d3-a456-426614174000",
151
151
  * parseUnits("50", 6)
152
152
  * );
153
153
  * console.log(`Withdrawal transaction: ${result.hash}`);
@@ -155,7 +155,7 @@ export declare class VaultAPIImpl extends BaseAPI implements VaultAPI {
155
155
  *
156
156
  * // Or skip auto-waiting
157
157
  * const result = await vaultAPI.withdraw(
158
- * "0x123...456",
158
+ * "123e4567-e89b-12d3-a456-426614174000",
159
159
  * parseUnits("50", 6),
160
160
  * false
161
161
  * );
@@ -163,7 +163,7 @@ export declare class VaultAPIImpl extends BaseAPI implements VaultAPI {
163
163
  * const receipt = await sdk.waitForTransaction(result.hash);
164
164
  * ```
165
165
  */
166
- withdraw(tokenAddress: Address, amount: bigint, autoWait?: boolean): Promise<TransactionResult>;
166
+ withdraw(assetId: string, amount: bigint, autoWait?: boolean): Promise<TransactionResult>;
167
167
  /**
168
168
  * Retrieves the user's token balance in the vault.
169
169
  *
@@ -231,9 +231,8 @@ export declare class VaultAPIImpl extends BaseAPI implements VaultAPI {
231
231
  * the cryptographic signature required for deposit transactions. The signature
232
232
  * validates the deposit request and ensures proper authorization.
233
233
  *
234
- * @param tokenAddress - The token address to deposit
234
+ * @param assetId - The asset identifier (UUID) to deposit
235
235
  * @param amount - The amount to deposit (as bigint)
236
- * @param userAddress - The user's wallet address
237
236
  * @returns Promise resolving to object containing seed and signature
238
237
  * @throws {APIError} When signature retrieval fails
239
238
  * @private
@@ -246,9 +245,8 @@ export declare class VaultAPIImpl extends BaseAPI implements VaultAPI {
246
245
  * the cryptographic signature required for withdrawal transactions. The signature
247
246
  * validates the withdrawal request and ensures proper authorization.
248
247
  *
249
- * @param tokenAddress - The token address to withdraw
248
+ * @param assetId - The asset identifier (UUID) to withdraw
250
249
  * @param amount - The amount to withdraw (as bigint)
251
- * @param userAddress - The user's wallet address
252
250
  * @returns Promise resolving to object containing seed and signature
253
251
  * @throws {APIError} When signature retrieval fails
254
252
  * @private
@@ -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,iBAAiB,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC7F,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,KAAK,EAAgD,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,MAAM,CAAC;AAEpI,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,qBAAa,YAAa,SAAQ,OAAQ,YAAW,QAAQ;IAazD,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,KAAK;IAdxB,OAAO,CAAC,eAAe,CAAkB;IAEzC;;;;;;;;OAQG;gBAEgB,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,KAAK,EAC7B,eAAe,EAAE,eAAe,EAChC,MAAM,EAAE,MAAM;IAMhB;;;;;;OAMG;IACG,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IAKzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACG,OAAO,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA8B1G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACG,OAAO,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA2C1G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IACG,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAiC3G;;;;;;;;;;;;;;;;OAgBG;IACG,UAAU,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IA+BzD;;;;;;;;;;;;;;;OAeG;IACG,YAAY,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAY1D;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACG,aAAa,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAK5E;;;;;;;;;;;;;OAaG;YACW,mBAAmB;IAgCjC;;;;;;;;;;;;;OAaG;YACW,oBAAoB;YA4BpB,kBAAkB;CA8BjC"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/api/vault/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEzG,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,KAAK,EAAgD,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,MAAM,CAAC;AAEpI,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,qBAAa,YAAa,SAAQ,OAAQ,YAAW,QAAQ;IAezD,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,KAAK;IAhBxB,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,UAAU,CAAa;IAE/B;;;;;;;;;OASG;gBAEgB,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,KAAK,EAC7B,eAAe,EAAE,eAAe,EAChC,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM;IAOhB;;;;;;OAMG;IACG,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IAKzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACG,OAAO,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAiC1G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACG,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAmDpG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA4CrG;;;;;;;;;;;;;;;;OAgBG;IACG,UAAU,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAkCzD;;;;;;;;;;;;;;;OAeG;IACG,YAAY,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAY1D;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACG,aAAa,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAK5E;;;;;;;;;;;;OAYG;YACW,mBAAmB;IAiBjC;;;;;;;;;;;;OAYG;YACW,oBAAoB;YAiBpB,kBAAkB;CA8BjC"}
@@ -28,9 +28,10 @@
28
28
  * ```
29
29
  */
30
30
  import { CONTRACT_ABIS } from "@0xmonaco/contracts";
31
+ import { ApproveTokenSchema, DepositSchema, GetBalanceSchema, validate, WithdrawSchema } from "@0xmonaco/types";
31
32
  import { erc20Abi, formatUnits, getContract } from "viem";
32
- import { ContractError, InvalidConfigError } from "../../errors.js";
33
- import { BaseAPI } from "../base.js";
33
+ import { ContractError, InvalidConfigError } from "../../errors";
34
+ import { BaseAPI } from "../base";
34
35
  export class VaultAPIImpl extends BaseAPI {
35
36
  /**
36
37
  * Creates a new VaultAPI instance.
@@ -39,14 +40,16 @@ export class VaultAPIImpl extends BaseAPI {
39
40
  * @param walletClient - The viem wallet client for signing transactions
40
41
  * @param chain - The blockchain network configuration
41
42
  * @param applicationsAPI - The applications API instance for fetching vault address
43
+ * @param profileAPI - The profile API instance for fetching asset information
42
44
  * @param apiUrl - The base URL for the Monaco API Gateway
43
45
  */
44
- constructor(publicClient, walletClient, chain, applicationsAPI, apiUrl) {
46
+ constructor(publicClient, walletClient, chain, applicationsAPI, profileAPI, apiUrl) {
45
47
  super(apiUrl);
46
48
  this.publicClient = publicClient;
47
49
  this.walletClient = walletClient;
48
50
  this.chain = chain;
49
51
  this.applicationsAPI = applicationsAPI;
52
+ this.profileAPI = profileAPI;
50
53
  }
51
54
  /**
52
55
  * Fetches the vault contract address from the applications API.
@@ -72,7 +75,6 @@ export class VaultAPIImpl extends BaseAPI {
72
75
  * @returns Promise resolving to TransactionResult with transaction details
73
76
  * @throws {ContractError} When approval transaction fails
74
77
  * @throws {InvalidConfigError} When wallet account is not available
75
- * @throws {TransactionError} When transaction signing fails
76
78
  *
77
79
  * @example
78
80
  * ```typescript
@@ -95,6 +97,8 @@ export class VaultAPIImpl extends BaseAPI {
95
97
  * ```
96
98
  */
97
99
  async approve(tokenAddress, amount, autoWait = true) {
100
+ // Validate inputs
101
+ validate(ApproveTokenSchema, { tokenAddress, amount, autoWait });
98
102
  const vaultAddress = await this.getVaultAddress();
99
103
  const account = this.walletClient.account;
100
104
  if (!account) {
@@ -127,19 +131,19 @@ export class VaultAPIImpl extends BaseAPI {
127
131
  *
128
132
  * Note: This method requires prior approval via the approve() method.
129
133
  *
130
- * @param tokenAddress - The token address to deposit
134
+ * @param assetId - The asset identifier (UUID) to deposit
131
135
  * @param amount - The amount of tokens to deposit (as bigint)
132
136
  * @param autoWait - Whether to automatically wait for transaction confirmation (defaults to true)
133
137
  * @returns Promise resolving to TransactionResult with transaction details
134
138
  * @throws {ContractError} When deposit fails or approval is insufficient
139
+ * @throws {APIError} When the asset is not found or the assetId is invalid
135
140
  * @throws {InvalidConfigError} When wallet account is not available
136
- * @throws {TransactionError} When transaction signing fails
137
141
  *
138
142
  * @example
139
143
  * ```typescript
140
144
  * // Deposit 100 USDC into the vault (auto-waits by default)
141
145
  * const result = await vaultAPI.deposit(
142
- * "0x123...456",
146
+ * "123e4567-e89b-12d3-a456-426614174000",
143
147
  * parseUnits("100", 6)
144
148
  * );
145
149
  * console.log(`Deposit transaction: ${result.hash}`);
@@ -147,7 +151,7 @@ export class VaultAPIImpl extends BaseAPI {
147
151
  *
148
152
  * // Or skip auto-waiting
149
153
  * const result = await vaultAPI.deposit(
150
- * "0x123...456",
154
+ * "123e4567-e89b-12d3-a456-426614174000",
151
155
  * parseUnits("100", 6),
152
156
  * false
153
157
  * );
@@ -155,17 +159,30 @@ export class VaultAPIImpl extends BaseAPI {
155
159
  * const receipt = await sdk.waitForTransaction(result.hash);
156
160
  * ```
157
161
  */
158
- async deposit(tokenAddress, amount, autoWait = true) {
162
+ async deposit(assetId, amount, autoWait = true) {
163
+ // Validate inputs
164
+ validate(DepositSchema, { assetId, amount, autoWait });
159
165
  const vaultAddress = await this.getVaultAddress();
166
+ // Look up token address from asset ID
167
+ let tokenAddress;
168
+ try {
169
+ const assetBalance = await this.profileAPI.getUserBalanceByAssetId(assetId);
170
+ tokenAddress = assetBalance.token;
171
+ }
172
+ catch (error) {
173
+ throw new ContractError(`Failed to resolve asset ID '${assetId}': Asset not found or invalid`, {
174
+ revertReason: "ASSET_NOT_FOUND",
175
+ });
176
+ }
160
177
  // Check if approval is needed before proceeding
161
178
  const needsApproval = await this.needsApproval(tokenAddress, amount);
162
179
  if (needsApproval) {
163
- throw new ContractError(`Approval required before deposit. Please invoke approve() first for token ${tokenAddress}`, "APPROVAL_REQUIRED", undefined);
180
+ throw new ContractError(`Approval required before deposit. Please invoke approve() first for asset ${assetId} (token address: ${tokenAddress}).`, {
181
+ revertReason: "APPROVAL_REQUIRED",
182
+ });
164
183
  }
165
- // Get account address
166
- const [account] = await this.walletClient.getAddresses();
167
- // Get signature from backend API
168
- const { seed, signature } = await this.getDepositSignature(tokenAddress, amount, account);
184
+ // Get signature from backend API using asset_id
185
+ const { seed, signature } = await this.getDepositSignature(assetId, amount);
169
186
  const walletAccount = this.walletClient.account;
170
187
  if (!walletAccount) {
171
188
  throw new InvalidConfigError("No account available in wallet client", "account");
@@ -193,20 +210,19 @@ export class VaultAPIImpl extends BaseAPI {
193
210
  * user's wallet. The method obtains a signature from the API Gateway and then
194
211
  * executes the withdrawal transaction on-chain.
195
212
  *
196
- * @param tokenAddress - The token address to withdraw
213
+ * @param assetId - The asset identifier (UUID) to withdraw
197
214
  * @param amount - The amount of tokens to withdraw (as bigint)
198
215
  * @param autoWait - Whether to automatically wait for transaction confirmation (defaults to true)
199
216
  * @returns Promise resolving to TransactionResult with transaction details
200
217
  * @throws {ContractError} When withdrawal fails
201
- * @throws {APIError} When signature retrieval fails
218
+ * @throws {APIError} When signature retrieval fails or the asset is not found/assetId is invalid
202
219
  * @throws {InvalidConfigError} When wallet account is not available
203
- * @throws {TransactionError} When transaction signing fails
204
220
  *
205
221
  * @example
206
222
  * ```typescript
207
223
  * // Withdraw 50 USDC from the vault (auto-waits by default)
208
224
  * const result = await vaultAPI.withdraw(
209
- * "0x123...456",
225
+ * "123e4567-e89b-12d3-a456-426614174000",
210
226
  * parseUnits("50", 6)
211
227
  * );
212
228
  * console.log(`Withdrawal transaction: ${result.hash}`);
@@ -214,7 +230,7 @@ export class VaultAPIImpl extends BaseAPI {
214
230
  *
215
231
  * // Or skip auto-waiting
216
232
  * const result = await vaultAPI.withdraw(
217
- * "0x123...456",
233
+ * "123e4567-e89b-12d3-a456-426614174000",
218
234
  * parseUnits("50", 6),
219
235
  * false
220
236
  * );
@@ -222,11 +238,22 @@ export class VaultAPIImpl extends BaseAPI {
222
238
  * const receipt = await sdk.waitForTransaction(result.hash);
223
239
  * ```
224
240
  */
225
- async withdraw(tokenAddress, amount, autoWait = true) {
241
+ async withdraw(assetId, amount, autoWait = true) {
242
+ validate(WithdrawSchema, { assetId, amount, autoWait });
226
243
  const vaultAddress = await this.getVaultAddress();
227
- const [account] = await this.walletClient.getAddresses();
228
- // Get signature from backend API
229
- const { seed, signature } = await this.getWithdrawSignature(tokenAddress, amount, account);
244
+ // Look up token address from asset ID
245
+ let tokenAddress;
246
+ try {
247
+ const assetBalance = await this.profileAPI.getUserBalanceByAssetId(assetId);
248
+ tokenAddress = assetBalance.token;
249
+ }
250
+ catch (error) {
251
+ throw new ContractError(`Failed to resolve asset ID '${assetId}': Asset not found or invalid`, {
252
+ revertReason: "ASSET_NOT_FOUND",
253
+ });
254
+ }
255
+ // Get signature from backend API using asset_id
256
+ const { seed, signature } = await this.getWithdrawSignature(assetId, amount);
230
257
  const walletAccount = this.walletClient.account;
231
258
  if (!walletAccount) {
232
259
  throw new InvalidConfigError("No account available in wallet client", "account");
@@ -267,6 +294,8 @@ export class VaultAPIImpl extends BaseAPI {
267
294
  * ```
268
295
  */
269
296
  async getBalance(tokenAddress) {
297
+ // Validate inputs
298
+ validate(GetBalanceSchema, { tokenAddress });
270
299
  const vaultAddress = await this.getVaultAddress();
271
300
  const [account] = await this.walletClient.getAddresses();
272
301
  // Get balance from vault contract
@@ -352,28 +381,18 @@ export class VaultAPIImpl extends BaseAPI {
352
381
  * the cryptographic signature required for deposit transactions. The signature
353
382
  * validates the deposit request and ensures proper authorization.
354
383
  *
355
- * @param tokenAddress - The token address to deposit
384
+ * @param assetId - The asset identifier (UUID) to deposit
356
385
  * @param amount - The amount to deposit (as bigint)
357
- * @param userAddress - The user's wallet address
358
386
  * @returns Promise resolving to object containing seed and signature
359
387
  * @throws {APIError} When signature retrieval fails
360
388
  * @private
361
389
  */
362
- async getDepositSignature(tokenAddress, amount, userAddress) {
363
- const vaultAddress = await this.getVaultAddress();
364
- // Generate a unique nonce and expiry for this transaction
365
- const nonce = Math.floor(Date.now() / 1000); // Current timestamp as nonce
366
- const expiry = Math.floor(Date.now() / 1000) + 3600; // 1 hour from now
390
+ async getDepositSignature(assetId, amount) {
367
391
  const data = await this.makeAuthenticatedRequest("/api/v1/deposit/signature", {
368
392
  method: "POST",
369
393
  body: JSON.stringify({
370
- contract_address: vaultAddress, // Use vault address for seed validation
371
- token_address: tokenAddress, // Include token address separately
372
- chain_id: this.chain.id,
394
+ asset_id: assetId,
373
395
  amount: amount.toString(),
374
- user_address: userAddress,
375
- nonce,
376
- expiry,
377
396
  }),
378
397
  });
379
398
  return {
@@ -388,25 +407,18 @@ export class VaultAPIImpl extends BaseAPI {
388
407
  * the cryptographic signature required for withdrawal transactions. The signature
389
408
  * validates the withdrawal request and ensures proper authorization.
390
409
  *
391
- * @param tokenAddress - The token address to withdraw
410
+ * @param assetId - The asset identifier (UUID) to withdraw
392
411
  * @param amount - The amount to withdraw (as bigint)
393
- * @param userAddress - The user's wallet address
394
412
  * @returns Promise resolving to object containing seed and signature
395
413
  * @throws {APIError} When signature retrieval fails
396
414
  * @private
397
415
  */
398
- async getWithdrawSignature(tokenAddress, amount, userAddress) {
399
- const vaultAddress = await this.getVaultAddress();
416
+ async getWithdrawSignature(assetId, amount) {
400
417
  const data = await this.makeAuthenticatedRequest("/api/v1/withdraw/signature", {
401
418
  method: "POST",
402
419
  body: JSON.stringify({
403
- contract_address: vaultAddress, // Use vault address for seed validation
404
- token_address: tokenAddress, // Include token address separately
405
- chain_id: this.chain.id,
420
+ asset_id: assetId,
406
421
  amount: amount.toString(),
407
- user_address: userAddress,
408
- nonce: Math.floor(Date.now() / 1000),
409
- expiry: Math.floor(Date.now() / 1000) + 3600,
410
422
  }),
411
423
  });
412
424
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/api/vault/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/api/vault/api.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  /**
2
2
  * Vault API Module
3
3
  */
4
- export type { VaultAPI } from "@0xmonaco/types";
5
- export { VaultAPIImpl } from "./api.js";
4
+ export { VaultAPIImpl } from "./api";
6
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/vault/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,YAAY,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/vault/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC"}
@@ -1,5 +1,5 @@
1
1
  /**
2
2
  * Vault API Module
3
3
  */
4
- export { VaultAPIImpl } from "./api.js";
4
+ export { VaultAPIImpl } from "./api";
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/vault/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/vault/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC"}
@@ -1,10 +1,4 @@
1
- /**
2
- * WebSocket API Module
3
- *
4
- * Exports Base WebSocket client implementation + Orders WebSocket client implementation + OHLCV WebSocket client implementation + Orderbook WebSocket client implementation
5
- */
6
- export { BaseWebSocketClientImpl } from "./base-ws-client.js";
7
- export { OHLCVWebSocketClientImpl } from "./clients/ohlcv-ws-client.js";
8
- export { OrderbookWebSocketClientImpl } from "./clients/orderbook-ws-client.js";
9
- export { OrdersWebSocketClientImpl } from "./clients/orders-ws-client.js";
1
+ export * from "./types";
2
+ export * from "./utils";
3
+ export * from "./websocket";
10
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/websocket/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/websocket/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC"}
@@ -1,10 +1,4 @@
1
- /**
2
- * WebSocket API Module
3
- *
4
- * Exports Base WebSocket client implementation + Orders WebSocket client implementation + OHLCV WebSocket client implementation + Orderbook WebSocket client implementation
5
- */
6
- export { BaseWebSocketClientImpl } from "./base-ws-client.js";
7
- export { OHLCVWebSocketClientImpl } from "./clients/ohlcv-ws-client.js";
8
- export { OrderbookWebSocketClientImpl } from "./clients/orderbook-ws-client.js";
9
- export { OrdersWebSocketClientImpl } from "./clients/orders-ws-client.js";
1
+ export * from "./types";
2
+ export * from "./utils";
3
+ export * from "./websocket";
10
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/websocket/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/websocket/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC"}
@@ -0,0 +1,34 @@
1
+ import type { Interval, OHLCVEvent, OrderbookEvent, OrderbookQuotationMode, OrderEvent, TradeEvent, TradingMode, WebSocketStatus } from "@0xmonaco/types";
2
+ export type StatusHandler = (status: WebSocketStatus) => void;
3
+ export type MessageHandler<T> = (data: T) => void;
4
+ export interface MonacoWebSocketOptions {
5
+ /** JWT access token for authenticated channels (orders) */
6
+ token?: string;
7
+ /** Enable auto-reconnect on disconnect (default: true) */
8
+ autoReconnect?: boolean;
9
+ /** Maximum reconnection attempts (default: 5) */
10
+ maxReconnectAttempts?: number;
11
+ /** Callback for connection status changes */
12
+ onStatusChange?: StatusHandler;
13
+ }
14
+ export interface MonacoWebSocket {
15
+ /** Connect to the WebSocket server */
16
+ connect: () => Promise<void>;
17
+ /** Disconnect from the WebSocket server */
18
+ disconnect: () => void;
19
+ /** Check if currently connected */
20
+ isConnected: () => boolean;
21
+ /** Get current websocket connection status */
22
+ getStatus: () => WebSocketStatus;
23
+ /** Update the access token (for re-auth) */
24
+ setToken: (token: string) => void;
25
+ /** Subscribe to order events (requires authentication) */
26
+ orders: (market: string, tradingMode: TradingMode, handler: MessageHandler<OrderEvent>) => () => void;
27
+ /** Subscribe to orderbook events (public) */
28
+ orderbook: (market: string, tradingMode: TradingMode, magnitude: number, quotationMode: OrderbookQuotationMode, handler: MessageHandler<OrderbookEvent>) => () => void;
29
+ /** Subscribe to OHLCV candlestick events (public) */
30
+ ohlcv: (symbol: string, tradingMode: TradingMode, interval: Interval, handler: MessageHandler<OHLCVEvent>) => () => void;
31
+ /** Subscribe to trade events (public) */
32
+ trades: (tradingPairId: string, handler: MessageHandler<TradeEvent>) => () => void;
33
+ }
34
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/api/websocket/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,sBAAsB,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAE1J,MAAM,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;AAC9D,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;AAElD,MAAM,WAAW,sBAAsB;IACrC,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,iDAAiD;IACjD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,6CAA6C;IAC7C,cAAc,CAAC,EAAE,aAAa,CAAC;CAChC;AAED,MAAM,WAAW,eAAe;IAC9B,sCAAsC;IACtC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,2CAA2C;IAC3C,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,mCAAmC;IACnC,WAAW,EAAE,MAAM,OAAO,CAAC;IAC3B,8CAA8C;IAC9C,SAAS,EAAE,MAAM,eAAe,CAAC;IACjC,4CAA4C;IAC5C,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAElC,0DAA0D;IAC1D,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,CAAC,UAAU,CAAC,KAAK,MAAM,IAAI,CAAC;IAEtG,6CAA6C;IAC7C,SAAS,EAAE,CACT,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,sBAAsB,EACrC,OAAO,EAAE,cAAc,CAAC,cAAc,CAAC,KACpC,MAAM,IAAI,CAAC;IAEhB,qDAAqD;IACrD,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,CAAC,UAAU,CAAC,KAAK,MAAM,IAAI,CAAC;IAEzH,yCAAyC;IACzC,MAAM,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,CAAC,UAAU,CAAC,KAAK,MAAM,IAAI,CAAC;CACpF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/api/websocket/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Convert snake_case to camelCase
3
+ */
4
+ export declare function toCamelCase(str: string): string;
5
+ /**
6
+ * Recursively convert object keys from snake_case to camelCase
7
+ */
8
+ export declare function keysToCamelCase<T>(obj: unknown): T;
9
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/api/websocket/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,GAAG,CAAC,CAUlD"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Convert snake_case to camelCase
3
+ */
4
+ export function toCamelCase(str) {
5
+ return str.replace(/_([a-z])/g, (_, letter) => letter.toUpperCase());
6
+ }
7
+ /**
8
+ * Recursively convert object keys from snake_case to camelCase
9
+ */
10
+ export function keysToCamelCase(obj) {
11
+ if (obj === null || obj === undefined)
12
+ return obj;
13
+ if (typeof obj !== "object")
14
+ return obj;
15
+ if (Array.isArray(obj))
16
+ return obj.map((item) => keysToCamelCase(item));
17
+ const result = {};
18
+ for (const [key, value] of Object.entries(obj)) {
19
+ result[toCamelCase(key)] = typeof value === "object" && value !== null ? keysToCamelCase(value) : value;
20
+ }
21
+ return result;
22
+ }
23
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/api/websocket/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,OAAO,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;AACvE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAI,GAAY;IAC7C,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,GAAQ,CAAC;IACvD,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAQ,CAAC;IAC7C,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAM,CAAC;IAE7E,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC1G,CAAC;IACD,OAAO,MAAW,CAAC;AACrB,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { MonacoWebSocket, MonacoWebSocketOptions } from "./types";
2
+ /**
3
+ * Create a Monaco WebSocket client
4
+ */
5
+ export declare function createMonacoWebSocket(baseUrl: string, options?: MonacoWebSocketOptions): MonacoWebSocket;
6
+ //# sourceMappingURL=websocket.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../../src/api/websocket/websocket.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAkB,eAAe,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAQvF;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,sBAA2B,GAAG,eAAe,CAiV5G"}