@senpi/runtime 3.0.6-dev.runtime-phase-2.20260630134145 → 3.0.6-dev.runtime-phase-2.20260630134307
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/actions/close-position/close-position.action.d.ts.map +1 -1
- package/dist/actions/close-position/close-position.action.js +95 -65
- package/dist/actions/close-position/close-position.action.js.map +1 -1
- package/dist/actions/decision-engine.d.ts.map +1 -1
- package/dist/actions/decision-engine.js +40 -28
- package/dist/actions/decision-engine.js.map +1 -1
- package/dist/actions/open-position/open-position.action.d.ts.map +1 -1
- package/dist/actions/open-position/open-position.action.js +261 -202
- package/dist/actions/open-position/open-position.action.js.map +1 -1
- package/dist/dsl/monitor/create-monitor.d.ts +3 -0
- package/dist/dsl/monitor/create-monitor.d.ts.map +1 -1
- package/dist/dsl/monitor/create-monitor.js +76 -28
- package/dist/dsl/monitor/create-monitor.js.map +1 -1
- package/dist/dsl/monitor/process-one-position.d.ts +2 -1
- package/dist/dsl/monitor/process-one-position.d.ts.map +1 -1
- package/dist/dsl/monitor/process-one-position.js +84 -38
- package/dist/dsl/monitor/process-one-position.js.map +1 -1
- package/dist/dsl/plugin/index.d.ts +2 -0
- package/dist/dsl/plugin/index.d.ts.map +1 -1
- package/dist/dsl/plugin/index.js +6 -2
- package/dist/dsl/plugin/index.js.map +1 -1
- package/dist/dsl/plugin/options.d.ts +3 -0
- package/dist/dsl/plugin/options.d.ts.map +1 -1
- package/dist/runtime/create-actions.d.ts.map +1 -1
- package/dist/runtime/create-actions.js +40 -5
- package/dist/runtime/create-actions.js.map +1 -1
- package/dist/runtime/create-scanner-module.d.ts +2 -1
- package/dist/runtime/create-scanner-module.d.ts.map +1 -1
- package/dist/runtime/create-scanner-module.js +2 -1
- package/dist/runtime/create-scanner-module.js.map +1 -1
- package/dist/runtime/runtime.d.ts +10 -0
- package/dist/runtime/runtime.d.ts.map +1 -1
- package/dist/runtime/runtime.js +120 -65
- package/dist/runtime/runtime.js.map +1 -1
- package/dist/scanners/engine/data-providers.d.ts +3 -0
- package/dist/scanners/engine/data-providers.d.ts.map +1 -1
- package/dist/scanners/engine/data-providers.js.map +1 -1
- package/dist/scanners/engine/engine.d.ts +18 -0
- package/dist/scanners/engine/engine.d.ts.map +1 -1
- package/dist/scanners/engine/engine.js +93 -2
- package/dist/scanners/engine/engine.js.map +1 -1
- package/dist/scanners/engine/input-resolver.d.ts.map +1 -1
- package/dist/scanners/engine/input-resolver.js +9 -7
- package/dist/scanners/engine/input-resolver.js.map +1 -1
- package/dist/scanners/runtime-module.d.ts +3 -0
- package/dist/scanners/runtime-module.d.ts.map +1 -1
- package/dist/scanners/runtime-module.js +1 -0
- package/dist/scanners/runtime-module.js.map +1 -1
- package/dist/telemetry/otel-sdk.d.ts +6 -0
- package/dist/telemetry/otel-sdk.d.ts.map +1 -1
- package/dist/telemetry/otel-sdk.js +11 -0
- package/dist/telemetry/otel-sdk.js.map +1 -1
- package/dist/telemetry/trace-identity.d.ts +31 -0
- package/dist/telemetry/trace-identity.d.ts.map +1 -0
- package/dist/telemetry/trace-identity.js +58 -0
- package/dist/telemetry/trace-identity.js.map +1 -0
- package/dist/telemetry/tracing.d.ts +32 -0
- package/dist/telemetry/tracing.d.ts.map +1 -0
- package/dist/telemetry/tracing.js +70 -0
- package/dist/telemetry/tracing.js.map +1 -0
- package/dist/types/scanner.d.ts +2 -0
- package/dist/types/scanner.d.ts.map +1 -1
- package/package.json +4 -1
|
@@ -9,6 +9,8 @@ import { createLogger } from '../../utils/logger.js';
|
|
|
9
9
|
import { positionRegistryKey } from '../../tracking/position-id-registry.js';
|
|
10
10
|
import { resolveOpenOrderType, resolveFeeOptimizedLimitOptions } from '../../utils/resolve-order-type.js';
|
|
11
11
|
import { emitTrackingDecision, emitTrackingActionResult, emitOrderPlaced, emitOrderFilled, emitOrderFailed } from '../tracking-helpers.js';
|
|
12
|
+
import { withSpan } from '../../telemetry/tracing.js';
|
|
13
|
+
import { SpanStatusCode } from '@opentelemetry/api';
|
|
12
14
|
const logger = createLogger("[actions][open-position]");
|
|
13
15
|
/** Hyperliquid minimum notional value (margin × leverage) required to open a position. */
|
|
14
16
|
const MIN_NOTIONAL_VALUE = 10;
|
|
@@ -324,238 +326,295 @@ export class OpenPositionAction {
|
|
|
324
326
|
let submittedCount = 0;
|
|
325
327
|
let failedCount = 0;
|
|
326
328
|
for (const signal of sorted) {
|
|
327
|
-
// Telemetry: per-signal work window — every result entry below carries startedAt/endedAt.
|
|
328
|
-
const signalStartedAt = Date.now();
|
|
329
329
|
const asset = signal.asset;
|
|
330
330
|
const direction = signal.direction;
|
|
331
331
|
const signalScore = signal.score;
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
332
|
+
await withSpan("signal.evaluation", {
|
|
333
|
+
"senpi.signal.asset": asset,
|
|
334
|
+
"senpi.signal.direction": direction,
|
|
335
|
+
...(typeof signalScore === "number" ? { "senpi.signal.score": signalScore } : {}),
|
|
336
|
+
}, async (span) => {
|
|
337
|
+
// Terminal outcome on this candidate's span. A failed result also shows red.
|
|
338
|
+
const outcome = (result, reason) => {
|
|
339
|
+
span.setAttribute("senpi.outcome.result", result);
|
|
340
|
+
span.setAttribute("senpi.outcome.reason_code", reason);
|
|
341
|
+
if (result === "failed")
|
|
342
|
+
span.setStatus({ code: SpanStatusCode.ERROR, message: reason });
|
|
343
|
+
};
|
|
344
|
+
// Telemetry: per-signal work window — every result entry below carries startedAt/endedAt.
|
|
345
|
+
const signalStartedAt = Date.now();
|
|
346
|
+
const signalDex = signal.dex;
|
|
347
|
+
const submittedDex = typeof signalDex === "string" && signalDex.trim() !== "" ? signalDex.trim() : "main";
|
|
348
|
+
const dexForLookup = submittedDex === "main" ? undefined : submittedDex;
|
|
349
|
+
if (remainingSlots <= 0) {
|
|
350
|
+
results.push({ asset, direction, dex: submittedDex, score: signalScore, success: true, reason: 'no_slots', startedAt: signalStartedAt, endedAt: Date.now() });
|
|
351
|
+
outcome("skipped", 'no_slots');
|
|
352
|
+
return;
|
|
353
|
+
}
|
|
354
|
+
if (!direction || (direction !== 'LONG' && direction !== 'SHORT')) {
|
|
355
|
+
results.push({ asset, direction, dex: submittedDex, score: signalScore, success: false, reason: 'invalid_direction', startedAt: signalStartedAt, endedAt: Date.now() });
|
|
356
|
+
failedCount++;
|
|
357
|
+
outcome("failed", 'invalid_direction');
|
|
358
|
+
return;
|
|
359
|
+
}
|
|
360
|
+
if (strategyState.hasOpenPosition(asset, dexForLookup)) {
|
|
361
|
+
results.push({ asset, direction, dex: submittedDex, score: signalScore, success: true, reason: 'position_already_exists', startedAt: signalStartedAt, endedAt: Date.now() });
|
|
362
|
+
outcome("skipped", 'position_already_exists');
|
|
363
|
+
return;
|
|
364
|
+
}
|
|
365
|
+
// Risk guard per-open (real-time via MCP, with per-asset cooldown)
|
|
366
|
+
const gate = await withSpan("risk.gate", {}, async (gateSpan) => {
|
|
367
|
+
const g = await this.context.riskGuard.checkGate(address, { candidateAsset: asset });
|
|
368
|
+
gateSpan.setAttribute("senpi.risk.gate", g.gate);
|
|
369
|
+
if (g.gate !== 'OPEN')
|
|
370
|
+
gateSpan.setStatus({ code: SpanStatusCode.ERROR, message: g.reason ?? g.gate });
|
|
371
|
+
return g;
|
|
364
372
|
});
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
373
|
+
if (gate.gate !== 'OPEN') {
|
|
374
|
+
results.push({ asset, direction, dex: submittedDex, score: signalScore, success: true, reason: `risk_gate_${gate.gate}`, startedAt: signalStartedAt, endedAt: Date.now() });
|
|
375
|
+
outcome("skipped", `risk_gate_${gate.gate}`);
|
|
376
|
+
return;
|
|
377
|
+
}
|
|
378
|
+
// Leverage: LLM override > config-based resolution
|
|
379
|
+
const llmLeverage = typeof signal.leverage === 'number' ? signal.leverage : undefined;
|
|
380
|
+
const maxLeverage = await this.context.maxLeverageCache.get(asset, address) ?? 20;
|
|
381
|
+
const leverage = llmLeverage != null && llmLeverage > 0
|
|
382
|
+
? Math.max(MIN_LEVERAGE, Math.min(llmLeverage, maxLeverage))
|
|
383
|
+
: resolveLeverage({
|
|
384
|
+
tradingRisk: strategyState.config.tradingRisk,
|
|
385
|
+
maxLeverage,
|
|
386
|
+
defaultLeverage: strategyState.config.defaultLeverage,
|
|
387
|
+
leverageMultipliers: strategyState.config.leverageMultipliers,
|
|
388
|
+
});
|
|
389
|
+
// Margin: per-signal marginPct (% of withdrawable) > config margin_pct
|
|
390
|
+
// > margin_per_slot > budget / slots
|
|
391
|
+
const signalMarginPct = typeof signal.marginPct === 'number' ? signal.marginPct : undefined;
|
|
392
|
+
const { amount: marginAmount, source: marginSource } = resolveMarginWithSource({
|
|
382
393
|
signalMarginPct,
|
|
383
394
|
marginPct: strategyState.config.marginPct,
|
|
395
|
+
withdrawable,
|
|
384
396
|
marginPerSlot: strategyState.config.marginPerSlot,
|
|
385
397
|
budget: strategyState.config.budget,
|
|
386
398
|
slots: strategyState.config.slots,
|
|
387
|
-
withdrawable,
|
|
388
399
|
});
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
leverage,
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
400
|
+
if (marginAmount == null || marginAmount <= 0) {
|
|
401
|
+
logger.warn(`Skipping ${asset}: no margin source resolved. ` +
|
|
402
|
+
`Set strategy.margin_per_slot, strategy.margin_pct, or strategy.budget + strategy.slots ` +
|
|
403
|
+
`in the recipe, or have the LLM provide a per-signal margin override.`, {
|
|
404
|
+
asset,
|
|
405
|
+
wallet: address,
|
|
406
|
+
signalMarginPct,
|
|
407
|
+
marginPct: strategyState.config.marginPct,
|
|
408
|
+
marginPerSlot: strategyState.config.marginPerSlot,
|
|
409
|
+
budget: strategyState.config.budget,
|
|
410
|
+
slots: strategyState.config.slots,
|
|
411
|
+
withdrawable,
|
|
412
|
+
});
|
|
413
|
+
results.push({ asset, direction, dex: submittedDex, score: signalScore, leverage, success: false, reason: 'no_margin_configured', startedAt: signalStartedAt, endedAt: Date.now() });
|
|
414
|
+
failedCount++;
|
|
415
|
+
outcome("failed", 'no_margin_configured');
|
|
416
|
+
return;
|
|
417
|
+
}
|
|
418
|
+
const notionalValue = marginAmount * leverage;
|
|
419
|
+
if (notionalValue < MIN_NOTIONAL_VALUE) {
|
|
420
|
+
logger.warn(`Skipping ${asset}: notional value $${notionalValue.toFixed(2)} ` +
|
|
421
|
+
`(margin $${marginAmount.toFixed(2)} × ${leverage}x) is below minimum $${MIN_NOTIONAL_VALUE}`);
|
|
422
|
+
results.push({ asset, direction, dex: submittedDex, score: signalScore, leverage, marginAmount, notionalValue, success: false, reason: 'below_min_notional', startedAt: signalStartedAt, endedAt: Date.now() });
|
|
423
|
+
failedCount++;
|
|
424
|
+
outcome("failed", 'below_min_notional');
|
|
425
|
+
return;
|
|
426
|
+
}
|
|
427
|
+
// Free-margin pre-flight: if we know free margin and it can't cover this
|
|
428
|
+
// position's margin, skip rather than fire a create the engine will reject
|
|
429
|
+
// (CREATE_INSUFFICIENT_FUNDS). Skip the check when free margin is unknown.
|
|
430
|
+
if (remainingMargin != null && remainingMargin < marginAmount) {
|
|
431
|
+
logger.warn(`Skipping ${asset}: insufficient free margin ` +
|
|
432
|
+
`($${remainingMargin.toFixed(2)} available < $${marginAmount.toFixed(2)} required)`);
|
|
433
|
+
results.push({ asset, direction, dex: submittedDex, score: signalScore, leverage, marginAmount, requiredMarginAmount: marginAmount, availableMarginAmount: remainingMargin, success: true, reason: 'insufficient_margin', startedAt: signalStartedAt, endedAt: Date.now() });
|
|
434
|
+
outcome("skipped", 'insufficient_margin');
|
|
435
|
+
return;
|
|
436
|
+
}
|
|
437
|
+
const signalReason = signal.reason ?? signal.signalType ?? reasoning;
|
|
438
|
+
try {
|
|
439
|
+
// Sizing breadcrumb: WHICH source set the margin + the numbers behind it,
|
|
440
|
+
// so a wrong size is attributable from logs without reverse-engineering.
|
|
441
|
+
logger.info('opening position', {
|
|
442
|
+
wallet: address,
|
|
443
|
+
asset,
|
|
444
|
+
direction,
|
|
445
|
+
source: marginSource,
|
|
446
|
+
withdrawable,
|
|
447
|
+
accountValue: clearinghouseView.accountValue,
|
|
448
|
+
marginAmount,
|
|
449
|
+
leverage,
|
|
450
|
+
notional: notionalValue,
|
|
451
|
+
});
|
|
452
|
+
const result = await withSpan("mcp.createPosition", { "senpi.signal.asset": asset, "senpi.signal.direction": direction }, async (mcpSpan) => {
|
|
453
|
+
const r = await this.context.senpi.createPosition({
|
|
454
|
+
strategyWalletAddress: address,
|
|
455
|
+
orders: [
|
|
456
|
+
{
|
|
457
|
+
coin: asset,
|
|
458
|
+
direction,
|
|
459
|
+
leverage,
|
|
460
|
+
marginAmount,
|
|
461
|
+
orderType,
|
|
462
|
+
...(feeOptimizedLimitOptions ? { feeOptimizedLimitOptions } : {}),
|
|
463
|
+
},
|
|
464
|
+
],
|
|
465
|
+
reason: signalReason,
|
|
466
|
+
});
|
|
467
|
+
if (!r.success) {
|
|
468
|
+
const orderErrors = r.orders
|
|
469
|
+
.filter((o) => o.error)
|
|
470
|
+
.map((o) => `${o.coin}: ${o.error}`)
|
|
471
|
+
.join('; ');
|
|
472
|
+
const detail = r.error || orderErrors || 'unknown error';
|
|
473
|
+
mcpSpan.addEvent("order.failed");
|
|
474
|
+
mcpSpan.setStatus({ code: SpanStatusCode.ERROR, message: detail });
|
|
475
|
+
}
|
|
476
|
+
else {
|
|
477
|
+
const o = r.orders[0];
|
|
478
|
+
if (o?.orderId != null)
|
|
479
|
+
mcpSpan.setAttribute("senpi.order.id", o.orderId);
|
|
480
|
+
if (o?.filled != null)
|
|
481
|
+
mcpSpan.setAttribute("senpi.outcome.filled", o.filled);
|
|
482
|
+
if (o?.executionAsMaker != null)
|
|
483
|
+
mcpSpan.setAttribute("senpi.outcome.execution_as_maker", o.executionAsMaker);
|
|
484
|
+
if (o?.entryPrice != null)
|
|
485
|
+
mcpSpan.setAttribute("senpi.order.entry_price", o.entryPrice);
|
|
486
|
+
if (o?.size != null)
|
|
487
|
+
mcpSpan.setAttribute("senpi.order.size", o.size);
|
|
488
|
+
mcpSpan.addEvent("order.placed");
|
|
489
|
+
if (o?.filled)
|
|
490
|
+
mcpSpan.addEvent("order.filled");
|
|
491
|
+
}
|
|
492
|
+
return r;
|
|
493
|
+
});
|
|
494
|
+
if (!result.success) {
|
|
495
|
+
const orderErrors = result.orders
|
|
496
|
+
.filter((o) => o.error)
|
|
497
|
+
.map((o) => `${o.coin}: ${o.error}`)
|
|
498
|
+
.join('; ');
|
|
499
|
+
const detail = result.error || orderErrors || 'unknown error';
|
|
500
|
+
results.push({
|
|
501
|
+
asset, direction, dex: submittedDex, score: signalScore,
|
|
502
|
+
leverage, marginAmount, orderType,
|
|
503
|
+
success: false, reason: 'position_open_failed', error: detail,
|
|
504
|
+
startedAt: signalStartedAt, endedAt: Date.now(),
|
|
505
|
+
});
|
|
506
|
+
// Task 8a: the venue rejected the open submit.
|
|
507
|
+
emitOrderFailed(this.context.hookSystem, event, address, {
|
|
508
|
+
asset,
|
|
509
|
+
direction,
|
|
510
|
+
reason: 'position_open_failed',
|
|
511
|
+
error: detail,
|
|
512
|
+
reduceOnly: false,
|
|
513
|
+
});
|
|
514
|
+
failedCount++;
|
|
515
|
+
outcome("failed", 'position_open_failed');
|
|
516
|
+
return;
|
|
517
|
+
}
|
|
518
|
+
const submittedOrder = result.orders[0];
|
|
519
|
+
// Mint the position.id at intent — the moment the open order is submitted,
|
|
520
|
+
// before the position is confirmed open — so the id rides the action.open
|
|
521
|
+
// emit and the open trace correlates by position.id directly (no ~60s
|
|
522
|
+
// bridge on the read side).
|
|
523
|
+
let mintedPositionId;
|
|
524
|
+
if (this.context.positionIdRegistry) {
|
|
525
|
+
try {
|
|
526
|
+
const minted = this.context.positionIdRegistry.mintOnIntent(positionRegistryKey(address, submittedDex, asset));
|
|
527
|
+
mintedPositionId = minted.positionId;
|
|
528
|
+
}
|
|
529
|
+
catch (err) {
|
|
530
|
+
// The order is already on the exchange — a registry failure must not land in the
|
|
531
|
+
// outer catch, which would mislabel this submit as an exception and skip the
|
|
532
|
+
// slot/margin bookkeeping.
|
|
533
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
534
|
+
logger.warn('position.id mint failed; continuing with submit emit', { asset, err: message });
|
|
535
|
+
}
|
|
536
|
+
}
|
|
537
|
+
await this.context.hookSystem.fire({
|
|
538
|
+
type: HOOK_EVENT.ON_OPEN_ORDER_SUBMITTED,
|
|
539
|
+
runtimeName: event.runtimeName,
|
|
540
|
+
address,
|
|
541
|
+
data: {
|
|
542
|
+
asset,
|
|
430
543
|
direction,
|
|
431
544
|
leverage,
|
|
432
545
|
marginAmount,
|
|
433
546
|
orderType,
|
|
434
|
-
|
|
547
|
+
wallet: address,
|
|
548
|
+
dex: submittedDex,
|
|
549
|
+
reasoning: signalReason,
|
|
550
|
+
orderId: submittedOrder?.orderId,
|
|
551
|
+
entryPrice: submittedOrder?.entryPrice ?? null,
|
|
552
|
+
size: submittedOrder?.size ?? null,
|
|
553
|
+
filled: submittedOrder?.filled ?? null,
|
|
554
|
+
__correlationId: event.data.__correlationId,
|
|
555
|
+
...(mintedPositionId ? { __positionId: mintedPositionId } : {}),
|
|
435
556
|
},
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
});
|
|
439
|
-
if (!result.success) {
|
|
440
|
-
const orderErrors = result.orders
|
|
441
|
-
.filter((o) => o.error)
|
|
442
|
-
.map((o) => `${o.coin}: ${o.error}`)
|
|
443
|
-
.join('; ');
|
|
444
|
-
const detail = result.error || orderErrors || 'unknown error';
|
|
557
|
+
timestamp: new Date().toISOString(),
|
|
558
|
+
});
|
|
445
559
|
results.push({
|
|
446
560
|
asset, direction, dex: submittedDex, score: signalScore,
|
|
447
561
|
leverage, marginAmount, orderType,
|
|
448
|
-
|
|
562
|
+
orderId: submittedOrder?.orderId ?? null,
|
|
563
|
+
entryPrice: submittedOrder?.entryPrice ?? null,
|
|
564
|
+
size: submittedOrder?.size ?? null,
|
|
565
|
+
filled: submittedOrder?.filled ?? null,
|
|
566
|
+
success: true, reason: 'submitted',
|
|
449
567
|
startedAt: signalStartedAt, endedAt: Date.now(),
|
|
450
568
|
});
|
|
451
|
-
// Task 8a
|
|
452
|
-
|
|
569
|
+
// Task 8a order-event log (additive, fire-and-forget — see emit helpers). The open submit
|
|
570
|
+
// is an `order.placed`; a confirmed fill additionally emits `order.filled`.
|
|
571
|
+
emitOrderPlaced(this.context.hookSystem, event, address, {
|
|
572
|
+
orderId: submittedOrder?.orderId,
|
|
573
|
+
orderType,
|
|
453
574
|
asset,
|
|
454
575
|
direction,
|
|
455
|
-
|
|
456
|
-
error: detail,
|
|
576
|
+
size: submittedOrder?.size,
|
|
457
577
|
reduceOnly: false,
|
|
578
|
+
...(mintedPositionId ? { __positionId: mintedPositionId } : {}),
|
|
458
579
|
});
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
if (this.context.positionIdRegistry) {
|
|
469
|
-
try {
|
|
470
|
-
const minted = this.context.positionIdRegistry.mintOnIntent(positionRegistryKey(address, submittedDex, asset));
|
|
471
|
-
mintedPositionId = minted.positionId;
|
|
472
|
-
}
|
|
473
|
-
catch (err) {
|
|
474
|
-
// The order is already on the exchange — a registry failure must not land in the
|
|
475
|
-
// outer catch, which would mislabel this submit as an exception and skip the
|
|
476
|
-
// slot/margin bookkeeping.
|
|
477
|
-
const message = err instanceof Error ? err.message : String(err);
|
|
478
|
-
logger.warn('position.id mint failed; continuing with submit emit', { asset, err: message });
|
|
580
|
+
if (submittedOrder?.filled) {
|
|
581
|
+
emitOrderFilled(this.context.hookSystem, event, address, {
|
|
582
|
+
orderId: submittedOrder?.orderId,
|
|
583
|
+
asset,
|
|
584
|
+
fillPrice: submittedOrder?.entryPrice,
|
|
585
|
+
fillSize: submittedOrder?.size,
|
|
586
|
+
executionAsMaker: submittedOrder?.executionAsMaker,
|
|
587
|
+
...(mintedPositionId ? { __positionId: mintedPositionId } : {}),
|
|
588
|
+
});
|
|
479
589
|
}
|
|
590
|
+
submittedCount++;
|
|
591
|
+
remainingSlots--;
|
|
592
|
+
if (remainingMargin != null)
|
|
593
|
+
remainingMargin -= marginAmount;
|
|
594
|
+
outcome("submitted", 'submitted');
|
|
480
595
|
}
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
596
|
+
catch (error) {
|
|
597
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
598
|
+
logger.error('open failed', { asset, err: message });
|
|
599
|
+
results.push({
|
|
600
|
+
asset, direction, dex: submittedDex, score: signalScore,
|
|
601
|
+
leverage, marginAmount, orderType,
|
|
602
|
+
success: false, reason: 'exception', error: message,
|
|
603
|
+
startedAt: signalStartedAt, endedAt: Date.now(),
|
|
604
|
+
});
|
|
605
|
+
// Task 8a: the open submit threw.
|
|
606
|
+
emitOrderFailed(this.context.hookSystem, event, address, {
|
|
486
607
|
asset,
|
|
487
608
|
direction,
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
dex: submittedDex,
|
|
493
|
-
reasoning: signalReason,
|
|
494
|
-
orderId: submittedOrder?.orderId,
|
|
495
|
-
entryPrice: submittedOrder?.entryPrice ?? null,
|
|
496
|
-
size: submittedOrder?.size ?? null,
|
|
497
|
-
filled: submittedOrder?.filled ?? null,
|
|
498
|
-
__correlationId: event.data.__correlationId,
|
|
499
|
-
...(mintedPositionId ? { __positionId: mintedPositionId } : {}),
|
|
500
|
-
},
|
|
501
|
-
timestamp: new Date().toISOString(),
|
|
502
|
-
});
|
|
503
|
-
results.push({
|
|
504
|
-
asset, direction, dex: submittedDex, score: signalScore,
|
|
505
|
-
leverage, marginAmount, orderType,
|
|
506
|
-
orderId: submittedOrder?.orderId ?? null,
|
|
507
|
-
entryPrice: submittedOrder?.entryPrice ?? null,
|
|
508
|
-
size: submittedOrder?.size ?? null,
|
|
509
|
-
filled: submittedOrder?.filled ?? null,
|
|
510
|
-
success: true, reason: 'submitted',
|
|
511
|
-
startedAt: signalStartedAt, endedAt: Date.now(),
|
|
512
|
-
});
|
|
513
|
-
// Task 8a order-event log (additive, fire-and-forget — see emit helpers). The open submit
|
|
514
|
-
// is an `order.placed`; a confirmed fill additionally emits `order.filled`.
|
|
515
|
-
emitOrderPlaced(this.context.hookSystem, event, address, {
|
|
516
|
-
orderId: submittedOrder?.orderId,
|
|
517
|
-
orderType,
|
|
518
|
-
asset,
|
|
519
|
-
direction,
|
|
520
|
-
size: submittedOrder?.size,
|
|
521
|
-
reduceOnly: false,
|
|
522
|
-
...(mintedPositionId ? { __positionId: mintedPositionId } : {}),
|
|
523
|
-
});
|
|
524
|
-
if (submittedOrder?.filled) {
|
|
525
|
-
emitOrderFilled(this.context.hookSystem, event, address, {
|
|
526
|
-
orderId: submittedOrder?.orderId,
|
|
527
|
-
asset,
|
|
528
|
-
fillPrice: submittedOrder?.entryPrice,
|
|
529
|
-
fillSize: submittedOrder?.size,
|
|
530
|
-
executionAsMaker: submittedOrder?.executionAsMaker,
|
|
531
|
-
...(mintedPositionId ? { __positionId: mintedPositionId } : {}),
|
|
609
|
+
reason: 'exception',
|
|
610
|
+
error: message,
|
|
611
|
+
errorName: error instanceof Error ? error.name : undefined,
|
|
612
|
+
reduceOnly: false,
|
|
532
613
|
});
|
|
614
|
+
failedCount++;
|
|
615
|
+
outcome("failed", 'exception');
|
|
533
616
|
}
|
|
534
|
-
|
|
535
|
-
remainingSlots--;
|
|
536
|
-
if (remainingMargin != null)
|
|
537
|
-
remainingMargin -= marginAmount;
|
|
538
|
-
}
|
|
539
|
-
catch (error) {
|
|
540
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
541
|
-
logger.error('open failed', { asset, err: message });
|
|
542
|
-
results.push({
|
|
543
|
-
asset, direction, dex: submittedDex, score: signalScore,
|
|
544
|
-
leverage, marginAmount, orderType,
|
|
545
|
-
success: false, reason: 'exception', error: message,
|
|
546
|
-
startedAt: signalStartedAt, endedAt: Date.now(),
|
|
547
|
-
});
|
|
548
|
-
// Task 8a: the open submit threw.
|
|
549
|
-
emitOrderFailed(this.context.hookSystem, event, address, {
|
|
550
|
-
asset,
|
|
551
|
-
direction,
|
|
552
|
-
reason: 'exception',
|
|
553
|
-
error: message,
|
|
554
|
-
errorName: error instanceof Error ? error.name : undefined,
|
|
555
|
-
reduceOnly: false,
|
|
556
|
-
});
|
|
557
|
-
failedCount++;
|
|
558
|
-
}
|
|
617
|
+
});
|
|
559
618
|
}
|
|
560
619
|
const skippedCount = results.length - submittedCount - failedCount;
|
|
561
620
|
const actionResult = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open-position.action.js","sourceRoot":"","sources":["../../../src/actions/open-position/open-position.action.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"open-position.action.js","sourceRoot":"","sources":["../../../src/actions/open-position/open-position.action.ts"],"names":[],"mappings":"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"}
|