@0xmonaco/core 0.1.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 +421 -0
- package/dist/api/auth/api.d.ts +198 -0
- package/dist/api/auth/api.d.ts.map +1 -0
- package/dist/api/auth/api.js +359 -0
- package/dist/api/auth/api.js.map +1 -0
- package/dist/api/auth/index.d.ts +6 -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/index.d.ts +8 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +8 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/trading/api.d.ts +152 -0
- package/dist/api/trading/api.d.ts.map +1 -0
- package/dist/api/trading/api.js +229 -0
- package/dist/api/trading/api.js.map +1 -0
- package/dist/api/trading/index.d.ts +6 -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 +224 -0
- package/dist/api/vault/api.d.ts.map +1 -0
- package/dist/api/vault/api.js +514 -0
- package/dist/api/vault/api.js.map +1 -0
- package/dist/api/vault/index.d.ts +6 -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/chains.d.ts +90 -0
- package/dist/chains.d.ts.map +1 -0
- package/dist/chains.js +56 -0
- package/dist/chains.js.map +1 -0
- package/dist/errors.d.ts +132 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +165 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -0
- package/dist/networks.d.ts +8 -0
- package/dist/networks.d.ts.map +1 -0
- package/dist/networks.js +16 -0
- package/dist/networks.js.map +1 -0
- package/dist/sdk.d.ts +76 -0
- package/dist/sdk.d.ts.map +1 -0
- package/dist/sdk.js +203 -0
- package/dist/sdk.js.map +1 -0
- package/package.json +38 -0
package/dist/sdk.js
ADDED
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Monaco SDK – minimal version with only Vault and Trading APIs
|
|
3
|
+
*/
|
|
4
|
+
import { http, createPublicClient, createWalletClient, } from "viem";
|
|
5
|
+
import { privateKeyToAccount } from "viem/accounts";
|
|
6
|
+
import { CONTRACT_ADDRESSES } from "@0xmonaco/contracts";
|
|
7
|
+
import { NETWORK_ENDPOINTS } from "./networks";
|
|
8
|
+
import { InvalidConfigError, InitializationError, UnsupportedNetworkError, } from "./errors";
|
|
9
|
+
import { VaultAPIImpl } from "./api/vault";
|
|
10
|
+
import { TradingAPIImpl } from "./api/trading";
|
|
11
|
+
import { AuthAPIImpl } from "./api/auth";
|
|
12
|
+
import { seiMainnet, seiTestnet } from "./chains";
|
|
13
|
+
// ---------------------------------------------------------------------------
|
|
14
|
+
// SDK implementation
|
|
15
|
+
// ---------------------------------------------------------------------------
|
|
16
|
+
export class MonacoSDKImpl {
|
|
17
|
+
constructor(cfg) {
|
|
18
|
+
// Validate authentication method
|
|
19
|
+
if (!cfg.privateKey && !cfg.signer && !cfg.account) {
|
|
20
|
+
throw new InvalidConfigError("Authentication required: provide either privateKey, signer, or account", "authentication");
|
|
21
|
+
}
|
|
22
|
+
// Use provided network or default to mainnet
|
|
23
|
+
const network = cfg.network ?? "mainnet";
|
|
24
|
+
// Map network string to chain object
|
|
25
|
+
const chain = network === "testnet" ? seiTestnet : seiMainnet;
|
|
26
|
+
// Always use the chain's default RPC URL - no transport override
|
|
27
|
+
const transport = http(chain.rpcUrls.default.http[0]);
|
|
28
|
+
// Set up account with priority: account > privateKey > signer
|
|
29
|
+
let account;
|
|
30
|
+
if (cfg.account) {
|
|
31
|
+
// Custom account takes highest priority
|
|
32
|
+
account = cfg.account;
|
|
33
|
+
}
|
|
34
|
+
else if (cfg.privateKey) {
|
|
35
|
+
// Convert private key to account
|
|
36
|
+
try {
|
|
37
|
+
account = privateKeyToAccount(cfg.privateKey);
|
|
38
|
+
}
|
|
39
|
+
catch (error) {
|
|
40
|
+
throw new InvalidConfigError(`Invalid private key: ${error instanceof Error ? error.message : "Invalid format"}`, "privateKey");
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
else if (cfg.signer) {
|
|
44
|
+
// Use provided signer
|
|
45
|
+
account = cfg.signer;
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
// This should never happen due to validation above
|
|
49
|
+
throw new InitializationError("No valid authentication method found");
|
|
50
|
+
}
|
|
51
|
+
// Create both clients internally, but only expose walletClient
|
|
52
|
+
this.publicClient = createPublicClient({
|
|
53
|
+
chain: chain,
|
|
54
|
+
transport,
|
|
55
|
+
});
|
|
56
|
+
this.walletClient = createWalletClient({
|
|
57
|
+
chain: chain,
|
|
58
|
+
account,
|
|
59
|
+
transport,
|
|
60
|
+
});
|
|
61
|
+
// Get network endpoints based on network string
|
|
62
|
+
const endpoints = NETWORK_ENDPOINTS[network];
|
|
63
|
+
// Get contract addresses from chain ID
|
|
64
|
+
const contracts = CONTRACT_ADDRESSES[chain.id];
|
|
65
|
+
// Validate that we have contract addresses for this chain
|
|
66
|
+
if (!contracts) {
|
|
67
|
+
throw new UnsupportedNetworkError(`Chain ID ${chain.id} is not supported. Supported chains: ${[seiTestnet.id, seiMainnet.id].join(", ")}`, chain.id, [seiTestnet.id, seiMainnet.id]);
|
|
68
|
+
}
|
|
69
|
+
// Instantiate APIs
|
|
70
|
+
this.auth = new AuthAPIImpl(this.walletClient, endpoints.apiUrl, chain);
|
|
71
|
+
this.vault = new VaultAPIImpl(this.publicClient, this.walletClient, contracts.vault, endpoints.apiUrl, chain);
|
|
72
|
+
this.trading = new TradingAPIImpl(endpoints.apiUrl);
|
|
73
|
+
}
|
|
74
|
+
// -----------------------------------------------------------------------
|
|
75
|
+
// Authentication
|
|
76
|
+
// -----------------------------------------------------------------------
|
|
77
|
+
/**
|
|
78
|
+
* Authenticate the user
|
|
79
|
+
* @param clientId - The client ID to use for authentication
|
|
80
|
+
* @returns The authentication response
|
|
81
|
+
*/
|
|
82
|
+
async login(clientId) {
|
|
83
|
+
const response = await this.auth.authenticate(clientId);
|
|
84
|
+
this.authState = {
|
|
85
|
+
accessToken: response.accessToken,
|
|
86
|
+
refreshToken: response.refreshToken,
|
|
87
|
+
expiresAt: response.expiresAt,
|
|
88
|
+
user: response.user,
|
|
89
|
+
createdAt: Math.floor(Date.now() / 1000),
|
|
90
|
+
};
|
|
91
|
+
// Set access tokens for APIs
|
|
92
|
+
this.vault.setAccessToken(this.authState.accessToken);
|
|
93
|
+
this.trading.setAccessToken(this.authState.accessToken);
|
|
94
|
+
return this.authState;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Get the current authentication state
|
|
98
|
+
* @returns The authentication state
|
|
99
|
+
*/
|
|
100
|
+
getAuthState() {
|
|
101
|
+
return this.authState;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Check if the user is authenticated
|
|
105
|
+
* @returns True if the user is authenticated
|
|
106
|
+
*/
|
|
107
|
+
isAuthenticated() {
|
|
108
|
+
return !!this.authState;
|
|
109
|
+
}
|
|
110
|
+
// -----------------------------------------------------------------------
|
|
111
|
+
// Basic helpers
|
|
112
|
+
// -----------------------------------------------------------------------
|
|
113
|
+
isConnected() {
|
|
114
|
+
return !!this.walletClient;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Get the current account address
|
|
118
|
+
* @returns The account address as a string
|
|
119
|
+
*/
|
|
120
|
+
getAccountAddress() {
|
|
121
|
+
return this.walletClient.account?.address ?? "";
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Get the current network ('mainnet' or 'testnet')
|
|
125
|
+
* @returns The network string
|
|
126
|
+
*/
|
|
127
|
+
getNetwork() {
|
|
128
|
+
return this.publicClient.chain?.id === seiTestnet.id
|
|
129
|
+
? "testnet"
|
|
130
|
+
: "mainnet";
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Get the current chain information
|
|
134
|
+
* @returns The chain configuration
|
|
135
|
+
*/
|
|
136
|
+
getChain() {
|
|
137
|
+
return this.publicClient.chain;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Get the current chain ID
|
|
141
|
+
* @returns The chain ID as a number
|
|
142
|
+
*/
|
|
143
|
+
getChainId() {
|
|
144
|
+
return this.publicClient.chain?.id ?? 0;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Switch to a different account
|
|
148
|
+
* @param newAccount - The new account to use
|
|
149
|
+
*/
|
|
150
|
+
switchAccount(newAccount) {
|
|
151
|
+
// Create new wallet client with the new account
|
|
152
|
+
// We need to recreate the transport since we can't directly access the original
|
|
153
|
+
const transport = http(this.publicClient.chain.rpcUrls.default.http[0]);
|
|
154
|
+
this.walletClient = createWalletClient({
|
|
155
|
+
chain: this.publicClient.chain,
|
|
156
|
+
account: newAccount,
|
|
157
|
+
transport,
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Switch to a different private key
|
|
162
|
+
* @param privateKey - The new private key to use
|
|
163
|
+
*/
|
|
164
|
+
switchPrivateKey(privateKey) {
|
|
165
|
+
try {
|
|
166
|
+
const newAccount = privateKeyToAccount(privateKey);
|
|
167
|
+
this.switchAccount(newAccount);
|
|
168
|
+
}
|
|
169
|
+
catch (error) {
|
|
170
|
+
throw new InvalidConfigError(`Invalid private key: ${error instanceof Error ? error.message : "Invalid format"}`, "privateKey");
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
// ============================================================================
|
|
174
|
+
// Essential SDK Utilities
|
|
175
|
+
// ============================================================================
|
|
176
|
+
/**
|
|
177
|
+
* Check if the current account can sign messages
|
|
178
|
+
* @returns True if the account supports signing
|
|
179
|
+
*/
|
|
180
|
+
canSign() {
|
|
181
|
+
return this.walletClient.account?.type === "local";
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Wait for a transaction to be confirmed
|
|
185
|
+
* @param hash - Transaction hash
|
|
186
|
+
* @param confirmations - Number of confirmations to wait for
|
|
187
|
+
* @param timeout - Timeout in milliseconds (default: 60000ms)
|
|
188
|
+
* @returns Promise resolving to the transaction receipt
|
|
189
|
+
*/
|
|
190
|
+
async waitForTransaction(hash, confirmations = 2, timeout = 60000) {
|
|
191
|
+
const timeoutPromise = new Promise((_, reject) => {
|
|
192
|
+
setTimeout(() => {
|
|
193
|
+
reject(new Error(`Transaction ${hash} timed out after ${timeout}ms`));
|
|
194
|
+
}, timeout);
|
|
195
|
+
});
|
|
196
|
+
const receiptPromise = this.publicClient.waitForTransactionReceipt({
|
|
197
|
+
hash: hash,
|
|
198
|
+
confirmations,
|
|
199
|
+
});
|
|
200
|
+
return Promise.race([receiptPromise, timeoutPromise]);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
//# 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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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@0xmonaco/core",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"main": "./dist/index.js",
|
|
6
|
+
"module": "./dist/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"files": [
|
|
9
|
+
"dist"
|
|
10
|
+
],
|
|
11
|
+
"dependencies": {
|
|
12
|
+
"@0xmonaco/contracts": "0.1.0",
|
|
13
|
+
"@0xmonaco/types": "0.1.0",
|
|
14
|
+
"@0xmonaco/utils": "0.1.0",
|
|
15
|
+
"viem": "^2.30.6"
|
|
16
|
+
},
|
|
17
|
+
"devDependencies": {
|
|
18
|
+
"@types/node": "^20.11.30",
|
|
19
|
+
"@vitest/coverage-v8": "^1.3.1",
|
|
20
|
+
"dotenv": "^17.1.0",
|
|
21
|
+
"typescript": "5.7.3",
|
|
22
|
+
"vitest": "^1.3.1"
|
|
23
|
+
},
|
|
24
|
+
"exports": {
|
|
25
|
+
".": {
|
|
26
|
+
"types": "./dist/index.d.ts",
|
|
27
|
+
"default": "./dist/index.js"
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
"scripts": {
|
|
31
|
+
"build": "tsc -b",
|
|
32
|
+
"dev": "tsc --watch",
|
|
33
|
+
"clean": "rm -rf dist",
|
|
34
|
+
"lint": "eslint src --ext .ts",
|
|
35
|
+
"test": "vitest --config vitest.config.ts",
|
|
36
|
+
"test:coverage": "vitest run --coverage --config vitest.config.ts"
|
|
37
|
+
}
|
|
38
|
+
}
|