@0xmonaco/core 0.5.4 → 0.5.6
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 -121
- package/dist/api/auth/api.d.ts +8 -3
- package/dist/api/auth/api.d.ts.map +1 -1
- package/dist/api/auth/api.js +17 -2
- package/dist/api/auth/api.js.map +1 -1
- package/dist/api/base.js +4 -1
- package/dist/api/base.js.map +1 -1
- package/dist/api/trading/api.d.ts +37 -7
- package/dist/api/trading/api.d.ts.map +1 -1
- package/dist/api/trading/api.js +49 -6
- package/dist/api/trading/api.js.map +1 -1
- package/dist/api/vault/api.d.ts +23 -22
- package/dist/api/vault/api.d.ts.map +1 -1
- package/dist/api/vault/api.js +82 -113
- package/dist/api/vault/api.js.map +1 -1
- package/dist/api/websocket/types.d.ts +5 -1
- package/dist/api/websocket/types.d.ts.map +1 -1
- package/dist/api/websocket/types.js +0 -1
- package/dist/api/websocket/websocket.d.ts.map +1 -1
- package/dist/api/websocket/websocket.js +62 -1
- package/dist/api/websocket/websocket.js.map +1 -1
- package/dist/errors/errors.d.ts +2 -2
- package/dist/errors/errors.d.ts.map +1 -1
- package/dist/errors/errors.js +25 -9
- package/dist/errors/errors.js.map +1 -1
- package/dist/networks/networks.d.ts.map +1 -1
- package/dist/networks/networks.js +3 -2
- package/dist/networks/networks.js.map +1 -1
- package/dist/sdk.d.ts +6 -1
- package/dist/sdk.d.ts.map +1 -1
- package/dist/sdk.js +38 -8
- package/dist/sdk.js.map +1 -1
- package/dist/utils/magnitude.js +1 -1
- package/dist/utils/magnitude.js.map +1 -1
- package/package.json +39 -48
package/README.md
CHANGED
|
@@ -24,23 +24,6 @@ npm install @0xmonaco/core
|
|
|
24
24
|
npm install viem@^2.31.7
|
|
25
25
|
```
|
|
26
26
|
|
|
27
|
-
### TypeScript Configuration
|
|
28
|
-
|
|
29
|
-
For best results, use these TypeScript settings in your `tsconfig.json`:
|
|
30
|
-
|
|
31
|
-
```json
|
|
32
|
-
{
|
|
33
|
-
"compilerOptions": {
|
|
34
|
-
"target": "ES2020",
|
|
35
|
-
"module": "nodenext",
|
|
36
|
-
"moduleResolution": "nodenext",
|
|
37
|
-
"strict": true,
|
|
38
|
-
"esModuleInterop": true,
|
|
39
|
-
"resolveJsonModule": true
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
```
|
|
43
|
-
|
|
44
27
|
## Features
|
|
45
28
|
|
|
46
29
|
### 🔐 **Authentication**
|
|
@@ -77,54 +60,6 @@ For best results, use these TypeScript settings in your `tsconfig.json`:
|
|
|
77
60
|
- **API Gateway Integration**: Secure communication with Monaco backend
|
|
78
61
|
- **TLS Encryption**: Secure API communications
|
|
79
62
|
|
|
80
|
-
## Test Setup
|
|
81
|
-
|
|
82
|
-
Before running tests, ensure you have:
|
|
83
|
-
|
|
84
|
-
1. A running hardhat node with the Monaco Protocol contracts deployed:
|
|
85
|
-
```bash
|
|
86
|
-
# In the contracts package
|
|
87
|
-
cd ../contracts
|
|
88
|
-
pnpm hardhat node # Start a local hardhat node
|
|
89
|
-
pnpm hardhat deploy --network localhost # Deploy contracts
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
2. Create a `.env.test` file in the tests directory:
|
|
93
|
-
```bash
|
|
94
|
-
# Create the file
|
|
95
|
-
cd packages/core/tests
|
|
96
|
-
touch .env.test
|
|
97
|
-
|
|
98
|
-
# Add the following content to .env.test:
|
|
99
|
-
echo 'TEST_PRIVATE_KEY=0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef' > .env.test
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
3. Replace the example private key in `.env.test` with your actual test account private key:
|
|
103
|
-
- The private key must be a 0x-prefixed 64-character hex string
|
|
104
|
-
- The account must have enough ETH on the local hardhat network for transactions
|
|
105
|
-
- Never commit real private keys to version control
|
|
106
|
-
|
|
107
|
-
4. Verify your setup:
|
|
108
|
-
```bash
|
|
109
|
-
# Make sure you're in the core package directory
|
|
110
|
-
cd packages/core
|
|
111
|
-
|
|
112
|
-
# Check if .env.test exists and has the correct format
|
|
113
|
-
cat tests/.env.test
|
|
114
|
-
# Should show: TEST_PRIVATE_KEY=0x...
|
|
115
|
-
|
|
116
|
-
# Run the tests
|
|
117
|
-
pnpm test
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
If you see an error about `TEST_PRIVATE_KEY` not being set:
|
|
121
|
-
1. Double check that `.env.test` exists in `packages/core/tests` directory
|
|
122
|
-
2. Make sure the private key format is correct (0x-prefixed, 64 characters)
|
|
123
|
-
3. Try running the tests with the environment variable directly:
|
|
124
|
-
```bash
|
|
125
|
-
TEST_PRIVATE_KEY=0x1234... pnpm test
|
|
126
|
-
```
|
|
127
|
-
|
|
128
63
|
## Network Support
|
|
129
64
|
|
|
130
65
|
The SDK supports multiple preset networks and custom API URLs. Configure the network by providing the `network` and `seiRpcUrl` parameters:
|
|
@@ -238,8 +173,8 @@ async function vaultExample() {
|
|
|
238
173
|
const assetId = pair.base_asset_id; // Asset ID (UUID)
|
|
239
174
|
|
|
240
175
|
// Check vault balance
|
|
241
|
-
const balance = await monaco.
|
|
242
|
-
console.log("Vault balance:", balance.
|
|
176
|
+
const balance = await monaco.profile.getUserBalanceByAssetId(assetId);
|
|
177
|
+
console.log("Vault balance:", balance.total_balance, balance.symbol);
|
|
243
178
|
|
|
244
179
|
// Approve vault to spend tokens
|
|
245
180
|
const approval = await monaco.vault.approve(assetId, parseEther("1000"));
|
|
@@ -294,7 +229,7 @@ async function tradingExample() {
|
|
|
294
229
|
|
|
295
230
|
// Get paginated orders
|
|
296
231
|
const orders = await monaco.trading.getPaginatedOrders({
|
|
297
|
-
status: "
|
|
232
|
+
status: "SUBMITTED",
|
|
298
233
|
trading_pair: "BTC/USDC",
|
|
299
234
|
page: 1,
|
|
300
235
|
page_size: 10
|
|
@@ -324,39 +259,6 @@ async function tradingExample() {
|
|
|
324
259
|
|
|
325
260
|
The main SDK class that provides access to all protocol features.
|
|
326
261
|
|
|
327
|
-
```typescript
|
|
328
|
-
class MonacoSDK {
|
|
329
|
-
readonly applications: ApplicationsAPI;
|
|
330
|
-
readonly auth: AuthAPI;
|
|
331
|
-
readonly vault: VaultAPI;
|
|
332
|
-
readonly trading: TradingAPI;
|
|
333
|
-
readonly market: MarketAPI;
|
|
334
|
-
readonly profile: ProfileAPI;
|
|
335
|
-
readonly websocket: {
|
|
336
|
-
orders: OrdersWebSocketClient;
|
|
337
|
-
ohlcv: OHLCVWebSocketClient;
|
|
338
|
-
orderbook: OrderbookWebSocketClient;
|
|
339
|
-
};
|
|
340
|
-
readonly walletClient: WalletClient;
|
|
341
|
-
readonly publicClient: PublicClient;
|
|
342
|
-
|
|
343
|
-
constructor(config: SDKConfig);
|
|
344
|
-
|
|
345
|
-
// Authentication
|
|
346
|
-
login(clientId: string, options?: { connectWebSocket?: boolean }): Promise<AuthState>;
|
|
347
|
-
logout(): Promise<void>;
|
|
348
|
-
refreshAuth(): Promise<AuthState>;
|
|
349
|
-
getAuthState(): AuthState | undefined;
|
|
350
|
-
isAuthenticated(): boolean;
|
|
351
|
-
|
|
352
|
-
// Network utilities
|
|
353
|
-
isConnected(): boolean;
|
|
354
|
-
getAccountAddress(): string;
|
|
355
|
-
getNetwork(): Network;
|
|
356
|
-
getChainId(): number;
|
|
357
|
-
waitForTransaction(hash: string, confirmations?: number, timeout?: number): Promise<TransactionReceipt>;
|
|
358
|
-
}
|
|
359
|
-
```
|
|
360
262
|
|
|
361
263
|
### Configuration
|
|
362
264
|
|
|
@@ -429,8 +331,6 @@ interface VaultAPI extends BaseAPI {
|
|
|
429
331
|
deposit(token: string, amount: bigint, autoWait?: boolean): Promise<TransactionResult>;
|
|
430
332
|
withdraw(token: string, amount: bigint, autoWait?: boolean): Promise<TransactionResult>;
|
|
431
333
|
|
|
432
|
-
// Balance queries
|
|
433
|
-
getBalance(token: string): Promise<Balance>;
|
|
434
334
|
}
|
|
435
335
|
```
|
|
436
336
|
|
|
@@ -612,33 +512,33 @@ packages/core/
|
|
|
612
512
|
### Development Setup
|
|
613
513
|
|
|
614
514
|
1. Clone the repository:
|
|
615
|
-
```bash
|
|
616
|
-
git clone https://github.com/monaco-protocol/monaco-monorepo.git
|
|
617
|
-
cd monaco-monorepo
|
|
618
|
-
```
|
|
515
|
+
```bash
|
|
516
|
+
git clone https://github.com/monaco-protocol/monaco-monorepo.git
|
|
517
|
+
cd monaco-monorepo
|
|
518
|
+
```
|
|
619
519
|
|
|
620
520
|
2. Install dependencies:
|
|
621
|
-
```bash
|
|
622
|
-
|
|
623
|
-
```
|
|
521
|
+
```bash
|
|
522
|
+
bun run install
|
|
523
|
+
```
|
|
624
524
|
|
|
625
525
|
3. Build the package:
|
|
626
|
-
```bash
|
|
627
|
-
|
|
628
|
-
```
|
|
526
|
+
```bash
|
|
527
|
+
bun run build --filter @0xmonaco/core
|
|
528
|
+
```
|
|
629
529
|
|
|
630
530
|
### Testing
|
|
631
531
|
|
|
632
532
|
Run the test suite:
|
|
633
533
|
```bash
|
|
634
|
-
|
|
534
|
+
bun run test --filter @0xmonaco/core
|
|
635
535
|
```
|
|
636
536
|
|
|
637
537
|
### Code Style
|
|
638
538
|
|
|
639
539
|
The project uses ESLint and Prettier for code formatting. Run the linter:
|
|
640
540
|
```bash
|
|
641
|
-
|
|
541
|
+
bun run lint --filter @0xmonaco/core
|
|
642
542
|
```
|
|
643
543
|
|
|
644
544
|
## Security Features
|
|
@@ -667,10 +567,6 @@ pnpm lint --filter @0xmonaco/core
|
|
|
667
567
|
- **Caching**: Smart caching of frequently accessed data
|
|
668
568
|
- **Async operations**: Non-blocking operations for better UX
|
|
669
569
|
|
|
670
|
-
## Contributing
|
|
671
|
-
|
|
672
|
-
We welcome contributions! Please see our [Contributing Guide](../../docs/contributing.mdx) for details.
|
|
673
|
-
|
|
674
570
|
### Development Workflow
|
|
675
571
|
1. Fork the repository
|
|
676
572
|
2. Create a feature branch
|
|
@@ -681,7 +577,7 @@ We welcome contributions! Please see our [Contributing Guide](../../docs/contrib
|
|
|
681
577
|
|
|
682
578
|
## License
|
|
683
579
|
|
|
684
|
-
This project is licensed under the MIT License
|
|
580
|
+
This project is licensed under the MIT License.
|
|
685
581
|
|
|
686
582
|
## Support
|
|
687
583
|
|
|
@@ -690,4 +586,4 @@ For support, please:
|
|
|
690
586
|
- Open an issue on GitHub
|
|
691
587
|
- Join our [Discord community](https://discord.gg/monaco)
|
|
692
588
|
- Visit our [documentation site](https://docs.monaco.xyz)
|
|
693
|
-
- Check our [API documentation](
|
|
589
|
+
- Check our [API documentation](https://docs.0xmonaco.com)
|
package/dist/api/auth/api.d.ts
CHANGED
|
@@ -32,16 +32,21 @@ import type { AuthAPI, AuthState, BackendAuthResponse, ChallengeResponse, TokenR
|
|
|
32
32
|
import type { Chain, WalletClient } from "viem";
|
|
33
33
|
import { BaseAPI } from "../base";
|
|
34
34
|
export declare class AuthAPIImpl extends BaseAPI implements AuthAPI {
|
|
35
|
-
private readonly walletClient;
|
|
36
35
|
private readonly chain;
|
|
36
|
+
private walletClient;
|
|
37
37
|
/**
|
|
38
38
|
* Creates a new AuthAPI instance.
|
|
39
39
|
*
|
|
40
|
-
* @param walletClient - The viem wallet client for signing operations
|
|
40
|
+
* @param walletClient - The viem wallet client for signing operations (optional)
|
|
41
41
|
* @param chain - The blockchain network configuration
|
|
42
42
|
* @param apiUrl - The base URL for the Monaco API Gateway
|
|
43
43
|
*/
|
|
44
|
-
constructor(walletClient: WalletClient, chain: Chain, apiUrl: string);
|
|
44
|
+
constructor(walletClient: WalletClient | undefined, chain: Chain, apiUrl: string);
|
|
45
|
+
/**
|
|
46
|
+
* Sets the wallet client for signing operations.
|
|
47
|
+
* Used when the wallet becomes available after SDK initialization.
|
|
48
|
+
*/
|
|
49
|
+
setWalletClient(walletClient: WalletClient): void;
|
|
45
50
|
/**
|
|
46
51
|
* Complete authentication flow for frontend applications.
|
|
47
52
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/api/auth/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACxH,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAEhD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,qBAAa,WAAY,SAAQ,OAAQ,YAAW,OAAO;
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/api/auth/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACxH,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAEhD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,qBAAa,WAAY,SAAQ,OAAQ,YAAW,OAAO;IAYvD,OAAO,CAAC,QAAQ,CAAC,KAAK;IAXxB,OAAO,CAAC,YAAY,CAA2B;IAE/C;;;;;;OAMG;gBAED,YAAY,EAAE,YAAY,GAAG,SAAS,EACrB,KAAK,EAAE,KAAK,EAC7B,MAAM,EAAE,MAAM;IAMhB;;;OAGG;IACH,eAAe,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI;IAIjD;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAmBxD;;;;;;;;;;;;;;;;;OAiBG;IACG,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAgBrD;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAqBpF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACG,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAiC9G;;;;;;;;;;;;;;;;OAgBG;IACG,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA4B1E;;;;;;;;;;;;;;;;;OAiBG;IACG,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAiBvE;;;;;;;;;;;;;;;;;;;OAmBG;IACG,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAQvD"}
|
package/dist/api/auth/api.js
CHANGED
|
@@ -31,17 +31,26 @@
|
|
|
31
31
|
import { InvalidConfigError } from "../../errors";
|
|
32
32
|
import { BaseAPI } from "../base";
|
|
33
33
|
export class AuthAPIImpl extends BaseAPI {
|
|
34
|
+
chain;
|
|
35
|
+
walletClient;
|
|
34
36
|
/**
|
|
35
37
|
* Creates a new AuthAPI instance.
|
|
36
38
|
*
|
|
37
|
-
* @param walletClient - The viem wallet client for signing operations
|
|
39
|
+
* @param walletClient - The viem wallet client for signing operations (optional)
|
|
38
40
|
* @param chain - The blockchain network configuration
|
|
39
41
|
* @param apiUrl - The base URL for the Monaco API Gateway
|
|
40
42
|
*/
|
|
41
43
|
constructor(walletClient, chain, apiUrl) {
|
|
42
44
|
super(apiUrl);
|
|
43
|
-
this.walletClient = walletClient;
|
|
44
45
|
this.chain = chain;
|
|
46
|
+
this.walletClient = walletClient;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Sets the wallet client for signing operations.
|
|
50
|
+
* Used when the wallet becomes available after SDK initialization.
|
|
51
|
+
*/
|
|
52
|
+
setWalletClient(walletClient) {
|
|
53
|
+
this.walletClient = walletClient;
|
|
45
54
|
}
|
|
46
55
|
/**
|
|
47
56
|
* Complete authentication flow for frontend applications.
|
|
@@ -65,6 +74,9 @@ export class AuthAPIImpl extends BaseAPI {
|
|
|
65
74
|
* ```
|
|
66
75
|
*/
|
|
67
76
|
async authenticate(clientId) {
|
|
77
|
+
if (!this.walletClient) {
|
|
78
|
+
throw new InvalidConfigError("Wallet client not set. Connect a wallet first.", "walletClient");
|
|
79
|
+
}
|
|
68
80
|
const account = this.walletClient.account;
|
|
69
81
|
if (!account) {
|
|
70
82
|
throw new InvalidConfigError("No account available in wallet client", "account");
|
|
@@ -95,6 +107,9 @@ export class AuthAPIImpl extends BaseAPI {
|
|
|
95
107
|
* ```
|
|
96
108
|
*/
|
|
97
109
|
async signChallenge(message) {
|
|
110
|
+
if (!this.walletClient) {
|
|
111
|
+
throw new InvalidConfigError("Wallet client not set. Connect a wallet first.", "walletClient");
|
|
112
|
+
}
|
|
98
113
|
const account = this.walletClient.account;
|
|
99
114
|
if (!account) {
|
|
100
115
|
throw new InvalidConfigError("No account available in wallet client", "account");
|
package/dist/api/auth/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/api/auth/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAIH,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,MAAM,OAAO,WAAY,SAAQ,OAAO;
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/api/auth/api.ts"],"names":[],"mappings":"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"}
|
package/dist/api/base.js
CHANGED
|
@@ -23,6 +23,9 @@
|
|
|
23
23
|
import { StatusCodes } from "http-status-codes";
|
|
24
24
|
import { APIError } from "../errors";
|
|
25
25
|
export class BaseAPI {
|
|
26
|
+
apiUrl;
|
|
27
|
+
accessToken;
|
|
28
|
+
retryOptions;
|
|
26
29
|
/**
|
|
27
30
|
* Creates a new BaseAPI instance.
|
|
28
31
|
*
|
|
@@ -154,7 +157,7 @@ export class BaseAPI {
|
|
|
154
157
|
catch {
|
|
155
158
|
responseText = "[Unable to read response body]";
|
|
156
159
|
}
|
|
157
|
-
// If response is not OK and we can't parse JSON, it's likely an error page (HTML, plain text, etc.)
|
|
160
|
+
// If response is not OK, and we can't parse JSON, it's likely an error page (HTML, plain text, etc.)
|
|
158
161
|
if (!response.ok) {
|
|
159
162
|
const errorMessage = `API request failed: ${response.status}. Response is not JSON (Content-Type: ${contentType})`;
|
|
160
163
|
const { requestId, retryAfter } = this.extractResponseMetadata(response.headers);
|
package/dist/api/base.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/api/base.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAOrC,MAAM,OAAgB,OAAO;
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/api/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
* const openOrders = await tradingAPI.getOpenOrders({ market: "ETH-USD" });
|
|
25
25
|
* ```
|
|
26
26
|
*/
|
|
27
|
-
import type { CancelOrderResponse, CreateOrderResponse, GetOrderResponse, GetPaginatedOrdersParams, GetPaginatedOrdersResponse, OrderSide, ReplaceOrderResponse, TimeInForce, TradingAPI, TradingMode } from "@0xmonaco/types";
|
|
27
|
+
import type { BatchCancelOrdersResponse, CancelOrderResponse, CreateOrderResponse, GetOrderResponse, GetPaginatedOrdersParams, GetPaginatedOrdersResponse, OrderSide, ReplaceOrderResponse, TimeInForce, TradingAPI, TradingMode } from "@0xmonaco/types";
|
|
28
28
|
import { BaseAPI } from "../base";
|
|
29
29
|
export declare class TradingAPIImpl extends BaseAPI implements TradingAPI {
|
|
30
30
|
/**
|
|
@@ -141,8 +141,8 @@ export declare class TradingAPIImpl extends BaseAPI implements TradingAPI {
|
|
|
141
141
|
/**
|
|
142
142
|
* Cancels an existing order.
|
|
143
143
|
*
|
|
144
|
-
* Cancels an open order by its ID. The order must be in an open state to be
|
|
145
|
-
*
|
|
144
|
+
* Cancels an open order by its ID. The order must be in an open state to be canceled.
|
|
145
|
+
* Canceled orders cannot be recovered.
|
|
146
146
|
*
|
|
147
147
|
* @param orderId - The ID of the order to cancel
|
|
148
148
|
* @returns Promise resolving to CancelOrderResponse with cancellation details
|
|
@@ -151,10 +151,40 @@ export declare class TradingAPIImpl extends BaseAPI implements TradingAPI {
|
|
|
151
151
|
* @example
|
|
152
152
|
* ```typescript
|
|
153
153
|
* const result = await tradingAPI.cancelOrder("order_123");
|
|
154
|
-
* console.log(`Order
|
|
154
|
+
* console.log(`Order canceled: ${result.status}`);
|
|
155
155
|
* ```
|
|
156
156
|
*/
|
|
157
157
|
cancelOrder(orderId: string): Promise<CancelOrderResponse>;
|
|
158
|
+
/**
|
|
159
|
+
* Batch cancels specific orders by their IDs.
|
|
160
|
+
*
|
|
161
|
+
* @param orderIds - Array of order IDs to cancel
|
|
162
|
+
* @returns Promise resolving to BatchCancelOrdersResponse with cancellation details
|
|
163
|
+
* @throws {APIError} When API communication fails
|
|
164
|
+
*
|
|
165
|
+
* @example
|
|
166
|
+
* ```typescript
|
|
167
|
+
* const result = await tradingAPI.batchCancel(["order_123", "order_456"]);
|
|
168
|
+
* ```
|
|
169
|
+
*/
|
|
170
|
+
batchCancel(orderIds: string[]): Promise<BatchCancelOrdersResponse>;
|
|
171
|
+
/**
|
|
172
|
+
* Cancels all active orders, optionally filtered by trading pair.
|
|
173
|
+
*
|
|
174
|
+
* @param tradingPairId - Optional trading pair ID to filter cancellation
|
|
175
|
+
* @returns Promise resolving to BatchCancelOrdersResponse with cancellation details
|
|
176
|
+
* @throws {APIError} When API communication fails
|
|
177
|
+
*
|
|
178
|
+
* @example
|
|
179
|
+
* ```typescript
|
|
180
|
+
* // Cancel all active orders globally
|
|
181
|
+
* await tradingAPI.batchCancelAll();
|
|
182
|
+
*
|
|
183
|
+
* // Cancel all orders for a specific trading pair
|
|
184
|
+
* await tradingAPI.batchCancelAll("123e4567-e89b-12d3-a456-426614174000");
|
|
185
|
+
* ```
|
|
186
|
+
*/
|
|
187
|
+
batchCancelAll(tradingPairId?: string): Promise<BatchCancelOrdersResponse>;
|
|
158
188
|
replaceOrder(orderId: string, newOrder: {
|
|
159
189
|
price?: string;
|
|
160
190
|
quantity?: string;
|
|
@@ -167,7 +197,7 @@ export declare class TradingAPIImpl extends BaseAPI implements TradingAPI {
|
|
|
167
197
|
* Pagination parameters are always included with sensible defaults for consistent API behavior.
|
|
168
198
|
*
|
|
169
199
|
* @param params - Query parameters for filtering orders
|
|
170
|
-
* @param params.status - Filter by order status (e.g., "
|
|
200
|
+
* @param params.status - Filter by order status (e.g., "SUBMITTED", "FILLED") (optional)
|
|
171
201
|
* @param params.trading_pair - Filter by trading pair (e.g., "USDCo/MTK") (optional)
|
|
172
202
|
* @param params.page - Page number for pagination (defaults to 1, must be > 0)
|
|
173
203
|
* @param params.page_size - Number of orders per page (defaults to 10, max 100, must be > 0)
|
|
@@ -176,9 +206,9 @@ export declare class TradingAPIImpl extends BaseAPI implements TradingAPI {
|
|
|
176
206
|
*
|
|
177
207
|
* @example
|
|
178
208
|
* ```typescript
|
|
179
|
-
* // Get
|
|
209
|
+
* // Get submitted orders for a specific trading pair with custom pagination
|
|
180
210
|
* const orders = await tradingAPI.getPaginatedOrders({
|
|
181
|
-
* status: "
|
|
211
|
+
* status: "SUBMITTED",
|
|
182
212
|
* trading_pair: "USDCo/MTK",
|
|
183
213
|
* page: 1,
|
|
184
214
|
* page_size: 20
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/api/trading/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,wBAAwB,EACxB,0BAA0B,EAC1B,SAAS,EAET,oBAAoB,EACpB,WAAW,EACX,UAAU,EACV,WAAW,EACZ,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,qBAAa,cAAe,SAAQ,OAAQ,YAAW,UAAU;IAC/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiDG;IACG,eAAe,CACnB,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;QACR,WAAW,CAAC,EAAE,WAAW,CAAC;QAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,WAAW,CAAC,EAAE,WAAW,CAAC;KAC3B,GACA,OAAO,CAAC,mBAAmB,CAAC;IA4B/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiDG;IACG,gBAAgB,CACpB,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QACR,WAAW,CAAC,EAAE,WAAW,CAAC;QAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,WAAW,CAAC,EAAE,WAAW,CAAC;KAC3B,GACA,OAAO,CAAC,mBAAmB,CAAC;IAkB/B;;;;;;;;;;;;;;;OAeG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/api/trading/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EACV,yBAAyB,EACzB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,wBAAwB,EACxB,0BAA0B,EAC1B,SAAS,EAET,oBAAoB,EACpB,WAAW,EACX,UAAU,EACV,WAAW,EACZ,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,qBAAa,cAAe,SAAQ,OAAQ,YAAW,UAAU;IAC/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiDG;IACG,eAAe,CACnB,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;QACR,WAAW,CAAC,EAAE,WAAW,CAAC;QAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,WAAW,CAAC,EAAE,WAAW,CAAC;KAC3B,GACA,OAAO,CAAC,mBAAmB,CAAC;IA4B/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiDG;IACG,gBAAgB,CACpB,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QACR,WAAW,CAAC,EAAE,WAAW,CAAC;QAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,WAAW,CAAC,EAAE,WAAW,CAAC;KAC3B,GACA,OAAO,CAAC,mBAAmB,CAAC;IAkB/B;;;;;;;;;;;;;;;OAeG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAWhE;;;;;;;;;;;OAWG;IACG,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAWzE;;;;;;;;;;;;;;;OAeG;IACG,cAAc,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAQ1E,YAAY,CAChB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE;QACR,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;KAC5B,GACA,OAAO,CAAC,oBAAoB,CAAC;IAuBhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACG,kBAAkB,CAAC,MAAM,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAAC,0BAA0B,CAAC;IA2BhG;;;;;;;;;;;;;;;;;OAiBG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAK3D"}
|
package/dist/api/trading/api.js
CHANGED
|
@@ -171,8 +171,8 @@ export class TradingAPIImpl extends BaseAPI {
|
|
|
171
171
|
/**
|
|
172
172
|
* Cancels an existing order.
|
|
173
173
|
*
|
|
174
|
-
* Cancels an open order by its ID. The order must be in an open state to be
|
|
175
|
-
*
|
|
174
|
+
* Cancels an open order by its ID. The order must be in an open state to be canceled.
|
|
175
|
+
* Canceled orders cannot be recovered.
|
|
176
176
|
*
|
|
177
177
|
* @param orderId - The ID of the order to cancel
|
|
178
178
|
* @returns Promise resolving to CancelOrderResponse with cancellation details
|
|
@@ -181,7 +181,7 @@ export class TradingAPIImpl extends BaseAPI {
|
|
|
181
181
|
* @example
|
|
182
182
|
* ```typescript
|
|
183
183
|
* const result = await tradingAPI.cancelOrder("order_123");
|
|
184
|
-
* console.log(`Order
|
|
184
|
+
* console.log(`Order canceled: ${result.status}`);
|
|
185
185
|
* ```
|
|
186
186
|
*/
|
|
187
187
|
async cancelOrder(orderId) {
|
|
@@ -193,6 +193,49 @@ export class TradingAPIImpl extends BaseAPI {
|
|
|
193
193
|
body: JSON.stringify(requestBody),
|
|
194
194
|
});
|
|
195
195
|
}
|
|
196
|
+
/**
|
|
197
|
+
* Batch cancels specific orders by their IDs.
|
|
198
|
+
*
|
|
199
|
+
* @param orderIds - Array of order IDs to cancel
|
|
200
|
+
* @returns Promise resolving to BatchCancelOrdersResponse with cancellation details
|
|
201
|
+
* @throws {APIError} When API communication fails
|
|
202
|
+
*
|
|
203
|
+
* @example
|
|
204
|
+
* ```typescript
|
|
205
|
+
* const result = await tradingAPI.batchCancel(["order_123", "order_456"]);
|
|
206
|
+
* ```
|
|
207
|
+
*/
|
|
208
|
+
async batchCancel(orderIds) {
|
|
209
|
+
if (!orderIds || orderIds.length === 0) {
|
|
210
|
+
throw new Error("orderIds is required and must not be empty");
|
|
211
|
+
}
|
|
212
|
+
return this.makeAuthenticatedRequest("/api/v1/orders/batch-cancel", {
|
|
213
|
+
method: "POST",
|
|
214
|
+
body: JSON.stringify({ order_ids: orderIds }),
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Cancels all active orders, optionally filtered by trading pair.
|
|
219
|
+
*
|
|
220
|
+
* @param tradingPairId - Optional trading pair ID to filter cancellation
|
|
221
|
+
* @returns Promise resolving to BatchCancelOrdersResponse with cancellation details
|
|
222
|
+
* @throws {APIError} When API communication fails
|
|
223
|
+
*
|
|
224
|
+
* @example
|
|
225
|
+
* ```typescript
|
|
226
|
+
* // Cancel all active orders globally
|
|
227
|
+
* await tradingAPI.batchCancelAll();
|
|
228
|
+
*
|
|
229
|
+
* // Cancel all orders for a specific trading pair
|
|
230
|
+
* await tradingAPI.batchCancelAll("123e4567-e89b-12d3-a456-426614174000");
|
|
231
|
+
* ```
|
|
232
|
+
*/
|
|
233
|
+
async batchCancelAll(tradingPairId) {
|
|
234
|
+
const endpoint = tradingPairId ? `/api/v1/orders/batch-cancel-all/${tradingPairId}` : "/api/v1/orders/batch-cancel-all";
|
|
235
|
+
return this.makeAuthenticatedRequest(endpoint, {
|
|
236
|
+
method: "POST",
|
|
237
|
+
});
|
|
238
|
+
}
|
|
196
239
|
async replaceOrder(orderId, newOrder) {
|
|
197
240
|
const requestBody = {
|
|
198
241
|
use_master_balance: newOrder.useMasterBalance ?? false,
|
|
@@ -215,7 +258,7 @@ export class TradingAPIImpl extends BaseAPI {
|
|
|
215
258
|
* Pagination parameters are always included with sensible defaults for consistent API behavior.
|
|
216
259
|
*
|
|
217
260
|
* @param params - Query parameters for filtering orders
|
|
218
|
-
* @param params.status - Filter by order status (e.g., "
|
|
261
|
+
* @param params.status - Filter by order status (e.g., "SUBMITTED", "FILLED") (optional)
|
|
219
262
|
* @param params.trading_pair - Filter by trading pair (e.g., "USDCo/MTK") (optional)
|
|
220
263
|
* @param params.page - Page number for pagination (defaults to 1, must be > 0)
|
|
221
264
|
* @param params.page_size - Number of orders per page (defaults to 10, max 100, must be > 0)
|
|
@@ -224,9 +267,9 @@ export class TradingAPIImpl extends BaseAPI {
|
|
|
224
267
|
*
|
|
225
268
|
* @example
|
|
226
269
|
* ```typescript
|
|
227
|
-
* // Get
|
|
270
|
+
* // Get submitted orders for a specific trading pair with custom pagination
|
|
228
271
|
* const orders = await tradingAPI.getPaginatedOrders({
|
|
229
|
-
* status: "
|
|
272
|
+
* status: "SUBMITTED",
|
|
230
273
|
* trading_pair: "USDCo/MTK",
|
|
231
274
|
* page: 1,
|
|
232
275
|
* page_size: 20
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/api/trading/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/api/trading/api.ts"],"names":[],"mappings":"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"}
|