@zeroexcore/trader 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +125 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +28 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/book.d.ts +3 -0
- package/dist/commands/book.d.ts.map +1 -0
- package/dist/commands/book.js +44 -0
- package/dist/commands/book.js.map +1 -0
- package/dist/commands/diagnose.d.ts +3 -0
- package/dist/commands/diagnose.d.ts.map +1 -0
- package/dist/commands/diagnose.js +148 -0
- package/dist/commands/diagnose.js.map +1 -0
- package/dist/commands/nft/floor.d.ts +3 -0
- package/dist/commands/nft/floor.d.ts.map +1 -0
- package/dist/commands/nft/floor.js +30 -0
- package/dist/commands/nft/floor.js.map +1 -0
- package/dist/commands/nft/index.d.ts +3 -0
- package/dist/commands/nft/index.d.ts.map +1 -0
- package/dist/commands/nft/index.js +14 -0
- package/dist/commands/nft/index.js.map +1 -0
- package/dist/commands/nft/listings.d.ts +3 -0
- package/dist/commands/nft/listings.d.ts.map +1 -0
- package/dist/commands/nft/listings.js +37 -0
- package/dist/commands/nft/listings.js.map +1 -0
- package/dist/commands/nft/popular.d.ts +3 -0
- package/dist/commands/nft/popular.d.ts.map +1 -0
- package/dist/commands/nft/popular.js +32 -0
- package/dist/commands/nft/popular.js.map +1 -0
- package/dist/commands/nft/portfolio.d.ts +3 -0
- package/dist/commands/nft/portfolio.d.ts.map +1 -0
- package/dist/commands/nft/portfolio.js +43 -0
- package/dist/commands/nft/portfolio.js.map +1 -0
- package/dist/commands/nft/search.d.ts +3 -0
- package/dist/commands/nft/search.d.ts.map +1 -0
- package/dist/commands/nft/search.js +36 -0
- package/dist/commands/nft/search.js.map +1 -0
- package/dist/commands/nft.d.ts +3 -0
- package/dist/commands/nft.d.ts.map +1 -0
- package/dist/commands/nft.js +165 -0
- package/dist/commands/nft.js.map +1 -0
- package/dist/commands/nfts/floor.d.ts +3 -0
- package/dist/commands/nfts/floor.d.ts.map +1 -0
- package/dist/commands/nfts/floor.js +30 -0
- package/dist/commands/nfts/floor.js.map +1 -0
- package/dist/commands/nfts/index.d.ts +3 -0
- package/dist/commands/nfts/index.d.ts.map +1 -0
- package/dist/commands/nfts/index.js +14 -0
- package/dist/commands/nfts/index.js.map +1 -0
- package/dist/commands/nfts/listings.d.ts +3 -0
- package/dist/commands/nfts/listings.d.ts.map +1 -0
- package/dist/commands/nfts/listings.js +37 -0
- package/dist/commands/nfts/listings.js.map +1 -0
- package/dist/commands/nfts/popular.d.ts +3 -0
- package/dist/commands/nfts/popular.d.ts.map +1 -0
- package/dist/commands/nfts/popular.js +32 -0
- package/dist/commands/nfts/popular.js.map +1 -0
- package/dist/commands/nfts/positions.d.ts +3 -0
- package/dist/commands/nfts/positions.d.ts.map +1 -0
- package/dist/commands/nfts/positions.js +23 -0
- package/dist/commands/nfts/positions.js.map +1 -0
- package/dist/commands/nfts/search.d.ts +3 -0
- package/dist/commands/nfts/search.d.ts.map +1 -0
- package/dist/commands/nfts/search.js +36 -0
- package/dist/commands/nfts/search.js.map +1 -0
- package/dist/commands/perps/index.d.ts +3 -0
- package/dist/commands/perps/index.d.ts.map +1 -0
- package/dist/commands/perps/index.js +10 -0
- package/dist/commands/perps/index.js.map +1 -0
- package/dist/commands/perps/info.d.ts +3 -0
- package/dist/commands/perps/info.d.ts.map +1 -0
- package/dist/commands/perps/info.js +51 -0
- package/dist/commands/perps/info.js.map +1 -0
- package/dist/commands/perps/markets.d.ts +3 -0
- package/dist/commands/perps/markets.d.ts.map +1 -0
- package/dist/commands/perps/markets.js +43 -0
- package/dist/commands/perps/markets.js.map +1 -0
- package/dist/commands/perps/pool.d.ts +3 -0
- package/dist/commands/perps/pool.d.ts.map +1 -0
- package/dist/commands/perps/pool.js +33 -0
- package/dist/commands/perps/pool.js.map +1 -0
- package/dist/commands/perps/positions.d.ts +3 -0
- package/dist/commands/perps/positions.d.ts.map +1 -0
- package/dist/commands/perps/positions.js +68 -0
- package/dist/commands/perps/positions.js.map +1 -0
- package/dist/commands/perps/show.d.ts +3 -0
- package/dist/commands/perps/show.d.ts.map +1 -0
- package/dist/commands/perps/show.js +37 -0
- package/dist/commands/perps/show.js.map +1 -0
- package/dist/commands/perps.d.ts +3 -0
- package/dist/commands/perps.d.ts.map +1 -0
- package/dist/commands/perps.js +186 -0
- package/dist/commands/perps.js.map +1 -0
- package/dist/commands/portfolio.d.ts +3 -0
- package/dist/commands/portfolio.d.ts.map +1 -0
- package/dist/commands/portfolio.js +89 -0
- package/dist/commands/portfolio.js.map +1 -0
- package/dist/commands/positions/close.d.ts +3 -0
- package/dist/commands/positions/close.d.ts.map +1 -0
- package/dist/commands/positions/close.js +31 -0
- package/dist/commands/positions/close.js.map +1 -0
- package/dist/commands/positions/filter.d.ts +3 -0
- package/dist/commands/positions/filter.d.ts.map +1 -0
- package/dist/commands/positions/filter.js +20 -0
- package/dist/commands/positions/filter.js.map +1 -0
- package/dist/commands/positions/index.d.ts +3 -0
- package/dist/commands/positions/index.d.ts.map +1 -0
- package/dist/commands/positions/index.js +22 -0
- package/dist/commands/positions/index.js.map +1 -0
- package/dist/commands/positions/list.d.ts +3 -0
- package/dist/commands/positions/list.d.ts.map +1 -0
- package/dist/commands/positions/list.js +38 -0
- package/dist/commands/positions/list.js.map +1 -0
- package/dist/commands/positions/note.d.ts +3 -0
- package/dist/commands/positions/note.d.ts.map +1 -0
- package/dist/commands/positions/note.js +19 -0
- package/dist/commands/positions/note.js.map +1 -0
- package/dist/commands/positions/open.d.ts +3 -0
- package/dist/commands/positions/open.d.ts.map +1 -0
- package/dist/commands/positions/open.js +47 -0
- package/dist/commands/positions/open.js.map +1 -0
- package/dist/commands/positions/show.d.ts +3 -0
- package/dist/commands/positions/show.d.ts.map +1 -0
- package/dist/commands/positions/show.js +46 -0
- package/dist/commands/positions/show.js.map +1 -0
- package/dist/commands/positions/stats.d.ts +3 -0
- package/dist/commands/positions/stats.d.ts.map +1 -0
- package/dist/commands/positions/stats.js +27 -0
- package/dist/commands/positions/stats.js.map +1 -0
- package/dist/commands/positions/tag.d.ts +3 -0
- package/dist/commands/positions/tag.d.ts.map +1 -0
- package/dist/commands/positions/tag.js +19 -0
- package/dist/commands/positions/tag.js.map +1 -0
- package/dist/commands/positions/update.d.ts +3 -0
- package/dist/commands/positions/update.d.ts.map +1 -0
- package/dist/commands/positions/update.js +35 -0
- package/dist/commands/positions/update.js.map +1 -0
- package/dist/commands/positions.d.ts +3 -0
- package/dist/commands/positions.d.ts.map +1 -0
- package/dist/commands/positions.js +247 -0
- package/dist/commands/positions.js.map +1 -0
- package/dist/commands/predict/browse.d.ts +3 -0
- package/dist/commands/predict/browse.d.ts.map +1 -0
- package/dist/commands/predict/browse.js +46 -0
- package/dist/commands/predict/browse.js.map +1 -0
- package/dist/commands/predict/buy.d.ts +3 -0
- package/dist/commands/predict/buy.d.ts.map +1 -0
- package/dist/commands/predict/buy.js +79 -0
- package/dist/commands/predict/buy.js.map +1 -0
- package/dist/commands/predict/claim.d.ts +3 -0
- package/dist/commands/predict/claim.d.ts.map +1 -0
- package/dist/commands/predict/claim.js +58 -0
- package/dist/commands/predict/claim.js.map +1 -0
- package/dist/commands/predict/close.d.ts +3 -0
- package/dist/commands/predict/close.d.ts.map +1 -0
- package/dist/commands/predict/close.js +56 -0
- package/dist/commands/predict/close.js.map +1 -0
- package/dist/commands/predict/index.d.ts +3 -0
- package/dist/commands/predict/index.d.ts.map +1 -0
- package/dist/commands/predict/index.js +20 -0
- package/dist/commands/predict/index.js.map +1 -0
- package/dist/commands/predict/list.d.ts +3 -0
- package/dist/commands/predict/list.d.ts.map +1 -0
- package/dist/commands/predict/list.js +46 -0
- package/dist/commands/predict/list.js.map +1 -0
- package/dist/commands/predict/market.d.ts +3 -0
- package/dist/commands/predict/market.d.ts.map +1 -0
- package/dist/commands/predict/market.js +37 -0
- package/dist/commands/predict/market.js.map +1 -0
- package/dist/commands/predict/positions.d.ts +3 -0
- package/dist/commands/predict/positions.d.ts.map +1 -0
- package/dist/commands/predict/positions.js +71 -0
- package/dist/commands/predict/positions.js.map +1 -0
- package/dist/commands/predict/search.d.ts +3 -0
- package/dist/commands/predict/search.d.ts.map +1 -0
- package/dist/commands/predict/search.js +32 -0
- package/dist/commands/predict/search.js.map +1 -0
- package/dist/commands/predict/sell.d.ts +3 -0
- package/dist/commands/predict/sell.d.ts.map +1 -0
- package/dist/commands/predict/sell.js +65 -0
- package/dist/commands/predict/sell.js.map +1 -0
- package/dist/commands/predict/show.d.ts +3 -0
- package/dist/commands/predict/show.d.ts.map +1 -0
- package/dist/commands/predict/show.js +37 -0
- package/dist/commands/predict/show.js.map +1 -0
- package/dist/commands/predict/watch.d.ts +3 -0
- package/dist/commands/predict/watch.d.ts.map +1 -0
- package/dist/commands/predict/watch.js +73 -0
- package/dist/commands/predict/watch.js.map +1 -0
- package/dist/commands/predict.d.ts +3 -0
- package/dist/commands/predict.d.ts.map +1 -0
- package/dist/commands/predict.js +484 -0
- package/dist/commands/predict.js.map +1 -0
- package/dist/commands/shared.d.ts +18 -0
- package/dist/commands/shared.d.ts.map +1 -0
- package/dist/commands/shared.js +51 -0
- package/dist/commands/shared.js.map +1 -0
- package/dist/commands/tokens/add.d.ts +3 -0
- package/dist/commands/tokens/add.d.ts.map +1 -0
- package/dist/commands/tokens/add.js +17 -0
- package/dist/commands/tokens/add.js.map +1 -0
- package/dist/commands/tokens/browse.d.ts +3 -0
- package/dist/commands/tokens/browse.d.ts.map +1 -0
- package/dist/commands/tokens/browse.js +19 -0
- package/dist/commands/tokens/browse.js.map +1 -0
- package/dist/commands/tokens/index.d.ts +3 -0
- package/dist/commands/tokens/index.d.ts.map +1 -0
- package/dist/commands/tokens/index.js +22 -0
- package/dist/commands/tokens/index.js.map +1 -0
- package/dist/commands/tokens/info.d.ts +3 -0
- package/dist/commands/tokens/info.d.ts.map +1 -0
- package/dist/commands/tokens/info.js +13 -0
- package/dist/commands/tokens/info.js.map +1 -0
- package/dist/commands/tokens/list.d.ts +3 -0
- package/dist/commands/tokens/list.d.ts.map +1 -0
- package/dist/commands/tokens/list.js +16 -0
- package/dist/commands/tokens/list.js.map +1 -0
- package/dist/commands/tokens/positions.d.ts +3 -0
- package/dist/commands/tokens/positions.d.ts.map +1 -0
- package/dist/commands/tokens/positions.js +25 -0
- package/dist/commands/tokens/positions.js.map +1 -0
- package/dist/commands/tokens/quote.d.ts +3 -0
- package/dist/commands/tokens/quote.d.ts.map +1 -0
- package/dist/commands/tokens/quote.js +50 -0
- package/dist/commands/tokens/quote.js.map +1 -0
- package/dist/commands/tokens/remove.d.ts +3 -0
- package/dist/commands/tokens/remove.d.ts.map +1 -0
- package/dist/commands/tokens/remove.js +17 -0
- package/dist/commands/tokens/remove.js.map +1 -0
- package/dist/commands/tokens/search.d.ts +3 -0
- package/dist/commands/tokens/search.d.ts.map +1 -0
- package/dist/commands/tokens/search.js +19 -0
- package/dist/commands/tokens/search.js.map +1 -0
- package/dist/commands/tokens/swap.d.ts +3 -0
- package/dist/commands/tokens/swap.d.ts.map +1 -0
- package/dist/commands/tokens/swap.js +88 -0
- package/dist/commands/tokens/swap.js.map +1 -0
- package/dist/commands/trade/index.d.ts +3 -0
- package/dist/commands/trade/index.d.ts.map +1 -0
- package/dist/commands/trade/index.js +8 -0
- package/dist/commands/trade/index.js.map +1 -0
- package/dist/commands/trade/info.d.ts +3 -0
- package/dist/commands/trade/info.d.ts.map +1 -0
- package/dist/commands/trade/info.js +37 -0
- package/dist/commands/trade/info.js.map +1 -0
- package/dist/commands/trade/quote.d.ts +3 -0
- package/dist/commands/trade/quote.d.ts.map +1 -0
- package/dist/commands/trade/quote.js +56 -0
- package/dist/commands/trade/quote.js.map +1 -0
- package/dist/commands/trade/search.d.ts +3 -0
- package/dist/commands/trade/search.d.ts.map +1 -0
- package/dist/commands/trade/search.js +22 -0
- package/dist/commands/trade/search.js.map +1 -0
- package/dist/commands/trade/swap.d.ts +3 -0
- package/dist/commands/trade/swap.d.ts.map +1 -0
- package/dist/commands/trade/swap.js +70 -0
- package/dist/commands/trade/swap.js.map +1 -0
- package/dist/commands/trade.d.ts +5 -0
- package/dist/commands/trade.d.ts.map +1 -0
- package/dist/commands/trade.js +167 -0
- package/dist/commands/trade.js.map +1 -0
- package/dist/commands/wallet.d.ts +3 -0
- package/dist/commands/wallet.d.ts.map +1 -0
- package/dist/commands/wallet.js +45 -0
- package/dist/commands/wallet.js.map +1 -0
- package/dist/config.d.ts +86 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +169 -0
- package/dist/config.js.map +1 -0
- package/dist/utils/amounts.d.ts +40 -0
- package/dist/utils/amounts.d.ts.map +1 -0
- package/dist/utils/amounts.js +113 -0
- package/dist/utils/amounts.js.map +1 -0
- package/dist/utils/helius.d.ts +39 -0
- package/dist/utils/helius.d.ts.map +1 -0
- package/dist/utils/helius.js +253 -0
- package/dist/utils/helius.js.map +1 -0
- package/dist/utils/jupiter.d.ts +42 -0
- package/dist/utils/jupiter.d.ts.map +1 -0
- package/dist/utils/jupiter.js +106 -0
- package/dist/utils/jupiter.js.map +1 -0
- package/dist/utils/nft.d.ts +75 -0
- package/dist/utils/nft.d.ts.map +1 -0
- package/dist/utils/nft.js +168 -0
- package/dist/utils/nft.js.map +1 -0
- package/dist/utils/perps/doves-idl.d.ts +380 -0
- package/dist/utils/perps/doves-idl.d.ts.map +1 -0
- package/dist/utils/perps/doves-idl.js +379 -0
- package/dist/utils/perps/doves-idl.js.map +1 -0
- package/dist/utils/perps/idl.json +7241 -0
- package/dist/utils/perps/index.d.ts +45 -0
- package/dist/utils/perps/index.d.ts.map +1 -0
- package/dist/utils/perps/index.js +102 -0
- package/dist/utils/perps/index.js.map +1 -0
- package/dist/utils/perps/jupiter-perpetuals-idl.d.ts +7243 -0
- package/dist/utils/perps/jupiter-perpetuals-idl.d.ts.map +1 -0
- package/dist/utils/perps/jupiter-perpetuals-idl.js +7242 -0
- package/dist/utils/perps/jupiter-perpetuals-idl.js.map +1 -0
- package/dist/utils/positions.d.ts +198 -0
- package/dist/utils/positions.d.ts.map +1 -0
- package/dist/utils/positions.js +595 -0
- package/dist/utils/positions.js.map +1 -0
- package/dist/utils/prediction.d.ts +196 -0
- package/dist/utils/prediction.d.ts.map +1 -0
- package/dist/utils/prediction.js +187 -0
- package/dist/utils/prediction.js.map +1 -0
- package/dist/utils/solana.d.ts +9 -0
- package/dist/utils/solana.d.ts.map +1 -0
- package/dist/utils/solana.js +45 -0
- package/dist/utils/solana.js.map +1 -0
- package/dist/utils/token-book.d.ts +9 -0
- package/dist/utils/token-book.d.ts.map +1 -0
- package/dist/utils/token-book.js +69 -0
- package/dist/utils/token-book.js.map +1 -0
- package/dist/utils/token-info.d.ts +48 -0
- package/dist/utils/token-info.d.ts.map +1 -0
- package/dist/utils/token-info.js +332 -0
- package/dist/utils/token-info.js.map +1 -0
- package/dist/utils/wallet.d.ts +31 -0
- package/dist/utils/wallet.d.ts.map +1 -0
- package/dist/utils/wallet.js +181 -0
- package/dist/utils/wallet.js.map +1 -0
- package/package.json +46 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"positions.js","sourceRoot":"","sources":["../../src/commands/positions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browse.d.ts","sourceRoot":"","sources":["../../../src/commands/predict/browse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,eAAO,MAAM,aAAa,SA8CtB,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import { listEvents, microToUsd } from '../../utils/prediction.js';
|
|
3
|
+
export const browseCommand = new Command('browse')
|
|
4
|
+
.description('Discover popular and liquid prediction markets')
|
|
5
|
+
.option('-c, --category <category>', 'Filter by category (crypto, politics, sports, esports, culture, economics, tech)')
|
|
6
|
+
.option('-s, --status <status>', 'Filter by status (open, closed, settled)')
|
|
7
|
+
.option('-l, --limit <number>', 'Number of results', '10')
|
|
8
|
+
.action(async (options) => {
|
|
9
|
+
try {
|
|
10
|
+
console.log('\n🔮 Fetching prediction markets...\n');
|
|
11
|
+
const result = await listEvents({
|
|
12
|
+
category: options.category,
|
|
13
|
+
status: options.status,
|
|
14
|
+
limit: parseInt(options.limit),
|
|
15
|
+
});
|
|
16
|
+
if (!result.events || result.events.length === 0) {
|
|
17
|
+
console.log('No events found.');
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
for (const event of result.events) {
|
|
21
|
+
const statusEmoji = event.isActive ? '🟢' : '⚪';
|
|
22
|
+
console.log(`${statusEmoji} ${event.metadata?.title || event.eventId}`);
|
|
23
|
+
console.log(` ID: ${event.eventId}`);
|
|
24
|
+
console.log(` Category: ${event.category}${event.subcategory ? ` > ${event.subcategory}` : ''}`);
|
|
25
|
+
if (event.markets && event.markets.length > 0) {
|
|
26
|
+
for (const market of event.markets.slice(0, 3)) { // Show first 3 markets
|
|
27
|
+
const yesPrice = microToUsd(market.pricing?.buyYesPriceUsd || 0);
|
|
28
|
+
const noPrice = microToUsd(market.pricing?.buyNoPriceUsd || 0);
|
|
29
|
+
console.log(` 📊 ${market.metadata?.title || market.marketId}`);
|
|
30
|
+
console.log(` YES: ${yesPrice.times(100).toFixed(1)}% ($${yesPrice.toFixed(2)}) | NO: ${noPrice.times(100).toFixed(1)}% ($${noPrice.toFixed(2)})`);
|
|
31
|
+
console.log(` Market ID: ${market.marketId}`);
|
|
32
|
+
}
|
|
33
|
+
if (event.markets.length > 3) {
|
|
34
|
+
console.log(` ... and ${event.markets.length - 3} more markets`);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
console.log('');
|
|
38
|
+
}
|
|
39
|
+
console.log(`📊 Showing ${result.events.length} of ${result.total || result.events.length} events\n`);
|
|
40
|
+
}
|
|
41
|
+
catch (error) {
|
|
42
|
+
console.error('❌ Error:', error.message);
|
|
43
|
+
process.exit(1);
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
//# sourceMappingURL=browse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browse.js","sourceRoot":"","sources":["../../../src/commands/predict/browse.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buy.d.ts","sourceRoot":"","sources":["../../../src/commands/predict/buy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,eAAO,MAAM,UAAU,SAiFnB,CAAC"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { Connection } from '@solana/web3.js';
|
|
2
|
+
import { Command } from 'commander';
|
|
3
|
+
import Big from 'big.js';
|
|
4
|
+
import { openPredictionPosition } from '../../utils/positions.js';
|
|
5
|
+
import { loadKeypairForSigning } from '../../utils/wallet.js';
|
|
6
|
+
import { getMarket, createOrder, executeOrder, microToUsd } from '../../utils/prediction.js';
|
|
7
|
+
import { getRpcUrl, requirePassword } from '../shared.js';
|
|
8
|
+
export const buyCommand = new Command('buy')
|
|
9
|
+
.argument('<market-id>', 'Market ID')
|
|
10
|
+
.argument('<side>', 'Side (yes/no)')
|
|
11
|
+
.argument('<amount>', 'Amount in USD')
|
|
12
|
+
.description('Buy YES or NO contracts')
|
|
13
|
+
.option('--max-price <price>', 'Maximum price per contract in USD')
|
|
14
|
+
.option('-n, --note <note>', 'Trading journal note')
|
|
15
|
+
.action(async (marketId, side, amount, options) => {
|
|
16
|
+
const password = requirePassword();
|
|
17
|
+
const isYes = side.toLowerCase() === 'yes';
|
|
18
|
+
if (side.toLowerCase() !== 'yes' && side.toLowerCase() !== 'no') {
|
|
19
|
+
console.error('❌ Side must be "yes" or "no"');
|
|
20
|
+
process.exit(1);
|
|
21
|
+
}
|
|
22
|
+
try {
|
|
23
|
+
const rpcUrl = getRpcUrl();
|
|
24
|
+
const connection = new Connection(rpcUrl, 'confirmed');
|
|
25
|
+
const keypair = loadKeypairForSigning(password);
|
|
26
|
+
const amountUsd = parseFloat(amount);
|
|
27
|
+
console.log(`\n🔮 Placing prediction bet...\n`);
|
|
28
|
+
const market = await getMarket(marketId);
|
|
29
|
+
const priceMicro = isYes ? (market.pricing?.buyYesPriceUsd || 0) : (market.pricing?.buyNoPriceUsd || 0);
|
|
30
|
+
const priceUsd = microToUsd(priceMicro);
|
|
31
|
+
const amountBig = Big(amountUsd);
|
|
32
|
+
const contracts = amountBig.div(priceUsd).round(0, Big.roundDown);
|
|
33
|
+
console.log(`📊 Market: ${market.metadata?.title || market.marketId}`);
|
|
34
|
+
console.log(` Side: ${isYes ? 'YES' : 'NO'}`);
|
|
35
|
+
console.log(` Price: $${priceUsd.toFixed(2)} (${priceUsd.times(100).toFixed(1)}% implied probability)`);
|
|
36
|
+
console.log(` Amount: $${amountBig.toFixed(2)}`);
|
|
37
|
+
console.log(` Est. Contracts: ~${contracts.toFixed(0)}`);
|
|
38
|
+
console.log(` Potential payout: $${contracts.toFixed(2)} if ${isYes ? 'YES' : 'NO'} wins`);
|
|
39
|
+
console.log(` Potential profit: $${contracts.minus(amountBig).toFixed(2)} (${Big(1).div(priceUsd).minus(1).times(100).toFixed(1)}%)\n`);
|
|
40
|
+
console.log('🔄 Creating order...');
|
|
41
|
+
const orderResponse = await createOrder({
|
|
42
|
+
ownerPubkey: keypair.publicKey.toBase58(),
|
|
43
|
+
marketId,
|
|
44
|
+
isYes,
|
|
45
|
+
amountUsd,
|
|
46
|
+
});
|
|
47
|
+
const actualContracts = parseInt(orderResponse.order.contracts);
|
|
48
|
+
const orderCost = microToUsd(parseInt(orderResponse.order.orderCostUsd));
|
|
49
|
+
const fees = microToUsd(parseInt(orderResponse.order.estimatedTotalFeeUsd));
|
|
50
|
+
console.log(` Actual contracts: ${actualContracts}`);
|
|
51
|
+
console.log(` Order cost: $${orderCost.toFixed(2)} (incl. $${fees.toFixed(2)} fees)`);
|
|
52
|
+
console.log('✍️ Signing transaction...');
|
|
53
|
+
const signature = await executeOrder(connection, keypair, orderResponse);
|
|
54
|
+
const position = openPredictionPosition({
|
|
55
|
+
marketId,
|
|
56
|
+
eventTitle: market.metadata?.title || marketId,
|
|
57
|
+
marketTitle: market.metadata?.title || marketId,
|
|
58
|
+
side: isYes ? 'yes' : 'no',
|
|
59
|
+
contracts: actualContracts,
|
|
60
|
+
entryPrice: parseFloat(priceUsd.toFixed(4)),
|
|
61
|
+
costUsd: parseFloat(orderCost.toFixed(2)),
|
|
62
|
+
payoutIfWin: actualContracts,
|
|
63
|
+
txSignature: signature,
|
|
64
|
+
positionPubkey: orderResponse.order.orderPubkey,
|
|
65
|
+
notes: options.note,
|
|
66
|
+
});
|
|
67
|
+
console.log('\n✅ Bet placed successfully!');
|
|
68
|
+
console.log(`📝 Contracts: ${actualContracts} ${isYes ? 'YES' : 'NO'}`);
|
|
69
|
+
console.log(`📝 Position ID: ${position.id}`);
|
|
70
|
+
console.log('📝 Signature:', signature);
|
|
71
|
+
console.log('🔗 View on Solscan: https://solscan.io/tx/' + signature);
|
|
72
|
+
console.log('');
|
|
73
|
+
}
|
|
74
|
+
catch (error) {
|
|
75
|
+
console.error('❌ Error:', error.message);
|
|
76
|
+
process.exit(1);
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
//# sourceMappingURL=buy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buy.js","sourceRoot":"","sources":["../../../src/commands/predict/buy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claim.d.ts","sourceRoot":"","sources":["../../../src/commands/predict/claim.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,eAAO,MAAM,YAAY,SA4DrB,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { Connection } from '@solana/web3.js';
|
|
2
|
+
import { Command } from 'commander';
|
|
3
|
+
import { closePredictionPosition, findPredictionByPubkey } from '../../utils/positions.js';
|
|
4
|
+
import { loadKeypairForSigning } from '../../utils/wallet.js';
|
|
5
|
+
import { getPositions, createClaimOrder, executeOrder } from '../../utils/prediction.js';
|
|
6
|
+
import { getRpcUrl, requirePassword } from '../shared.js';
|
|
7
|
+
export const claimCommand = new Command('claim')
|
|
8
|
+
.argument('<market-id-or-pubkey>', 'Market ID or position pubkey')
|
|
9
|
+
.description('Claim winnings from a resolved position')
|
|
10
|
+
.option('-n, --note <note>', 'Trading journal note')
|
|
11
|
+
.action(async (marketIdOrPubkey, options) => {
|
|
12
|
+
const password = requirePassword();
|
|
13
|
+
try {
|
|
14
|
+
const rpcUrl = getRpcUrl();
|
|
15
|
+
const connection = new Connection(rpcUrl, 'confirmed');
|
|
16
|
+
const keypair = loadKeypairForSigning(password);
|
|
17
|
+
const ownerPubkey = keypair.publicKey.toBase58();
|
|
18
|
+
let positionPubkey = marketIdOrPubkey;
|
|
19
|
+
let marketTitle = '';
|
|
20
|
+
if (marketIdOrPubkey.startsWith('POLY-')) {
|
|
21
|
+
console.log(`\n🔍 Looking up position for market ${marketIdOrPubkey}...`);
|
|
22
|
+
const result = await getPositions(ownerPubkey);
|
|
23
|
+
const position = result.positions.find(p => p.marketId === marketIdOrPubkey);
|
|
24
|
+
if (!position) {
|
|
25
|
+
throw new Error(`No position found for market ${marketIdOrPubkey}`);
|
|
26
|
+
}
|
|
27
|
+
if (!position.claimable) {
|
|
28
|
+
throw new Error(`Position for ${position.marketMetadata.title} is not claimable yet`);
|
|
29
|
+
}
|
|
30
|
+
positionPubkey = position.pubkey;
|
|
31
|
+
marketTitle = position.marketMetadata.title;
|
|
32
|
+
console.log(` Found: ${marketTitle} (${position.contracts} contracts)`);
|
|
33
|
+
}
|
|
34
|
+
console.log(`\n🎉 Claiming winnings...\n`);
|
|
35
|
+
const order = await createClaimOrder({
|
|
36
|
+
ownerPubkey,
|
|
37
|
+
positionPubkey,
|
|
38
|
+
});
|
|
39
|
+
console.log('✍️ Signing transaction...');
|
|
40
|
+
const signature = await executeOrder(connection, keypair, order);
|
|
41
|
+
const localPos = findPredictionByPubkey(positionPubkey);
|
|
42
|
+
if (localPos) {
|
|
43
|
+
closePredictionPosition(localPos.id, 'won');
|
|
44
|
+
console.log(`\n📊 Position ${localPos.id} marked as WON`);
|
|
45
|
+
}
|
|
46
|
+
console.log('\n✅ Claimed successfully!');
|
|
47
|
+
if (marketTitle)
|
|
48
|
+
console.log(`🏆 ${marketTitle}`);
|
|
49
|
+
console.log('📝 Signature:', signature);
|
|
50
|
+
console.log('🔗 View on Solscan: https://solscan.io/tx/' + signature);
|
|
51
|
+
console.log('');
|
|
52
|
+
}
|
|
53
|
+
catch (error) {
|
|
54
|
+
console.error('❌ Error:', error.message);
|
|
55
|
+
process.exit(1);
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
//# sourceMappingURL=claim.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claim.js","sourceRoot":"","sources":["../../../src/commands/predict/claim.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"close.d.ts","sourceRoot":"","sources":["../../../src/commands/predict/close.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,eAAO,MAAM,YAAY,SA0DrB,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { Connection } from '@solana/web3.js';
|
|
2
|
+
import { Command } from 'commander';
|
|
3
|
+
import { closePredictionPosition, findPredictionByMarket } from '../../utils/positions.js';
|
|
4
|
+
import { loadKeypairForSigning } from '../../utils/wallet.js';
|
|
5
|
+
import { getMarket, getPositions, closePredictionOrder, executeOrder, microToUsd } from '../../utils/prediction.js';
|
|
6
|
+
import { getRpcUrl, requirePassword } from '../shared.js';
|
|
7
|
+
export const closeCommand = new Command('close')
|
|
8
|
+
.argument('<market-id>', 'Market ID')
|
|
9
|
+
.description('Close entire position for a market')
|
|
10
|
+
.option('-n, --note <note>', 'Trading journal note')
|
|
11
|
+
.action(async (marketId, options) => {
|
|
12
|
+
const password = requirePassword();
|
|
13
|
+
try {
|
|
14
|
+
const rpcUrl = getRpcUrl();
|
|
15
|
+
const connection = new Connection(rpcUrl, 'confirmed');
|
|
16
|
+
const keypair = loadKeypairForSigning(password);
|
|
17
|
+
const ownerPubkey = keypair.publicKey.toBase58();
|
|
18
|
+
console.log(`\n🔍 Looking up position for market ${marketId}...`);
|
|
19
|
+
const result = await getPositions(ownerPubkey);
|
|
20
|
+
const position = result.positions.find(p => p.marketId === marketId);
|
|
21
|
+
if (!position) {
|
|
22
|
+
throw new Error(`No position found for market ${marketId}`);
|
|
23
|
+
}
|
|
24
|
+
const market = await getMarket(marketId);
|
|
25
|
+
const contracts = parseInt(position.contracts);
|
|
26
|
+
const sellPriceMicro = position.isYes ? (market.pricing?.sellYesPriceUsd || 0) : (market.pricing?.sellNoPriceUsd || 0);
|
|
27
|
+
const sellPriceUsd = microToUsd(sellPriceMicro);
|
|
28
|
+
const proceeds = sellPriceUsd.times(contracts);
|
|
29
|
+
console.log(`\n📊 Closing: ${position.marketMetadata?.title || marketId}`);
|
|
30
|
+
console.log(` Side: ${position.isYes ? 'YES' : 'NO'}`);
|
|
31
|
+
console.log(` Contracts: ${contracts}`);
|
|
32
|
+
console.log(` Sell price: $${sellPriceUsd.toFixed(2)}`);
|
|
33
|
+
console.log(` Expected proceeds: ~$${proceeds.toFixed(2)}\n`);
|
|
34
|
+
console.log('🔄 Creating close order...');
|
|
35
|
+
const order = await closePredictionOrder({
|
|
36
|
+
ownerPubkey,
|
|
37
|
+
positionPubkey: position.pubkey,
|
|
38
|
+
});
|
|
39
|
+
console.log('✍️ Signing transaction...');
|
|
40
|
+
const signature = await executeOrder(connection, keypair, order);
|
|
41
|
+
const localPos = findPredictionByMarket(marketId);
|
|
42
|
+
if (localPos) {
|
|
43
|
+
closePredictionPosition(localPos.id, proceeds.gte(localPos.entryValueUsd) ? 'won' : 'lost', parseFloat(proceeds.toFixed(2)));
|
|
44
|
+
console.log(`\n📊 Position ${localPos.id} closed`);
|
|
45
|
+
}
|
|
46
|
+
console.log('\n✅ Position closed successfully!');
|
|
47
|
+
console.log('📝 Signature:', signature);
|
|
48
|
+
console.log('🔗 View on Solscan: https://solscan.io/tx/' + signature);
|
|
49
|
+
console.log('');
|
|
50
|
+
}
|
|
51
|
+
catch (error) {
|
|
52
|
+
console.error('❌ Error:', error.message);
|
|
53
|
+
process.exit(1);
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
//# sourceMappingURL=close.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"close.js","sourceRoot":"","sources":["../../../src/commands/predict/close.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/predict/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,eAAO,MAAM,cAAc,SACS,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import { browseCommand } from './browse.js';
|
|
3
|
+
import { searchCommand } from './search.js';
|
|
4
|
+
import { showCommand } from './show.js';
|
|
5
|
+
import { buyCommand } from './buy.js';
|
|
6
|
+
import { sellCommand } from './sell.js';
|
|
7
|
+
import { closeCommand } from './close.js';
|
|
8
|
+
import { claimCommand } from './claim.js';
|
|
9
|
+
import { positionsCommand } from './positions.js';
|
|
10
|
+
export const predictCommand = new Command('predict')
|
|
11
|
+
.description('Prediction markets');
|
|
12
|
+
predictCommand.addCommand(browseCommand);
|
|
13
|
+
predictCommand.addCommand(searchCommand);
|
|
14
|
+
predictCommand.addCommand(showCommand);
|
|
15
|
+
predictCommand.addCommand(buyCommand);
|
|
16
|
+
predictCommand.addCommand(sellCommand);
|
|
17
|
+
predictCommand.addCommand(closeCommand);
|
|
18
|
+
predictCommand.addCommand(claimCommand);
|
|
19
|
+
predictCommand.addCommand(positionsCommand);
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/predict/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC;KACjD,WAAW,CAAC,oBAAoB,CAAC,CAAC;AAErC,cAAc,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AACzC,cAAc,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AACzC,cAAc,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AACvC,cAAc,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AACtC,cAAc,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AACvC,cAAc,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AACxC,cAAc,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AACxC,cAAc,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/predict/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,eAAO,MAAM,WAAW,SA8CpB,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import { listEvents, microToUsd } from '../../utils/prediction.js';
|
|
3
|
+
export const listCommand = new Command('list')
|
|
4
|
+
.description('List prediction market events')
|
|
5
|
+
.option('-c, --category <category>', 'Filter by category (crypto, politics, sports, esports, culture, economics, tech)')
|
|
6
|
+
.option('-s, --status <status>', 'Filter by status (open, closed, settled)')
|
|
7
|
+
.option('-l, --limit <number>', 'Number of results', '10')
|
|
8
|
+
.action(async (options) => {
|
|
9
|
+
try {
|
|
10
|
+
console.log('\n🔮 Fetching prediction markets...\n');
|
|
11
|
+
const result = await listEvents({
|
|
12
|
+
category: options.category,
|
|
13
|
+
status: options.status,
|
|
14
|
+
limit: parseInt(options.limit),
|
|
15
|
+
});
|
|
16
|
+
if (!result.events || result.events.length === 0) {
|
|
17
|
+
console.log('No events found.');
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
for (const event of result.events) {
|
|
21
|
+
const statusEmoji = event.isActive ? '🟢' : '⚪';
|
|
22
|
+
console.log(`${statusEmoji} ${event.metadata?.title || event.eventId}`);
|
|
23
|
+
console.log(` ID: ${event.eventId}`);
|
|
24
|
+
console.log(` Category: ${event.category}${event.subcategory ? ` > ${event.subcategory}` : ''}`);
|
|
25
|
+
if (event.markets && event.markets.length > 0) {
|
|
26
|
+
for (const market of event.markets.slice(0, 3)) { // Show first 3 markets
|
|
27
|
+
const yesPrice = microToUsd(market.pricing?.buyYesPriceUsd || 0);
|
|
28
|
+
const noPrice = microToUsd(market.pricing?.buyNoPriceUsd || 0);
|
|
29
|
+
console.log(` 📊 ${market.metadata?.title || market.marketId}`);
|
|
30
|
+
console.log(` YES: ${yesPrice.times(100).toFixed(1)}% ($${yesPrice.toFixed(2)}) | NO: ${noPrice.times(100).toFixed(1)}% ($${noPrice.toFixed(2)})`);
|
|
31
|
+
console.log(` Market ID: ${market.marketId}`);
|
|
32
|
+
}
|
|
33
|
+
if (event.markets.length > 3) {
|
|
34
|
+
console.log(` ... and ${event.markets.length - 3} more markets`);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
console.log('');
|
|
38
|
+
}
|
|
39
|
+
console.log(`📊 Showing ${result.events.length} of ${result.total || result.events.length} events\n`);
|
|
40
|
+
}
|
|
41
|
+
catch (error) {
|
|
42
|
+
console.error('❌ Error:', error.message);
|
|
43
|
+
process.exit(1);
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/predict/list.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"market.d.ts","sourceRoot":"","sources":["../../../src/commands/predict/market.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,eAAO,MAAM,aAAa,SAwCtB,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import { getMarket, microToUsd } from '../../utils/prediction.js';
|
|
3
|
+
export const marketCommand = new Command('market')
|
|
4
|
+
.argument('<market-id>', 'Market ID')
|
|
5
|
+
.description('Get detailed market information')
|
|
6
|
+
.action(async (marketId) => {
|
|
7
|
+
try {
|
|
8
|
+
console.log(`\n📊 Fetching market details...\n`);
|
|
9
|
+
const market = await getMarket(marketId);
|
|
10
|
+
const yesPrice = microToUsd(market.pricing?.buyYesPriceUsd || 0);
|
|
11
|
+
const noPrice = microToUsd(market.pricing?.buyNoPriceUsd || 0);
|
|
12
|
+
const yesSellPrice = microToUsd(market.pricing?.sellYesPriceUsd || 0);
|
|
13
|
+
const noSellPrice = microToUsd(market.pricing?.sellNoPriceUsd || 0);
|
|
14
|
+
console.log(`╔════════════════════════════════════════════════════════════`);
|
|
15
|
+
console.log(`║ ${market.metadata?.title || market.marketId}`);
|
|
16
|
+
console.log(`║ ${market.marketId}`);
|
|
17
|
+
console.log(`╚════════════════════════════════════════════════════════════\n`);
|
|
18
|
+
console.log(`📜 STATUS: ${market.status.toUpperCase()}${market.result ? ` (Result: ${market.result.toUpperCase()})` : ''}\n`);
|
|
19
|
+
console.log(`💰 PRICES`);
|
|
20
|
+
console.log(` YES: Buy $${yesPrice.toFixed(2)} (${yesPrice.times(100).toFixed(1)}%) | Sell $${yesSellPrice.toFixed(2)}`);
|
|
21
|
+
console.log(` NO: Buy $${noPrice.toFixed(2)} (${noPrice.times(100).toFixed(1)}%) | Sell $${noSellPrice.toFixed(2)}\n`);
|
|
22
|
+
if (market.pricing?.volume) {
|
|
23
|
+
console.log(`📈 VOLUME: $${microToUsd(market.pricing.volume).toFixed(2)}`);
|
|
24
|
+
}
|
|
25
|
+
if (market.metadata?.rulesPrimary) {
|
|
26
|
+
console.log(`\n📝 RULES`);
|
|
27
|
+
console.log(` ${market.metadata.rulesPrimary.slice(0, 200)}...`);
|
|
28
|
+
}
|
|
29
|
+
console.log(`\n💡 To bet: trader predict buy ${marketId} <yes|no> <amount>`);
|
|
30
|
+
console.log('');
|
|
31
|
+
}
|
|
32
|
+
catch (error) {
|
|
33
|
+
console.error('❌ Error:', error.message);
|
|
34
|
+
process.exit(1);
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
//# sourceMappingURL=market.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"market.js","sourceRoot":"","sources":["../../../src/commands/predict/market.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"positions.d.ts","sourceRoot":"","sources":["../../../src/commands/predict/positions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,eAAO,MAAM,gBAAgB,SAwEzB,CAAC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import Big from 'big.js';
|
|
3
|
+
import { getWalletAddress } from '../../utils/wallet.js';
|
|
4
|
+
import { getPositions, microToUsd } from '../../utils/prediction.js';
|
|
5
|
+
import { requirePassword } from '../shared.js';
|
|
6
|
+
export const positionsCommand = new Command('positions')
|
|
7
|
+
.description('View your prediction market positions')
|
|
8
|
+
.option('-a, --all', 'Show all positions including closed')
|
|
9
|
+
.action(async (options) => {
|
|
10
|
+
const password = requirePassword();
|
|
11
|
+
try {
|
|
12
|
+
const address = getWalletAddress(password);
|
|
13
|
+
console.log(`\n🔮 Fetching prediction positions for ${address}...\n`);
|
|
14
|
+
const result = await getPositions(address, {
|
|
15
|
+
status: options.all ? 'all' : 'open',
|
|
16
|
+
});
|
|
17
|
+
if (!result.positions || result.positions.length === 0) {
|
|
18
|
+
console.log('📊 No positions found');
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
let totalValue = Big(0);
|
|
22
|
+
let totalPnl = Big(0);
|
|
23
|
+
for (const pos of result.positions) {
|
|
24
|
+
const side = pos.isYes ? 'YES' : 'NO';
|
|
25
|
+
const sideEmoji = pos.isYes ? '🟢' : '🔴';
|
|
26
|
+
const pnl = microToUsd(pos.pnlUsdAfterFees);
|
|
27
|
+
const pnlEmoji = pnl.gte(0) ? '💰' : '💸';
|
|
28
|
+
const cost = microToUsd(pos.totalCostUsd);
|
|
29
|
+
const avgPrice = microToUsd(pos.avgPriceUsd);
|
|
30
|
+
const value = microToUsd(pos.valueUsd);
|
|
31
|
+
const sellPrice = pos.sellPriceUsd != null ? microToUsd(pos.sellPriceUsd) : null;
|
|
32
|
+
const payout = microToUsd(pos.payoutUsd);
|
|
33
|
+
const marketStatus = pos.marketMetadata?.status || 'unknown';
|
|
34
|
+
const marketResult = pos.marketMetadata?.result;
|
|
35
|
+
console.log(`${sideEmoji} ${side} Position - ${pos.marketMetadata.title}`);
|
|
36
|
+
console.log(` Market: ${pos.marketId} (${pos.eventMetadata.title})`);
|
|
37
|
+
console.log(` Contracts: ${pos.contracts}`);
|
|
38
|
+
console.log(` Cost: $${cost.toFixed(2)} (avg $${avgPrice.toFixed(2)}/contract)`);
|
|
39
|
+
const pnlPct = pos.pnlUsdAfterFeesPercent ?? 0;
|
|
40
|
+
if (marketStatus === 'closed') {
|
|
41
|
+
const won = (marketResult === 'yes' && pos.isYes) || (marketResult === 'no' && !pos.isYes);
|
|
42
|
+
const resultStr = marketResult ? marketResult.toUpperCase() : 'PENDING';
|
|
43
|
+
console.log(` Status: CLOSED - Result: ${resultStr} ${marketResult ? (won ? '✅ WON' : '❌ LOST') : '⏳'}`);
|
|
44
|
+
console.log(` ${pnlEmoji} PnL: ${pnl.gte(0) ? '+' : ''}$${pnl.toFixed(2)} (${pnlPct >= 0 ? '+' : ''}${pnlPct.toFixed(1)}%)`);
|
|
45
|
+
if (won) {
|
|
46
|
+
console.log(` 💵 Payout: $${payout.toFixed(2)}`);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
console.log(` Value: $${value.toFixed(2)}${sellPrice ? ` (sell @ $${sellPrice.toFixed(2)})` : ''}`);
|
|
51
|
+
console.log(` ${pnlEmoji} PnL: ${pnl.gte(0) ? '+' : ''}$${pnl.toFixed(2)} (${pnlPct >= 0 ? '+' : ''}${pnlPct.toFixed(1)}%)`);
|
|
52
|
+
console.log(` Payout if ${side}: $${payout.toFixed(2)}`);
|
|
53
|
+
}
|
|
54
|
+
if (pos.claimable) {
|
|
55
|
+
console.log(` 🎉 CLAIMABLE NOW! Run: trader predict claim ${pos.marketId}`);
|
|
56
|
+
}
|
|
57
|
+
totalValue = totalValue.plus(value);
|
|
58
|
+
totalPnl = totalPnl.plus(pnl);
|
|
59
|
+
console.log('');
|
|
60
|
+
}
|
|
61
|
+
console.log(`═══════════════════════════════════════`);
|
|
62
|
+
const totalPnlEmoji = totalPnl.gte(0) ? '💰' : '💸';
|
|
63
|
+
console.log(`📊 Total Value: $${totalValue.toFixed(2)}`);
|
|
64
|
+
console.log(`${totalPnlEmoji} Total PnL: ${totalPnl.gte(0) ? '+' : ''}$${totalPnl.toFixed(2)}\n`);
|
|
65
|
+
}
|
|
66
|
+
catch (error) {
|
|
67
|
+
console.error('❌ Error:', error.message);
|
|
68
|
+
process.exit(1);
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
//# sourceMappingURL=positions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"positions.js","sourceRoot":"","sources":["../../../src/commands/predict/positions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/commands/predict/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,eAAO,MAAM,aAAa,SA+BtB,CAAC"}
|