@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.
- package/README.md +693 -0
- package/dist/api/applications/api.d.ts +44 -0
- package/dist/api/applications/api.d.ts.map +1 -0
- package/dist/api/applications/api.js +54 -0
- package/dist/api/applications/api.js.map +1 -0
- package/dist/api/applications/index.d.ts +5 -0
- package/dist/api/applications/index.d.ts.map +1 -0
- package/dist/api/applications/index.js +5 -0
- package/dist/api/applications/index.js.map +1 -0
- package/dist/api/auth/api.d.ts +201 -0
- package/dist/api/auth/api.d.ts.map +1 -0
- package/dist/api/auth/api.js +293 -0
- package/dist/api/auth/api.js.map +1 -0
- package/dist/api/auth/index.d.ts +5 -0
- package/dist/api/auth/index.d.ts.map +1 -0
- package/dist/api/auth/index.js +5 -0
- package/dist/api/auth/index.js.map +1 -0
- package/dist/api/base.d.ts +124 -0
- package/dist/api/base.d.ts.map +1 -0
- package/dist/api/base.js +284 -0
- package/dist/api/base.js.map +1 -0
- package/dist/api/fees/api.d.ts +71 -0
- package/dist/api/fees/api.d.ts.map +1 -0
- package/dist/api/fees/api.js +83 -0
- package/dist/api/fees/api.js.map +1 -0
- package/dist/api/fees/index.d.ts +7 -0
- package/dist/api/fees/index.d.ts.map +1 -0
- package/dist/api/fees/index.js +7 -0
- package/dist/api/fees/index.js.map +1 -0
- package/dist/api/index.d.ts +16 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +16 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/market/api.d.ts +14 -0
- package/dist/api/market/api.d.ts.map +1 -0
- package/dist/api/market/api.js +70 -0
- package/dist/api/market/api.js.map +1 -0
- package/dist/api/market/index.d.ts +2 -0
- package/dist/api/market/index.d.ts.map +1 -0
- package/dist/api/market/index.js +2 -0
- package/dist/api/market/index.js.map +1 -0
- package/dist/api/orderbook/api.d.ts +16 -0
- package/dist/api/orderbook/api.d.ts.map +1 -0
- package/dist/api/orderbook/api.js +38 -0
- package/dist/api/orderbook/api.js.map +1 -0
- package/dist/api/orderbook/index.d.ts +2 -0
- package/dist/api/orderbook/index.d.ts.map +1 -0
- package/dist/api/orderbook/index.js +2 -0
- package/dist/api/orderbook/index.js.map +1 -0
- package/dist/api/profile/api.d.ts +119 -0
- package/dist/api/profile/api.d.ts.map +1 -0
- package/dist/api/profile/api.js +162 -0
- package/dist/api/profile/api.js.map +1 -0
- package/dist/api/profile/index.d.ts +7 -0
- package/dist/api/profile/index.d.ts.map +1 -0
- package/dist/api/profile/index.js +7 -0
- package/dist/api/profile/index.js.map +1 -0
- package/dist/api/trades/api.d.ts +45 -0
- package/dist/api/trades/api.d.ts.map +1 -0
- package/dist/api/trades/api.js +43 -0
- package/dist/api/trades/api.js.map +1 -0
- package/dist/api/trades/index.d.ts +2 -0
- package/dist/api/trades/index.d.ts.map +1 -0
- package/dist/api/trades/index.js +2 -0
- package/dist/api/trades/index.js.map +1 -0
- package/dist/api/trading/api.d.ts +213 -0
- package/dist/api/trading/api.d.ts.map +1 -0
- package/dist/api/trading/api.js +285 -0
- package/dist/api/trading/api.js.map +1 -0
- package/dist/api/trading/index.d.ts +5 -0
- package/dist/api/trading/index.d.ts.map +1 -0
- package/dist/api/trading/index.js +5 -0
- package/dist/api/trading/index.js.map +1 -0
- package/dist/api/vault/api.d.ts +257 -0
- package/dist/api/vault/api.d.ts.map +1 -0
- package/dist/api/vault/api.js +526 -0
- package/dist/api/vault/api.js.map +1 -0
- package/dist/api/vault/index.d.ts +5 -0
- package/dist/api/vault/index.d.ts.map +1 -0
- package/dist/api/vault/index.js +5 -0
- package/dist/api/vault/index.js.map +1 -0
- package/dist/api/websocket/index.d.ts +4 -0
- package/dist/api/websocket/index.d.ts.map +1 -0
- package/dist/api/websocket/index.js +4 -0
- package/dist/api/websocket/index.js.map +1 -0
- package/dist/api/websocket/types.d.ts +36 -0
- package/dist/api/websocket/types.d.ts.map +1 -0
- package/dist/api/websocket/types.js +2 -0
- package/dist/api/websocket/types.js.map +1 -0
- package/dist/api/websocket/utils.d.ts +9 -0
- package/dist/api/websocket/utils.d.ts.map +1 -0
- package/dist/api/websocket/utils.js +23 -0
- package/dist/api/websocket/utils.js.map +1 -0
- package/dist/api/websocket/websocket.d.ts +6 -0
- package/dist/api/websocket/websocket.d.ts.map +1 -0
- package/dist/api/websocket/websocket.js +345 -0
- package/dist/api/websocket/websocket.js.map +1 -0
- package/dist/errors/errors.d.ts +382 -0
- package/dist/errors/errors.d.ts.map +1 -0
- package/dist/errors/errors.js +801 -0
- package/dist/errors/errors.js.map +1 -0
- package/dist/errors/index.d.ts +2 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +2 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/networks/index.d.ts +2 -0
- package/dist/networks/index.d.ts.map +1 -0
- package/dist/networks/index.js +2 -0
- package/dist/networks/index.js.map +1 -0
- package/dist/networks/networks.d.ts +15 -0
- package/dist/networks/networks.d.ts.map +1 -0
- package/dist/networks/networks.js +34 -0
- package/dist/networks/networks.js.map +1 -0
- package/dist/sdk.d.ts +128 -0
- package/dist/sdk.d.ts.map +1 -0
- package/dist/sdk.js +272 -0
- package/dist/sdk.js.map +1 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +2 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/magnitude.d.ts +27 -0
- package/dist/utils/magnitude.d.ts.map +1 -0
- package/dist/utils/magnitude.js +32 -0
- package/dist/utils/magnitude.js.map +1 -0
- 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 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -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 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/networks/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
|
|
@@ -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
|
package/dist/sdk.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sdk.js","sourceRoot":"","sources":["../src/sdk.ts"],"names":[],"mappings":"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"}
|
|
@@ -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 @@
|
|
|
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"}
|