@0xmonaco/core 0.3.2 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -9
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/networks.d.ts +8 -10
- package/dist/networks.d.ts.map +1 -1
- package/dist/networks.js +19 -86
- package/dist/networks.js.map +1 -1
- package/dist/sdk.d.ts.map +1 -1
- package/dist/sdk.js +26 -15
- package/dist/sdk.js.map +1 -1
- package/package.json +7 -7
package/README.md
CHANGED
|
@@ -105,18 +105,24 @@ If you see an error about `TEST_PRIVATE_KEY` not being set:
|
|
|
105
105
|
|
|
106
106
|
## Network Support
|
|
107
107
|
|
|
108
|
-
The SDK supports both Sei mainnet (pacific-1) and testnet (atlantic-2) networks.
|
|
108
|
+
The SDK supports both Sei mainnet (pacific-1) and testnet (atlantic-2) networks. You configure the network by providing the `network` and `seiRpcUrl` parameters:
|
|
109
109
|
|
|
110
110
|
```typescript
|
|
111
|
-
import {
|
|
111
|
+
import { MonacoSDK } from "@0xmonaco/core";
|
|
112
112
|
|
|
113
|
-
//
|
|
114
|
-
const
|
|
115
|
-
|
|
113
|
+
// Testnet configuration
|
|
114
|
+
const testnetSdk = new MonacoSDK({
|
|
115
|
+
walletClient,
|
|
116
|
+
network: "testnet",
|
|
117
|
+
seiRpcUrl: "https://evm-rpc-testnet.sei-apis.com" // Atlantic-2 testnet
|
|
118
|
+
});
|
|
116
119
|
|
|
117
|
-
//
|
|
118
|
-
|
|
119
|
-
|
|
120
|
+
// Mainnet configuration
|
|
121
|
+
const mainnetSdk = new MonacoSDK({
|
|
122
|
+
walletClient,
|
|
123
|
+
network: "mainnet",
|
|
124
|
+
seiRpcUrl: "https://evm-rpc.sei-apis.com" // Pacific-1 mainnet
|
|
125
|
+
});
|
|
120
126
|
```
|
|
121
127
|
|
|
122
128
|
## Quick Start
|
|
@@ -130,12 +136,14 @@ import { privateKeyToAccount } from "viem/accounts";
|
|
|
130
136
|
const account = privateKeyToAccount("0x...");
|
|
131
137
|
const walletClient = createWalletClient({
|
|
132
138
|
account,
|
|
133
|
-
|
|
139
|
+
chain: sei, // or seiTestnet
|
|
140
|
+
transport: http("https://evm-rpc.sei-apis.com") // or https://evm-rpc-testnet.sei-apis.com for testnet
|
|
134
141
|
});
|
|
135
142
|
|
|
136
143
|
const monaco = new MonacoSDK({
|
|
137
144
|
walletClient,
|
|
138
145
|
network: "mainnet", // or "testnet"
|
|
146
|
+
seiRpcUrl: "https://evm-rpc.sei-apis.com" // or https://evm-rpc-testnet.sei-apis.com for testnet
|
|
139
147
|
});
|
|
140
148
|
|
|
141
149
|
// Authentication
|
package/dist/index.d.ts
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
export { createMonacoSDK, MonacoSDKImpl as MonacoSDK } from "./sdk";
|
|
8
8
|
export type { Balance, CancelOrderResponse, Candlestick, ConnectionStatus, Interval, MarketAPI, MonacoSDK as IMonacoSDK, Network, OHLCVEvent, OHLCVWebSocketClient, OrdersWebSocketClient, ProfileAPI, SDKConfig, TradingAPI, TransactionResult, VaultAPI, WebSocketConfig, } from "@0xmonaco/types";
|
|
9
|
-
export {
|
|
9
|
+
export { resolveApiUrl } from "./networks";
|
|
10
10
|
export { APIError, ContractError, InvalidConfigError, InvalidStateError, MonacoCoreError, OrderError, TransactionError, } from "./errors";
|
|
11
11
|
export { ALL_MAGNITUDES, calculateValidMagnitudes, MAX_BUCKETS_ALLOWED, MIN_BUCKETS_ALLOWED, } from "./utils";
|
|
12
12
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,EAAE,eAAe,EAAE,aAAa,IAAI,SAAS,EAAE,MAAM,OAAO,CAAC;AAMpE,YAAY,EACV,OAAO,EACP,mBAAmB,EACnB,WAAW,EACX,gBAAgB,EAChB,QAAQ,EACR,SAAS,EACT,SAAS,IAAI,UAAU,EACvB,OAAO,EACP,UAAU,EACV,oBAAoB,EACpB,qBAAqB,EACrB,UAAU,EACV,SAAS,EACT,UAAU,EACV,iBAAiB,EACjB,QAAQ,EACR,eAAe,GAChB,MAAM,iBAAiB,CAAC;AAMzB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,EAAE,eAAe,EAAE,aAAa,IAAI,SAAS,EAAE,MAAM,OAAO,CAAC;AAMpE,YAAY,EACV,OAAO,EACP,mBAAmB,EACnB,WAAW,EACX,gBAAgB,EAChB,QAAQ,EACR,SAAS,EACT,SAAS,IAAI,UAAU,EACvB,OAAO,EACP,UAAU,EACV,oBAAoB,EACpB,qBAAqB,EACrB,UAAU,EACV,SAAS,EACT,UAAU,EACV,iBAAiB,EACjB,QAAQ,EACR,eAAe,GAChB,MAAM,iBAAiB,CAAC;AAMzB,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAM3C,OAAO,EACL,QAAQ,EACR,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,UAAU,EACV,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAMlB,OAAO,EACL,cAAc,EACd,wBAAwB,EACxB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,SAAS,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -11,7 +11,7 @@ export { createMonacoSDK, MonacoSDKImpl as MonacoSDK } from "./sdk";
|
|
|
11
11
|
// ============================================================================
|
|
12
12
|
// Network Configuration
|
|
13
13
|
// ============================================================================
|
|
14
|
-
export {
|
|
14
|
+
export { resolveApiUrl } from "./networks";
|
|
15
15
|
// ============================================================================
|
|
16
16
|
// Error Classes
|
|
17
17
|
// ============================================================================
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,+EAA+E;AAC/E,kBAAkB;AAClB,+EAA+E;AAE/E,OAAO,EAAE,eAAe,EAAE,aAAa,IAAI,SAAS,EAAE,MAAM,OAAO,CAAC;AA0BpE,+EAA+E;AAC/E,wBAAwB;AACxB,+EAA+E;AAE/E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,+EAA+E;AAC/E,kBAAkB;AAClB,+EAA+E;AAE/E,OAAO,EAAE,eAAe,EAAE,aAAa,IAAI,SAAS,EAAE,MAAM,OAAO,CAAC;AA0BpE,+EAA+E;AAC/E,wBAAwB;AACxB,+EAA+E;AAE/E,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,+EAA+E;AAC/E,gBAAgB;AAChB,+EAA+E;AAE/E,OAAO,EACL,QAAQ,EACR,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,UAAU,EACV,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAElB,+EAA+E;AAC/E,gCAAgC;AAChC,+EAA+E;AAE/E,OAAO,EACL,cAAc,EACd,wBAAwB,EACxB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,SAAS,CAAC"}
|
package/dist/networks.d.ts
CHANGED
|
@@ -1,17 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Monaco SDK
|
|
2
|
+
* Monaco SDK Network Configuration
|
|
3
3
|
*
|
|
4
|
-
* Network configuration and endpoints.
|
|
5
|
-
*
|
|
6
|
-
* Only the network being used needs to have its environment variables set.
|
|
4
|
+
* Network configuration and endpoints with hardcoded defaults.
|
|
5
|
+
* No environment variables required - all configuration is provided at runtime.
|
|
7
6
|
*/
|
|
8
|
-
import type { Network
|
|
7
|
+
import type { Network } from "@0xmonaco/types";
|
|
9
8
|
/**
|
|
10
|
-
*
|
|
11
|
-
* Maps network names to their respective RPC and API endpoints
|
|
9
|
+
* Resolve the API URL based on network
|
|
12
10
|
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
11
|
+
* @param network - Network identifier (preset name or custom URL)
|
|
12
|
+
* @returns The resolved API URL
|
|
15
13
|
*/
|
|
16
|
-
export declare
|
|
14
|
+
export declare function resolveApiUrl(network: Network): string;
|
|
17
15
|
//# sourceMappingURL=networks.d.ts.map
|
package/dist/networks.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"networks.d.ts","sourceRoot":"","sources":["../src/networks.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"networks.d.ts","sourceRoot":"","sources":["../src/networks.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAW/C;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAQtD"}
|
package/dist/networks.js
CHANGED
|
@@ -1,96 +1,29 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Monaco SDK
|
|
2
|
+
* Monaco SDK Network Configuration
|
|
3
3
|
*
|
|
4
|
-
* Network configuration and endpoints.
|
|
5
|
-
*
|
|
6
|
-
* Only the network being used needs to have its environment variables set.
|
|
4
|
+
* Network configuration and endpoints with hardcoded defaults.
|
|
5
|
+
* No environment variables required - all configuration is provided at runtime.
|
|
7
6
|
*/
|
|
8
7
|
/**
|
|
9
|
-
*
|
|
10
|
-
* Only throws when the specific network is accessed
|
|
8
|
+
* Default API URLs for preset networks
|
|
11
9
|
*/
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
if (!url) {
|
|
17
|
-
throw new Error("TESTNET_API_URL environment variable is required when using testnet. " + "Please set it in your .env file or environment.");
|
|
18
|
-
}
|
|
19
|
-
return url;
|
|
20
|
-
}
|
|
21
|
-
// For mainnet, use MAINNET_API_URL
|
|
22
|
-
if (network === "mainnet") {
|
|
23
|
-
const url = process.env.MAINNET_API_URL;
|
|
24
|
-
if (!url) {
|
|
25
|
-
throw new Error("MAINNET_API_URL environment variable is required when using mainnet. " + "Please set it in your .env file or environment.");
|
|
26
|
-
}
|
|
27
|
-
return url;
|
|
28
|
-
}
|
|
29
|
-
// For local, use LOCAL_API_URL or default to localhost
|
|
30
|
-
if (network === "local") {
|
|
31
|
-
return process.env.LOCAL_API_URL || "http://localhost:8080";
|
|
32
|
-
}
|
|
33
|
-
throw new Error(`Unknown network: ${network}`);
|
|
10
|
+
const DEFAULT_API_URLS = {
|
|
11
|
+
local: "http://localhost:8080",
|
|
12
|
+
testnet: "https://dev.api-monaco.xyz",
|
|
13
|
+
mainnet: "https://api-monaco.xyz",
|
|
34
14
|
};
|
|
35
15
|
/**
|
|
36
|
-
*
|
|
37
|
-
* Only throws when the specific network is accessed
|
|
38
|
-
*/
|
|
39
|
-
const getRpcUrl = (network) => {
|
|
40
|
-
if (network === "testnet") {
|
|
41
|
-
const url = process.env.TESTNET_RPC_URL;
|
|
42
|
-
if (!url) {
|
|
43
|
-
throw new Error("TESTNET_RPC_URL environment variable is required when using testnet. " + "Please set it in your .env file or environment.");
|
|
44
|
-
}
|
|
45
|
-
return url;
|
|
46
|
-
}
|
|
47
|
-
if (network === "mainnet") {
|
|
48
|
-
const url = process.env.MAINNET_RPC_URL;
|
|
49
|
-
if (!url) {
|
|
50
|
-
throw new Error("MAINNET_RPC_URL environment variable is required when using mainnet. " + "Please set it in your .env file or environment.");
|
|
51
|
-
}
|
|
52
|
-
return url;
|
|
53
|
-
}
|
|
54
|
-
if (network === "local") {
|
|
55
|
-
const url = process.env.LOCAL_RPC_URL;
|
|
56
|
-
if (!url) {
|
|
57
|
-
throw new Error("LOCAL_RPC_URL environment variable is required when using local network. " + "Please set it in your .env file or environment.");
|
|
58
|
-
}
|
|
59
|
-
return url;
|
|
60
|
-
}
|
|
61
|
-
throw new Error(`Unknown network: ${network}`);
|
|
62
|
-
};
|
|
63
|
-
/**
|
|
64
|
-
* Network configuration for the Monaco SDK
|
|
65
|
-
* Maps network names to their respective RPC and API endpoints
|
|
16
|
+
* Resolve the API URL based on network
|
|
66
17
|
*
|
|
67
|
-
*
|
|
68
|
-
*
|
|
18
|
+
* @param network - Network identifier (preset name or custom URL)
|
|
19
|
+
* @returns The resolved API URL
|
|
69
20
|
*/
|
|
70
|
-
export
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
},
|
|
79
|
-
testnet: {
|
|
80
|
-
get rpcUrl() {
|
|
81
|
-
return getRpcUrl("testnet");
|
|
82
|
-
},
|
|
83
|
-
get apiUrl() {
|
|
84
|
-
return getApiUrl("testnet");
|
|
85
|
-
},
|
|
86
|
-
},
|
|
87
|
-
local: {
|
|
88
|
-
get rpcUrl() {
|
|
89
|
-
return getRpcUrl("local");
|
|
90
|
-
},
|
|
91
|
-
get apiUrl() {
|
|
92
|
-
return getApiUrl("local");
|
|
93
|
-
},
|
|
94
|
-
},
|
|
95
|
-
};
|
|
21
|
+
export function resolveApiUrl(network) {
|
|
22
|
+
// Check if network is a preset
|
|
23
|
+
if (network in DEFAULT_API_URLS) {
|
|
24
|
+
return DEFAULT_API_URLS[network];
|
|
25
|
+
}
|
|
26
|
+
// Otherwise, treat network as a custom API URL
|
|
27
|
+
return network;
|
|
28
|
+
}
|
|
96
29
|
//# sourceMappingURL=networks.js.map
|
package/dist/networks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"networks.js","sourceRoot":"","sources":["../src/networks.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"networks.js","sourceRoot":"","sources":["../src/networks.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;GAEG;AACH,MAAM,gBAAgB,GAA2B;IAC/C,KAAK,EAAE,uBAAuB;IAC9B,OAAO,EAAE,4BAA4B;IACrC,OAAO,EAAE,wBAAwB;CAClC,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.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../src/sdk.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EACV,eAAe,EACf,OAAO,EACP,SAAS,EACT,OAAO,EACP,SAAS,EACT,SAAS,EACT,OAAO,EACP,oBAAoB,EACpB,wBAAwB,EACxB,qBAAqB,EACrB,UAAU,EACV,SAAS,EACT,UAAU,EACV,QAAQ,EACT,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAkD,KAAK,YAAY,EAAE,KAAK,kBAAkB,EAAE,KAAK,YAAY,EAAE,MAAM,MAAM,CAAC;AAgBrI,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;QAChB,MAAM,EAAE,qBAAqB,CAAC;QAC9B,KAAK,EAAE,oBAAoB,CAAC;QAC5B,SAAS,EAAE,wBAAwB,CAAC;KACrC,CAAC;IAEK,YAAY,EAAE,YAAY,CAAC;IAC3B,YAAY,EAAE,YAAY,CAAC;IAElC,OAAO,CAAC,SAAS,CAAC,CAAY;IAC9B,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,KAAK,CAAQ;gBAET,GAAG,EAAE,SAAS;
|
|
1
|
+
{"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../src/sdk.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EACV,eAAe,EACf,OAAO,EACP,SAAS,EACT,OAAO,EACP,SAAS,EACT,SAAS,EACT,OAAO,EACP,oBAAoB,EACpB,wBAAwB,EACxB,qBAAqB,EACrB,UAAU,EACV,SAAS,EACT,UAAU,EACV,QAAQ,EACT,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAkD,KAAK,YAAY,EAAE,KAAK,kBAAkB,EAAE,KAAK,YAAY,EAAE,MAAM,MAAM,CAAC;AAgBrI,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;QAChB,MAAM,EAAE,qBAAqB,CAAC;QAC9B,KAAK,EAAE,oBAAoB,CAAC;QAC5B,SAAS,EAAE,wBAAwB,CAAC;KACrC,CAAC;IAEK,YAAY,EAAE,YAAY,CAAC;IAC3B,YAAY,EAAE,YAAY,CAAC;IAElC,OAAO,CAAC,SAAS,CAAC,CAAY;IAC9B,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,KAAK,CAAQ;gBAET,GAAG,EAAE,SAAS;IAwE1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACG,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,CAAC;IAgC3F;;;;OAIG;IACH,YAAY,IAAI,SAAS,GAAG,SAAS;IAIrC;;;;;OAKG;IACH,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAiBxC;;;;;;;;;;;;OAYG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB7B;;;OAGG;IACG,WAAW,IAAI,OAAO,CAAC,SAAS,CAAC;IAsCvC;;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;AAMD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,CAE5D"}
|
package/dist/sdk.js
CHANGED
|
@@ -9,7 +9,7 @@ import { TradingAPIImpl } from "./api/trading";
|
|
|
9
9
|
import { VaultAPIImpl } from "./api/vault";
|
|
10
10
|
import { OHLCVWebSocketClientImpl, OrderbookWebSocketClientImpl, OrdersWebSocketClientImpl } from "./api/websocket";
|
|
11
11
|
import { APIError, InvalidConfigError, InvalidStateError } from "./errors";
|
|
12
|
-
import {
|
|
12
|
+
import { resolveApiUrl } from "./networks";
|
|
13
13
|
// ---------------------------------------------------------------------------
|
|
14
14
|
// SDK implementation
|
|
15
15
|
// ---------------------------------------------------------------------------
|
|
@@ -18,47 +18,58 @@ export class MonacoSDKImpl {
|
|
|
18
18
|
if (!cfg.walletClient) {
|
|
19
19
|
throw new InvalidConfigError("Wallet client is required", "walletClient");
|
|
20
20
|
}
|
|
21
|
+
if (!cfg.seiRpcUrl) {
|
|
22
|
+
throw new InvalidConfigError("seiRpcUrl is required", "seiRpcUrl");
|
|
23
|
+
}
|
|
24
|
+
// Validate URL format
|
|
25
|
+
try {
|
|
26
|
+
new URL(cfg.seiRpcUrl);
|
|
27
|
+
}
|
|
28
|
+
catch (_e) {
|
|
29
|
+
throw new InvalidConfigError(`seiRpcUrl must be a valid URL, got: ${cfg.seiRpcUrl}`, "seiRpcUrl");
|
|
30
|
+
}
|
|
21
31
|
// Use provided network or default to testnet
|
|
22
32
|
const network = cfg.network ?? "testnet";
|
|
23
33
|
this.network = network;
|
|
34
|
+
// Use Sei mainnet chain only for "mainnet" network, testnet for everything else
|
|
24
35
|
const chain = network === "mainnet" ? sei : seiTestnet;
|
|
25
36
|
this.chain = chain;
|
|
26
|
-
// Create public client
|
|
27
|
-
const transport =
|
|
37
|
+
// Create public client with provided RPC URL
|
|
38
|
+
const transport = http(cfg.seiRpcUrl);
|
|
28
39
|
this.publicClient = createPublicClient({
|
|
29
40
|
chain,
|
|
30
41
|
transport,
|
|
31
42
|
});
|
|
32
|
-
//
|
|
33
|
-
const
|
|
43
|
+
// Resolve the API URL (from preset or custom URL)
|
|
44
|
+
const apiUrl = resolveApiUrl(network);
|
|
34
45
|
// Validate wallet client is on the correct chain
|
|
35
46
|
if (cfg.walletClient.chain?.id !== chain.id) {
|
|
36
47
|
throw new InvalidConfigError(`Wallet client chain mismatch. Expected ${chain.id}, got ${cfg.walletClient.chain?.id}`, "walletClient");
|
|
37
48
|
}
|
|
38
49
|
this.walletClient = cfg.walletClient;
|
|
39
50
|
// Instantiate APIs
|
|
40
|
-
this.applications = new ApplicationsAPIImpl(
|
|
41
|
-
this.market = new MarketAPIImpl(
|
|
42
|
-
this.auth = new AuthAPIImpl(this.walletClient, this.chain,
|
|
43
|
-
this.fees = new FeesAPIImpl(
|
|
44
|
-
this.vault = new VaultAPIImpl(this.publicClient, this.walletClient, this.chain, this.applications,
|
|
45
|
-
this.trading = new TradingAPIImpl(
|
|
46
|
-
this.profile = new ProfileAPIImpl(
|
|
51
|
+
this.applications = new ApplicationsAPIImpl(apiUrl);
|
|
52
|
+
this.market = new MarketAPIImpl(apiUrl);
|
|
53
|
+
this.auth = new AuthAPIImpl(this.walletClient, this.chain, apiUrl);
|
|
54
|
+
this.fees = new FeesAPIImpl(apiUrl);
|
|
55
|
+
this.vault = new VaultAPIImpl(this.publicClient, this.walletClient, this.chain, this.applications, apiUrl);
|
|
56
|
+
this.trading = new TradingAPIImpl(apiUrl);
|
|
57
|
+
this.profile = new ProfileAPIImpl(apiUrl);
|
|
47
58
|
// Instantiate WebSocket clients
|
|
48
59
|
this.websocket = {
|
|
49
60
|
// Orders WebSocket - REQUIRES AUTHENTICATION (this will serve Order Event updates for the authenticated user)
|
|
50
61
|
orders: new OrdersWebSocketClientImpl({
|
|
51
|
-
wsUrl: `${
|
|
62
|
+
wsUrl: `${apiUrl}/ws`,
|
|
52
63
|
// accessToken will be set after login via setAccessToken() to authenticate the user
|
|
53
64
|
}),
|
|
54
65
|
// OHLCV WebSocket - PUBLIC (this will serve OHLCV Event updates for a specific market)
|
|
55
66
|
ohlcv: new OHLCVWebSocketClientImpl({
|
|
56
|
-
wsUrl: `${
|
|
67
|
+
wsUrl: `${apiUrl}/ws`,
|
|
57
68
|
// No accessToken required to be set - public access
|
|
58
69
|
}),
|
|
59
70
|
// Orderbook WebSocket - PUBLIC (this will serve Orderbook Event updates for a specific market)
|
|
60
71
|
orderbook: new OrderbookWebSocketClientImpl({
|
|
61
|
-
wsUrl: `${
|
|
72
|
+
wsUrl: `${apiUrl}/ws`,
|
|
62
73
|
// No accessToken required to be set - public access
|
|
63
74
|
}),
|
|
64
75
|
};
|
package/dist/sdk.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk.js","sourceRoot":"","sources":["../src/sdk.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAc,kBAAkB,EAAY,IAAI,EAAiE,MAAM,MAAM,CAAC;AACrI,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AACpH,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC3E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"sdk.js","sourceRoot":"","sources":["../src/sdk.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@0xmonaco/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.js",
|
|
@@ -12,8 +12,8 @@
|
|
|
12
12
|
"viem": "^2.31.7"
|
|
13
13
|
},
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@0xmonaco/contracts": "0.
|
|
16
|
-
"@0xmonaco/types": "0.
|
|
15
|
+
"@0xmonaco/contracts": "0.4.0",
|
|
16
|
+
"@0xmonaco/types": "0.4.0"
|
|
17
17
|
},
|
|
18
18
|
"devDependencies": {
|
|
19
19
|
"@types/node": "^20.11.30",
|
|
@@ -35,10 +35,10 @@
|
|
|
35
35
|
"dev": "tsc --watch",
|
|
36
36
|
"clean": "rm -rf dist",
|
|
37
37
|
"lint": "eslint src --ext .ts",
|
|
38
|
-
"test": "vitest --config vitest.config.ts",
|
|
39
|
-
"test:unit": "vitest --config tests/configs/unit.config.ts",
|
|
40
|
-
"test:integration": "vitest --config tests/configs/integration.config.ts",
|
|
41
|
-
"test:e2e": "vitest --config tests/configs/e2e.config.ts",
|
|
38
|
+
"test": "vitest run --config vitest.config.ts",
|
|
39
|
+
"test:unit": "vitest run --config tests/configs/unit.config.ts",
|
|
40
|
+
"test:integration": "vitest run --config tests/configs/integration.config.ts",
|
|
41
|
+
"test:e2e": "vitest run --config tests/configs/e2e.config.ts",
|
|
42
42
|
"test:coverage": "vitest run --coverage --config vitest.config.ts",
|
|
43
43
|
"test:coverage:unit": "vitest run --coverage --config tests/configs/unit.config.ts",
|
|
44
44
|
"test:coverage:integration": "vitest run --coverage --config tests/configs/integration.config.ts",
|