@palmyr/cli 1.3.0 → 1.3.1
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 +25 -24
- package/dist/cli.js.map +1 -1
- package/dist/wallet-brief-llm.js +5 -3
- package/dist/wallet-brief-llm.js.map +1 -1
- package/dist/wallet-daemon.js +7 -3
- package/dist/wallet-daemon.js.map +1 -1
- package/dist/wallet-trading.d.ts +48 -44
- package/dist/wallet-trading.js +64 -68
- package/dist/wallet-trading.js.map +1 -1
- package/package.json +1 -1
package/dist/wallet-brief-llm.js
CHANGED
|
@@ -40,9 +40,11 @@ function buildPrompt(p) {
|
|
|
40
40
|
p.exitPlan.timeLimit ? `timeLimit=${p.exitPlan.timeLimit}` : null,
|
|
41
41
|
p.exitPlan.holdIf ? `holdIf=${p.exitPlan.holdIf}` : null,
|
|
42
42
|
].filter(Boolean).join(' | ') || 'none';
|
|
43
|
-
//
|
|
44
|
-
|
|
45
|
-
|
|
43
|
+
// Read canonical asset-tagged PnL — the field reflects what the position
|
|
44
|
+
// was actually funded in (USDC for USDC-funded positions, not the chain's
|
|
45
|
+
// native asset).
|
|
46
|
+
const realized = p.pnl.realized?.amount ?? 0;
|
|
47
|
+
const unit = p.pnl.realized?.asset ?? (p.chain === 'solana' ? 'SOL' : 'ETH');
|
|
46
48
|
return `You are reviewing a ${p.chain === 'base' ? 'Base' : 'Solana'} trading position. The trader entered with this plain-string thesis:
|
|
47
49
|
|
|
48
50
|
THESIS: ${p.thesis}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet-brief-llm.js","sourceRoot":"","sources":["../wallet-brief-llm.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"wallet-brief-llm.js","sourceRoot":"","sources":["../wallet-brief-llm.ts"],"names":[],"mappings":"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"}
|
package/dist/wallet-daemon.js
CHANGED
|
@@ -54,9 +54,13 @@ export function formatTriggerReason(fire) {
|
|
|
54
54
|
return `auto: timeLimit fired; selling 100%`;
|
|
55
55
|
}
|
|
56
56
|
case 'trailingStop': {
|
|
57
|
-
const
|
|
58
|
-
|
|
59
|
-
|
|
57
|
+
const allowedDrop = fire.thresholdPct !== undefined ? `${fire.thresholdPct.toFixed(2)}%` : '?%';
|
|
58
|
+
if (fire.peakPct !== undefined) {
|
|
59
|
+
const drawdown = (fire.peakPct - fire.currentPct).toFixed(2);
|
|
60
|
+
const peakSigned = `${fire.peakPct >= 0 ? '+' : ''}${fire.peakPct.toFixed(2)}%`;
|
|
61
|
+
return `auto: trailingStop fired: drop ${drawdown}% from peak ${peakSigned} > ${allowedDrop} allowed; selling 100%`;
|
|
62
|
+
}
|
|
63
|
+
return `auto: trailingStop fired at ${pct}; drop allowed ${allowedDrop}; selling 100%`;
|
|
60
64
|
}
|
|
61
65
|
case 'thesis_falsified': {
|
|
62
66
|
const verdict = fire.llmVerdict ?? 'no';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet-daemon.js","sourceRoot":"","sources":["../wallet-daemon.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"wallet-daemon.js","sourceRoot":"","sources":["../wallet-daemon.ts"],"names":[],"mappings":"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"}
|
package/dist/wallet-trading.d.ts
CHANGED
|
@@ -96,36 +96,41 @@ export interface SolanaSell {
|
|
|
96
96
|
time: string;
|
|
97
97
|
tokensIn: string;
|
|
98
98
|
tokensInRaw: string;
|
|
99
|
-
/** Display string. Holds "0.300000 SOL" for native sells, "5.00 USDC" for USDC sells. */
|
|
100
|
-
solOut: string;
|
|
101
|
-
/** Raw output. Lamports for SOL exits, 6-dec raw for USDC exits. Both fit JS Number for realistic sizes. */
|
|
102
|
-
solOutRaw: number;
|
|
103
99
|
percentRequested: number;
|
|
104
|
-
/** Realized PnL in the position's `inputAsset` (SOL or USDC). Field name kept for back-compat. */
|
|
105
|
-
realizedSol: number;
|
|
106
100
|
reason: string;
|
|
107
101
|
feeLamports?: number;
|
|
108
102
|
tipLamports?: number;
|
|
109
103
|
slippageBpsUsed?: number;
|
|
110
104
|
protectedExec?: boolean;
|
|
111
105
|
forensics?: FillForensics;
|
|
112
|
-
/**
|
|
113
|
-
outputAsset
|
|
114
|
-
/** Realized output (asset-tagged).
|
|
115
|
-
output
|
|
116
|
-
/** Realized PnL for this sell (asset-tagged).
|
|
117
|
-
realized
|
|
106
|
+
/** Asset this sell exited to (mirrors entry.inputAsset). */
|
|
107
|
+
outputAsset: SolanaInputAsset;
|
|
108
|
+
/** Realized output (asset-tagged). Holds USDC values on USDC exits — name no longer chain-typed. */
|
|
109
|
+
output: AssetAmount;
|
|
110
|
+
/** Realized PnL for this sell (asset-tagged). */
|
|
111
|
+
realized: AssetPnl;
|
|
112
|
+
/**
|
|
113
|
+
* @deprecated Read `output.display` / `output.raw` / `realized.amount` instead.
|
|
114
|
+
* Optional only so legacy position files on disk (pre-canonical) still parse;
|
|
115
|
+
* new sells no longer set these.
|
|
116
|
+
*/
|
|
117
|
+
solOut?: string;
|
|
118
|
+
/** @deprecated Use `output.raw`. */
|
|
119
|
+
solOutRaw?: number;
|
|
120
|
+
/** @deprecated Use `realized.amount`. */
|
|
121
|
+
realizedSol?: number;
|
|
118
122
|
}
|
|
119
123
|
export interface SolanaPnl {
|
|
120
|
-
/** Realized PnL in the position's input asset (SOL or USDC). Field name kept for back-compat with legacy SOL positions. */
|
|
121
|
-
realizedSol: number;
|
|
122
|
-
unrealizedSol: number;
|
|
123
124
|
unrealizedPct: number;
|
|
124
125
|
lastPricedAt: string | null;
|
|
125
126
|
/** Realized PnL across all sells (asset-tagged). */
|
|
126
|
-
realized
|
|
127
|
+
realized: AssetPnl;
|
|
127
128
|
/** Mark-to-market unrealized PnL (asset-tagged). */
|
|
128
|
-
unrealized
|
|
129
|
+
unrealized: AssetPnl;
|
|
130
|
+
/** @deprecated Use `realized.amount`. */
|
|
131
|
+
realizedSol?: number;
|
|
132
|
+
/** @deprecated Use `unrealized.amount`. */
|
|
133
|
+
unrealizedSol?: number;
|
|
129
134
|
}
|
|
130
135
|
export interface SolanaPositionFile {
|
|
131
136
|
chain: 'solana';
|
|
@@ -167,35 +172,40 @@ export interface BaseSell {
|
|
|
167
172
|
time: string;
|
|
168
173
|
tokensIn: string;
|
|
169
174
|
tokensInRaw: string;
|
|
170
|
-
/** Display string: "0.005000 ETH" or "5.00 USDC". Field name kept for back-compat. */
|
|
171
|
-
ethOut: string;
|
|
172
|
-
/** Raw output. Wei for ETH exits, 6-dec raw for USDC exits. Both kept as string for u256 safety. */
|
|
173
|
-
ethOutRawWei: string;
|
|
174
175
|
percentRequested: number;
|
|
175
|
-
/** Realized PnL in the position's input asset (ETH or USDC). Field name kept for back-compat. */
|
|
176
|
-
realizedEth: number;
|
|
177
176
|
reason: string;
|
|
178
177
|
feeWei?: string;
|
|
179
178
|
slippageBpsUsed?: number;
|
|
180
179
|
protectedExec?: boolean;
|
|
181
180
|
forensics?: FillForensics;
|
|
182
|
-
/**
|
|
183
|
-
outputAsset
|
|
184
|
-
/** Realized output (asset-tagged).
|
|
185
|
-
output
|
|
186
|
-
/** Realized PnL for this sell (asset-tagged).
|
|
187
|
-
realized
|
|
181
|
+
/** Asset this sell exited to (mirrors entry.inputAsset). */
|
|
182
|
+
outputAsset: BaseInputAsset;
|
|
183
|
+
/** Realized output (asset-tagged). Holds USDC values on USDC exits — name no longer chain-typed. */
|
|
184
|
+
output: AssetAmount;
|
|
185
|
+
/** Realized PnL for this sell (asset-tagged). */
|
|
186
|
+
realized: AssetPnl;
|
|
187
|
+
/**
|
|
188
|
+
* @deprecated Read `output.display` / `output.raw` / `realized.amount` instead.
|
|
189
|
+
* Optional only so legacy position files on disk (pre-canonical) still parse;
|
|
190
|
+
* new sells no longer set these.
|
|
191
|
+
*/
|
|
192
|
+
ethOut?: string;
|
|
193
|
+
/** @deprecated Use `output.raw`. */
|
|
194
|
+
ethOutRawWei?: string;
|
|
195
|
+
/** @deprecated Use `realized.amount`. */
|
|
196
|
+
realizedEth?: number;
|
|
188
197
|
}
|
|
189
198
|
export interface BasePnl {
|
|
190
|
-
/** Realized PnL in the position's input asset (ETH or USDC). Field name kept for back-compat. */
|
|
191
|
-
realizedEth: number;
|
|
192
|
-
unrealizedEth: number;
|
|
193
199
|
unrealizedPct: number;
|
|
194
200
|
lastPricedAt: string | null;
|
|
195
201
|
/** Realized PnL across all sells (asset-tagged). */
|
|
196
|
-
realized
|
|
202
|
+
realized: AssetPnl;
|
|
197
203
|
/** Mark-to-market unrealized PnL (asset-tagged). */
|
|
198
|
-
unrealized
|
|
204
|
+
unrealized: AssetPnl;
|
|
205
|
+
/** @deprecated Use `realized.amount`. */
|
|
206
|
+
realizedEth?: number;
|
|
207
|
+
/** @deprecated Use `unrealized.amount`. */
|
|
208
|
+
unrealizedEth?: number;
|
|
199
209
|
}
|
|
200
210
|
export interface BasePositionFile {
|
|
201
211
|
chain: 'base';
|
|
@@ -497,9 +507,6 @@ export interface SellBaseResult {
|
|
|
497
507
|
txHash: string;
|
|
498
508
|
tokensIn: string;
|
|
499
509
|
tokensInRaw: string;
|
|
500
|
-
ethOut: string;
|
|
501
|
-
ethOutRawWei: string;
|
|
502
|
-
realizedEth: number;
|
|
503
510
|
positionStatus: 'open' | 'closed';
|
|
504
511
|
wallet: string;
|
|
505
512
|
mint: string;
|
|
@@ -519,9 +526,9 @@ export interface SellBaseResult {
|
|
|
519
526
|
* on partial sells of a drifted position.
|
|
520
527
|
*/
|
|
521
528
|
reconcileDriftRaw?: string;
|
|
522
|
-
/** Canonical, asset-tagged output.
|
|
529
|
+
/** Canonical, asset-tagged output. */
|
|
523
530
|
output: AssetAmount;
|
|
524
|
-
/** Canonical, asset-tagged realized PnL for this sell.
|
|
531
|
+
/** Canonical, asset-tagged realized PnL for this sell. */
|
|
525
532
|
realized: AssetPnl;
|
|
526
533
|
}
|
|
527
534
|
export declare function sellBase(opts: SellBaseOpts): Promise<SellBaseResult>;
|
|
@@ -607,9 +614,6 @@ export interface SellResult {
|
|
|
607
614
|
txSignature: string;
|
|
608
615
|
tokensIn: string;
|
|
609
616
|
tokensInRaw: string;
|
|
610
|
-
solOut: string;
|
|
611
|
-
solOutRaw: number;
|
|
612
|
-
realizedSol: number;
|
|
613
617
|
positionStatus: 'open' | 'closed';
|
|
614
618
|
wallet: string;
|
|
615
619
|
mint: string;
|
|
@@ -622,9 +626,9 @@ export interface SellResult {
|
|
|
622
626
|
slippageSource: 'user' | 'dexscreener' | 'fallback';
|
|
623
627
|
protectedExec: boolean;
|
|
624
628
|
forensics?: FillForensics;
|
|
625
|
-
/** Canonical, asset-tagged output.
|
|
629
|
+
/** Canonical, asset-tagged output. */
|
|
626
630
|
output: AssetAmount;
|
|
627
|
-
/** Canonical, asset-tagged realized PnL for this sell.
|
|
631
|
+
/** Canonical, asset-tagged realized PnL for this sell. */
|
|
628
632
|
realized: AssetPnl;
|
|
629
633
|
}
|
|
630
634
|
export declare function sell(opts: SellOpts): Promise<SellResult>;
|
package/dist/wallet-trading.js
CHANGED
|
@@ -194,28 +194,37 @@ export function normalizePosition(p) {
|
|
|
194
194
|
}
|
|
195
195
|
for (const s of p.sells) {
|
|
196
196
|
if (!s.outputAsset)
|
|
197
|
-
s.outputAsset = p.entry.inputAsset;
|
|
198
|
-
// Back-fill canonical fields
|
|
199
|
-
//
|
|
200
|
-
|
|
201
|
-
|
|
197
|
+
s.outputAsset = p.entry.inputAsset ?? 'SOL';
|
|
198
|
+
// Back-fill canonical fields from legacy `solOut*` / `realizedSol` if the
|
|
199
|
+
// file pre-dates the canonical schema, then strip the legacy fields so
|
|
200
|
+
// they don't get re-emitted on the next write.
|
|
201
|
+
if (!s.output && s.solOutRaw !== undefined && s.solOut !== undefined) {
|
|
202
202
|
s.output = {
|
|
203
|
-
asset:
|
|
203
|
+
asset: s.outputAsset,
|
|
204
204
|
raw: String(s.solOutRaw),
|
|
205
205
|
display: s.solOut,
|
|
206
206
|
};
|
|
207
207
|
}
|
|
208
|
-
if (!s.realized) {
|
|
209
|
-
s.realized = { asset: s.outputAsset
|
|
208
|
+
if (!s.realized && s.realizedSol !== undefined) {
|
|
209
|
+
s.realized = { asset: s.outputAsset, amount: s.realizedSol };
|
|
210
210
|
}
|
|
211
|
+
delete s.solOut;
|
|
212
|
+
delete s.solOutRaw;
|
|
213
|
+
delete s.realizedSol;
|
|
211
214
|
}
|
|
212
|
-
|
|
213
|
-
if (!p.pnl.realized) {
|
|
215
|
+
if (!p.pnl.realized && p.pnl.realizedSol !== undefined) {
|
|
214
216
|
p.pnl.realized = { asset: p.entry.inputAsset, amount: p.pnl.realizedSol };
|
|
215
217
|
}
|
|
216
|
-
if (!p.pnl.unrealized) {
|
|
218
|
+
if (!p.pnl.unrealized && p.pnl.unrealizedSol !== undefined) {
|
|
217
219
|
p.pnl.unrealized = { asset: p.entry.inputAsset, amount: p.pnl.unrealizedSol };
|
|
218
220
|
}
|
|
221
|
+
// Guarantee canonical pnl shape exists for downstream readers.
|
|
222
|
+
if (!p.pnl.realized)
|
|
223
|
+
p.pnl.realized = { asset: p.entry.inputAsset, amount: 0 };
|
|
224
|
+
if (!p.pnl.unrealized)
|
|
225
|
+
p.pnl.unrealized = { asset: p.entry.inputAsset, amount: 0 };
|
|
226
|
+
delete p.pnl.realizedSol;
|
|
227
|
+
delete p.pnl.unrealizedSol;
|
|
219
228
|
}
|
|
220
229
|
else {
|
|
221
230
|
if (!p.entry.inputAsset)
|
|
@@ -227,24 +236,33 @@ export function normalizePosition(p) {
|
|
|
227
236
|
}
|
|
228
237
|
for (const s of p.sells) {
|
|
229
238
|
if (!s.outputAsset)
|
|
230
|
-
s.outputAsset = p.entry.inputAsset;
|
|
231
|
-
if (!s.output) {
|
|
239
|
+
s.outputAsset = p.entry.inputAsset ?? 'ETH';
|
|
240
|
+
if (!s.output && s.ethOutRawWei !== undefined && s.ethOut !== undefined) {
|
|
232
241
|
s.output = {
|
|
233
|
-
asset: s.outputAsset
|
|
242
|
+
asset: s.outputAsset,
|
|
234
243
|
raw: s.ethOutRawWei,
|
|
235
244
|
display: s.ethOut,
|
|
236
245
|
};
|
|
237
246
|
}
|
|
238
|
-
if (!s.realized) {
|
|
239
|
-
s.realized = { asset: s.outputAsset
|
|
247
|
+
if (!s.realized && s.realizedEth !== undefined) {
|
|
248
|
+
s.realized = { asset: s.outputAsset, amount: s.realizedEth };
|
|
240
249
|
}
|
|
250
|
+
delete s.ethOut;
|
|
251
|
+
delete s.ethOutRawWei;
|
|
252
|
+
delete s.realizedEth;
|
|
241
253
|
}
|
|
242
|
-
if (!p.pnl.realized) {
|
|
254
|
+
if (!p.pnl.realized && p.pnl.realizedEth !== undefined) {
|
|
243
255
|
p.pnl.realized = { asset: p.entry.inputAsset, amount: p.pnl.realizedEth };
|
|
244
256
|
}
|
|
245
|
-
if (!p.pnl.unrealized) {
|
|
257
|
+
if (!p.pnl.unrealized && p.pnl.unrealizedEth !== undefined) {
|
|
246
258
|
p.pnl.unrealized = { asset: p.entry.inputAsset, amount: p.pnl.unrealizedEth };
|
|
247
259
|
}
|
|
260
|
+
if (!p.pnl.realized)
|
|
261
|
+
p.pnl.realized = { asset: p.entry.inputAsset, amount: 0 };
|
|
262
|
+
if (!p.pnl.unrealized)
|
|
263
|
+
p.pnl.unrealized = { asset: p.entry.inputAsset, amount: 0 };
|
|
264
|
+
delete p.pnl.realizedEth;
|
|
265
|
+
delete p.pnl.unrealizedEth;
|
|
248
266
|
}
|
|
249
267
|
return p;
|
|
250
268
|
}
|
|
@@ -857,8 +875,6 @@ export async function buyBase(opts) {
|
|
|
857
875
|
riskFlags: opts.riskFlags ?? [],
|
|
858
876
|
sells: [],
|
|
859
877
|
pnl: {
|
|
860
|
-
realizedEth: 0,
|
|
861
|
-
unrealizedEth: 0,
|
|
862
878
|
unrealizedPct: 0,
|
|
863
879
|
lastPricedAt: null,
|
|
864
880
|
realized: { asset: inputAsset, amount: 0 },
|
|
@@ -994,7 +1010,7 @@ export async function sellBase(opts) {
|
|
|
994
1010
|
// Entry cost = entry amount + gas fee (ETH-only — fee was paid in ETH at swap time;
|
|
995
1011
|
// for USDC entries we treat gas as small and ignore it in the USDC accounting).
|
|
996
1012
|
const entryRawStr = position.entry.amountInRaw ?? position.entry.amountInRawWei;
|
|
997
|
-
let
|
|
1013
|
+
let realizedAmount;
|
|
998
1014
|
const inputAsset = position.entry.inputAsset ?? 'ETH';
|
|
999
1015
|
if (inputAsset === 'ETH' && outputAsset === 'ETH') {
|
|
1000
1016
|
const entryAmountWei = BigInt(entryRawStr);
|
|
@@ -1004,18 +1020,18 @@ export async function sellBase(opts) {
|
|
|
1004
1020
|
const sellFeeWei = BigInt(swap.feeWei);
|
|
1005
1021
|
const proceedsNetWei = BigInt(outRaw) - sellFeeWei;
|
|
1006
1022
|
const realizedWei = proceedsNetWei - costWei;
|
|
1007
|
-
|
|
1023
|
+
realizedAmount = Number(realizedWei) / 1e18;
|
|
1008
1024
|
}
|
|
1009
1025
|
else if (inputAsset === 'USDC' && outputAsset === 'USDC') {
|
|
1010
1026
|
// USDC in, USDC out — fees were ETH but we don't subtract them from USDC PnL.
|
|
1011
1027
|
const entryUsdc = BigInt(entryRawStr);
|
|
1012
1028
|
const costUsdc = (entryUsdc * tokensToSellRaw) / totalRaw;
|
|
1013
1029
|
const realized6 = BigInt(outRaw) - costUsdc;
|
|
1014
|
-
|
|
1030
|
+
realizedAmount = Number(realized6) / 1e6;
|
|
1015
1031
|
}
|
|
1016
1032
|
else {
|
|
1017
|
-
// Mixed in/out (rare — shouldn't happen with symmetric exit). Best-effort
|
|
1018
|
-
|
|
1033
|
+
// Mixed in/out (rare — shouldn't happen with symmetric exit). Best-effort.
|
|
1034
|
+
realizedAmount = 0;
|
|
1019
1035
|
}
|
|
1020
1036
|
const nowIso = new Date().toISOString();
|
|
1021
1037
|
position.sells.push({
|
|
@@ -1023,32 +1039,25 @@ export async function sellBase(opts) {
|
|
|
1023
1039
|
time: nowIso,
|
|
1024
1040
|
tokensIn: tokensInDisplay,
|
|
1025
1041
|
tokensInRaw: tokensToSellRaw.toString(),
|
|
1026
|
-
ethOut: outDisplay,
|
|
1027
|
-
ethOutRawWei: outRaw,
|
|
1028
1042
|
percentRequested: opts.percent,
|
|
1029
|
-
realizedEth,
|
|
1030
1043
|
reason: opts.reason.trim(),
|
|
1031
1044
|
feeWei: swap.feeWei,
|
|
1032
1045
|
slippageBpsUsed: slippageBps,
|
|
1033
1046
|
protectedExec: !!opts.protectedExec,
|
|
1034
1047
|
outputAsset,
|
|
1035
|
-
// Canonical, asset-tagged accounting — preferred over legacy `ethOut*` fields.
|
|
1036
1048
|
output: { asset: outputAsset, raw: outRaw, display: outDisplay },
|
|
1037
|
-
realized: { asset: outputAsset, amount:
|
|
1049
|
+
realized: { asset: outputAsset, amount: realizedAmount },
|
|
1038
1050
|
});
|
|
1039
|
-
|
|
1040
|
-
position.pnl.realized = { asset: position.entry.inputAsset ?? 'ETH', amount:
|
|
1051
|
+
const totalRealized = position.sells.reduce((a, s) => a + (s.realized?.amount ?? 0), 0);
|
|
1052
|
+
position.pnl.realized = { asset: position.entry.inputAsset ?? 'ETH', amount: totalRealized };
|
|
1041
1053
|
// Position closes when (a) the user explicitly sold 100% — even if the
|
|
1042
1054
|
// on-chain balance was less than the book amount due to drift — or (b) the
|
|
1043
|
-
// sum of recorded sells exceeds the book entry amount.
|
|
1044
|
-
// status='closed', and we account for any drift between book and chain so
|
|
1045
|
-
// partial sells of a drifted balance still close correctly when fully exited.
|
|
1055
|
+
// sum of recorded sells exceeds the book entry amount.
|
|
1046
1056
|
const newSoldRaw = soldRaw + tokensToSellRaw;
|
|
1047
1057
|
const fullyExited = opts.percent >= 100 ||
|
|
1048
1058
|
newSoldRaw + reconcileDriftRaw >= totalRaw;
|
|
1049
1059
|
if (fullyExited) {
|
|
1050
1060
|
position.status = 'closed';
|
|
1051
|
-
position.pnl.unrealizedEth = 0;
|
|
1052
1061
|
position.pnl.unrealizedPct = 0;
|
|
1053
1062
|
position.pnl.unrealized = { asset: position.entry.inputAsset ?? 'ETH', amount: 0 };
|
|
1054
1063
|
}
|
|
@@ -1063,9 +1072,6 @@ export async function sellBase(opts) {
|
|
|
1063
1072
|
txHash: swap.txHash,
|
|
1064
1073
|
tokensIn: tokensInDisplay,
|
|
1065
1074
|
tokensInRaw: tokensToSellRaw.toString(),
|
|
1066
|
-
ethOut: outDisplay,
|
|
1067
|
-
ethOutRawWei: outRaw,
|
|
1068
|
-
realizedEth,
|
|
1069
1075
|
positionStatus: position.status,
|
|
1070
1076
|
wallet: signer.address,
|
|
1071
1077
|
mint: opts.ca,
|
|
@@ -1078,7 +1084,7 @@ export async function sellBase(opts) {
|
|
|
1078
1084
|
outputAsset,
|
|
1079
1085
|
reconcileDriftRaw: reconcileDriftRaw === 0n ? undefined : reconcileDriftRaw.toString(),
|
|
1080
1086
|
output: { asset: outputAsset, raw: outRaw, display: outDisplay },
|
|
1081
|
-
realized: { asset: outputAsset, amount:
|
|
1087
|
+
realized: { asset: outputAsset, amount: realizedAmount },
|
|
1082
1088
|
};
|
|
1083
1089
|
}
|
|
1084
1090
|
export async function syncBase(opts = {}) {
|
|
@@ -1134,7 +1140,6 @@ export async function syncBase(opts = {}) {
|
|
|
1134
1140
|
unrealizedPct = remainingCost > 0n
|
|
1135
1141
|
? (Number(diff) / Number(remainingCost)) * 100
|
|
1136
1142
|
: 0;
|
|
1137
|
-
p.pnl.unrealizedEth = unrealizedEth;
|
|
1138
1143
|
p.pnl.unrealizedPct = unrealizedPct;
|
|
1139
1144
|
p.pnl.lastPricedAt = nowIso;
|
|
1140
1145
|
p.pnl.unrealized = { asset: p.entry.inputAsset ?? 'ETH', amount: unrealizedEth };
|
|
@@ -1144,7 +1149,6 @@ export async function syncBase(opts = {}) {
|
|
|
1144
1149
|
}
|
|
1145
1150
|
}
|
|
1146
1151
|
else {
|
|
1147
|
-
p.pnl.unrealizedEth = 0;
|
|
1148
1152
|
p.pnl.unrealizedPct = 0;
|
|
1149
1153
|
p.pnl.unrealized = { asset: p.entry.inputAsset ?? 'ETH', amount: 0 };
|
|
1150
1154
|
}
|
|
@@ -1303,8 +1307,6 @@ export async function buy(opts) {
|
|
|
1303
1307
|
riskFlags: opts.riskFlags ?? [],
|
|
1304
1308
|
sells: [],
|
|
1305
1309
|
pnl: {
|
|
1306
|
-
realizedSol: 0,
|
|
1307
|
-
unrealizedSol: 0,
|
|
1308
1310
|
unrealizedPct: 0,
|
|
1309
1311
|
lastPricedAt: null,
|
|
1310
1312
|
realized: { asset: inputAsset, amount: 0 },
|
|
@@ -1468,10 +1470,7 @@ export async function sell(opts) {
|
|
|
1468
1470
|
time: nowIso,
|
|
1469
1471
|
tokensIn: tokensInDisplay,
|
|
1470
1472
|
tokensInRaw: tokensToSellRaw.toString(),
|
|
1471
|
-
solOut: solOutDisplay,
|
|
1472
|
-
solOutRaw,
|
|
1473
1473
|
percentRequested: opts.percent,
|
|
1474
|
-
realizedSol,
|
|
1475
1474
|
reason: opts.reason.trim(),
|
|
1476
1475
|
feeLamports,
|
|
1477
1476
|
tipLamports,
|
|
@@ -1479,16 +1478,14 @@ export async function sell(opts) {
|
|
|
1479
1478
|
protectedExec: !!opts.protectedExec,
|
|
1480
1479
|
forensics,
|
|
1481
1480
|
outputAsset,
|
|
1482
|
-
// Canonical, asset-tagged accounting — preferred over legacy `solOut*` fields.
|
|
1483
1481
|
output: { asset: outputAsset, raw: String(solOutRaw), display: solOutDisplay },
|
|
1484
1482
|
realized: { asset: outputAsset, amount: realizedSol },
|
|
1485
1483
|
});
|
|
1486
|
-
|
|
1487
|
-
position.pnl.realized = { asset: position.entry.inputAsset ?? 'SOL', amount:
|
|
1484
|
+
const totalRealized = position.sells.reduce((a, s) => a + (s.realized?.amount ?? 0), 0);
|
|
1485
|
+
position.pnl.realized = { asset: position.entry.inputAsset ?? 'SOL', amount: totalRealized };
|
|
1488
1486
|
const newSoldRaw = soldRaw + tokensToSellRaw;
|
|
1489
1487
|
if (newSoldRaw >= totalRaw) {
|
|
1490
1488
|
position.status = 'closed';
|
|
1491
|
-
position.pnl.unrealizedSol = 0;
|
|
1492
1489
|
position.pnl.unrealizedPct = 0;
|
|
1493
1490
|
position.pnl.unrealized = { asset: position.entry.inputAsset ?? 'SOL', amount: 0 };
|
|
1494
1491
|
}
|
|
@@ -1521,9 +1518,6 @@ export async function sell(opts) {
|
|
|
1521
1518
|
txSignature: swap.txSignature,
|
|
1522
1519
|
tokensIn: tokensInDisplay,
|
|
1523
1520
|
tokensInRaw: tokensToSellRaw.toString(),
|
|
1524
|
-
solOut: solOutDisplay,
|
|
1525
|
-
solOutRaw,
|
|
1526
|
-
realizedSol,
|
|
1527
1521
|
positionStatus: position.status,
|
|
1528
1522
|
wallet: signer.address,
|
|
1529
1523
|
mint: opts.ca,
|
|
@@ -1594,7 +1588,6 @@ export async function sync(opts = {}) {
|
|
|
1594
1588
|
unrealizedSol = usdcOut - remCost; // field name kept; holds USDC realized for USDC positions
|
|
1595
1589
|
unrealizedPct = remCost > 0 ? (unrealizedSol / remCost) * 100 : 0;
|
|
1596
1590
|
}
|
|
1597
|
-
p.pnl.unrealizedSol = unrealizedSol;
|
|
1598
1591
|
p.pnl.unrealizedPct = unrealizedPct;
|
|
1599
1592
|
p.pnl.lastPricedAt = nowIso;
|
|
1600
1593
|
p.pnl.unrealized = { asset: p.entry.inputAsset ?? 'SOL', amount: unrealizedSol };
|
|
@@ -1604,7 +1597,6 @@ export async function sync(opts = {}) {
|
|
|
1604
1597
|
}
|
|
1605
1598
|
}
|
|
1606
1599
|
else {
|
|
1607
|
-
p.pnl.unrealizedSol = 0;
|
|
1608
1600
|
p.pnl.unrealizedPct = 0;
|
|
1609
1601
|
p.pnl.unrealized = { asset: p.entry.inputAsset ?? 'SOL', amount: 0 };
|
|
1610
1602
|
}
|
|
@@ -1793,27 +1785,31 @@ export async function computePnl(opts = {}) {
|
|
|
1793
1785
|
let usdcRealized = 0, usdcUnrealized = 0, usdcCount = 0;
|
|
1794
1786
|
for (const p of solanaPositions) {
|
|
1795
1787
|
const asset = p.entry.inputAsset ?? 'SOL';
|
|
1788
|
+
const realized = p.pnl.realized?.amount ?? 0;
|
|
1789
|
+
const unrealized = p.pnl.unrealized?.amount ?? 0;
|
|
1796
1790
|
if (asset === 'USDC') {
|
|
1797
|
-
usdcRealized +=
|
|
1798
|
-
usdcUnrealized +=
|
|
1791
|
+
usdcRealized += realized;
|
|
1792
|
+
usdcUnrealized += unrealized;
|
|
1799
1793
|
usdcCount += 1;
|
|
1800
1794
|
}
|
|
1801
1795
|
else {
|
|
1802
|
-
solRealized +=
|
|
1803
|
-
solUnrealized +=
|
|
1796
|
+
solRealized += realized;
|
|
1797
|
+
solUnrealized += unrealized;
|
|
1804
1798
|
solCount += 1;
|
|
1805
1799
|
}
|
|
1806
1800
|
}
|
|
1807
1801
|
for (const p of basePositions) {
|
|
1808
1802
|
const asset = p.entry.inputAsset ?? 'ETH';
|
|
1803
|
+
const realized = p.pnl.realized?.amount ?? 0;
|
|
1804
|
+
const unrealized = p.pnl.unrealized?.amount ?? 0;
|
|
1809
1805
|
if (asset === 'USDC') {
|
|
1810
|
-
usdcRealized +=
|
|
1811
|
-
usdcUnrealized +=
|
|
1806
|
+
usdcRealized += realized;
|
|
1807
|
+
usdcUnrealized += unrealized;
|
|
1812
1808
|
usdcCount += 1;
|
|
1813
1809
|
}
|
|
1814
1810
|
else {
|
|
1815
|
-
ethRealized +=
|
|
1816
|
-
ethUnrealized +=
|
|
1811
|
+
ethRealized += realized;
|
|
1812
|
+
ethUnrealized += unrealized;
|
|
1817
1813
|
ethCount += 1;
|
|
1818
1814
|
}
|
|
1819
1815
|
}
|
|
@@ -1863,8 +1859,8 @@ export async function computePnl(opts = {}) {
|
|
|
1863
1859
|
entry = { key: displayKey, realized: 0, unrealized: 0, count: 0, unit: asset, chain: 'solana' };
|
|
1864
1860
|
map.set(key, entry);
|
|
1865
1861
|
}
|
|
1866
|
-
entry.realized += p.pnl.
|
|
1867
|
-
entry.unrealized += p.pnl.
|
|
1862
|
+
entry.realized += p.pnl.realized?.amount ?? 0;
|
|
1863
|
+
entry.unrealized += p.pnl.unrealized?.amount ?? 0;
|
|
1868
1864
|
entry.count += 1;
|
|
1869
1865
|
}
|
|
1870
1866
|
for (const p of basePositions) {
|
|
@@ -1876,8 +1872,8 @@ export async function computePnl(opts = {}) {
|
|
|
1876
1872
|
entry = { key: displayKey, realized: 0, unrealized: 0, count: 0, unit: asset, chain: 'base' };
|
|
1877
1873
|
map.set(key, entry);
|
|
1878
1874
|
}
|
|
1879
|
-
entry.realized += p.pnl.
|
|
1880
|
-
entry.unrealized += p.pnl.
|
|
1875
|
+
entry.realized += p.pnl.realized?.amount ?? 0;
|
|
1876
|
+
entry.unrealized += p.pnl.unrealized?.amount ?? 0;
|
|
1881
1877
|
entry.count += 1;
|
|
1882
1878
|
}
|
|
1883
1879
|
byGroup = Array.from(map.values());
|