@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.
@@ -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
- // Phase 5bchain-aware realized PnL formatting.
44
- const realized = p.chain === 'solana' ? p.pnl.realizedSol : p.pnl.realizedEth;
45
- const unit = p.chain === 'solana' ? 'SOL' : 'ETH';
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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"}
@@ -54,9 +54,13 @@ export function formatTriggerReason(fire) {
54
54
  return `auto: timeLimit fired; selling 100%`;
55
55
  }
56
56
  case 'trailingStop': {
57
- const peak = fire.peakPct !== undefined ? `peak ${fire.peakPct.toFixed(2)}%` : 'peak ?';
58
- const drop = fire.thresholdPct !== undefined ? `${fire.thresholdPct.toFixed(2)}%` : '?%';
59
- return `auto: trailingStop fired at ${pct} (${peak} - drop ≥ ${drop}); selling 100%`;
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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"}
@@ -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
- /** USDC-aware: the asset this sell exited to. Missing on legacy sells; treated as 'SOL'. */
113
- outputAsset?: SolanaInputAsset;
114
- /** Realized output (asset-tagged). `solOut` / `solOutRaw` are back-compat aliases. */
115
- output?: AssetAmount;
116
- /** Realized PnL for this sell (asset-tagged). `realizedSol` is a back-compat alias. */
117
- realized?: AssetPnl;
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?: AssetPnl;
127
+ realized: AssetPnl;
127
128
  /** Mark-to-market unrealized PnL (asset-tagged). */
128
- unrealized?: AssetPnl;
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
- /** USDC-aware: asset this sell exited to. Missing on legacy sells; treated as 'ETH'. */
183
- outputAsset?: BaseInputAsset;
184
- /** Realized output (asset-tagged). `ethOut` / `ethOutRawWei` are back-compat aliases. */
185
- output?: AssetAmount;
186
- /** Realized PnL for this sell (asset-tagged). `realizedEth` is a back-compat alias. */
187
- realized?: AssetPnl;
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?: AssetPnl;
202
+ realized: AssetPnl;
197
203
  /** Mark-to-market unrealized PnL (asset-tagged). */
198
- unrealized?: AssetPnl;
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. Preferred over `ethOut`/`ethOutRawWei`. */
529
+ /** Canonical, asset-tagged output. */
523
530
  output: AssetAmount;
524
- /** Canonical, asset-tagged realized PnL for this sell. Preferred over `realizedEth`. */
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. Preferred over `solOut`/`solOutRaw`. */
629
+ /** Canonical, asset-tagged output. */
626
630
  output: AssetAmount;
627
- /** Canonical, asset-tagged realized PnL for this sell. Preferred over `realizedSol`. */
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>;
@@ -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 for sells written by pre-canonical CLIs.
199
- // Raw output: lamports for SOL, 6-dec raw for USDC.
200
- if (!s.output) {
201
- const outAsset = s.outputAsset ?? p.entry.inputAsset;
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: outAsset,
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 ?? p.entry.inputAsset, amount: s.realizedSol };
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
- // Back-fill pnl.realized/unrealized for legacy files.
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 ?? p.entry.inputAsset,
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 ?? p.entry.inputAsset, amount: s.realizedEth };
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 realizedEth;
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
- realizedEth = Number(realizedWei) / 1e18;
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
- realizedEth = Number(realized6) / 1e6; // realizedEth field reused for USDC value
1030
+ realizedAmount = Number(realized6) / 1e6;
1015
1031
  }
1016
1032
  else {
1017
- // Mixed in/out (rare — shouldn't happen with symmetric exit). Best-effort: native units.
1018
- realizedEth = 0;
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: realizedEth },
1049
+ realized: { asset: outputAsset, amount: realizedAmount },
1038
1050
  });
1039
- position.pnl.realizedEth = position.sells.reduce((a, s) => a + s.realizedEth, 0);
1040
- position.pnl.realized = { asset: position.entry.inputAsset ?? 'ETH', amount: position.pnl.realizedEth };
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. Both paths land at
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: realizedEth },
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
- position.pnl.realizedSol = position.sells.reduce((a, s) => a + s.realizedSol, 0);
1487
- position.pnl.realized = { asset: position.entry.inputAsset ?? 'SOL', amount: position.pnl.realizedSol };
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 += p.pnl.realizedSol; // field name kept for back-compat; value is USDC
1798
- usdcUnrealized += p.pnl.unrealizedSol;
1791
+ usdcRealized += realized;
1792
+ usdcUnrealized += unrealized;
1799
1793
  usdcCount += 1;
1800
1794
  }
1801
1795
  else {
1802
- solRealized += p.pnl.realizedSol;
1803
- solUnrealized += p.pnl.unrealizedSol;
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 += p.pnl.realizedEth;
1811
- usdcUnrealized += p.pnl.unrealizedEth;
1806
+ usdcRealized += realized;
1807
+ usdcUnrealized += unrealized;
1812
1808
  usdcCount += 1;
1813
1809
  }
1814
1810
  else {
1815
- ethRealized += p.pnl.realizedEth;
1816
- ethUnrealized += p.pnl.unrealizedEth;
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.realizedSol;
1867
- entry.unrealized += p.pnl.unrealizedSol;
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.realizedEth;
1880
- entry.unrealized += p.pnl.unrealizedEth;
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());