openbook-cli 1.0.6 → 1.0.7
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/dist/index.d.ts.map +1 -1
- package/dist/index.js +116 -28
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +117 -28
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAmD9C,UAAU,cAAc;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,KAAK,GAAG,KAAK,CAAC;CACvB;AAED,UAAU,UAAU;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACtB;AAqDD,iBAAe,aAAa,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAe,GAAG,OAAO,CAAC,UAAU,CAAC,CAoDlG;AAiCD,iBAAe,kBAAkB,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAmCnG;AAED,iBAAe,gBAAgB,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,EAAE,QAAQ,GAAE,OAAe,GAAG,OAAO,CAAC;IAC3G,IAAI,EAAE,cAAc,EAAE,CAAC;IACvB,IAAI,EAAE,cAAc,EAAE,CAAC;CAC1B,CAAC,CA8CD;AAED,iBAAe,YAAY,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,OAAO,CAAC;IAC5E,IAAI,EAAE,cAAc,EAAE,CAAC;IACvB,IAAI,EAAE,cAAc,EAAE,CAAC;CAC1B,CAAC,CAYD;AAED,iBAAe,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAe,GAAG,OAAO,CAAC;IACrF,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC,CAAC,CAsBD;AAED,iBAAe,gBAAgB,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,EAAE,QAAQ,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CA4DnH;AAED,iBAAe,iBAAiB,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CA4ChG;AAED,iBAAS,gBAAgB,CAAC,QAAQ,GAAE,OAAe,GAAG,IAAI,CAQzD;AAmHD,iBAAe,IAAI,kBA6KlB;AAGD,OAAO,EACH,aAAa,EACb,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EACnB,CAAC;AAGF,OAAO,EAAE,IAAI,EAAE,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -22,7 +22,37 @@ function createPublicKey(address) {
|
|
|
22
22
|
return new web3_js_1.PublicKey(address);
|
|
23
23
|
}
|
|
24
24
|
catch (error) {
|
|
25
|
-
throw new Error("Invalid public key
|
|
25
|
+
throw new Error("Invalid public key format");
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
// Helper function to show usage information
|
|
29
|
+
function showUsage() {
|
|
30
|
+
console.log("\nUsage:");
|
|
31
|
+
console.log(" openbook-cli <market_address> # Fetch market (auto-detects program)");
|
|
32
|
+
console.log(" openbook-cli <market_address> --add # Add market (auto-detects program)");
|
|
33
|
+
console.log(" openbook-cli --list # List OpenBook markets");
|
|
34
|
+
console.log(" openbook-cli --list --serum # List Serum markets");
|
|
35
|
+
console.log(" openbook-cli --help # Show this help");
|
|
36
|
+
console.log("\nExamples:");
|
|
37
|
+
console.log(" openbook-cli 3ySaxSspDCsEM53zRTfpyr9s9yfq9yNpZFXSEbvbadLf");
|
|
38
|
+
console.log(" openbook-cli 3ySaxSspDCsEM53zRTfpyr9s9yfq9yNpZFXSEbvbadLf --add");
|
|
39
|
+
console.log("\nAuto-detection:");
|
|
40
|
+
console.log(" The system automatically detects if a market is OpenBook or Serum");
|
|
41
|
+
console.log(" No need to specify --serum flag for most operations");
|
|
42
|
+
}
|
|
43
|
+
// Helper function to check if an address is a valid market
|
|
44
|
+
async function isValidMarket(marketAddress, useSerum = false) {
|
|
45
|
+
try {
|
|
46
|
+
const marketPubkey = createPublicKey(marketAddress);
|
|
47
|
+
const marketAccount = await connection.getAccountInfo(marketPubkey);
|
|
48
|
+
if (!marketAccount) {
|
|
49
|
+
return false;
|
|
50
|
+
}
|
|
51
|
+
const expectedProgramId = useSerum ? SERUM_PROGRAM_ID : OPENBOOK_PROGRAM_ID;
|
|
52
|
+
return marketAccount.owner.toString() === expectedProgramId;
|
|
53
|
+
}
|
|
54
|
+
catch (error) {
|
|
55
|
+
return false;
|
|
26
56
|
}
|
|
27
57
|
}
|
|
28
58
|
// Known markets and symbols - will be loaded from JSON file
|
|
@@ -107,8 +137,11 @@ async function getMarketInfo(marketAddress, useSerum = false) {
|
|
|
107
137
|
}
|
|
108
138
|
}
|
|
109
139
|
catch (error) {
|
|
110
|
-
|
|
111
|
-
|
|
140
|
+
// Re-throw the error with better context
|
|
141
|
+
if (error instanceof Error) {
|
|
142
|
+
throw error;
|
|
143
|
+
}
|
|
144
|
+
throw new Error("Failed to fetch market info");
|
|
112
145
|
}
|
|
113
146
|
}
|
|
114
147
|
async function getMarketAccounts(marketAddress, useSerum = false) {
|
|
@@ -130,8 +163,11 @@ async function getMarketAccounts(marketAddress, useSerum = false) {
|
|
|
130
163
|
return marketAccount;
|
|
131
164
|
}
|
|
132
165
|
catch (error) {
|
|
133
|
-
|
|
134
|
-
|
|
166
|
+
// Re-throw the error with better context
|
|
167
|
+
if (error instanceof Error) {
|
|
168
|
+
throw error;
|
|
169
|
+
}
|
|
170
|
+
throw new Error("Failed to fetch market accounts");
|
|
135
171
|
}
|
|
136
172
|
}
|
|
137
173
|
async function loadOpenBookMarket(marketAddress, useSerum = false) {
|
|
@@ -147,8 +183,16 @@ async function loadOpenBookMarket(marketAddress, useSerum = false) {
|
|
|
147
183
|
}
|
|
148
184
|
catch (error) {
|
|
149
185
|
const programName = useSerum ? "Serum" : "OpenBook";
|
|
150
|
-
|
|
151
|
-
|
|
186
|
+
// Check if it's a program ownership error
|
|
187
|
+
if (error instanceof Error && error.message.includes("Address not owned by program")) {
|
|
188
|
+
throw new Error(`Market not owned by ${programName} program`);
|
|
189
|
+
}
|
|
190
|
+
// Check if it's a market not found error
|
|
191
|
+
if (error instanceof Error && error.message.includes("Market account not found")) {
|
|
192
|
+
throw new Error("Market account not found");
|
|
193
|
+
}
|
|
194
|
+
// For other errors, provide a generic message
|
|
195
|
+
throw new Error(`Failed to load ${programName} market: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
152
196
|
}
|
|
153
197
|
}
|
|
154
198
|
async function getRealOrderBook(marketAddress, depth = 20, useSerum = false) {
|
|
@@ -183,8 +227,11 @@ async function getRealOrderBook(marketAddress, depth = 20, useSerum = false) {
|
|
|
183
227
|
return { bids: bidOrders, asks: askOrders };
|
|
184
228
|
}
|
|
185
229
|
catch (error) {
|
|
186
|
-
|
|
187
|
-
|
|
230
|
+
// Re-throw the error with better context
|
|
231
|
+
if (error instanceof Error) {
|
|
232
|
+
throw error;
|
|
233
|
+
}
|
|
234
|
+
throw new Error("Failed to fetch order book");
|
|
188
235
|
}
|
|
189
236
|
}
|
|
190
237
|
async function getOrderBook(marketAddress, depth = 20) {
|
|
@@ -266,7 +313,12 @@ async function displayOrderBook(marketAddress, depth = 10, useSerum = false) {
|
|
|
266
313
|
console.log(`Spread %: ${spreadPercentage?.toFixed(2) || 'N/A'}%`);
|
|
267
314
|
}
|
|
268
315
|
catch (error) {
|
|
269
|
-
|
|
316
|
+
if (error instanceof Error) {
|
|
317
|
+
console.error(`❌ Error: ${error.message}`);
|
|
318
|
+
}
|
|
319
|
+
else {
|
|
320
|
+
console.error("❌ Error: Failed to display order book");
|
|
321
|
+
}
|
|
270
322
|
}
|
|
271
323
|
}
|
|
272
324
|
async function displayMarketInfo(marketAddress, useSerum = false) {
|
|
@@ -304,7 +356,12 @@ async function displayMarketInfo(marketAddress, useSerum = false) {
|
|
|
304
356
|
}
|
|
305
357
|
}
|
|
306
358
|
catch (error) {
|
|
307
|
-
|
|
359
|
+
if (error instanceof Error) {
|
|
360
|
+
console.error(`❌ Error: ${error.message}`);
|
|
361
|
+
}
|
|
362
|
+
else {
|
|
363
|
+
console.error("❌ Error: Failed to display market info");
|
|
364
|
+
}
|
|
308
365
|
}
|
|
309
366
|
}
|
|
310
367
|
function listKnownMarkets(useSerum = false) {
|
|
@@ -440,15 +497,7 @@ async function main() {
|
|
|
440
497
|
// Check if market address is provided
|
|
441
498
|
if (!args[0]) {
|
|
442
499
|
console.log("❌ Error: Market address is required");
|
|
443
|
-
|
|
444
|
-
console.log(" openbook-cli <market_address> # Fetch market (auto-detects program)");
|
|
445
|
-
console.log(" openbook-cli <market_address> --add # Add market (auto-detects program)");
|
|
446
|
-
console.log(" openbook-cli --list # List OpenBook markets");
|
|
447
|
-
console.log(" openbook-cli --list --serum # List Serum markets");
|
|
448
|
-
console.log(" openbook-cli --help # Show this help");
|
|
449
|
-
console.log("\nExamples:");
|
|
450
|
-
console.log(" openbook-cli 3ySaxSspDCsEM53zRTfpyr9s9yfq9yNpZFXSEbvbadLf");
|
|
451
|
-
console.log(" openbook-cli 3ySaxSspDCsEM53zRTfpyr9s9yfq9yNpZFXSEbvbadLf --add");
|
|
500
|
+
showUsage();
|
|
452
501
|
return;
|
|
453
502
|
}
|
|
454
503
|
const targetMarket = args[0];
|
|
@@ -472,12 +521,29 @@ async function main() {
|
|
|
472
521
|
useSerum = false;
|
|
473
522
|
detectedProgram = "OpenBook";
|
|
474
523
|
}
|
|
524
|
+
else {
|
|
525
|
+
// The account exists but is not owned by OpenBook or Serum
|
|
526
|
+
console.error("❌ Error: The provided address is not a valid market");
|
|
527
|
+
console.error(" The address exists but is not owned by OpenBook or Serum programs");
|
|
528
|
+
console.error(" Please provide a valid market address");
|
|
529
|
+
showUsage();
|
|
530
|
+
return;
|
|
531
|
+
}
|
|
475
532
|
console.log(`🔍 Auto-detected: ${detectedProgram} market`);
|
|
476
533
|
}
|
|
534
|
+
else {
|
|
535
|
+
// Account doesn't exist
|
|
536
|
+
console.error("❌ Error: Market account not found");
|
|
537
|
+
console.error(" The provided address does not exist on Solana");
|
|
538
|
+
console.error(" Please provide a valid market address");
|
|
539
|
+
showUsage();
|
|
540
|
+
return;
|
|
541
|
+
}
|
|
477
542
|
}
|
|
478
543
|
catch (error) {
|
|
479
|
-
if (error instanceof Error && error.message === "Invalid public key
|
|
480
|
-
console.error("Error: Invalid public key
|
|
544
|
+
if (error instanceof Error && error.message === "Invalid public key format") {
|
|
545
|
+
console.error("❌ Error: Invalid public key format. Please ensure it's a valid Solana address.");
|
|
546
|
+
showUsage();
|
|
481
547
|
return;
|
|
482
548
|
}
|
|
483
549
|
console.log("ℹ️ Could not auto-detect program, using OpenBook as default");
|
|
@@ -502,22 +568,39 @@ async function main() {
|
|
|
502
568
|
return;
|
|
503
569
|
}
|
|
504
570
|
catch (error) {
|
|
505
|
-
if (error instanceof Error && error.message === "Invalid public key
|
|
506
|
-
console.error("Error: Invalid public key
|
|
571
|
+
if (error instanceof Error && error.message === "Invalid public key format") {
|
|
572
|
+
console.error("❌ Error: Invalid public key format. Please ensure it's a valid Solana address.");
|
|
573
|
+
showUsage();
|
|
507
574
|
return;
|
|
508
575
|
}
|
|
509
|
-
|
|
576
|
+
if (error instanceof Error) {
|
|
577
|
+
console.error(`❌ Error: ${error.message}`);
|
|
578
|
+
}
|
|
579
|
+
else {
|
|
580
|
+
console.error("❌ Error: Failed to add market");
|
|
581
|
+
}
|
|
582
|
+
return;
|
|
510
583
|
}
|
|
511
584
|
}
|
|
512
585
|
// Display market information
|
|
513
586
|
try {
|
|
587
|
+
// First check if the address is a valid market
|
|
588
|
+
const isValid = await isValidMarket(targetMarket, useSerum);
|
|
589
|
+
if (!isValid) {
|
|
590
|
+
console.error("❌ Error: The provided address is not a valid market");
|
|
591
|
+
console.error(" The address exists but is not owned by OpenBook or Serum programs");
|
|
592
|
+
console.error(" Please provide a valid market address");
|
|
593
|
+
showUsage();
|
|
594
|
+
return;
|
|
595
|
+
}
|
|
514
596
|
await displayMarketInfo(targetMarket, useSerum);
|
|
515
597
|
// Display order book
|
|
516
598
|
await displayOrderBook(targetMarket, 15, useSerum);
|
|
517
599
|
}
|
|
518
600
|
catch (error) {
|
|
519
|
-
if (error instanceof Error && error.message === "Invalid public key
|
|
520
|
-
console.error("Error: Invalid public key
|
|
601
|
+
if (error instanceof Error && error.message === "Invalid public key format") {
|
|
602
|
+
console.error("❌ Error: Invalid public key format. Please ensure it's a valid Solana address.");
|
|
603
|
+
showUsage();
|
|
521
604
|
return;
|
|
522
605
|
}
|
|
523
606
|
throw error;
|
|
@@ -541,7 +624,12 @@ async function main() {
|
|
|
541
624
|
console.log(" known_serum_markets.json # Serum markets");
|
|
542
625
|
}
|
|
543
626
|
catch (error) {
|
|
544
|
-
|
|
627
|
+
if (error instanceof Error) {
|
|
628
|
+
console.error(`❌ Error: ${error.message}`);
|
|
629
|
+
}
|
|
630
|
+
else {
|
|
631
|
+
console.error("❌ Error: An unexpected error occurred");
|
|
632
|
+
}
|
|
545
633
|
}
|
|
546
634
|
}
|
|
547
635
|
// Run the main function if this file is executed directly
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -13,7 +13,40 @@ function createPublicKey(address: string): PublicKey {
|
|
|
13
13
|
try {
|
|
14
14
|
return new PublicKey(address);
|
|
15
15
|
} catch (error) {
|
|
16
|
-
throw new Error("Invalid public key
|
|
16
|
+
throw new Error("Invalid public key format");
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
// Helper function to show usage information
|
|
21
|
+
function showUsage(): void {
|
|
22
|
+
console.log("\nUsage:");
|
|
23
|
+
console.log(" openbook-cli <market_address> # Fetch market (auto-detects program)");
|
|
24
|
+
console.log(" openbook-cli <market_address> --add # Add market (auto-detects program)");
|
|
25
|
+
console.log(" openbook-cli --list # List OpenBook markets");
|
|
26
|
+
console.log(" openbook-cli --list --serum # List Serum markets");
|
|
27
|
+
console.log(" openbook-cli --help # Show this help");
|
|
28
|
+
console.log("\nExamples:");
|
|
29
|
+
console.log(" openbook-cli 3ySaxSspDCsEM53zRTfpyr9s9yfq9yNpZFXSEbvbadLf");
|
|
30
|
+
console.log(" openbook-cli 3ySaxSspDCsEM53zRTfpyr9s9yfq9yNpZFXSEbvbadLf --add");
|
|
31
|
+
console.log("\nAuto-detection:");
|
|
32
|
+
console.log(" The system automatically detects if a market is OpenBook or Serum");
|
|
33
|
+
console.log(" No need to specify --serum flag for most operations");
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
// Helper function to check if an address is a valid market
|
|
37
|
+
async function isValidMarket(marketAddress: string, useSerum: boolean = false): Promise<boolean> {
|
|
38
|
+
try {
|
|
39
|
+
const marketPubkey = createPublicKey(marketAddress);
|
|
40
|
+
const marketAccount = await connection.getAccountInfo(marketPubkey);
|
|
41
|
+
|
|
42
|
+
if (!marketAccount) {
|
|
43
|
+
return false;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
const expectedProgramId = useSerum ? SERUM_PROGRAM_ID : OPENBOOK_PROGRAM_ID;
|
|
47
|
+
return marketAccount.owner.toString() === expectedProgramId;
|
|
48
|
+
} catch (error) {
|
|
49
|
+
return false;
|
|
17
50
|
}
|
|
18
51
|
}
|
|
19
52
|
|
|
@@ -134,8 +167,11 @@ async function getMarketInfo(marketAddress: string, useSerum: boolean = false):
|
|
|
134
167
|
};
|
|
135
168
|
}
|
|
136
169
|
} catch (error) {
|
|
137
|
-
|
|
138
|
-
|
|
170
|
+
// Re-throw the error with better context
|
|
171
|
+
if (error instanceof Error) {
|
|
172
|
+
throw error;
|
|
173
|
+
}
|
|
174
|
+
throw new Error("Failed to fetch market info");
|
|
139
175
|
}
|
|
140
176
|
}
|
|
141
177
|
|
|
@@ -162,8 +198,11 @@ async function getMarketAccounts(marketAddress: string, useSerum: boolean = fals
|
|
|
162
198
|
|
|
163
199
|
return marketAccount;
|
|
164
200
|
} catch (error) {
|
|
165
|
-
|
|
166
|
-
|
|
201
|
+
// Re-throw the error with better context
|
|
202
|
+
if (error instanceof Error) {
|
|
203
|
+
throw error;
|
|
204
|
+
}
|
|
205
|
+
throw new Error("Failed to fetch market accounts");
|
|
167
206
|
}
|
|
168
207
|
}
|
|
169
208
|
|
|
@@ -188,8 +227,19 @@ async function loadOpenBookMarket(marketAddress: string, useSerum: boolean = fal
|
|
|
188
227
|
return market;
|
|
189
228
|
} catch (error) {
|
|
190
229
|
const programName = useSerum ? "Serum" : "OpenBook";
|
|
191
|
-
|
|
192
|
-
|
|
230
|
+
|
|
231
|
+
// Check if it's a program ownership error
|
|
232
|
+
if (error instanceof Error && error.message.includes("Address not owned by program")) {
|
|
233
|
+
throw new Error(`Market not owned by ${programName} program`);
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
// Check if it's a market not found error
|
|
237
|
+
if (error instanceof Error && error.message.includes("Market account not found")) {
|
|
238
|
+
throw new Error("Market account not found");
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
// For other errors, provide a generic message
|
|
242
|
+
throw new Error(`Failed to load ${programName} market: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
193
243
|
}
|
|
194
244
|
}
|
|
195
245
|
|
|
@@ -236,8 +286,11 @@ async function getRealOrderBook(marketAddress: string, depth: number = 20, useSe
|
|
|
236
286
|
return { bids: bidOrders, asks: askOrders };
|
|
237
287
|
|
|
238
288
|
} catch (error) {
|
|
239
|
-
|
|
240
|
-
|
|
289
|
+
// Re-throw the error with better context
|
|
290
|
+
if (error instanceof Error) {
|
|
291
|
+
throw error;
|
|
292
|
+
}
|
|
293
|
+
throw new Error("Failed to fetch order book");
|
|
241
294
|
}
|
|
242
295
|
}
|
|
243
296
|
|
|
@@ -343,7 +396,11 @@ async function displayOrderBook(marketAddress: string, depth: number = 10, useSe
|
|
|
343
396
|
console.log(`Spread %: ${spreadPercentage?.toFixed(2) || 'N/A'}%`);
|
|
344
397
|
|
|
345
398
|
} catch (error) {
|
|
346
|
-
|
|
399
|
+
if (error instanceof Error) {
|
|
400
|
+
console.error(`❌ Error: ${error.message}`);
|
|
401
|
+
} else {
|
|
402
|
+
console.error("❌ Error: Failed to display order book");
|
|
403
|
+
}
|
|
347
404
|
}
|
|
348
405
|
}
|
|
349
406
|
|
|
@@ -385,7 +442,11 @@ async function displayMarketInfo(marketAddress: string, useSerum: boolean = fals
|
|
|
385
442
|
}
|
|
386
443
|
|
|
387
444
|
} catch (error) {
|
|
388
|
-
|
|
445
|
+
if (error instanceof Error) {
|
|
446
|
+
console.error(`❌ Error: ${error.message}`);
|
|
447
|
+
} else {
|
|
448
|
+
console.error("❌ Error: Failed to display market info");
|
|
449
|
+
}
|
|
389
450
|
}
|
|
390
451
|
}
|
|
391
452
|
|
|
@@ -543,15 +604,7 @@ async function main() {
|
|
|
543
604
|
// Check if market address is provided
|
|
544
605
|
if (!args[0]) {
|
|
545
606
|
console.log("❌ Error: Market address is required");
|
|
546
|
-
|
|
547
|
-
console.log(" openbook-cli <market_address> # Fetch market (auto-detects program)");
|
|
548
|
-
console.log(" openbook-cli <market_address> --add # Add market (auto-detects program)");
|
|
549
|
-
console.log(" openbook-cli --list # List OpenBook markets");
|
|
550
|
-
console.log(" openbook-cli --list --serum # List Serum markets");
|
|
551
|
-
console.log(" openbook-cli --help # Show this help");
|
|
552
|
-
console.log("\nExamples:");
|
|
553
|
-
console.log(" openbook-cli 3ySaxSspDCsEM53zRTfpyr9s9yfq9yNpZFXSEbvbadLf");
|
|
554
|
-
console.log(" openbook-cli 3ySaxSspDCsEM53zRTfpyr9s9yfq9yNpZFXSEbvbadLf --add");
|
|
607
|
+
showUsage();
|
|
555
608
|
return;
|
|
556
609
|
}
|
|
557
610
|
|
|
@@ -578,12 +631,27 @@ async function main() {
|
|
|
578
631
|
} else if (owner === OPENBOOK_PROGRAM_ID) {
|
|
579
632
|
useSerum = false;
|
|
580
633
|
detectedProgram = "OpenBook";
|
|
634
|
+
} else {
|
|
635
|
+
// The account exists but is not owned by OpenBook or Serum
|
|
636
|
+
console.error("❌ Error: The provided address is not a valid market");
|
|
637
|
+
console.error(" The address exists but is not owned by OpenBook or Serum programs");
|
|
638
|
+
console.error(" Please provide a valid market address");
|
|
639
|
+
showUsage();
|
|
640
|
+
return;
|
|
581
641
|
}
|
|
582
642
|
console.log(`🔍 Auto-detected: ${detectedProgram} market`);
|
|
643
|
+
} else {
|
|
644
|
+
// Account doesn't exist
|
|
645
|
+
console.error("❌ Error: Market account not found");
|
|
646
|
+
console.error(" The provided address does not exist on Solana");
|
|
647
|
+
console.error(" Please provide a valid market address");
|
|
648
|
+
showUsage();
|
|
649
|
+
return;
|
|
583
650
|
}
|
|
584
651
|
} catch (error) {
|
|
585
|
-
if (error instanceof Error && error.message === "Invalid public key
|
|
586
|
-
console.error("Error: Invalid public key
|
|
652
|
+
if (error instanceof Error && error.message === "Invalid public key format") {
|
|
653
|
+
console.error("❌ Error: Invalid public key format. Please ensure it's a valid Solana address.");
|
|
654
|
+
showUsage();
|
|
587
655
|
return;
|
|
588
656
|
}
|
|
589
657
|
console.log("ℹ️ Could not auto-detect program, using OpenBook as default");
|
|
@@ -613,23 +681,40 @@ async function main() {
|
|
|
613
681
|
console.log("\n✅ Market added successfully!");
|
|
614
682
|
return;
|
|
615
683
|
} catch (error) {
|
|
616
|
-
if (error instanceof Error && error.message === "Invalid public key
|
|
617
|
-
console.error("Error: Invalid public key
|
|
684
|
+
if (error instanceof Error && error.message === "Invalid public key format") {
|
|
685
|
+
console.error("❌ Error: Invalid public key format. Please ensure it's a valid Solana address.");
|
|
686
|
+
showUsage();
|
|
618
687
|
return;
|
|
619
688
|
}
|
|
620
|
-
|
|
689
|
+
if (error instanceof Error) {
|
|
690
|
+
console.error(`❌ Error: ${error.message}`);
|
|
691
|
+
} else {
|
|
692
|
+
console.error("❌ Error: Failed to add market");
|
|
693
|
+
}
|
|
694
|
+
return;
|
|
621
695
|
}
|
|
622
696
|
}
|
|
623
697
|
|
|
624
698
|
// Display market information
|
|
625
699
|
try {
|
|
700
|
+
// First check if the address is a valid market
|
|
701
|
+
const isValid = await isValidMarket(targetMarket, useSerum);
|
|
702
|
+
if (!isValid) {
|
|
703
|
+
console.error("❌ Error: The provided address is not a valid market");
|
|
704
|
+
console.error(" The address exists but is not owned by OpenBook or Serum programs");
|
|
705
|
+
console.error(" Please provide a valid market address");
|
|
706
|
+
showUsage();
|
|
707
|
+
return;
|
|
708
|
+
}
|
|
709
|
+
|
|
626
710
|
await displayMarketInfo(targetMarket, useSerum);
|
|
627
711
|
|
|
628
712
|
// Display order book
|
|
629
713
|
await displayOrderBook(targetMarket, 15, useSerum);
|
|
630
714
|
} catch (error) {
|
|
631
|
-
if (error instanceof Error && error.message === "Invalid public key
|
|
632
|
-
console.error("Error: Invalid public key
|
|
715
|
+
if (error instanceof Error && error.message === "Invalid public key format") {
|
|
716
|
+
console.error("❌ Error: Invalid public key format. Please ensure it's a valid Solana address.");
|
|
717
|
+
showUsage();
|
|
633
718
|
return;
|
|
634
719
|
}
|
|
635
720
|
throw error;
|
|
@@ -655,7 +740,11 @@ async function main() {
|
|
|
655
740
|
console.log(" known_serum_markets.json # Serum markets");
|
|
656
741
|
|
|
657
742
|
} catch (error) {
|
|
658
|
-
|
|
743
|
+
if (error instanceof Error) {
|
|
744
|
+
console.error(`❌ Error: ${error.message}`);
|
|
745
|
+
} else {
|
|
746
|
+
console.error("❌ Error: An unexpected error occurred");
|
|
747
|
+
}
|
|
659
748
|
}
|
|
660
749
|
}
|
|
661
750
|
|