openbook-cli 1.0.4 → 1.0.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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAS9C,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,CAiDlG;AA8BD,iBAAe,kBAAkB,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAwBnG;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,CA2CD;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,CAoDnH;AAED,iBAAe,iBAAiB,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAwChG;AAED,iBAAS,gBAAgB,CAAC,QAAQ,GAAE,OAAe,GAAG,IAAI,CAQzD;AAmHD,iBAAe,IAAI,kBA6HlB;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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAkB9C,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,CAiDlG;AA8BD,iBAAe,kBAAkB,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAwBnG;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,CA2CD;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,CAwDnH;AAED,iBAAe,iBAAiB,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAwChG;AAED,iBAAS,gBAAgB,CAAC,QAAQ,GAAE,OAAe,GAAG,IAAI,CAQzD;AAmHD,iBAAe,IAAI,kBAiJlB;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
@@ -16,12 +16,21 @@ const OPENBOOK_PROGRAM_ID = "srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX";
16
16
  const SERUM_PROGRAM_ID = "9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin";
17
17
  // Connection to Solana
18
18
  const connection = new web3_js_1.Connection("https://api.mainnet-beta.solana.com", "confirmed");
19
+ // Helper function to safely create PublicKey instances
20
+ function createPublicKey(address) {
21
+ try {
22
+ return new web3_js_1.PublicKey(address);
23
+ }
24
+ catch (error) {
25
+ throw new Error("Invalid public key input");
26
+ }
27
+ }
19
28
  // Known markets and symbols - will be loaded from JSON file
20
29
  let KNOWN_MARKETS = {};
21
30
  let KNOWN_TOKEN_SYMBOLS = {};
