@zeroexcore/trader 1.0.0 → 1.1.3

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.
Files changed (133) hide show
  1. package/README.md +12 -1
  2. package/dist/utils/perps/index.d.ts.map +1 -1
  3. package/dist/utils/perps/index.js +1 -4
  4. package/dist/utils/perps/index.js.map +1 -1
  5. package/package.json +5 -1
  6. package/dist/commands/book.d.ts +0 -3
  7. package/dist/commands/book.d.ts.map +0 -1
  8. package/dist/commands/book.js +0 -44
  9. package/dist/commands/book.js.map +0 -1
  10. package/dist/commands/nft/floor.d.ts +0 -3
  11. package/dist/commands/nft/floor.d.ts.map +0 -1
  12. package/dist/commands/nft/floor.js +0 -30
  13. package/dist/commands/nft/floor.js.map +0 -1
  14. package/dist/commands/nft/index.d.ts +0 -3
  15. package/dist/commands/nft/index.d.ts.map +0 -1
  16. package/dist/commands/nft/index.js +0 -14
  17. package/dist/commands/nft/index.js.map +0 -1
  18. package/dist/commands/nft/listings.d.ts +0 -3
  19. package/dist/commands/nft/listings.d.ts.map +0 -1
  20. package/dist/commands/nft/listings.js +0 -37
  21. package/dist/commands/nft/listings.js.map +0 -1
  22. package/dist/commands/nft/popular.d.ts +0 -3
  23. package/dist/commands/nft/popular.d.ts.map +0 -1
  24. package/dist/commands/nft/popular.js +0 -32
  25. package/dist/commands/nft/popular.js.map +0 -1
  26. package/dist/commands/nft/portfolio.d.ts +0 -3
  27. package/dist/commands/nft/portfolio.d.ts.map +0 -1
  28. package/dist/commands/nft/portfolio.js +0 -43
  29. package/dist/commands/nft/portfolio.js.map +0 -1
  30. package/dist/commands/nft/search.d.ts +0 -3
  31. package/dist/commands/nft/search.d.ts.map +0 -1
  32. package/dist/commands/nft/search.js +0 -36
  33. package/dist/commands/nft/search.js.map +0 -1
  34. package/dist/commands/nft.d.ts +0 -3
  35. package/dist/commands/nft.d.ts.map +0 -1
  36. package/dist/commands/nft.js +0 -165
  37. package/dist/commands/nft.js.map +0 -1
  38. package/dist/commands/perps/info.d.ts +0 -3
  39. package/dist/commands/perps/info.d.ts.map +0 -1
  40. package/dist/commands/perps/info.js +0 -51
  41. package/dist/commands/perps/info.js.map +0 -1
  42. package/dist/commands/perps/markets.d.ts +0 -3
  43. package/dist/commands/perps/markets.d.ts.map +0 -1
  44. package/dist/commands/perps/markets.js +0 -43
  45. package/dist/commands/perps/markets.js.map +0 -1
  46. package/dist/commands/perps.d.ts +0 -3
  47. package/dist/commands/perps.d.ts.map +0 -1
  48. package/dist/commands/perps.js +0 -186
  49. package/dist/commands/perps.js.map +0 -1
  50. package/dist/commands/positions/close.d.ts +0 -3
  51. package/dist/commands/positions/close.d.ts.map +0 -1
  52. package/dist/commands/positions/close.js +0 -31
  53. package/dist/commands/positions/close.js.map +0 -1
  54. package/dist/commands/positions/filter.d.ts +0 -3
  55. package/dist/commands/positions/filter.d.ts.map +0 -1
  56. package/dist/commands/positions/filter.js +0 -20
  57. package/dist/commands/positions/filter.js.map +0 -1
  58. package/dist/commands/positions/index.d.ts +0 -3
  59. package/dist/commands/positions/index.d.ts.map +0 -1
  60. package/dist/commands/positions/index.js +0 -22
  61. package/dist/commands/positions/index.js.map +0 -1
  62. package/dist/commands/positions/list.d.ts +0 -3
  63. package/dist/commands/positions/list.d.ts.map +0 -1
  64. package/dist/commands/positions/list.js +0 -38
  65. package/dist/commands/positions/list.js.map +0 -1
  66. package/dist/commands/positions/note.d.ts +0 -3
  67. package/dist/commands/positions/note.d.ts.map +0 -1
  68. package/dist/commands/positions/note.js +0 -19
  69. package/dist/commands/positions/note.js.map +0 -1
  70. package/dist/commands/positions/open.d.ts +0 -3
  71. package/dist/commands/positions/open.d.ts.map +0 -1
  72. package/dist/commands/positions/open.js +0 -47
  73. package/dist/commands/positions/open.js.map +0 -1
  74. package/dist/commands/positions/show.d.ts +0 -3
  75. package/dist/commands/positions/show.d.ts.map +0 -1
  76. package/dist/commands/positions/show.js +0 -46
  77. package/dist/commands/positions/show.js.map +0 -1
  78. package/dist/commands/positions/stats.d.ts +0 -3
  79. package/dist/commands/positions/stats.d.ts.map +0 -1
  80. package/dist/commands/positions/stats.js +0 -27
  81. package/dist/commands/positions/stats.js.map +0 -1
  82. package/dist/commands/positions/tag.d.ts +0 -3
  83. package/dist/commands/positions/tag.d.ts.map +0 -1
  84. package/dist/commands/positions/tag.js +0 -19
  85. package/dist/commands/positions/tag.js.map +0 -1
  86. package/dist/commands/positions/update.d.ts +0 -3
  87. package/dist/commands/positions/update.d.ts.map +0 -1
  88. package/dist/commands/positions/update.js +0 -35
  89. package/dist/commands/positions/update.js.map +0 -1
  90. package/dist/commands/positions.d.ts +0 -3
  91. package/dist/commands/positions.d.ts.map +0 -1
  92. package/dist/commands/positions.js +0 -247
  93. package/dist/commands/positions.js.map +0 -1
  94. package/dist/commands/predict/list.d.ts +0 -3
  95. package/dist/commands/predict/list.d.ts.map +0 -1
  96. package/dist/commands/predict/list.js +0 -46
  97. package/dist/commands/predict/list.js.map +0 -1
  98. package/dist/commands/predict/market.d.ts +0 -3
  99. package/dist/commands/predict/market.d.ts.map +0 -1
  100. package/dist/commands/predict/market.js +0 -37
  101. package/dist/commands/predict/market.js.map +0 -1
  102. package/dist/commands/predict/watch.d.ts +0 -3
  103. package/dist/commands/predict/watch.d.ts.map +0 -1
  104. package/dist/commands/predict/watch.js +0 -73
  105. package/dist/commands/predict/watch.js.map +0 -1
  106. package/dist/commands/predict.d.ts +0 -3
  107. package/dist/commands/predict.d.ts.map +0 -1
  108. package/dist/commands/predict.js +0 -484
  109. package/dist/commands/predict.js.map +0 -1
  110. package/dist/commands/trade/index.d.ts +0 -3
  111. package/dist/commands/trade/index.d.ts.map +0 -1
  112. package/dist/commands/trade/index.js +0 -8
  113. package/dist/commands/trade/index.js.map +0 -1
  114. package/dist/commands/trade/info.d.ts +0 -3
  115. package/dist/commands/trade/info.d.ts.map +0 -1
  116. package/dist/commands/trade/info.js +0 -37
  117. package/dist/commands/trade/info.js.map +0 -1
  118. package/dist/commands/trade/quote.d.ts +0 -3
  119. package/dist/commands/trade/quote.d.ts.map +0 -1
  120. package/dist/commands/trade/quote.js +0 -56
  121. package/dist/commands/trade/quote.js.map +0 -1
  122. package/dist/commands/trade/search.d.ts +0 -3
  123. package/dist/commands/trade/search.d.ts.map +0 -1
  124. package/dist/commands/trade/search.js +0 -22
  125. package/dist/commands/trade/search.js.map +0 -1
  126. package/dist/commands/trade/swap.d.ts +0 -3
  127. package/dist/commands/trade/swap.d.ts.map +0 -1
  128. package/dist/commands/trade/swap.js +0 -70
  129. package/dist/commands/trade/swap.js.map +0 -1
  130. package/dist/commands/trade.d.ts +0 -5
  131. package/dist/commands/trade.d.ts.map +0 -1
  132. package/dist/commands/trade.js +0 -167
  133. package/dist/commands/trade.js.map +0 -1
