@0xmonaco/core 0.0.0-develop-20260120180031

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 (130) hide show
  1. package/README.md +693 -0
  2. package/dist/api/applications/api.d.ts +44 -0
  3. package/dist/api/applications/api.d.ts.map +1 -0
  4. package/dist/api/applications/api.js +54 -0
  5. package/dist/api/applications/api.js.map +1 -0
  6. package/dist/api/applications/index.d.ts +5 -0
  7. package/dist/api/applications/index.d.ts.map +1 -0
  8. package/dist/api/applications/index.js +5 -0
  9. package/dist/api/applications/index.js.map +1 -0
  10. package/dist/api/auth/api.d.ts +201 -0
  11. package/dist/api/auth/api.d.ts.map +1 -0
  12. package/dist/api/auth/api.js +293 -0
  13. package/dist/api/auth/api.js.map +1 -0
  14. package/dist/api/auth/index.d.ts +5 -0
  15. package/dist/api/auth/index.d.ts.map +1 -0
  16. package/dist/api/auth/index.js +5 -0
  17. package/dist/api/auth/index.js.map +1 -0
  18. package/dist/api/base.d.ts +124 -0
  19. package/dist/api/base.d.ts.map +1 -0
  20. package/dist/api/base.js +284 -0
  21. package/dist/api/base.js.map +1 -0
  22. package/dist/api/fees/api.d.ts +71 -0
  23. package/dist/api/fees/api.d.ts.map +1 -0
  24. package/dist/api/fees/api.js +83 -0
  25. package/dist/api/fees/api.js.map +1 -0
  26. package/dist/api/fees/index.d.ts +7 -0
  27. package/dist/api/fees/index.d.ts.map +1 -0
  28. package/dist/api/fees/index.js +7 -0
  29. package/dist/api/fees/index.js.map +1 -0
  30. package/dist/api/index.d.ts +16 -0
  31. package/dist/api/index.d.ts.map +1 -0
  32. package/dist/api/index.js +16 -0
  33. package/dist/api/index.js.map +1 -0
  34. package/dist/api/market/api.d.ts +14 -0
  35. package/dist/api/market/api.d.ts.map +1 -0
  36. package/dist/api/market/api.js +70 -0
  37. package/dist/api/market/api.js.map +1 -0
  38. package/dist/api/market/index.d.ts +2 -0
  39. package/dist/api/market/index.d.ts.map +1 -0
  40. package/dist/api/market/index.js +2 -0
  41. package/dist/api/market/index.js.map +1 -0
  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 +119 -0
  51. package/dist/api/profile/api.d.ts.map +1 -0
  52. package/dist/api/profile/api.js +162 -0
  53. package/dist/api/profile/api.js.map +1 -0
  54. package/dist/api/profile/index.d.ts +7 -0
  55. package/dist/api/profile/index.d.ts.map +1 -0
  56. package/dist/api/profile/index.js +7 -0
  57. package/dist/api/profile/index.js.map +1 -0
  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 +213 -0
  67. package/dist/api/trading/api.d.ts.map +1 -0
  68. package/dist/api/trading/api.js +285 -0
  69. package/dist/api/trading/api.js.map +1 -0
  70. package/dist/api/trading/index.d.ts +5 -0
  71. package/dist/api/trading/index.d.ts.map +1 -0
  72. package/dist/api/trading/index.js +5 -0
  73. package/dist/api/trading/index.js.map +1 -0
  74. package/dist/api/vault/api.d.ts +257 -0
  75. package/dist/api/vault/api.d.ts.map +1 -0
  76. package/dist/api/vault/api.js +526 -0
  77. package/dist/api/vault/api.js.map +1 -0
  78. package/dist/api/vault/index.d.ts +5 -0
  79. package/dist/api/vault/index.d.ts.map +1 -0
  80. package/dist/api/vault/index.js +5 -0
  81. package/dist/api/vault/index.js.map +1 -0
  82. package/dist/api/websocket/index.d.ts +4 -0
  83. package/dist/api/websocket/index.d.ts.map +1 -0
  84. package/dist/api/websocket/index.js +4 -0
  85. package/dist/api/websocket/index.js.map +1 -0
  86. package/dist/api/websocket/types.d.ts +36 -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 +345 -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 +6 -0
  107. package/dist/index.d.ts.map +1 -0
  108. package/dist/index.js +6 -0
  109. package/dist/index.js.map +1 -0
  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/networks.d.ts +15 -0
  115. package/dist/networks/networks.d.ts.map +1 -0
  116. package/dist/networks/networks.js +34 -0
  117. package/dist/networks/networks.js.map +1 -0
  118. package/dist/sdk.d.ts +128 -0
  119. package/dist/sdk.d.ts.map +1 -0
  120. package/dist/sdk.js +272 -0
  121. package/dist/sdk.js.map +1 -0
  122. package/dist/utils/index.d.ts +2 -0
  123. package/dist/utils/index.d.ts.map +1 -0
  124. package/dist/utils/index.js +2 -0
  125. package/dist/utils/index.js.map +1 -0
  126. package/dist/utils/magnitude.d.ts +27 -0
  127. package/dist/utils/magnitude.d.ts.map +1 -0
  128. package/dist/utils/magnitude.js +32 -0
  129. package/dist/utils/magnitude.js.map +1 -0
  130. package/package.json +49 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors/errors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from "./errors";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./errors";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC"}
