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.
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +55 -20
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +56 -23
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;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 =
|
|
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 =
|
|
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 =
|
|
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, {},
|
|
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
|
|
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
|
-
|
|
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
|
|
248
|
+
console.log("Price Size");
|
|
238
249
|
console.log("-".repeat(30));
|
|
239
250
|
bids.forEach((bid) => {
|
|
240
|
-
|
|
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
|
|
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
|
|
438
|
-
console.log(" openbook-cli
|
|
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 =
|
|
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
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
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
|
-
|
|
488
|
-
|
|
489
|
-
|
|
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
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 =
|
|
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 =
|
|
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 =
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
322
|
+
console.log("Price Size");
|
|
312
323
|
console.log("-" .repeat(30));
|
|
313
324
|
|
|
314
325
|
bids.forEach((bid) => {
|
|
315
|
-
|
|
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
|
|
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
|
|
541
|
-
console.log(" openbook-cli
|
|
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 =
|
|
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
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
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
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
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:");
|