package/README.md CHANGED
@@ -2,8 +2,19 @@
2
2
 
3
3
  Solana trading CLI — tokens, prediction markets, perpetuals, NFTs.
4
4
 
5
- ## Setup
5
+ ## Install
6
6
 
7
+ ```bash
8
+ npm install -g @zeroexcore/trader
9
+ trader diagnose
10
+ ```
11
+
12
+ Or run without installing:
13
+ ```bash
14
+ npx @zeroexcore/trader diagnose
15
+ ```
16
+
17
+ For development:
7
18
  ```bash
8
19
  git clone https://github.com/zeroexcore/trader
9
20
  cd trader
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/perps/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAW,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAChE,OAAO,GAAG,MAAM,QAAQ,CAAA;AASxB,eAAO,MAAM,6BAA6B,WAEzC,CAAA;AAED,eAAO,MAAM,uBAAuB,WAEnC,CAAA;AAGD,eAAO,MAAM,OAAO;;;;;;CAMV,CAAA;AASV,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;IACtB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,GAAG,CAAA;IACZ,aAAa,EAAE,GAAG,CAAA;IAClB,UAAU,EAAE,GAAG,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,aAAa,EAAE,GAAG,CAAA;IAClB,gBAAgB,EAAE,GAAG,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,SAAS,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,GAAG,CAAA;IACf,eAAe,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,MAAM,EAAE,GAAG,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAkBD,wBAAsB,YAAY,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CAQ7E;AAGD,wBAAsB,cAAc,CAClC,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,OAAO,OAAO,GAC3B,OAAO,CAAC,WAAW,CAAC,CAatB;AAGD,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAGtF;AAGD,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,SAAS,GAAG,MAAM,GAC/B,OAAO,CAAC,aAAa,EAAE,CAAC,CAkC1B;AAGD,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,aAAa,EACvB,YAAY,EAAE,GAAG,GAChB;IAAE,GAAG,EAAE,GAAG,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAalC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/perps/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAW,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAChE,OAAO,GAAG,MAAM,QAAQ,CAAA;AAKxB,eAAO,MAAM,6BAA6B,WAEzC,CAAA;AAED,eAAO,MAAM,uBAAuB,WAEnC,CAAA;AAGD,eAAO,MAAM,OAAO;;;;;;CAMV,CAAA;AASV,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;IACtB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,GAAG,CAAA;IACZ,aAAa,EAAE,GAAG,CAAA;IAClB,UAAU,EAAE,GAAG,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,aAAa,EAAE,GAAG,CAAA;IAClB,gBAAgB,EAAE,GAAG,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,SAAS,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,GAAG,CAAA;IACf,eAAe,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,MAAM,EAAE,GAAG,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAkBD,wBAAsB,YAAY,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CAQ7E;AAGD,wBAAsB,cAAc,CAClC,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,OAAO,OAAO,GAC3B,OAAO,CAAC,WAAW,CAAC,CAatB;AAGD,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAGtF;AAGD,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,SAAS,GAAG,MAAM,GAC/B,OAAO,CAAC,aAAa,EAAE,CAAC,CAkC1B;AAGD,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,aAAa,EACvB,YAAY,EAAE,GAAG,GAChB;IAAE,GAAG,EAAE,GAAG,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAalC"}
@@ -1,11 +1,8 @@
1
1
  import { AnchorProvider, Program, Wallet } from "@coral-xyz/anchor";
2
2
  import { Keypair, PublicKey } from "@solana/web3.js";
3
3
  import Big from "big.js";
4
- import { createRequire } from "module";
5
4
  import { perps as perpsConfig } from "../../config.js";
6
- // Load IDL using createRequire for Node.js compatibility
7
- const require = createRequire(import.meta.url);
8
- const IDL = require("./idl.json");
5
+ import IDL from "./idl.json" with { type: "json" };
9
6
  // Program IDs
10
7
  export const JUPITER_PERPETUALS_PROGRAM_ID = new PublicKey(perpsConfig.programId);
11
8
  export const JLP_POOL_ACCOUNT_PUBKEY = new PublicKey(perpsConfig.poolAccount);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/perps/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/perps/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zeroexcore/trader",
3
- "version": "1.0.0",
3
+ "version": "1.1.3",
4
4
  "description": "Solana trading CLI - Trade tokens, track portfolio, bet on prediction markets",
5
5
  "type": "module",
6
6
  "main": "./dist/cli.js",
@@ -10,6 +10,10 @@
10
10
  "files": [
11
11
  "dist"
12
12
  ],
13
+ "repository": {
14
+ "type": "git",
15
+ "url": "https://github.com/zeroexcore/trader"
16
+ },
13
17
  "publishConfig": {
14
18
  "access": "public"
15
19
  },
@@ -1,3 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare const bookCommand: Command;
3
- //# sourceMappingURL=book.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"book.d.ts","sourceRoot":"","sources":["../../src/commands/book.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,eAAO,MAAM,WAAW,SAA+D,CAAC"}
@@ -1,44 +0,0 @@
1
- import { Command } from 'commander';
2
- import { loadTokenBook, saveTokenBook } from '../utils/token-book.js';
3
- import { output, error } from './shared.js';
4
- export const bookCommand = new Command('book').description('Manage token address book');
5
- bookCommand
6
- .command('list')
7
- .description('List all tokens in address book')
8
- .action(() => {
9
- const tokens = loadTokenBook();
10
- const entries = Object.entries(tokens).map(([ticker, address]) => ({ ticker, address }));
11
- output({ tokens: entries }, () => {
12
- if (entries.length === 0)
13
- return 'Token address book is empty';
14
- const rows = entries.map((e) => `| ${e.ticker} | ${e.address} |`).join('\n');
15
- return `## Token Address Book\n\n| Ticker | Address |\n|--------|---------||\n${rows}`;
16
- });
17
- });
18
- bookCommand
19
- .command('add <ticker> <address>')
20
- .description('Add token to address book')
21
- .action((ticker, address) => {
22
- const tokens = loadTokenBook();
23
- const upperTicker = ticker.toUpperCase();
24
- if (address.length < 32)
25
- error('Invalid address', { address });
26
- tokens[upperTicker] = address;
27
- saveTokenBook(tokens);
28
- output({ success: true, ticker: upperTicker, address }, () => `Added **${upperTicker}** → \`${address}\``);
29
- });
30
- bookCommand
31
- .command('remove <ticker>')
32
- .description('Remove token from address book')
33
- .action((ticker) => {
34
- const tokens = loadTokenBook();
35
- const upperTicker = ticker.toUpperCase();
36
- if (!tokens[upperTicker]) {
37
- error('Token not found', { ticker: upperTicker });
38
- }
39
- const address = tokens[upperTicker];
40
- delete tokens[upperTicker];
41
- saveTokenBook(tokens);
42
- output({ success: true, ticker: upperTicker, removed: address }, () => `Removed **${upperTicker}** (\`${address}\`)`);
43
- });
44
- //# sourceMappingURL=book.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"book.js","sourceRoot":"","sources":["../../src/commands/book.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,2BAA2B,CAAC,CAAC;AAExF,WAAW;KACR,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,iCAAiC,CAAC;KAC9C,MAAM,CAAC,GAAG,EAAE;IACX,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAC/B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IACzF,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE;QAC/B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,6BAA6B,CAAC;QAC/D,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7E,OAAO,yEAAyE,IAAI,EAAE,CAAC;IACzF,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,WAAW;KACR,OAAO,CAAC,wBAAwB,CAAC;KACjC,WAAW,CAAC,2BAA2B,CAAC;KACxC,MAAM,CAAC,CAAC,MAAc,EAAE,OAAe,EAAE,EAAE;IAC1C,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAC/B,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IAEzC,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE;QAAE,KAAK,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAE/D,MAAM,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC;IAC9B,aAAa,CAAC,MAAM,CAAC,CAAC;IAEtB,MAAM,CACJ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,EAC/C,GAAG,EAAE,CAAC,WAAW,WAAW,UAAU,OAAO,IAAI,CAClD,CAAC;AACJ,CAAC,CAAC,CAAC;AAEL,WAAW;KACR,OAAO,CAAC,iBAAiB,CAAC;KAC1B,WAAW,CAAC,gCAAgC,CAAC;KAC7C,MAAM,CAAC,CAAC,MAAc,EAAE,EAAE;IACzB,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAC/B,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IAEzC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;QACzB,KAAK,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;IACpC,OAAO,MAAM,CAAC,WAAW,CAAC,CAAC;IAC3B,aAAa,CAAC,MAAM,CAAC,CAAC;IAEtB,MAAM,CACJ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,EACxD,GAAG,EAAE,CAAC,aAAa,WAAW,SAAS,OAAO,KAAK,CACpD,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -1,3 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare const floorCommand: Command;
3
- //# sourceMappingURL=floor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"floor.d.ts","sourceRoot":"","sources":["../../../src/commands/nft/floor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,eAAO,MAAM,YAAY,SA4BrB,CAAC"}
@@ -1,30 +0,0 @@
1
- import { Command } from 'commander';
2
- import { getCollectionStats, formatSol, solToUsd } from '../../utils/nft.js';
3
- import { output, error } from '../shared.js';
4
- export const floorCommand = new Command('floor')
5
- .argument('<collection>', 'Collection symbol')
6
- .description('Get floor price for a collection')
7
- .action(async (collection) => {
8
- try {
9
- const stats = await getCollectionStats(collection);
10
- const usd = solToUsd(stats.floorPrice);
11
- output({
12
- collection: stats.symbol,
13
- name: stats.name,
14
- floorPrice: stats.floorPrice.toNumber(),
15
- floorPriceUsd: usd.toNumber(),
16
- listedCount: stats.listedCount,
17
- volumeAll: stats.volumeAll.toNumber(),
18
- }, () => {
19
- let md = `# ${stats.name}\n\n`;
20
- md += `**Floor:** ${formatSol(stats.floorPrice)} (~$${usd.toFixed(0)})\n`;
21
- md += `**Listed:** ${stats.listedCount}\n`;
22
- md += `**Volume:** ${formatSol(stats.volumeAll)}\n`;
23
- return md;
24
- });
25
- }
26
- catch (e) {
27
- error(e.message);
28
- }
29
- });
30
- //# sourceMappingURL=floor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"floor.js","sourceRoot":"","sources":["../../../src/commands/nft/floor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;KAC7C,QAAQ,CAAC,cAAc,EAAE,mBAAmB,CAAC;KAC7C,WAAW,CAAC,kCAAkC,CAAC;KAC/C,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;IAC3B,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,UAAU,CAAC,CAAC;QACnD,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAEvC,MAAM,CACJ;YACE,UAAU,EAAE,KAAK,CAAC,MAAM;YACxB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE;YACvC,aAAa,EAAE,GAAG,CAAC,QAAQ,EAAE;YAC7B,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE;SACtC,EACD,GAAG,EAAE;YACH,IAAI,EAAE,GAAG,KAAK,KAAK,CAAC,IAAI,MAAM,CAAC;YAC/B,EAAE,IAAI,cAAc,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;YAC1E,EAAE,IAAI,eAAe,KAAK,CAAC,WAAW,IAAI,CAAC;YAC3C,EAAE,IAAI,eAAe,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;YACpD,OAAO,EAAE,CAAC;QACZ,CAAC,CACF,CAAC;IACJ,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -1,3 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare const nftCommand: Command;
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/nft/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,eAAO,MAAM,UAAU,SACqB,CAAC"}
@@ -1,14 +0,0 @@
1
- import { Command } from 'commander';
2
- import { floorCommand } from './floor.js';
3
- import { listingsCommand } from './listings.js';
4
- import { popularCommand } from './popular.js';
5
- import { searchCommand } from './search.js';
6
- import { portfolioCommand } from './portfolio.js';
7
- export const nftCommand = new Command('nft')
8
- .description('NFT trading via Magic Eden');
9
- nftCommand.addCommand(floorCommand);
10
- nftCommand.addCommand(listingsCommand);
11
- nftCommand.addCommand(popularCommand);
12
- nftCommand.addCommand(searchCommand);
13
- nftCommand.addCommand(portfolioCommand);
14
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/nft/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC;KACzC,WAAW,CAAC,4BAA4B,CAAC,CAAC;AAE7C,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AACpC,UAAU,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;AACvC,UAAU,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;AACtC,UAAU,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AACrC,UAAU,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC"}
@@ -1,3 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare const listingsCommand: Command;
3
- //# sourceMappingURL=listings.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"listings.d.ts","sourceRoot":"","sources":["../../../src/commands/nft/listings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,eAAO,MAAM,eAAe,SAqCxB,CAAC"}
@@ -1,37 +0,0 @@
1
- import { Command } from 'commander';
2
- import { getListings, solToUsd, formatSol } from '../../utils/nft.js';
3
- import { output, error } from '../shared.js';
4
- export const listingsCommand = new Command('listings')
5
- .argument('<collection>', 'Collection symbol')
6
- .description('Browse listings for a collection')
7
- .option('-l, --limit <number>', 'Number of listings', '10')
8
- .action(async (collection, options) => {
9
- try {
10
- const listings = await getListings(collection, parseInt(options.limit));
11
- if (listings.length === 0) {
12
- output({ collection, listings: [] }, () => 'No listings found');
13
- return;
14
- }
15
- const listingsData = listings.map((l) => ({
16
- mint: l.mint,
17
- name: l.name,
18
- price: l.price.toNumber(),
19
- priceUsd: solToUsd(l.price).toNumber(),
20
- seller: l.seller,
21
- }));
22
- output({ collection, count: listings.length, listings: listingsData }, () => {
23
- let md = `# ${collection} Listings\n\n`;
24
- for (const l of listings) {
25
- const usd = solToUsd(l.price);
26
- md += `**${l.name.slice(0, 50)}**\n`;
27
- md += ` ${formatSol(l.price)} (~$${usd.toFixed(0)}) | ${l.mint.slice(0, 8)}...\n\n`;
28
- }
29
- md += `Showing ${listings.length} listings`;
30
- return md;
31
- });
32
- }
33
- catch (e) {
34
- error(e.message);
35
- }
36
- });
37
- //# sourceMappingURL=listings.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"listings.js","sourceRoot":"","sources":["../../../src/commands/nft/listings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC;KACnD,QAAQ,CAAC,cAAc,EAAE,mBAAmB,CAAC;KAC7C,WAAW,CAAC,kCAAkC,CAAC;KAC/C,MAAM,CAAC,sBAAsB,EAAE,oBAAoB,EAAE,IAAI,CAAC;KAC1D,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE;IACpC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAExE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,CAAC;YAChE,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACxC,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE;YACzB,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;YACtC,MAAM,EAAE,CAAC,CAAC,MAAM;SACjB,CAAC,CAAC,CAAC;QAEJ,MAAM,CACJ,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,EAC9D,GAAG,EAAE;YACH,IAAI,EAAE,GAAG,KAAK,UAAU,eAAe,CAAC;YACxC,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACzB,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC9B,EAAE,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC;gBACrC,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC;YACvF,CAAC;YACD,EAAE,IAAI,WAAW,QAAQ,CAAC,MAAM,WAAW,CAAC;YAC5C,OAAO,EAAE,CAAC;QACZ,CAAC,CACF,CAAC;IACJ,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -1,3 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare const popularCommand: Command;
3
- //# sourceMappingURL=popular.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"popular.d.ts","sourceRoot":"","sources":["../../../src/commands/nft/popular.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,eAAO,MAAM,cAAc,SA+BvB,CAAC"}
@@ -1,32 +0,0 @@
1
- import { Command } from 'commander';
2
- import { getPopularCollections, solToUsd, formatSol } from '../../utils/nft.js';
3
- import { output, error } from '../shared.js';
4
- export const popularCommand = new Command('popular')
5
- .description('Show popular NFT collections')
6
- .option('-l, --limit <number>', 'Number of collections', '15')
7
- .action(async (options) => {
8
- try {
9
- const collections = await getPopularCollections(50);
10
- const limited = collections.slice(0, parseInt(options.limit));
11
- const collectionsData = limited.map((c) => ({
12
- symbol: c.symbol,
13
- name: c.name,
14
- floorPrice: c.floorPrice.toNumber(),
15
- floorPriceUsd: solToUsd(c.floorPrice).toNumber(),
16
- listedCount: c.listedCount,
17
- }));
18
- output({ count: limited.length, collections: collectionsData }, () => {
19
- let md = `# Popular Collections (24h)\n\n`;
20
- for (const c of limited) {
21
- const usd = solToUsd(c.floorPrice);
22
- md += `**${c.name}**\n`;
23
- md += ` Floor: ${formatSol(c.floorPrice)} (~$${usd.toFixed(0)}) | Listed: ${c.listedCount}\n\n`;
24
- }
25
- return md;
26
- });
27
- }
28
- catch (e) {
29
- error(e.message);
30
- }
31
- });
32
- //# sourceMappingURL=popular.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"popular.js","sourceRoot":"","sources":["../../../src/commands/nft/popular.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC;KACjD,WAAW,CAAC,8BAA8B,CAAC;KAC3C,MAAM,CAAC,sBAAsB,EAAE,uBAAuB,EAAE,IAAI,CAAC;KAC7D,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,MAAM,qBAAqB,CAAC,EAAE,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAE9D,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC1C,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE;YACnC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE;YAChD,WAAW,EAAE,CAAC,CAAC,WAAW;SAC3B,CAAC,CAAC,CAAC;QAEJ,MAAM,CACJ,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,EACvD,GAAG,EAAE;YACH,IAAI,EAAE,GAAG,iCAAiC,CAAC;YAC3C,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;gBACnC,EAAE,IAAI,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC;gBACxB,EAAE,IAAI,YAAY,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,WAAW,MAAM,CAAC;YACnG,CAAC;YACD,OAAO,EAAE,CAAC;QACZ,CAAC,CACF,CAAC;IACJ,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -1,3 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare const portfolioCommand: Command;
3
- //# sourceMappingURL=portfolio.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"portfolio.d.ts","sourceRoot":"","sources":["../../../src/commands/nft/portfolio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,eAAO,MAAM,gBAAgB,SA0CzB,CAAC"}
@@ -1,43 +0,0 @@
1
- import { Command } from 'commander';
2
- import { getWalletNFTs } from '../../utils/nft.js';
3
- import { output, error, requirePassword } from '../shared.js';
4
- import { getWalletAddress } from '../../utils/wallet.js';
5
- export const portfolioCommand = new Command('portfolio')
6
- .description('View your NFT holdings')
7
- .action(async () => {
8
- const password = requirePassword();
9
- try {
10
- const address = getWalletAddress(password);
11
- const nfts = await getWalletNFTs(address);
12
- if (nfts.length === 0) {
13
- output({ address, nfts: [] }, () => 'No NFTs found');
14
- return;
15
- }
16
- const nftsData = nfts.map((n) => ({
17
- mint: n.mintAddress,
18
- name: n.name || 'Unknown',
19
- collection: n.collection || 'Unknown',
20
- listStatus: n.listStatus,
21
- price: n.price || null,
22
- }));
23
- output({ address, count: nfts.length, nfts: nftsData }, () => {
24
- let md = `# NFT Portfolio\n\nAddress: ${address}\n\n`;
25
- for (const n of nfts) {
26
- const listed = n.listStatus === 'listed' ? ' [LISTED]' : '';
27
- md += `**${n.name || 'Unknown'}**${listed}\n`;
28
- md += ` Collection: ${n.collection || 'Unknown'}\n`;
29
- md += ` Mint: ${n.mintAddress}\n`;
30
- if (n.price) {
31
- md += ` Price: ${n.price} SOL\n`;
32
- }
33
- md += '\n';
34
- }
35
- md += `Total: ${nfts.length} NFTs`;
36
- return md;
37
- });
38
- }
39
- catch (e) {
40
- error(e.message);
41
- }
42
- });
43
- //# sourceMappingURL=portfolio.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"portfolio.js","sourceRoot":"","sources":["../../../src/commands/nft/portfolio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,OAAO,CAAC,WAAW,CAAC;KACrD,WAAW,CAAC,wBAAwB,CAAC;KACrC,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC;IACnC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;QAE1C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,CAAC;YACrD,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAChC,IAAI,EAAE,CAAC,CAAC,WAAW;YACnB,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,SAAS;YACzB,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,SAAS;YACrC,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI;SACvB,CAAC,CAAC,CAAC;QAEJ,MAAM,CACJ,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAC/C,GAAG,EAAE;YACH,IAAI,EAAE,GAAG,+BAA+B,OAAO,MAAM,CAAC;YACtD,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;gBACrB,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5D,EAAE,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,SAAS,KAAK,MAAM,IAAI,CAAC;gBAC9C,EAAE,IAAI,iBAAiB,CAAC,CAAC,UAAU,IAAI,SAAS,IAAI,CAAC;gBACrD,EAAE,IAAI,WAAW,CAAC,CAAC,WAAW,IAAI,CAAC;gBACnC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;oBACZ,EAAE,IAAI,YAAY,CAAC,CAAC,KAAK,QAAQ,CAAC;gBACpC,CAAC;gBACD,EAAE,IAAI,IAAI,CAAC;YACb,CAAC;YACD,EAAE,IAAI,UAAU,IAAI,CAAC,MAAM,OAAO,CAAC;YACnC,OAAO,EAAE,CAAC;QACZ,CAAC,CACF,CAAC;IACJ,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -1,3 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare const searchCommand: Command;
3
- //# sourceMappingURL=search.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/commands/nft/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,eAAO,MAAM,aAAa,SAoCtB,CAAC"}
@@ -1,36 +0,0 @@
1
- import { Command } from 'commander';
2
- import { searchCollections, solToUsd, formatSol } from '../../utils/nft.js';
3
- import { output, error } from '../shared.js';
4
- export const searchCommand = new Command('search')
5
- .argument('<query>', 'Search query')
6
- .description('Search for NFT collections')
7
- .action(async (query) => {
8
- try {
9
- const collections = await searchCollections(query);
10
- const limited = collections.slice(0, 10);
11
- if (limited.length === 0) {
12
- output({ query, collections: [] }, () => 'No collections found');
13
- return;
14
- }
15
- const collectionsData = limited.map((c) => ({
16
- symbol: c.symbol,
17
- name: c.name,
18
- floorPrice: c.floorPrice.toNumber(),
19
- floorPriceUsd: solToUsd(c.floorPrice).toNumber(),
20
- listedCount: c.listedCount,
21
- }));
22
- output({ query, count: limited.length, collections: collectionsData }, () => {
23
- let md = `# Search: "${query}"\n\n`;
24
- for (const c of limited) {
25
- const usd = solToUsd(c.floorPrice);
26
- md += `**${c.name}** (${c.symbol})\n`;
27
- md += ` Floor: ${formatSol(c.floorPrice)} (~$${usd.toFixed(0)})\n\n`;
28
- }
29
- return md;
30
- });
31
- }
32
- catch (e) {
33
- error(e.message);
34
- }
35
- });
36
- //# sourceMappingURL=search.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/commands/nft/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC;KAC/C,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;KACnC,WAAW,CAAC,4BAA4B,CAAC;KACzC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;IACtB,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAEzC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,sBAAsB,CAAC,CAAC;YACjE,OAAO;QACT,CAAC;QAED,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC1C,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE;YACnC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE;YAChD,WAAW,EAAE,CAAC,CAAC,WAAW;SAC3B,CAAC,CAAC,CAAC;QAEJ,MAAM,CACJ,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,EAC9D,GAAG,EAAE;YACH,IAAI,EAAE,GAAG,cAAc,KAAK,OAAO,CAAC;YACpC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;gBACnC,EAAE,IAAI,KAAK,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC;gBACtC,EAAE,IAAI,YAAY,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;YACxE,CAAC;YACD,OAAO,EAAE,CAAC;QACZ,CAAC,CACF,CAAC;IACJ,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -1,3 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare const nftCommand: Command;
3
- //# sourceMappingURL=nft.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"nft.d.ts","sourceRoot":"","sources":["../../src/commands/nft.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAapC,eAAO,MAAM,UAAU,SAA+D,CAAC"}
@@ -1,165 +0,0 @@
1
- import { Command } from 'commander';
2
- import { getCollectionStats, getListings, getPopularCollections, searchCollections, getWalletNFTs, formatSol, solToUsd, } from '../utils/nft.js';
3
- import { output, error, requirePassword } from './shared.js';
4
- import { getWalletAddress } from '../utils/wallet.js';
5
- export const nftCommand = new Command('nft').description('NFT trading via Magic Eden');
6
- nftCommand
7
- .command('floor <collection>')
8
- .description('Get floor price for a collection')
9
- .action(async (collection) => {
10
- try {
11
- const stats = await getCollectionStats(collection);
12
- const usd = solToUsd(stats.floorPrice);
13
- output({
14
- collection: stats.symbol,
15
- name: stats.name,
16
- floorPrice: stats.floorPrice.toNumber(),
17
- floorPriceUsd: usd.toNumber(),
18
- listedCount: stats.listedCount,
19
- volumeAll: stats.volumeAll.toNumber(),
20
- }, () => {
21
- let md = `# ${stats.name}\n\n`;
22
- md += `**Floor:** ${formatSol(stats.floorPrice)} (~$${usd.toFixed(0)})\n`;
23
- md += `**Listed:** ${stats.listedCount}\n`;
24
- md += `**Volume:** ${formatSol(stats.volumeAll)}\n`;
25
- return md;
26
- });
27
- }
28
- catch (e) {
29
- error(e.message);
30
- }
31
- });
32
- nftCommand
33
- .command('listings <collection>')
34
- .description('Browse listings for a collection')
35
- .option('-l, --limit <number>', 'Number of listings', '10')
36
- .action(async (collection, options) => {
37
- try {
38
- const listings = await getListings(collection, parseInt(options.limit));
39
- if (listings.length === 0) {
40
- output({ collection, listings: [] }, () => 'No listings found');
41
- return;
42
- }
43
- const listingsData = listings.map((l) => ({
44
- mint: l.mint,
45
- name: l.name,
46
- price: l.price.toNumber(),
47
- priceUsd: solToUsd(l.price).toNumber(),
48
- seller: l.seller,
49
- }));
50
- output({ collection, count: listings.length, listings: listingsData }, () => {
51
- let md = `# ${collection} Listings\n\n`;
52
- for (const l of listings) {
53
- const usd = solToUsd(l.price);
54
- md += `**${l.name.slice(0, 50)}**\n`;
55
- md += ` ${formatSol(l.price)} (~$${usd.toFixed(0)}) | ${l.mint.slice(0, 8)}...\n\n`;
56
- }
57
- md += `Showing ${listings.length} listings`;
58
- return md;
59
- });
60
- }
61
- catch (e) {
62
- error(e.message);
63
- }
64
- });
65
- nftCommand
66
- .command('popular')
67
- .description('Show popular NFT collections')
68
- .option('-l, --limit <number>', 'Number of collections', '15')
69
- .action(async (options) => {
70
- try {
71
- const collections = await getPopularCollections(50);
72
- const limited = collections.slice(0, parseInt(options.limit));
73
- const collectionsData = limited.map((c) => ({
74
- symbol: c.symbol,
75
- name: c.name,
76
- floorPrice: c.floorPrice.toNumber(),
77
- floorPriceUsd: solToUsd(c.floorPrice).toNumber(),
78
- listedCount: c.listedCount,
79
- }));
80
- output({ count: limited.length, collections: collectionsData }, () => {
81
- let md = `# Popular Collections (24h)\n\n`;
82
- for (const c of limited) {
83
- const usd = solToUsd(c.floorPrice);
84
- md += `**${c.name}**\n`;
85
- md += ` Floor: ${formatSol(c.floorPrice)} (~$${usd.toFixed(0)}) | Listed: ${c.listedCount}\n\n`;
86
- }
87
- return md;
88
- });
89
- }
90
- catch (e) {
91
- error(e.message);
92
- }
93
- });
94
- nftCommand
95
- .command('search <query>')
96
- .description('Search for NFT collections')
97
- .action(async (query) => {
98
- try {
99
- const collections = await searchCollections(query);
100
- const limited = collections.slice(0, 10);
101
- if (limited.length === 0) {
102
- output({ query, collections: [] }, () => 'No collections found');
103
- return;
104
- }
105
- const collectionsData = limited.map((c) => ({
106
- symbol: c.symbol,
107
- name: c.name,
108
- floorPrice: c.floorPrice.toNumber(),
109
- floorPriceUsd: solToUsd(c.floorPrice).toNumber(),
110
- listedCount: c.listedCount,
111
- }));
112
- output({ query, count: limited.length, collections: collectionsData }, () => {
113
- let md = `# Search: "${query}"\n\n`;
114
- for (const c of limited) {
115
- const usd = solToUsd(c.floorPrice);
116
- md += `**${c.name}** (${c.symbol})\n`;
117
- md += ` Floor: ${formatSol(c.floorPrice)} (~$${usd.toFixed(0)})\n\n`;
118
- }
119
- return md;
120
- });
121
- }
122
- catch (e) {
123
- error(e.message);
124
- }
125
- });
126
- nftCommand
127
- .command('portfolio')
128
- .description('View your NFT holdings')
129
- .action(async () => {
130
- const password = requirePassword();
131
- try {
132
- const address = getWalletAddress(password);
133
- const nfts = await getWalletNFTs(address);
134
- if (nfts.length === 0) {
135
- output({ address, nfts: [] }, () => 'No NFTs found');
136
- return;
137
- }
138
- const nftsData = nfts.map((n) => ({
139
- mint: n.mintAddress,
140
- name: n.name || 'Unknown',
141
- collection: n.collection || 'Unknown',
142
- listStatus: n.listStatus,
143
- price: n.price || null,
144
- }));
145
- output({ address, count: nfts.length, nfts: nftsData }, () => {
146
- let md = `# NFT Portfolio\n\nAddress: ${address}\n\n`;
147
- for (const n of nfts) {
148
- const listed = n.listStatus === 'listed' ? ' [LISTED]' : '';
149
- md += `**${n.name || 'Unknown'}**${listed}\n`;
150
- md += ` Collection: ${n.collection || 'Unknown'}\n`;
151
- md += ` Mint: ${n.mintAddress}\n`;
152
- if (n.price) {
153
- md += ` Price: ${n.price} SOL\n`;
154
- }
155
- md += '\n';
156
- }
157
- md += `Total: ${nfts.length} NFTs`;
158
- return md;
159
- });
160
- }
161
- catch (e) {
162
- error(e.message);
163
- }
164
- });
165
- //# sourceMappingURL=nft.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"nft.js","sourceRoot":"","sources":["../../src/commands/nft.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare const infoCommand: Command;
3
- //# sourceMappingURL=info.d.ts.map