22
31
  async function getTokenMetadata(mintAddress) {
23
32
  try {
24
- const mintPubkey = new web3_js_1.PublicKey(mintAddress);
33
+ const mintPubkey = createPublicKey(mintAddress);
25
34
  // First check if we have a known symbol
26
35
  const knownSymbol = KNOWN_TOKEN_SYMBOLS[mintAddress];
27
36
  if (knownSymbol) {
@@ -104,7 +113,7 @@ async function getMarketInfo(marketAddress, useSerum = false) {
104
113
  }
105
114
  async function getMarketAccounts(marketAddress, useSerum = false) {
106
115
  try {
107
- const marketPubkey = new web3_js_1.PublicKey(marketAddress);
116
+ const marketPubkey = createPublicKey(marketAddress);
108
117
  const marketAccount = await connection.getAccountInfo(marketPubkey);
109
118
  if (!marketAccount) {
110
119
  throw new Error("Market account not found");
@@ -127,11 +136,11 @@ async function getMarketAccounts(marketAddress, useSerum = false) {
127
136
  }
128
137
  async function loadOpenBookMarket(marketAddress, useSerum = false) {
129
138
  try {
130
- const marketPubkey = new web3_js_1.PublicKey(marketAddress);
139
+ const marketPubkey = createPublicKey(marketAddress);
131
140
  // Use the appropriate program ID based on mode
132
141
  const programId = useSerum ? SERUM_PROGRAM_ID : OPENBOOK_PROGRAM_ID;
133
142
  // Load the market using the appropriate program ID
134
- const market = await serum_1.Market.load(connection, marketPubkey, {}, new web3_js_1.PublicKey(programId));
143
+ const market = await serum_1.Market.load(connection, marketPubkey, {}, createPublicKey(programId));
135
144
  const programName = useSerum ? "Serum" : "OpenBook";
136
145
  console.log(`āœ… ${programName} market loaded successfully!`);
137
146
  return market;
@@ -227,17 +236,21 @@ async function displayOrderBook(marketAddress, depth = 10, useSerum = false) {
227
236
  console.log("=".repeat(60));
228
237
  const { bids, asks } = await getRealOrderBook(marketAddress, depth, useSerum);
229
238
  console.log("\nšŸ”“ ASKS (Sell Orders):");
230
- console.log("Price\t\tSize");
239
+ console.log("Price Size");
231
240
  console.log("-".repeat(30));
232
241
  // Display asks in reverse order (highest price first)
233
242
  asks.slice().reverse().forEach((ask) => {
234
- console.log(`${ask.price.toFixed(4)}\t\t${ask.size.toFixed(4)}`);
243
+ const priceStr = ask.price.toFixed(4);
244
+ const sizeStr = ask.size.toFixed(4);
245
+ console.log(`${priceStr.padEnd(15)}${sizeStr}`);
235
246
  });
236
247
  console.log("\n🟢 BIDS (Buy Orders):");
237
- console.log("Price\t\tSize");
248
+ console.log("Price Size");
238
249
  console.log("-".repeat(30));
239
250
  bids.forEach((bid) => {
240
- console.log(`${bid.price.toFixed(4)}\t\t${bid.size.toFixed(4)}`);
251
+ const priceStr = bid.price.toFixed(4);
252
+ const sizeStr = bid.size.toFixed(4);
253
+ console.log(`${priceStr.padEnd(15)}${sizeStr}`);
241
254
  });
242
255
  // Calculate market stats from the order book data we already have
243
256
  const bestBid = bids.length > 0 ? bids[0].price : null;
@@ -402,7 +415,7 @@ function loadKnownMarketsFromFile(useSerum = false) {
402
415
  // Main function to run the fetcher
403
416
  async function main() {
404
417
  try {
405
- console.log("šŸš€ OpenBook Order Fetcher (Real Data)");
418
+ console.log("šŸš€ OpenBook Order Fetcher");
406
419
  console.log("=".repeat(60));
407
420
  // Check if a specific market address was provided
408
421
  const args = process.argv.slice(2);
@@ -434,8 +447,8 @@ async function main() {
434
447
  console.log(" openbook-cli --list --serum # List Serum markets");
435
448
  console.log(" openbook-cli --help # Show this help");
436
449
  console.log("\nExamples:");
437
- console.log(" openbook-cli Gc4tfUHRNnpVwvASfQD3q26G8GNmLYuz4KzB4QNkNuiQ");
438
- console.log(" openbook-cli 8BnEgHoWFysVcuFFX7QztDmzuH8r5ZFvyJ3arACXenbx --add");
450
+ console.log(" openbook-cli 3ySaxSspDCsEM53zRTfpyr9s9yfq9yNpZFXSEbvbadLf");
451
+ console.log(" openbook-cli 3ySaxSspDCsEM53zRTfpyr9s9yfq9yNpZFXSEbvbadLf --add");
439
452
  return;
440
453
  }
441
454
  const targetMarket = args[0];
@@ -447,7 +460,7 @@ async function main() {
447
460
  // If a specific market is provided, try to detect its program
448
461
  if (args[0] && !args.includes('--list') && !args.includes('-l')) {
449
462
  try {
450
- const marketPubkey = new web3_js_1.PublicKey(targetMarket);
463
+ const marketPubkey = createPublicKey(targetMarket);
451
464
  const marketAccount = await connection.getAccountInfo(marketPubkey);
452
465
  if (marketAccount) {
453
466
  const owner = marketAccount.owner.toString();
@@ -463,6 +476,10 @@ async function main() {
463
476
  }
464
477
  }
465
478
  catch (error) {
479
+ if (error instanceof Error && error.message === "Invalid public key input") {
480
+ console.error("Error: Invalid public key input");
481
+ return;
482
+ }
466
483
  console.log("ā„¹ļø Could not auto-detect program, using OpenBook as default");
467
484
  }
468
485
  }
@@ -477,16 +494,34 @@ async function main() {
477
494
  // If --add flag is present and a market address is provided
478
495
  if (shouldAdd && args[0] && args[0] !== '--add' && args[0] !== '-a' && args[0] !== '--serum' && args[0] !== '-s') {
479
496
  console.log("āž• Adding market to known markets...");
480
- await addMarketToKnownMarkets(targetMarket, useSerum);
481
- // Save to appropriate file
482
- saveKnownMarketsToFile(useSerum);
483
- console.log("\nāœ… Market added successfully!");
484
- return;
497
+ try {
498
+ await addMarketToKnownMarkets(targetMarket, useSerum);
499
+ // Save to appropriate file
500
+ saveKnownMarketsToFile(useSerum);
501
+ console.log("\nāœ… Market added successfully!");
502
+ return;
503
+ }
504
+ catch (error) {
505
+ if (error instanceof Error && error.message === "Invalid public key input") {
506
+ console.error("Error: Invalid public key input");
507
+ return;
508
+ }
509
+ throw error;
510
+ }
485
511
  }
486
512
  // Display market information
487
- await displayMarketInfo(targetMarket, useSerum);
488
- // Display order book
489
- await displayOrderBook(targetMarket, 15, useSerum);
513
+ try {
514
+ await displayMarketInfo(targetMarket, useSerum);
515
+ // Display order book
516
+ await displayOrderBook(targetMarket, 15, useSerum);
517
+ }
518
+ catch (error) {
519
+ if (error instanceof Error && error.message === "Invalid public key input") {
520
+ console.error("Error: Invalid public key input");
521
+ return;
522
+ }
523
+ throw error;
524
+ }
490
525
  console.log("\nāœ… Fetch completed successfully!");
491
526
  console.log("\nšŸ“ Note: This implementation uses:");
492
527
  console.log("1. Real OpenBook market loading via Serum SDK");
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openbook-cli",
3
- "version": "1.0.4",
3
+ "version": "1.0.6",
4
4
  "description": "A comprehensive CLI tool for interacting with OpenBook and Serum DEX markets on Solana",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
package/src/index.ts CHANGED
@@ -8,6 +8,15 @@ const SERUM_PROGRAM_ID = "9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin";
8
8
  // Connection to Solana
9
9
  const connection = new Connection("https://api.mainnet-beta.solana.com", "confirmed");
10
10
 
11
+ // Helper function to safely create PublicKey instances
12
+ function createPublicKey(address: string): PublicKey {
13
+ try {
14
+ return new PublicKey(address);
15
+ } catch (error) {
16
+ throw new Error("Invalid public key input");
17
+ }
18
+ }
19
+
11
20
  interface OrderBookLevel {
12
21
  price: number;
13
22
  size: number;
@@ -40,7 +49,7 @@ let KNOWN_TOKEN_SYMBOLS: { [key: string]: string } = {};
40
49
 
41
50
  async function getTokenMetadata(mintAddress: string): Promise<TokenMetadata> {
42
51
  try {
43
- const mintPubkey = new PublicKey(mintAddress);
52
+ const mintPubkey = createPublicKey(mintAddress);
44
53
 
45
54
  // First check if we have a known symbol
46
55
  const knownSymbol = KNOWN_TOKEN_SYMBOLS[mintAddress as keyof typeof KNOWN_TOKEN_SYMBOLS];
@@ -132,7 +141,7 @@ async function getMarketInfo(marketAddress: string, useSerum: boolean = false):
132
141
 
133
142
  async function getMarketAccounts(marketAddress: string, useSerum: boolean = false) {
134
143
  try {
135
- const marketPubkey = new PublicKey(marketAddress);
144
+ const marketPubkey = createPublicKey(marketAddress);
136
145
  const marketAccount = await connection.getAccountInfo(marketPubkey);
137
146
 
138
147
  if (!marketAccount) {
@@ -160,7 +169,7 @@ async function getMarketAccounts(marketAddress: string, useSerum: boolean = fals
160
169
 
161
170
  async function loadOpenBookMarket(marketAddress: string, useSerum: boolean = false): Promise<Market> {
162
171
  try {
163
- const marketPubkey = new PublicKey(marketAddress);
172
+ const marketPubkey = createPublicKey(marketAddress);
164
173
 
165
174
  // Use the appropriate program ID based on mode
166
175
  const programId = useSerum ? SERUM_PROGRAM_ID : OPENBOOK_PROGRAM_ID;
@@ -170,7 +179,7 @@ async function loadOpenBookMarket(marketAddress: string, useSerum: boolean = fal
170
179
  connection,
171
180
  marketPubkey,
172
181
  {},
173
- new PublicKey(programId)
182
+ createPublicKey(programId)
174
183
  );
175
184
 
176
185
  const programName = useSerum ? "Serum" : "OpenBook";
@@ -299,20 +308,24 @@ async function displayOrderBook(marketAddress: string, depth: number = 10, useSe
299
308
  const { bids, asks } = await getRealOrderBook(marketAddress, depth, useSerum);
300
309
 
301
310
  console.log("\nšŸ”“ ASKS (Sell Orders):");
302
- console.log("Price\t\tSize");
311
+ console.log("Price Size");
303
312
  console.log("-" .repeat(30));
304
313
 
305
314
  // Display asks in reverse order (highest price first)
306
315
  asks.slice().reverse().forEach((ask) => {
307
- console.log(`${ask.price.toFixed(4)}\t\t${ask.size.toFixed(4)}`);
316
+ const priceStr = ask.price.toFixed(4);
317
+ const sizeStr = ask.size.toFixed(4);
318
+ console.log(`${priceStr.padEnd(15)}${sizeStr}`);
308
319
  });
309
320
 
310
321
  console.log("\n🟢 BIDS (Buy Orders):");
311
- console.log("Price\t\tSize");
322
+ console.log("Price Size");
312
323
  console.log("-" .repeat(30));
313
324
 
314
325
  bids.forEach((bid) => {
315
- console.log(`${bid.price.toFixed(4)}\t\t${bid.size.toFixed(4)}`);
326
+ const priceStr = bid.price.toFixed(4);
327
+ const sizeStr = bid.size.toFixed(4);
328
+ console.log(`${priceStr.padEnd(15)}${sizeStr}`);
316
329
  });
317
330
 
318
331
  // Calculate market stats from the order book data we already have
@@ -501,7 +514,7 @@ function loadKnownMarketsFromFile(useSerum: boolean = false): void {
501
514
  // Main function to run the fetcher
502
515
  async function main() {
503
516
  try {
504
- console.log("šŸš€ OpenBook Order Fetcher (Real Data)");
517
+ console.log("šŸš€ OpenBook Order Fetcher");
505
518
  console.log("=" .repeat(60));
506
519
 
507
520
  // Check if a specific market address was provided
@@ -537,8 +550,8 @@ async function main() {
537
550
  console.log(" openbook-cli --list --serum # List Serum markets");
538
551
  console.log(" openbook-cli --help # Show this help");
539
552
  console.log("\nExamples:");
540
- console.log(" openbook-cli Gc4tfUHRNnpVwvASfQD3q26G8GNmLYuz4KzB4QNkNuiQ");
541
- console.log(" openbook-cli 8BnEgHoWFysVcuFFX7QztDmzuH8r5ZFvyJ3arACXenbx --add");
553
+ console.log(" openbook-cli 3ySaxSspDCsEM53zRTfpyr9s9yfq9yNpZFXSEbvbadLf");
554
+ console.log(" openbook-cli 3ySaxSspDCsEM53zRTfpyr9s9yfq9yNpZFXSEbvbadLf --add");
542
555
  return;
543
556
  }
544
557
 
@@ -554,7 +567,7 @@ async function main() {
554
567
  // If a specific market is provided, try to detect its program
555
568
  if (args[0] && !args.includes('--list') && !args.includes('-l')) {
556
569
  try {
557
- const marketPubkey = new PublicKey(targetMarket);
570
+ const marketPubkey = createPublicKey(targetMarket);
558
571
  const marketAccount = await connection.getAccountInfo(marketPubkey);
559
572
 
560
573
  if (marketAccount) {
@@ -569,6 +582,10 @@ async function main() {
569
582
  console.log(`šŸ” Auto-detected: ${detectedProgram} market`);
570
583
  }
571
584
  } catch (error) {
585
+ if (error instanceof Error && error.message === "Invalid public key input") {
586
+ console.error("Error: Invalid public key input");
587
+ return;
588
+ }
572
589
  console.log("ā„¹ļø Could not auto-detect program, using OpenBook as default");
573
590
  }
574
591
  }
@@ -587,20 +604,36 @@ async function main() {
587
604
  // If --add flag is present and a market address is provided
588
605
  if (shouldAdd && args[0] && args[0] !== '--add' && args[0] !== '-a' && args[0] !== '--serum' && args[0] !== '-s') {
589
606
  console.log("āž• Adding market to known markets...");
590
- await addMarketToKnownMarkets(targetMarket, useSerum);
591
-
592
- // Save to appropriate file
593
- saveKnownMarketsToFile(useSerum);
594
-
595
- console.log("\nāœ… Market added successfully!");
596
- return;
607
+ try {
608
+ await addMarketToKnownMarkets(targetMarket, useSerum);
609
+
610
+ // Save to appropriate file
611
+ saveKnownMarketsToFile(useSerum);
612
+
613
+ console.log("\nāœ… Market added successfully!");
614
+ return;
615
+ } catch (error) {
616
+ if (error instanceof Error && error.message === "Invalid public key input") {
617
+ console.error("Error: Invalid public key input");
618
+ return;
619
+ }
620
+ throw error;
621
+ }
597
622
  }
598
623
 
599
624
  // Display market information
600
- await displayMarketInfo(targetMarket, useSerum);
601
-
602
- // Display order book
603
- await displayOrderBook(targetMarket, 15, useSerum);
625
+ try {
626
+ await displayMarketInfo(targetMarket, useSerum);
627
+
628
+ // Display order book
629
+ await displayOrderBook(targetMarket, 15, useSerum);
630
+ } catch (error) {
631
+ if (error instanceof Error && error.message === "Invalid public key input") {
632
+ console.error("Error: Invalid public key input");
633
+ return;
634
+ }
635
+ throw error;
636
+ }
604
637
 
605
638
  console.log("\nāœ… Fetch completed successfully!");
606
639
  console.log("\nšŸ“ Note: This implementation uses:");