@zeroexcore/trader 1.1.4 → 3.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/dist/cli.js +4 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/dca/cancel.d.ts +3 -0
- package/dist/commands/dca/cancel.d.ts.map +1 -0
- package/dist/commands/dca/cancel.js +44 -0
- package/dist/commands/dca/cancel.js.map +1 -0
- package/dist/commands/dca/create.d.ts +3 -0
- package/dist/commands/dca/create.d.ts.map +1 -0
- package/dist/commands/dca/create.js +88 -0
- package/dist/commands/dca/create.js.map +1 -0
- package/dist/commands/dca/index.d.ts +3 -0
- package/dist/commands/dca/index.d.ts.map +1 -0
- package/dist/commands/dca/index.js +10 -0
- package/dist/commands/dca/index.js.map +1 -0
- package/dist/commands/dca/list.d.ts +3 -0
- package/dist/commands/dca/list.d.ts.map +1 -0
- package/dist/commands/dca/list.js +48 -0
- package/dist/commands/dca/list.js.map +1 -0
- package/dist/commands/limit/cancel.d.ts +3 -0
- package/dist/commands/limit/cancel.d.ts.map +1 -0
- package/dist/commands/limit/cancel.js +45 -0
- package/dist/commands/limit/cancel.js.map +1 -0
- package/dist/commands/limit/create.d.ts +3 -0
- package/dist/commands/limit/create.d.ts.map +1 -0
- package/dist/commands/limit/create.js +68 -0
- package/dist/commands/limit/create.js.map +1 -0
- package/dist/commands/limit/index.d.ts +3 -0
- package/dist/commands/limit/index.d.ts.map +1 -0
- package/dist/commands/limit/index.js +10 -0
- package/dist/commands/limit/index.js.map +1 -0
- package/dist/commands/limit/list.d.ts +3 -0
- package/dist/commands/limit/list.d.ts.map +1 -0
- package/dist/commands/limit/list.js +40 -0
- package/dist/commands/limit/list.js.map +1 -0
- package/dist/commands/perps/close.d.ts +3 -0
- package/dist/commands/perps/close.d.ts.map +1 -0
- package/dist/commands/perps/close.js +48 -0
- package/dist/commands/perps/close.js.map +1 -0
- package/dist/commands/perps/decrease.d.ts +3 -0
- package/dist/commands/perps/decrease.d.ts.map +1 -0
- package/dist/commands/perps/decrease.js +55 -0
- package/dist/commands/perps/decrease.js.map +1 -0
- package/dist/commands/perps/increase.d.ts +3 -0
- package/dist/commands/perps/increase.d.ts.map +1 -0
- package/dist/commands/perps/increase.js +60 -0
- package/dist/commands/perps/increase.js.map +1 -0
- package/dist/commands/perps/index.d.ts.map +1 -1
- package/dist/commands/perps/index.js +8 -0
- package/dist/commands/perps/index.js.map +1 -1
- package/dist/commands/perps/open.d.ts +3 -0
- package/dist/commands/perps/open.d.ts.map +1 -0
- package/dist/commands/perps/open.js +60 -0
- package/dist/commands/perps/open.js.map +1 -0
- package/dist/commands/perps/pool.d.ts.map +1 -1
- package/dist/commands/perps/pool.js +37 -29
- package/dist/commands/perps/pool.js.map +1 -1
- package/dist/commands/perps/positions.d.ts.map +1 -1
- package/dist/commands/perps/positions.js +56 -61
- package/dist/commands/perps/positions.js.map +1 -1
- package/dist/commands/perps/show.d.ts.map +1 -1
- package/dist/commands/perps/show.js +45 -25
- package/dist/commands/perps/show.js.map +1 -1
- package/dist/commands/portfolio.d.ts.map +1 -1
- package/dist/commands/portfolio.js +65 -18
- package/dist/commands/portfolio.js.map +1 -1
- package/dist/commands/predict/buy.d.ts.map +1 -1
- package/dist/commands/predict/buy.js +3 -0
- package/dist/commands/predict/buy.js.map +1 -1
- package/dist/commands/predict/sell.d.ts.map +1 -1
- package/dist/commands/predict/sell.js +3 -0
- package/dist/commands/predict/sell.js.map +1 -1
- package/dist/commands/tokens/quote.d.ts.map +1 -1
- package/dist/commands/tokens/quote.js +4 -1
- package/dist/commands/tokens/quote.js.map +1 -1
- package/dist/commands/tokens/swap.d.ts.map +1 -1
- package/dist/commands/tokens/swap.js +6 -3
- package/dist/commands/tokens/swap.js.map +1 -1
- package/dist/config.d.ts +4 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +5 -1
- package/dist/config.js.map +1 -1
- package/dist/utils/amounts.d.ts +0 -16
- package/dist/utils/amounts.d.ts.map +1 -1
- package/dist/utils/amounts.js +4 -36
- package/dist/utils/amounts.js.map +1 -1
- package/dist/utils/helius.d.ts +3 -23
- package/dist/utils/helius.d.ts.map +1 -1
- package/dist/utils/helius.js +0 -123
- package/dist/utils/helius.js.map +1 -1
- package/dist/utils/jupiter.d.ts +4 -8
- package/dist/utils/jupiter.d.ts.map +1 -1
- package/dist/utils/jupiter.js +1 -7
- package/dist/utils/jupiter.js.map +1 -1
- package/dist/utils/nft.d.ts +3 -37
- package/dist/utils/nft.d.ts.map +1 -1
- package/dist/utils/nft.js +0 -71
- package/dist/utils/nft.js.map +1 -1
- package/dist/utils/perps/index.d.ts +51 -10
- package/dist/utils/perps/index.d.ts.map +1 -1
- package/dist/utils/perps/index.js +249 -34
- package/dist/utils/perps/index.js.map +1 -1
- package/dist/utils/perps-api.d.ts +110 -0
- package/dist/utils/perps-api.d.ts.map +1 -0
- package/dist/utils/perps-api.js +260 -0
- package/dist/utils/perps-api.js.map +1 -0
- package/dist/utils/positions.d.ts +3 -77
- package/dist/utils/positions.d.ts.map +1 -1
- package/dist/utils/positions.js +3 -330
- package/dist/utils/positions.js.map +1 -1
- package/dist/utils/prediction.d.ts +6 -28
- package/dist/utils/prediction.d.ts.map +1 -1
- package/dist/utils/prediction.js +0 -37
- package/dist/utils/prediction.js.map +1 -1
- package/dist/utils/recurring.d.ts +79 -0
- package/dist/utils/recurring.d.ts.map +1 -0
- package/dist/utils/recurring.js +73 -0
- package/dist/utils/recurring.js.map +1 -0
- package/dist/utils/token-book.d.ts.map +1 -1
- package/dist/utils/token-book.js +10 -1
- package/dist/utils/token-book.js.map +1 -1
- package/dist/utils/token-info.d.ts +2 -1
- package/dist/utils/token-info.d.ts.map +1 -1
- package/dist/utils/token-info.js +5 -2
- package/dist/utils/token-info.js.map +1 -1
- package/dist/utils/trigger.d.ts +88 -0
- package/dist/utils/trigger.d.ts.map +1 -0
- package/dist/utils/trigger.js +114 -0
- package/dist/utils/trigger.js.map +1 -0
- package/dist/utils/wallet.d.ts +0 -9
- package/dist/utils/wallet.d.ts.map +1 -1
- package/dist/utils/wallet.js +14 -4
- package/dist/utils/wallet.js.map +1 -1
- package/package.json +8 -2
- package/dist/utils/perps/doves-idl.d.ts +0 -380
- package/dist/utils/perps/doves-idl.d.ts.map +0 -1
- package/dist/utils/perps/doves-idl.js +0 -379
- package/dist/utils/perps/doves-idl.js.map +0 -1
- package/dist/utils/perps/jupiter-perpetuals-idl.d.ts +0 -7243
- package/dist/utils/perps/jupiter-perpetuals-idl.d.ts.map +0 -1
- package/dist/utils/perps/jupiter-perpetuals-idl.js +0 -7242
- package/dist/utils/perps/jupiter-perpetuals-idl.js.map +0 -1
|
@@ -1,47 +1,62 @@
|
|
|
1
|
+
import { Connection } from '@solana/web3.js';
|
|
1
2
|
import { Command } from 'commander';
|
|
2
3
|
import Big from 'big.js';
|
|
3
4
|
import { getPortfolio } from '../utils/helius.js';
|
|
4
5
|
import { getWalletAddress } from '../utils/wallet.js';
|
|
5
6
|
import { getPositionStats } from '../utils/positions.js';
|
|
6
7
|
import { getPositions, microToUsd } from '../utils/prediction.js';
|
|
7
|
-
import {
|
|
8
|
+
import { getPerpsPositions, rawToUsd, formatUsd } from '../utils/perps-api.js';
|
|
9
|
+
import { getRecurringOrders } from '../utils/recurring.js';
|
|
10
|
+
import { getTriggerOrders } from '../utils/trigger.js';
|
|
11
|
+
import { getTickerFromAddress } from '../utils/token-book.js';
|
|
12
|
+
import { output, action, requirePassword, getRpcUrl } from './shared.js';
|
|
8
13
|
export const portfolioCommand = new Command('portfolio')
|
|
9
|
-
.description('
|
|
14
|
+
.description('Show portfolio: tokens, perps, predictions, DCA, limit orders, PnL')
|
|
10
15
|
.action(action(async () => {
|
|
11
16
|
const password = requirePassword();
|
|
12
17
|
const address = getWalletAddress(password);
|
|
13
|
-
|
|
14
|
-
const
|
|
18
|
+
const rpcUrl = getRpcUrl();
|
|
19
|
+
const connection = new Connection(rpcUrl, 'confirmed');
|
|
20
|
+
// Fetch everything in parallel
|
|
21
|
+
const [onChain, predResult, perpsResult, dcaResult, limitResult] = await Promise.all([
|
|
22
|
+
getPortfolio(address),
|
|
23
|
+
getPositions(address).catch(() => ({ positions: [] })),
|
|
24
|
+
getPerpsPositions(address, connection).catch(() => ({ dataList: [], count: 0 })),
|
|
25
|
+
getRecurringOrders(address, 'active').catch(() => ({ orders: [] })),
|
|
26
|
+
getTriggerOrders(address, 'active').catch(() => ({ orders: [] })),
|
|
27
|
+
]);
|
|
15
28
|
const holdings = onChain.tokens.filter(t => t.valueUsd >= 0.01);
|
|
16
|
-
//
|
|
17
|
-
|
|
29
|
+
// Prediction positions
|
|
30
|
+
const predPositions = predResult.positions || [];
|
|
18
31
|
let predTotalCost = Big(0);
|
|
19
32
|
let predTotalValue = Big(0);
|
|
20
33
|
let predTotalPnl = Big(0);
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
predTotalCost = predTotalCost.plus(microToUsd(p.totalCostUsd));
|
|
26
|
-
predTotalValue = predTotalValue.plus(microToUsd(p.valueUsd));
|
|
27
|
-
predTotalPnl = predTotalPnl.plus(microToUsd(p.pnlUsdAfterFees));
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
catch {
|
|
31
|
-
// Prediction API unavailable — show what we have
|
|
34
|
+
for (const p of predPositions) {
|
|
35
|
+
predTotalCost = predTotalCost.plus(microToUsd(p.totalCostUsd));
|
|
36
|
+
predTotalValue = predTotalValue.plus(microToUsd(p.valueUsd));
|
|
37
|
+
predTotalPnl = predTotalPnl.plus(microToUsd(p.pnlUsdAfterFees));
|
|
32
38
|
}
|
|
39
|
+
// Perps positions
|
|
40
|
+
const perpsPositions = perpsResult.dataList || [];
|
|
41
|
+
// DCA orders
|
|
42
|
+
const dcaOrders = dcaResult.orders || [];
|
|
43
|
+
// Limit orders
|
|
44
|
+
const limitOrders = limitResult.orders || [];
|
|
33
45
|
// Local journal stats (realized PnL from closed trades)
|
|
34
46
|
const stats = getPositionStats();
|
|
35
47
|
const totalPnl = stats.realizedPnl + predTotalPnl.toNumber();
|
|
36
48
|
output({
|
|
37
49
|
address,
|
|
38
50
|
onChain: { totalUsd: onChain.totalValueUsd, holdings },
|
|
51
|
+
perps: { count: perpsPositions.length, positions: perpsPositions },
|
|
39
52
|
predictions: {
|
|
40
53
|
count: predPositions.length,
|
|
41
54
|
costUsd: predTotalCost.toNumber(),
|
|
42
55
|
valueUsd: predTotalValue.toNumber(),
|
|
43
56
|
pnlUsd: predTotalPnl.toNumber(),
|
|
44
57
|
},
|
|
58
|
+
dca: { count: dcaOrders.length, orders: dcaOrders },
|
|
59
|
+
limits: { count: limitOrders.length, orders: limitOrders },
|
|
45
60
|
pnl: {
|
|
46
61
|
realized: stats.realizedPnl,
|
|
47
62
|
unrealized: predTotalPnl.toNumber(),
|
|
@@ -60,7 +75,19 @@ export const portfolioCommand = new Command('portfolio')
|
|
|
60
75
|
lines.push(` ${t.symbol.padEnd(8)} ${t.balance.toFixed(4).padStart(12)} = $${t.valueUsd.toFixed(2).padStart(10)}`);
|
|
61
76
|
}
|
|
62
77
|
lines.push('');
|
|
63
|
-
//
|
|
78
|
+
// Perps positions
|
|
79
|
+
if (perpsPositions.length > 0) {
|
|
80
|
+
lines.push(`Perps Positions: ${perpsPositions.length}`);
|
|
81
|
+
for (const p of perpsPositions) {
|
|
82
|
+
const size = formatUsd(p.sizeUsd);
|
|
83
|
+
const entry = formatUsd(p.entryPriceUsd);
|
|
84
|
+
const pnl = rawToUsd(p.pnlAfterFeesUsd);
|
|
85
|
+
const pnlStr = `${pnl >= 0 ? '+' : ''}$${pnl.toFixed(2)}`;
|
|
86
|
+
lines.push(` ${(p.asset || '?').padEnd(4)} ${p.side.toUpperCase().padEnd(6)} ${size.padEnd(10)} @ ${entry} ${p.leverage}x ${pnlStr}`);
|
|
87
|
+
}
|
|
88
|
+
lines.push('');
|
|
89
|
+
}
|
|
90
|
+
// Prediction positions
|
|
64
91
|
if (predPositions.length > 0) {
|
|
65
92
|
lines.push(`Prediction Bets: ${predPositions.length} open (cost $${predTotalCost.toFixed(2)}, value $${predTotalValue.toFixed(2)})`);
|
|
66
93
|
for (const p of predPositions) {
|
|
@@ -74,6 +101,26 @@ export const portfolioCommand = new Command('portfolio')
|
|
|
74
101
|
}
|
|
75
102
|
lines.push('');
|
|
76
103
|
}
|
|
104
|
+
// DCA orders
|
|
105
|
+
if (dcaOrders.length > 0) {
|
|
106
|
+
lines.push(`DCA Orders: ${dcaOrders.length} active`);
|
|
107
|
+
for (const o of dcaOrders) {
|
|
108
|
+
const from = getTickerFromAddress(o.inputMint) || o.inputMint.slice(0, 6);
|
|
109
|
+
const to = getTickerFromAddress(o.outputMint) || o.outputMint.slice(0, 6);
|
|
110
|
+
lines.push(` ${from} → ${to} ${o.inAmountPerCycle} ${from}/cycle Used: ${o.inUsed}/${o.inDeposited} ${from}`);
|
|
111
|
+
}
|
|
112
|
+
lines.push('');
|
|
113
|
+
}
|
|
114
|
+
// Limit orders
|
|
115
|
+
if (limitOrders.length > 0) {
|
|
116
|
+
lines.push(`Limit Orders: ${limitOrders.length} active`);
|
|
117
|
+
for (const o of limitOrders) {
|
|
118
|
+
const from = getTickerFromAddress(o.inputMint) || o.inputMint.slice(0, 6);
|
|
119
|
+
const to = getTickerFromAddress(o.outputMint) || o.outputMint.slice(0, 6);
|
|
120
|
+
lines.push(` ${from} → ${to} Sell ${o.makingAmount} ${from} for ${o.takingAmount} ${to} (${o.status})`);
|
|
121
|
+
}
|
|
122
|
+
lines.push('');
|
|
123
|
+
}
|
|
77
124
|
// PnL summary
|
|
78
125
|
const predPnl = predTotalPnl.toNumber();
|
|
79
126
|
lines.push(`PnL Summary`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"portfolio.js","sourceRoot":"","sources":["../../src/commands/portfolio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,GAAG,MAAM,QAAQ,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"portfolio.js","sourceRoot":"","sources":["../../src/commands/portfolio.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +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,
|
|
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,SAqFnB,CAAC"}
|
|
@@ -24,6 +24,9 @@ export const buyCommand = new Command('buy')
|
|
|
24
24
|
const connection = new Connection(rpcUrl, 'confirmed');
|
|
25
25
|
const keypair = loadKeypairForSigning(password);
|
|
26
26
|
const amountUsd = parseFloat(amount);
|
|
27
|
+
if (isNaN(amountUsd) || amountUsd <= 0) {
|
|
28
|
+
throw new Error(`Invalid amount: "${amount}". Must be a positive number.`);
|
|
29
|
+
}
|
|
27
30
|
console.log(`\n🔮 Placing prediction bet...\n`);
|
|
28
31
|
const market = await getMarket(marketId);
|
|
29
32
|
const priceMicro = isYes ? (market.pricing?.buyYesPriceUsd || 0) : (market.pricing?.buyNoPriceUsd || 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buy.js","sourceRoot":"","sources":["../../../src/commands/predict/buy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"buy.js","sourceRoot":"","sources":["../../../src/commands/predict/buy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sell.d.ts","sourceRoot":"","sources":["../../../src/commands/predict/sell.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"sell.d.ts","sourceRoot":"","sources":["../../../src/commands/predict/sell.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,eAAO,MAAM,WAAW,SAsEpB,CAAC"}
|
|
@@ -23,6 +23,9 @@ export const sellCommand = new Command('sell')
|
|
|
23
23
|
const connection = new Connection(rpcUrl, 'confirmed');
|
|
24
24
|
const keypair = loadKeypairForSigning(password);
|
|
25
25
|
const numContracts = parseInt(contracts);
|
|
26
|
+
if (isNaN(numContracts) || numContracts <= 0) {
|
|
27
|
+
throw new Error(`Invalid contracts: "${contracts}". Must be a positive integer.`);
|
|
28
|
+
}
|
|
26
29
|
console.log(`\n🔮 Selling ${numContracts} ${isYes ? 'YES' : 'NO'} contracts...\n`);
|
|
27
30
|
const market = await getMarket(marketId);
|
|
28
31
|
const sellPriceMicro = isYes ? (market.pricing?.sellYesPriceUsd || 0) : (market.pricing?.sellNoPriceUsd || 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sell.js","sourceRoot":"","sources":["../../../src/commands/predict/sell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC3F,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACjG,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE1D,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC;KAC3C,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC;KACpC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;KACnC,QAAQ,CAAC,aAAa,EAAE,6BAA6B,CAAC;KACtD,WAAW,CAAC,kCAAkC,CAAC;KAC/C,MAAM,CAAC,qBAAqB,EAAE,kCAAkC,CAAC;KACjE,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC;KACnD,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE;IACnD,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC;IAEnC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC;IAC3C,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,KAAK,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC;QAChE,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,YAAY,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;QAEzC,OAAO,CAAC,GAAG,CAAC,gBAAgB,YAAY,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,iBAAiB,CAAC,CAAC;QAEnF,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC;QACzC,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,eAAe,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,IAAI,CAAC,CAAC,CAAC;QAC9G,MAAM,YAAY,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;QAEhD,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,QAAQ,EAAE,KAAK,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvE,OAAO,CAAC,GAAG,CAAC,mBAAmB,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,2BAA2B,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAExF,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE3E,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,6CAA6C,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAC1F,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC;YAClC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE;YACzC,QAAQ;YACR,KAAK;YACL,SAAS,EAAE,YAAY;YACvB,eAAe,EAAE,YAAY;SAC9B,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QACzC,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAEjE,MAAM,QAAQ,GAAG,sBAAsB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACxE,IAAI,QAAQ,IAAI,QAAQ,CAAC,UAAU,EAAE,SAAS,KAAK,YAAY,EAAE,CAAC;YAChE,MAAM,QAAQ,GAAG,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACzE,uBAAuB,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,IAAI,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACpG,OAAO,CAAC,GAAG,CAAC,iBAAiB,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAC;QACrD,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,4CAA4C,GAAG,SAAS,CAAC,CAAC;QACtE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"sell.js","sourceRoot":"","sources":["../../../src/commands/predict/sell.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quote.d.ts","sourceRoot":"","sources":["../../../src/commands/tokens/quote.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,eAAO,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"quote.d.ts","sourceRoot":"","sources":["../../../src/commands/tokens/quote.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,eAAO,MAAM,YAAY,SAkDrB,CAAC"}
|
|
@@ -13,12 +13,15 @@ export const quoteCommand = new Command('quote')
|
|
|
13
13
|
.action(async (inputMintOrTicker, outputMintOrTicker, amount, options) => {
|
|
14
14
|
const inputMint = resolveToken(inputMintOrTicker);
|
|
15
15
|
const outputMint = resolveToken(outputMintOrTicker);
|
|
16
|
+
if (isNaN(parseFloat(amount)) || parseFloat(amount) <= 0) {
|
|
17
|
+
error(`Invalid amount: "${amount}". Must be a positive number.`);
|
|
18
|
+
}
|
|
16
19
|
try {
|
|
17
20
|
const decimals = await getTokenDecimals(inputMint);
|
|
18
21
|
const amountInSmallestUnit = toSmallestUnit(amount, decimals);
|
|
19
22
|
const quote = await getSwapQuote({
|
|
20
23
|
inputMint, outputMint,
|
|
21
|
-
amount:
|
|
24
|
+
amount: amountInSmallestUnit,
|
|
22
25
|
slippageBps: parseInt(options.slippage),
|
|
23
26
|
});
|
|
24
27
|
const outputDecimals = await getTokenDecimals(outputMint);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quote.js","sourceRoot":"","sources":["../../../src/commands/tokens/quote.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,GAAG,MAAM,QAAQ,CAAC;AACzB,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC5F,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,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,+BAA+B,CAAC;KACzD,QAAQ,CAAC,eAAe,EAAE,gCAAgC,CAAC;KAC3D,QAAQ,CAAC,UAAU,EAAE,iCAAiC,CAAC;KACvD,WAAW,CAAC,gBAAgB,CAAC;KAC7B,MAAM,CAAC,sBAAsB,EAAE,0BAA0B,EAAE,IAAI,CAAC;KAChE,MAAM,CAAC,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;IACvE,MAAM,SAAS,GAAG,YAAY,CAAC,iBAAiB,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,YAAY,CAAC,kBAAkB,CAAC,CAAC;IACpD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAAC,CAAC;QACnD,MAAM,oBAAoB,GAAG,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAE9D,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC;YAC/B,SAAS,EAAE,UAAU;YACrB,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"quote.js","sourceRoot":"","sources":["../../../src/commands/tokens/quote.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swap.d.ts","sourceRoot":"","sources":["../../../src/commands/tokens/swap.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"swap.d.ts","sourceRoot":"","sources":["../../../src/commands/tokens/swap.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,eAAO,MAAM,WAAW,SAiGnB,CAAC"}
|
|
@@ -24,11 +24,14 @@ export const swapCommand = new Command('swap')
|
|
|
24
24
|
const rpcUrl = getRpcUrl();
|
|
25
25
|
const connection = new Connection(rpcUrl, 'confirmed');
|
|
26
26
|
const keypair = loadKeypairForSigning(password);
|
|
27
|
+
const swapAmount = parseFloat(amount);
|
|
28
|
+
if (isNaN(swapAmount) || swapAmount <= 0) {
|
|
29
|
+
throw new Error(`Invalid amount: "${amount}". Must be a positive number.`);
|
|
30
|
+
}
|
|
27
31
|
// SOL reserve check: prevent draining wallet of gas money
|
|
28
32
|
if (inputMint === tokens.SOL && !options.force) {
|
|
29
33
|
const balance = await connection.getBalance(keypair.publicKey);
|
|
30
34
|
const balanceSol = balance / 1e9;
|
|
31
|
-
const swapAmount = parseFloat(amount);
|
|
32
35
|
const remaining = balanceSol - swapAmount;
|
|
33
36
|
if (remaining < safety.minSolReserve) {
|
|
34
37
|
const maxSafe = Math.max(0, balanceSol - safety.minSolReserve);
|
|
@@ -39,10 +42,10 @@ export const swapCommand = new Command('swap')
|
|
|
39
42
|
}
|
|
40
43
|
}
|
|
41
44
|
const decimals = await getTokenDecimals(inputMint);
|
|
42
|
-
const amountInSmallestUnit = toSmallestUnit(
|
|
45
|
+
const amountInSmallestUnit = toSmallestUnit(amount, decimals);
|
|
43
46
|
const quote = await getSwapQuote({
|
|
44
47
|
inputMint, outputMint,
|
|
45
|
-
amount:
|
|
48
|
+
amount: amountInSmallestUnit,
|
|
46
49
|
slippageBps: parseInt(options.slippage),
|
|
47
50
|
taker: keypair.publicKey.toBase58(),
|
|
48
51
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swap.js","sourceRoot":"","sources":["../../../src/commands/tokens/swap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,GAAG,MAAM,QAAQ,CAAC;AACzB,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE1E,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC;KAC3C,QAAQ,CAAC,cAAc,EAAE,+BAA+B,CAAC;KACzD,QAAQ,CAAC,eAAe,EAAE,gCAAgC,CAAC;KAC3D,QAAQ,CAAC,UAAU,EAAE,iCAAiC,CAAC;KACvD,WAAW,CAAC,cAAc,CAAC;KAC3B,MAAM,CAAC,sBAAsB,EAAE,0BAA0B,EAAE,IAAI,CAAC;KAChE,MAAM,CAAC,2BAA2B,EAAE,0BAA0B,CAAC;KAC/D,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC;KACnD,MAAM,CAAC,SAAS,EAAE,+CAA+C,CAAC;KAClE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;IAC9E,MAAM,SAAS,GAAG,YAAY,CAAC,iBAAiB,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,YAAY,CAAC,kBAAkB,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC;IACnC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAEhD,0DAA0D;IAC1D,IAAI,SAAS,KAAK,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAC/C,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC/D,MAAM,UAAU,GAAG,OAAO,GAAG,GAAG,CAAC;QACjC,MAAM,
|
|
1
|
+
{"version":3,"file":"swap.js","sourceRoot":"","sources":["../../../src/commands/tokens/swap.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -11,6 +11,8 @@ export declare const env: {
|
|
|
11
11
|
walletPassword: () => string | undefined;
|
|
12
12
|
/** Optional: Override RPC URL */
|
|
13
13
|
rpcUrl: () => string | undefined;
|
|
14
|
+
/** Birdeye API key for additional token analytics */
|
|
15
|
+
birdeyeApiKey: () => string | undefined;
|
|
14
16
|
/** Use Helius Sender for ultra-low latency transaction submission */
|
|
15
17
|
useHeliusSender: () => boolean;
|
|
16
18
|
/** Home directory */
|
|
@@ -36,6 +38,8 @@ export declare const apis: {
|
|
|
36
38
|
jupiterTokenTop: string;
|
|
37
39
|
jupiterPrediction: string;
|
|
38
40
|
jupiterPerps: string;
|
|
41
|
+
jupiterRecurring: string;
|
|
42
|
+
jupiterTrigger: string;
|
|
39
43
|
solanaMainnet: string;
|
|
40
44
|
};
|
|
41
45
|
export declare const tokens: {
|
|
@@ -54,7 +58,6 @@ export declare const safety: {
|
|
|
54
58
|
/** Minimum SOL to keep in wallet for gas fees. Swaps selling SOL will be rejected if balance would drop below this. */
|
|
55
59
|
minSolReserve: number;
|
|
56
60
|
};
|
|
57
|
-
export declare const tokenDecimals: Record<string, number>;
|
|
58
61
|
export declare const perps: {
|
|
59
62
|
programId: string;
|
|
60
63
|
poolAccount: string;
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,eAAO,MAAM,GAAG;IACd,0EAA0E;;IAG1E,gFAAgF;;IAGhF,iCAAiC;;IAGjC,iCAAiC;;IAGjC,qEAAqE;;IAGrE,qBAAqB;;CAEtB,CAAC;AAMF,eAAO,MAAM,KAAK;IAChB,8BAA8B;;IAG9B,4BAA4B;;IAG5B,6BAA6B;;IAG7B,yBAAyB;;CAE1B,CAAC;AAMF,eAAO,MAAM,IAAI;wBAEK,MAAM;kCACI,MAAM,UAAU,MAAM
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,eAAO,MAAM,GAAG;IACd,0EAA0E;;IAG1E,gFAAgF;;IAGhF,iCAAiC;;IAGjC,iCAAiC;;IAGjC,qDAAqD;;IAGrD,qEAAqE;;IAGrE,qBAAqB;;CAEtB,CAAC;AAMF,eAAO,MAAM,KAAK;IAChB,8BAA8B;;IAG9B,4BAA4B;;IAG5B,6BAA6B;;IAG7B,yBAAyB;;CAE1B,CAAC;AAMF,eAAO,MAAM,IAAI;wBAEK,MAAM;kCACI,MAAM,UAAU,MAAM;;;;;;;;;;;CAgBrD,CAAC;AAMF,eAAO,MAAM,MAAM;;;;;;;;;;CAmBlB,CAAC;AAGF,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAUnD,CAAC;AAMF,eAAO,MAAM,MAAM;IACjB,uHAAuH;;CAExH,CAAC;AAmBF,eAAO,MAAM,KAAK;;;;;;;;;;CAWjB,CAAC;AAMF,eAAO,MAAM,SAAS;qBACH,MAAM;yBACF,MAAM;8BACD,MAAM;wBACZ,MAAM;;CAE3B,CAAC;AAMF,4EAA4E;AAC5E,wBAAgB,SAAS,IAAI,MAAM,CAQlC;AAED,sCAAsC;AACtC,wBAAgB,gBAAgB,IAAI,MAAM,CAMzC;AAED,uCAAuC;AACvC,wBAAgB,iBAAiB,IAAI,MAAM,CAM1C;AAED,uCAAuC;AACvC,wBAAgB,eAAe,IAAI,MAAM,CAMxC;AAED,oDAAoD;AACpD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAErE"}
|
package/dist/config.js
CHANGED
|
@@ -15,6 +15,8 @@ export const env = {
|
|
|
15
15
|
walletPassword: () => process.env.WALLET_PASSWORD,
|
|
16
16
|
/** Optional: Override RPC URL */
|
|
17
17
|
rpcUrl: () => process.env.RPC_URL,
|
|
18
|
+
/** Birdeye API key for additional token analytics */
|
|
19
|
+
birdeyeApiKey: () => process.env.BIRDEYE_API_KEY,
|
|
18
20
|
/** Use Helius Sender for ultra-low latency transaction submission */
|
|
19
21
|
useHeliusSender: () => process.env.USE_HELIUS_SENDER === 'true',
|
|
20
22
|
/** Home directory */
|
|
@@ -48,6 +50,8 @@ export const apis = {
|
|
|
48
50
|
jupiterTokenTop: 'https://api.jup.ag/tokens/v2/toporganicscore/24h',
|
|
49
51
|
jupiterPrediction: 'https://api.jup.ag/prediction/v1',
|
|
50
52
|
jupiterPerps: 'https://perps-api.jup.ag/v1',
|
|
53
|
+
jupiterRecurring: 'https://api.jup.ag/recurring/v1',
|
|
54
|
+
jupiterTrigger: 'https://api.jup.ag/trigger/v1',
|
|
51
55
|
// Solana public RPC (fallback)
|
|
52
56
|
solanaMainnet: 'https://api.mainnet-beta.solana.com',
|
|
53
57
|
};
|
|
@@ -90,7 +94,7 @@ export const safety = {
|
|
|
90
94
|
minSolReserve: 0.05,
|
|
91
95
|
};
|
|
92
96
|
// Token decimals cache
|
|
93
|
-
|
|
97
|
+
const tokenDecimals = {
|
|
94
98
|
[tokens.SOL]: 9,
|
|
95
99
|
[tokens.USDC]: 6,
|
|
96
100
|
[tokens.USDT]: 6,
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,+EAA+E;AAC/E,wBAAwB;AACxB,+EAA+E;AAE/E,MAAM,CAAC,MAAM,GAAG,GAAG;IACjB,0EAA0E;IAC1E,YAAY,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc;IAE9C,gFAAgF;IAChF,aAAa,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe;IAEhD,iCAAiC;IACjC,cAAc,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe;IAEjD,iCAAiC;IACjC,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO;IAEjC,qEAAqE;IACrE,eAAe,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,MAAM;IAE/D,qBAAqB;IACrB,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE;CACnC,CAAC;AAEF,+EAA+E;AAC/E,sBAAsB;AACtB,+EAA+E;AAE/E,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,8BAA8B;IAC9B,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,WAAW,CAAC;IAErD,4BAA4B;IAC5B,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,mBAAmB,CAAC;IAEzE,6BAA6B;IAC7B,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,uBAAuB,CAAC;IAEhF,yBAAyB;IACzB,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,oBAAoB,CAAC;CAC1E,CAAC;AAEF,+EAA+E;AAC/E,gBAAgB;AAChB,+EAA+E;AAE/E,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,SAAS;IACT,SAAS,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,2CAA2C,MAAM,EAAE;IAClF,kBAAkB,EAAE,CAAC,OAAe,EAAE,MAAc,EAAE,EAAE,CACtD,uCAAuC,OAAO,yBAAyB,MAAM,EAAE;IAEjF,UAAU;IACV,YAAY,EAAE,6BAA6B;IAC3C,YAAY,EAAE,mCAAmC;IACjD,kBAAkB,EAAE,qCAAqC;IACzD,eAAe,EAAE,kCAAkC;IACnD,eAAe,EAAE,kDAAkD;IACnE,iBAAiB,EAAE,kCAAkC;IACrD,YAAY,EAAE,6BAA6B;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/amounts.d.ts
CHANGED
|
@@ -17,22 +17,6 @@ export declare function toSmallestUnit(amount: number | string, decimals: number
|
|
|
17
17
|
* fromSmallestUnit('100000000', 6) = "100" (100 USDC)
|
|
18
18
|
*/
|
|
19
19
|
export declare function fromSmallestUnit(amount: string, decimals: number): string;
|
|
20
|
-
/**
|
|
21
|
-
* Safe multiplication for token amounts
|
|
22
|
-
*/
|
|
23
|
-
export declare function multiplyAmounts(amount1: string | number, amount2: string | number): string;
|
|
24
|
-
/**
|
|
25
|
-
* Safe division for token amounts
|
|
26
|
-
*/
|
|
27
|
-
export declare function divideAmounts(amount1: string | number, amount2: string | number): string;
|
|
28
|
-
/**
|
|
29
|
-
* Safe addition for token amounts
|
|
30
|
-
*/
|
|
31
|
-
export declare function addAmounts(amount1: string | number, amount2: string | number): string;
|
|
32
|
-
/**
|
|
33
|
-
* Safe subtraction for token amounts
|
|
34
|
-
*/
|
|
35
|
-
export declare function subtractAmounts(amount1: string | number, amount2: string | number): string;
|
|
36
20
|
/**
|
|
37
21
|
* Get token decimals from Helius or cache
|
|
38
22
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"amounts.d.ts","sourceRoot":"","sources":["../../src/utils/amounts.ts"],"names":[],"mappings":"AAGA;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAWhF;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAUzE;AAED;;GAEG;AACH,
|
|
1
|
+
{"version":3,"file":"amounts.d.ts","sourceRoot":"","sources":["../../src/utils/amounts.ts"],"names":[],"mappings":"AAGA;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAWhF;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAUzE;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAyC3E"}
|
package/dist/utils/amounts.js
CHANGED
|
@@ -40,38 +40,6 @@ export function fromSmallestUnit(amount, decimals) {
|
|
|
40
40
|
throw new Error(`Invalid amount for conversion: ${amount}`);
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
|
-
/**
|
|
44
|
-
* Safe multiplication for token amounts
|
|
45
|
-
*/
|
|
46
|
-
export function multiplyAmounts(amount1, amount2) {
|
|
47
|
-
const big1 = new Big(amount1);
|
|
48
|
-
const big2 = new Big(amount2);
|
|
49
|
-
return big1.times(big2).toFixed();
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Safe division for token amounts
|
|
53
|
-
*/
|
|
54
|
-
export function divideAmounts(amount1, amount2) {
|
|
55
|
-
const big1 = new Big(amount1);
|
|
56
|
-
const big2 = new Big(amount2);
|
|
57
|
-
return big1.div(big2).toFixed();
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Safe addition for token amounts
|
|
61
|
-
*/
|
|
62
|
-
export function addAmounts(amount1, amount2) {
|
|
63
|
-
const big1 = new Big(amount1);
|
|
64
|
-
const big2 = new Big(amount2);
|
|
65
|
-
return big1.plus(big2).toFixed();
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Safe subtraction for token amounts
|
|
69
|
-
*/
|
|
70
|
-
export function subtractAmounts(amount1, amount2) {
|
|
71
|
-
const big1 = new Big(amount1);
|
|
72
|
-
const big2 = new Big(amount2);
|
|
73
|
-
return big1.minus(big2).toFixed();
|
|
74
|
-
}
|
|
75
43
|
/**
|
|
76
44
|
* Get token decimals from Helius or cache
|
|
77
45
|
*/
|
|
@@ -104,10 +72,10 @@ export async function getTokenDecimals(mintAddress) {
|
|
|
104
72
|
return result.token_info.decimals;
|
|
105
73
|
}
|
|
106
74
|
}
|
|
107
|
-
catch
|
|
108
|
-
|
|
75
|
+
catch {
|
|
76
|
+
// Fall through to error
|
|
109
77
|
}
|
|
110
|
-
|
|
111
|
-
|
|
78
|
+
throw new Error(`Failed to fetch token decimals for ${mintAddress}. ` +
|
|
79
|
+
`Cannot proceed safely — incorrect decimals could cause wrong swap amounts.`);
|
|
112
80
|
}
|
|
113
81
|
//# sourceMappingURL=amounts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"amounts.js","sourceRoot":"","sources":["../../src/utils/amounts.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,QAAQ,CAAC;AACzB,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEpF;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAAC,MAAuB,EAAE,QAAgB;IACtE,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAE3C,0DAA0D;QAC1D,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,kCAAkC,MAAM,EAAE,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc,EAAE,QAAgB;IAC/D,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAEtC,OAAO,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,4CAA4C;IACvE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,kCAAkC,MAAM,EAAE,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,
|
|
1
|
+
{"version":3,"file":"amounts.js","sourceRoot":"","sources":["../../src/utils/amounts.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,QAAQ,CAAC;AACzB,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEpF;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAAC,MAAuB,EAAE,QAAgB;IACtE,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAE3C,0DAA0D;QAC1D,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,kCAAkC,MAAM,EAAE,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc,EAAE,QAAgB;IAC/D,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAEtC,OAAO,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,4CAA4C;IACvE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,kCAAkC,MAAM,EAAE,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,WAAmB;IACxD,MAAM,YAAY,GAAG,gBAAgB,EAAE,CAAC;IAExC,8BAA8B;IAC9B,IAAI,WAAW,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC;QAC/B,OAAO,CAAC,CAAC;IACX,CAAC;IAED,gCAAgC;IAChC,MAAM,MAAM,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;IACjD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,4BAA4B;IAC5B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACzC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,OAAO,EAAE,KAAK;gBACd,EAAE,EAAE,UAAU;gBACd,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE;aAC5B,CAAC;SACH,CAAC,CAAC;QAEH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAS,CAAC;QAEhD,IAAI,MAAM,EAAE,UAAU,EAAE,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC/C,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;QACpC,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,wBAAwB;IAC1B,CAAC;IAED,MAAM,IAAI,KAAK,CACb,sCAAsC,WAAW,IAAI;QACrD,4EAA4E,CAC7E,CAAC;AACJ,CAAC"}
|
package/dist/utils/helius.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
interface TokenBalance {
|
|
2
2
|
name: string;
|
|
3
3
|
symbol: string;
|
|
4
4
|
mint: string;
|
|
@@ -7,7 +7,7 @@ export interface TokenBalance {
|
|
|
7
7
|
valueUsd: number;
|
|
8
8
|
pricePerToken: number;
|
|
9
9
|
}
|
|
10
|
-
|
|
10
|
+
interface PortfolioData {
|
|
11
11
|
totalValueUsd: number;
|
|
12
12
|
tokens: TokenBalance[];
|
|
13
13
|
}
|
|
@@ -15,25 +15,5 @@ export interface PortfolioData {
|
|
|
15
15
|
* Fetch portfolio using Helius DAS API
|
|
16
16
|
*/
|
|
17
17
|
export declare function getPortfolio(address: string): Promise<PortfolioData>;
|
|
18
|
-
|
|
19
|
-
* Get transaction history for PnL calculation
|
|
20
|
-
*/
|
|
21
|
-
export declare function getTransactionHistory(address: string, mint?: string): Promise<any[]>;
|
|
22
|
-
/**
|
|
23
|
-
* Calculate PnL for a specific token
|
|
24
|
-
*/
|
|
25
|
-
export declare function calculatePnL(address: string, mint: string): Promise<{
|
|
26
|
-
mint: string;
|
|
27
|
-
totalBought: number;
|
|
28
|
-
totalSold: number;
|
|
29
|
-
currentHolding: number;
|
|
30
|
-
costBasis: number;
|
|
31
|
-
avgPurchasePrice: number;
|
|
32
|
-
currentPrice: number;
|
|
33
|
-
priceChange: number;
|
|
34
|
-
currentValue: number;
|
|
35
|
-
realizedPnL: number;
|
|
36
|
-
unrealizedPnL: number;
|
|
37
|
-
totalPnL: number;
|
|
38
|
-
}>;
|
|
18
|
+
export {};
|
|
39
19
|
//# sourceMappingURL=helius.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helius.d.ts","sourceRoot":"","sources":["../../src/utils/helius.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"helius.d.ts","sourceRoot":"","sources":["../../src/utils/helius.ts"],"names":[],"mappings":"AAEA,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,UAAU,aAAa;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,YAAY,EAAE,CAAC;CACxB;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CA+I1E"}
|