@@ -0,0 +1,6 @@
1
+ export { createMonacoWebSocket, type MonacoWebSocket, type MonacoWebSocketOptions } from "./api/websocket";
2
+ export { APIError, ContractError, InvalidConfigError, InvalidStateError, MonacoCoreError } from "./errors";
3
+ export { resolveApiUrl } from "./networks";
4
+ export { createMonacoSDK, MonacoSDKImpl as MonacoSDK } from "./sdk";
5
+ export { ALL_MAGNITUDES, calculateValidMagnitudes, MAX_BUCKETS_ALLOWED, MIN_BUCKETS_ALLOWED, } from "./utils";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,KAAK,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAC3G,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3G,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,aAAa,IAAI,SAAS,EAAE,MAAM,OAAO,CAAC;AACpE,OAAO,EACL,cAAc,EACd,wBAAwB,EACxB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,SAAS,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,6 @@
1
+ export { createMonacoWebSocket } from "./api/websocket";
2
+ export { APIError, ContractError, InvalidConfigError, InvalidStateError, MonacoCoreError } from "./errors";
3
+ export { resolveApiUrl } from "./networks";
4
+ export { createMonacoSDK, MonacoSDKImpl as MonacoSDK } from "./sdk";
5
+ export { ALL_MAGNITUDES, calculateValidMagnitudes, MAX_BUCKETS_ALLOWED, MIN_BUCKETS_ALLOWED, } from "./utils";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAqD,MAAM,iBAAiB,CAAC;AAC3G,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3G,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,aAAa,IAAI,SAAS,EAAE,MAAM,OAAO,CAAC;AACpE,OAAO,EACL,cAAc,EACd,wBAAwB,EACxB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,SAAS,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./networks";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/networks/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./networks";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/networks/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Monaco SDK Network Configuration
3
+ *
4
+ * Network configuration and endpoints with hardcoded defaults.
5
+ * No environment variables are required - all configuration is provided at runtime.
6
+ */
7
+ import type { Network } from "@0xmonaco/types";
8
+ /**
9
+ * Resolve the API URL based on network
10
+ *
11
+ * @param network - Network identifier (preset name or custom URL)
12
+ * @returns The resolved API URL
13
+ */
14
+ export declare function resolveApiUrl(network: Network): string;
15
+ //# sourceMappingURL=networks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"networks.d.ts","sourceRoot":"","sources":["../../src/networks/networks.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAiB/C;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAQtD"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Monaco SDK Network Configuration
3
+ *
4
+ * Network configuration and endpoints with hardcoded defaults.
5
+ * No environment variables are required - all configuration is provided at runtime.
6
+ */
7
+ /**
8
+ * Default API URLs for preset networks
9
+ */
10
+ const LOCAL_URL = "http://localhost:8080";
11
+ const DEVELOPMENT_URL = "https://develop.apimonaco.xyz";
12
+ const STAGING_URL = "https://staging.apimonaco.xyz";
13
+ const MAINNET_URL = "https://api.monaco.xyz";
14
+ const DEFAULT_API_URLS = {
15
+ local: LOCAL_URL,
16
+ development: DEVELOPMENT_URL,
17
+ staging: STAGING_URL,
18
+ mainnet: MAINNET_URL,
19
+ };
20
+ /**
21
+ * Resolve the API URL based on network
22
+ *
23
+ * @param network - Network identifier (preset name or custom URL)
24
+ * @returns The resolved API URL
25
+ */
26
+ export function resolveApiUrl(network) {
27
+ // Check if network is a preset
28
+ if (network in DEFAULT_API_URLS) {
29
+ return DEFAULT_API_URLS[network];
30
+ }
31
+ // Otherwise, treat network as a custom API URL
32
+ return network;
33
+ }
34
+ //# sourceMappingURL=networks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"networks.js","sourceRoot":"","sources":["../../src/networks/networks.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;GAEG;AACH,MAAM,SAAS,GAAG,uBAAuB,CAAC;AAC1C,MAAM,eAAe,GAAG,+BAA+B,CAAC;AACxD,MAAM,WAAW,GAAG,+BAA+B,CAAC;AACpD,MAAM,WAAW,GAAG,wBAAwB,CAAC;AAE7C,MAAM,gBAAgB,GAA2B;IAC/C,KAAK,EAAE,SAAS;IAChB,WAAW,EAAE,eAAe;IAC5B,OAAO,EAAE,WAAW;IACpB,OAAO,EAAE,WAAW;CACrB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,OAAgB;IAC5C,+BAA+B;IAC/B,IAAI,OAAO,IAAI,gBAAgB,EAAE,CAAC;QAChC,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,+CAA+C;IAC/C,OAAO,OAAO,CAAC;AACjB,CAAC"}
package/dist/sdk.d.ts ADDED
@@ -0,0 +1,128 @@
1
+ import type { ApplicationsAPI, AuthAPI, AuthState, FeesAPI, MarketAPI, MonacoSDK, Network, ProfileAPI, SDKConfig, TradingAPI, VaultAPI } from "@0xmonaco/types";
2
+ import { type PublicClient, type TransactionReceipt, type WalletClient } from "viem";
3
+ import { type MonacoWebSocket, OrderbookAPIImpl, TradesAPIImpl } from "./api";
4
+ export declare class MonacoSDKImpl implements MonacoSDK {
5
+ auth: AuthAPI;
6
+ applications: ApplicationsAPI;
7
+ fees: FeesAPI;
8
+ vault: VaultAPI;
9
+ trading: TradingAPI;
10
+ market: MarketAPI;
11
+ profile: ProfileAPI;
12
+ orderbook: OrderbookAPIImpl;
13
+ trades: TradesAPIImpl;
14
+ ws: MonacoWebSocket;
15
+ walletClient: WalletClient;
16
+ publicClient: PublicClient;
17
+ private authState?;
18
+ private readonly network;
19
+ private readonly chain;
20
+ /**
21
+ * Propagate the access token to all APIs and WebSocket
22
+ */
23
+ private propagateAccessToken;
24
+ constructor(cfg: SDKConfig);
25
+ /**
26
+ * Authenticate the user
27
+ *
28
+ * Returns an AuthState object containing:
29
+ * - `accessToken`: For making authenticated API requests
30
+ * - `refreshToken`: For refreshing tokens AND revoking (logout)
31
+ * - `expiresAt`: When the access token expires
32
+ * - `user`: User information
33
+ *
34
+ * Note: There is NO separate `revokeToken` property. Use `authState.refreshToken`
35
+ * when calling `auth.revokeToken()` or just call `sdk.logout()`.
36
+ *
37
+ * @param clientId - The client ID for authentication
38
+ * @param options - Optional configuration
39
+ * @param options.connectWebSocket - Auto-connect WebSocket after login (default: false)
40
+ *
41
+ * @example
42
+ * ```typescript
43
+ * // Login only
44
+ * const authState = await sdk.login(clientId);
45
+ *
46
+ * // Login and auto-connect WebSocket
47
+ * const authState = await sdk.login(clientId, { connectWebSocket: true });
48
+ *
49
+ * // Manual WebSocket connection
50
+ * await sdk.ws.connect();
51
+ *
52
+ * // Later, to revoke:
53
+ * await sdk.auth.revokeToken(authState.refreshToken); // ✅
54
+ * // Or revoke and disconnect WebSocket:
55
+ * await sdk.logout(); // ✅ Calls revokeToken internally and disconnects WebSocket
56
+ * ```
57
+ */
58
+ login(clientId: string, options?: {
59
+ connectWebSocket?: boolean;
60
+ }): Promise<AuthState>;
61
+ /**
62
+ * Get the current authentication state
63
+ *
64
+ * @returns The current authentication state or undefined if not authenticated
65
+ */
66
+ getAuthState(): AuthState | undefined;
67
+ /**
68
+ * Set the authentication state directly
69
+ * Useful for sharing authentication across multiple SDK instances (e.g., in tests)
70
+ *
71
+ * @param authState - The authentication state to set
72
+ */
73
+ setAuthState(authState: AuthState): void;
74
+ /**
75
+ * Log the user out
76
+ *
77
+ * This method revokes the refresh token (if available), disconnects all authenticated
78
+ * WebSocket channels, and clears the local auth state.
79
+ * It internally calls `auth.revokeToken(refreshToken)` to invalidate the token on the server.
80
+ *
81
+ * @example
82
+ * ```typescript
83
+ * await sdk.logout();
84
+ * // Token is revoked, authenticated WebSockets disconnected, and local state cleared
85
+ * ```
86
+ */
87
+ logout(): Promise<void>;
88
+ /**
89
+ * Refresh the access token
90
+ * @returns The updated authentication state
91
+ */
92
+ refreshAuth(): Promise<AuthState>;
93
+ /**
94
+ * Check if the user is authenticated
95
+ */
96
+ isAuthenticated(): boolean;
97
+ /**
98
+ * Check connection status
99
+ */
100
+ isConnected(): boolean;
101
+ /**
102
+ * Get the current account address
103
+ */
104
+ getAccountAddress(): string;
105
+ /**
106
+ * Get the current network
107
+ */
108
+ getNetwork(): Network;
109
+ /**
110
+ * Get the current chain ID
111
+ */
112
+ getChainId(): number;
113
+ /**
114
+ * Wait for a transaction to be confirmed
115
+ * @param hash - The transaction hash
116
+ * @param confirmations - Number of confirmations to wait for (optional)
117
+ * @param timeout - Timeout in milliseconds (optional)
118
+ * @returns The transaction receipt
119
+ */
120
+ waitForTransaction(hash: string, confirmations?: number, timeout?: number): Promise<TransactionReceipt>;
121
+ }
122
+ /**
123
+ * Create a new Monaco SDK instance
124
+ * @param config - SDK configuration
125
+ * @returns Monaco SDK instance
126
+ */
127
+ export declare function createMonacoSDK(config: SDKConfig): MonacoSDK;
128
+ //# sourceMappingURL=sdk.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../src/sdk.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhK,OAAO,EAAkD,KAAK,YAAY,EAAE,KAAK,kBAAkB,EAAE,KAAK,YAAY,EAAE,MAAM,MAAM,CAAC;AAErI,OAAO,EAA8C,KAAK,eAAe,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAU1H,qBAAa,aAAc,YAAW,SAAS;IACtC,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,eAAe,CAAC;IAC9B,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,QAAQ,CAAC;IAChB,OAAO,EAAE,UAAU,CAAC;IACpB,MAAM,EAAE,SAAS,CAAC;IAClB,OAAO,EAAE,UAAU,CAAC;IACpB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,MAAM,EAAE,aAAa,CAAC;IACtB,EAAE,EAAE,eAAe,CAAC;IAEpB,YAAY,EAAE,YAAY,CAAC;IAC3B,YAAY,EAAE,YAAY,CAAC;IAElC,OAAO,CAAC,SAAS,CAAC,CAAY;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;IAE9B;;OAEG;IACH,OAAO,CAAC,oBAAoB;gBAWhB,GAAG,EAAE,SAAS;IA8E1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACG,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,CAAC;IAoB3F;;;;OAIG;IACH,YAAY,IAAI,SAAS,GAAG,SAAS;IAIrC;;;;;OAKG;IACH,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAKxC;;;;;;;;;;;;OAYG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAkB7B;;;OAGG;IACG,WAAW,IAAI,OAAO,CAAC,SAAS,CAAC;IA2BvC;;OAEG;IACH,eAAe,IAAI,OAAO;IAI1B;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;OAEG;IACH,iBAAiB,IAAI,MAAM;IAO3B;;OAEG;IACH,UAAU,IAAI,OAAO;IAIrB;;OAEG;IACH,UAAU,IAAI,MAAM;IAIpB;;;;;;OAMG;IACG,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAO9G;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,CAE5D"}
package/dist/sdk.js ADDED
@@ -0,0 +1,272 @@
1
+ import { StatusCodes } from "http-status-codes";
2
+ import { createPublicClient, http } from "viem";
3
+ import { sei, seiTestnet } from "viem/chains";
4
+ import { ApplicationsAPIImpl, createMonacoWebSocket, OrderbookAPIImpl, TradesAPIImpl } from "./api";
5
+ import { AuthAPIImpl } from "./api/auth";
6
+ import { FeesAPIImpl } from "./api/fees";
7
+ import { MarketAPIImpl } from "./api/market";
8
+ import { ProfileAPIImpl } from "./api/profile";
9
+ import { TradingAPIImpl } from "./api/trading";
10
+ import { VaultAPIImpl } from "./api/vault";
11
+ import { APIError, InvalidConfigError, InvalidStateError } from "./errors";
12
+ import { resolveApiUrl } from "./networks";
13
+ export class MonacoSDKImpl {
14
+ /**
15
+ * Propagate the access token to all APIs and WebSocket
16
+ */
17
+ propagateAccessToken(accessToken) {
18
+ this.auth.setAccessToken(accessToken);
19
+ this.applications.setAccessToken(accessToken);
20
+ this.fees.setAccessToken(accessToken);
21
+ this.vault.setAccessToken(accessToken);
22
+ this.trading.setAccessToken(accessToken);
23
+ this.market.setAccessToken(accessToken);
24
+ this.profile.setAccessToken(accessToken);
25
+ this.ws.setToken(accessToken);
26
+ }
27
+ constructor(cfg) {
28
+ if (!cfg.walletClient) {
29
+ throw new InvalidConfigError("Wallet client is required", "walletClient");
30
+ }
31
+ if (!cfg.seiRpcUrl) {
32
+ throw new InvalidConfigError("seiRpcUrl is required", "seiRpcUrl");
33
+ }
34
+ if (!cfg.wsUrl) {
35
+ throw new InvalidConfigError("wsUrl is required", "wsUrl");
36
+ }
37
+ // Validate URL formats
38
+ try {
39
+ new URL(cfg.wsUrl);
40
+ }
41
+ catch (_e) {
42
+ throw new InvalidConfigError(`wsUrl must be a valid URL, got: ${cfg.wsUrl}`, "wsUrl");
43
+ }
44
+ try {
45
+ new URL(cfg.seiRpcUrl);
46
+ }
47
+ catch (_e) {
48
+ throw new InvalidConfigError(`seiRpcUrl must be a valid URL, got: ${cfg.seiRpcUrl}`, "seiRpcUrl");
49
+ }
50
+ // Validate network - must be a preset or a valid URL
51
+ if (!cfg.network) {
52
+ throw new InvalidConfigError("network is required", "network");
53
+ }
54
+ const presetNetworks = ["mainnet", "development", "staging", "local"];
55
+ if (!presetNetworks.includes(cfg.network)) {
56
+ try {
57
+ new URL(cfg.network);
58
+ }
59
+ catch (_e) {
60
+ throw new InvalidConfigError(`network must be a preset (${presetNetworks.join(", ")}) or a valid URL, got: ${cfg.network}`, "network");
61
+ }
62
+ }
63
+ this.network = cfg.network;
64
+ // Use Sei mainnet chain only for "mainnet" network, testnet for everything else
65
+ const chain = this.network === "mainnet" ? sei : seiTestnet;
66
+ this.chain = chain;
67
+ // Create public client with provided RPC URL
68
+ const transport = http(cfg.seiRpcUrl);
69
+ this.publicClient = createPublicClient({
70
+ chain,
71
+ transport,
72
+ });
73
+ // Resolve the API URL (from preset or custom URL)
74
+ const apiUrl = resolveApiUrl(this.network);
75
+ // Validate that the wallet client is on the correct chain
76
+ if (cfg.walletClient.chain?.id !== chain.id) {
77
+ throw new InvalidConfigError(`Wallet client chain mismatch. Expected ${chain.id}, got ${cfg.walletClient.chain?.id}`, "walletClient");
78
+ }
79
+ this.walletClient = cfg.walletClient;
80
+ // Instantiate APIs
81
+ this.applications = new ApplicationsAPIImpl(apiUrl);
82
+ this.market = new MarketAPIImpl(apiUrl);
83
+ this.auth = new AuthAPIImpl(this.walletClient, this.chain, apiUrl);
84
+ this.fees = new FeesAPIImpl(apiUrl);
85
+ this.profile = new ProfileAPIImpl(apiUrl);
86
+ this.vault = new VaultAPIImpl(this.publicClient, this.walletClient, this.chain, this.applications, this.profile, apiUrl);
87
+ this.trading = new TradingAPIImpl(apiUrl);
88
+ this.orderbook = new OrderbookAPIImpl(apiUrl);
89
+ this.trades = new TradesAPIImpl(apiUrl);
90
+ this.ws = createMonacoWebSocket(cfg.wsUrl);
91
+ // Auto-connect WebSocket, log errors
92
+ this.ws.connect().catch(console.error);
93
+ }
94
+ /**
95
+ * Authenticate the user
96
+ *
97
+ * Returns an AuthState object containing:
98
+ * - `accessToken`: For making authenticated API requests
99
+ * - `refreshToken`: For refreshing tokens AND revoking (logout)
100
+ * - `expiresAt`: When the access token expires
101
+ * - `user`: User information
102
+ *
103
+ * Note: There is NO separate `revokeToken` property. Use `authState.refreshToken`
104
+ * when calling `auth.revokeToken()` or just call `sdk.logout()`.
105
+ *
106
+ * @param clientId - The client ID for authentication
107
+ * @param options - Optional configuration
108
+ * @param options.connectWebSocket - Auto-connect WebSocket after login (default: false)
109
+ *
110
+ * @example
111
+ * ```typescript
112
+ * // Login only
113
+ * const authState = await sdk.login(clientId);
114
+ *
115
+ * // Login and auto-connect WebSocket
116
+ * const authState = await sdk.login(clientId, { connectWebSocket: true });
117
+ *
118
+ * // Manual WebSocket connection
119
+ * await sdk.ws.connect();
120
+ *
121
+ * // Later, to revoke:
122
+ * await sdk.auth.revokeToken(authState.refreshToken); // ✅
123
+ * // Or revoke and disconnect WebSocket:
124
+ * await sdk.logout(); // ✅ Calls revokeToken internally and disconnects WebSocket
125
+ * ```
126
+ */
127
+ async login(clientId, options) {
128
+ const response = await this.auth.authenticate(clientId);
129
+ this.authState = {
130
+ accessToken: response.accessToken,
131
+ refreshToken: response.refreshToken,
132
+ expiresAt: response.expiresAt,
133
+ user: response.user,
134
+ };
135
+ this.propagateAccessToken(this.authState.accessToken);
136
+ // Auto-connect WebSocket if requested
137
+ if (options?.connectWebSocket) {
138
+ await this.ws.connect();
139
+ }
140
+ return this.authState;
141
+ }
142
+ /**
143
+ * Get the current authentication state
144
+ *
145
+ * @returns The current authentication state or undefined if not authenticated
146
+ */
147
+ getAuthState() {
148
+ return this.authState;
149
+ }
150
+ /**
151
+ * Set the authentication state directly
152
+ * Useful for sharing authentication across multiple SDK instances (e.g., in tests)
153
+ *
154
+ * @param authState - The authentication state to set
155
+ */
156
+ setAuthState(authState) {
157
+ this.authState = authState;
158
+ this.propagateAccessToken(authState.accessToken);
159
+ }
160
+ /**
161
+ * Log the user out
162
+ *
163
+ * This method revokes the refresh token (if available), disconnects all authenticated
164
+ * WebSocket channels, and clears the local auth state.
165
+ * It internally calls `auth.revokeToken(refreshToken)` to invalidate the token on the server.
166
+ *
167
+ * @example
168
+ * ```typescript
169
+ * await sdk.logout();
170
+ * // Token is revoked, authenticated WebSockets disconnected, and local state cleared
171
+ * ```
172
+ */
173
+ async logout() {
174
+ if (this.authState?.refreshToken) {
175
+ try {
176
+ await this.auth.revokeToken(this.authState.refreshToken);
177
+ }
178
+ catch (error) {
179
+ // Log but don't throw - we want to clear the local state regardless
180
+ console.warn("Failed to revoke token on logout:", error);
181
+ }
182
+ }
183
+ // Disconnect WebSocket if connected
184
+ if (this.ws.isConnected()) {
185
+ this.ws.disconnect();
186
+ }
187
+ this.authState = undefined;
188
+ }
189
+ /**
190
+ * Refresh the access token
191
+ * @returns The updated authentication state
192
+ */
193
+ async refreshAuth() {
194
+ if (!this.authState?.refreshToken) {
195
+ throw new APIError("No refresh token available", {
196
+ endpoint: "auth/refresh",
197
+ statusCode: StatusCodes.UNAUTHORIZED,
198
+ });
199
+ }
200
+ try {
201
+ const response = await this.auth.refreshToken(this.authState.refreshToken);
202
+ this.authState = {
203
+ ...this.authState,
204
+ accessToken: response.accessToken,
205
+ expiresAt: response.expiresAt,
206
+ };
207
+ this.propagateAccessToken(this.authState.accessToken);
208
+ return this.authState;
209
+ }
210
+ catch (error) {
211
+ // If refresh fails, set the auth state to undefined
212
+ this.authState = undefined;
213
+ throw error;
214
+ }
215
+ }
216
+ /**
217
+ * Check if the user is authenticated
218
+ */
219
+ isAuthenticated() {
220
+ return !!this.authState;
221
+ }
222
+ /**
223
+ * Check connection status
224
+ */
225
+ isConnected() {
226
+ return !!this.walletClient && !!this.publicClient;
227
+ }
228
+ /**
229
+ * Get the current account address
230
+ */
231
+ getAccountAddress() {
232
+ if (this.walletClient.account) {
233
+ return this.walletClient.account.address;
234
+ }
235
+ throw new InvalidStateError("No account available", "account");
236
+ }
237
+ /**
238
+ * Get the current network
239
+ */
240
+ getNetwork() {
241
+ return this.network;
242
+ }
243
+ /**
244
+ * Get the current chain ID
245
+ */
246
+ getChainId() {
247
+ return this.chain.id;
248
+ }
249
+ /**
250
+ * Wait for a transaction to be confirmed
251
+ * @param hash - The transaction hash
252
+ * @param confirmations - Number of confirmations to wait for (optional)
253
+ * @param timeout - Timeout in milliseconds (optional)
254
+ * @returns The transaction receipt
255
+ */
256
+ async waitForTransaction(hash, confirmations, timeout) {
257
+ return this.publicClient.waitForTransactionReceipt({
258
+ hash: hash,
259
+ confirmations,
260
+ timeout,
261
+ });
262
+ }
263
+ }
264
+ /**
265
+ * Create a new Monaco SDK instance
266
+ * @param config - SDK configuration
267
+ * @returns Monaco SDK instance
268
+ */
269
+ export function createMonacoSDK(config) {
270
+ return new MonacoSDKImpl(config);
271
+ }
272
+ //# sourceMappingURL=sdk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk.js","sourceRoot":"","sources":["../src/sdk.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from "./magnitude";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./magnitude";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Minimum number of price buckets allowed for a magnitude
3
+ */
4
+ export declare const MIN_BUCKETS_ALLOWED = 10;
5
+ /**
6
+ * Maximum number of price buckets allowed for a magnitude
7
+ */
8
+ export declare const MAX_BUCKETS_ALLOWED = 10000000;
9
+ /**
10
+ * All possible magnitude values we support (from 0.0001 to 10000)
11
+ */
12
+ export declare const ALL_MAGNITUDES: number[];
13
+ /**
14
+ * Calculate which magnitude levels are valid for a given price.
15
+ *
16
+ * A magnitude is valid if it creates between MIN_BUCKETS_ALLOWED and MAX_BUCKETS_ALLOWED price buckets.
17
+ *
18
+ * @param currentPrice - The current market price (e.g., 50000 for BTC/USDC)
19
+ * @returns Array of valid magnitude values
20
+ *
21
+ * @example
22
+ * calculateValidMagnitudes(112000); // [0.1, 1, 10, 100, 1000, 10000]
23
+ * calculateValidMagnitudes(4200); // [0.001, 0.01, 0.1, 1, 10, 100]
24
+ * calculateValidMagnitudes(0.5); // [0.0001, 0.001, 0.01]
25
+ */
26
+ export declare const calculateValidMagnitudes: (currentPrice: number) => number[];
27
+ //# sourceMappingURL=magnitude.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"magnitude.d.ts","sourceRoot":"","sources":["../../src/utils/magnitude.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAEtC;;GAEG;AACH,eAAO,MAAM,mBAAmB,WAAa,CAAC;AAE9C;;GAEG;AACH,eAAO,MAAM,cAAc,UAAsD,CAAC;AAElF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,wBAAwB,GAAI,cAAc,MAAM,KAAG,MAAM,EAKrE,CAAC"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Minimum number of price buckets allowed for a magnitude
3
+ */
4
+ export const MIN_BUCKETS_ALLOWED = 10;
5
+ /**
6
+ * Maximum number of price buckets allowed for a magnitude
7
+ */
8
+ export const MAX_BUCKETS_ALLOWED = 10000000;
9
+ /**
10
+ * All possible magnitude values we support (from 0.0001 to 10000)
11
+ */
12
+ export const ALL_MAGNITUDES = [0.0001, 0.001, 0.01, 0.1, 1, 10, 100, 1000, 10000];
13
+ /**
14
+ * Calculate which magnitude levels are valid for a given price.
15
+ *
16
+ * A magnitude is valid if it creates between MIN_BUCKETS_ALLOWED and MAX_BUCKETS_ALLOWED price buckets.
17
+ *
18
+ * @param currentPrice - The current market price (e.g., 50000 for BTC/USDC)
19
+ * @returns Array of valid magnitude values
20
+ *
21
+ * @example
22
+ * calculateValidMagnitudes(112000); // [0.1, 1, 10, 100, 1000, 10000]
23
+ * calculateValidMagnitudes(4200); // [0.001, 0.01, 0.1, 1, 10, 100]
24
+ * calculateValidMagnitudes(0.5); // [0.0001, 0.001, 0.01]
25
+ */
26
+ export const calculateValidMagnitudes = (currentPrice) => {
27
+ return ALL_MAGNITUDES.filter((magnitude) => {
28
+ const bucketCount = Math.floor(currentPrice / magnitude);
29
+ return bucketCount >= MIN_BUCKETS_ALLOWED && bucketCount <= MAX_BUCKETS_ALLOWED;
30
+ });
31
+ };
32
+ //# sourceMappingURL=magnitude.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"magnitude.js","sourceRoot":"","sources":["../../src/utils/magnitude.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAEtC;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,QAAU,CAAC;AAE9C;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAElF;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,YAAoB,EAAY,EAAE;IACzE,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE;QACzC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC;QACzD,OAAO,WAAW,IAAI,mBAAmB,IAAI,WAAW,IAAI,mBAAmB,CAAC;IAClF,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}