0.7.29
This commit is contained in:
@@ -163,6 +163,15 @@
|
||||
Analyse les données déjà persistées : transactions, decoded events, trades, candles, tokens, pools et pairs.
|
||||
</p>
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="demoPipeline2ValidationProfileSelect" class="form-label">Validation profile</label>
|
||||
<select id="demoPipeline2ValidationProfileSelect" class="form-select">
|
||||
<option value="0.7.29_multi_dex_matrix_baseline" selected>0.7.29 — DEX matrix baseline</option>
|
||||
<option value="0.7.28_multi_dex_non_regression">0.7.28 — multi-DEX non-regression</option>
|
||||
<option value="0.7.27_dexes_non_regression" selected>0.7.27 — first DEXes non-regression</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="d-flex gap-2">
|
||||
<button id="demoPipeline2DiagnoseLocalPipelineButton" type="button" class="btn btn-outline-primary">
|
||||
Diagnose local pipeline
|
||||
|
||||
@@ -0,0 +1,82 @@
|
||||
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
|
||||
/**
|
||||
* One DEX support matrix entry for the UI.
|
||||
*/
|
||||
export type DemoPipeline2DexSupportMatrixEntry = {
|
||||
/**
|
||||
* Stable internal protocol or surface code.
|
||||
*/
|
||||
code: string,
|
||||
/**
|
||||
* Human-readable protocol or surface name.
|
||||
*/
|
||||
displayName: string,
|
||||
/**
|
||||
* Protocol family.
|
||||
*/
|
||||
family: string,
|
||||
/**
|
||||
* Protocol version or `unknown` when not verified locally.
|
||||
*/
|
||||
version: string,
|
||||
/**
|
||||
* Surface type: launch, bonding curve, AMM, CLMM, DLMM, router, aggregator or unknown.
|
||||
*/
|
||||
surfaceType: string,
|
||||
/**
|
||||
* Primary Solana program id, when verified in local constants or docs.
|
||||
*/
|
||||
programId: string | null,
|
||||
/**
|
||||
* Optional router program id, when this entry uses a distinct router.
|
||||
*/
|
||||
routerProgramId: string | null,
|
||||
/**
|
||||
* Program id confidence: known, to_verify or unknown.
|
||||
*/
|
||||
programIdStatus: string,
|
||||
/**
|
||||
* Whether this protocol has been observed in the local replay corpus.
|
||||
*/
|
||||
observed: boolean,
|
||||
/**
|
||||
* Whether the code currently contains a decoder for this protocol.
|
||||
*/
|
||||
decoded: boolean,
|
||||
/**
|
||||
* Whether decoded events are currently materialized beyond raw decoded rows.
|
||||
*/
|
||||
materialized: boolean,
|
||||
/**
|
||||
* Whether this protocol can currently produce trade candidates.
|
||||
*/
|
||||
tradeCandidate: boolean,
|
||||
/**
|
||||
* Whether this protocol can currently produce candle candidates.
|
||||
*/
|
||||
candleCandidate: boolean,
|
||||
/**
|
||||
* Whether this protocol can currently produce pair candidates.
|
||||
*/
|
||||
pairCandidate: boolean,
|
||||
/**
|
||||
* Whether this protocol can currently produce pool candidates.
|
||||
*/
|
||||
poolCandidate: boolean,
|
||||
/**
|
||||
* Operational support status.
|
||||
*/
|
||||
status: string,
|
||||
/**
|
||||
* Confidence level attached to this matrix entry.
|
||||
*/
|
||||
confidence: string,
|
||||
/**
|
||||
* Optional explicit skip reason for partial or ignored entries.
|
||||
*/
|
||||
skipReason: string | null,
|
||||
/**
|
||||
* Whether the entry should be inserted as an enabled DEX in the storage catalog.
|
||||
*/
|
||||
catalogEnabled: boolean, };
|
||||
@@ -1,4 +1,5 @@
|
||||
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
import type { DemoPipeline2DexSupportMatrixEntry } from "./DemoPipeline2DexSupportMatrixEntry";
|
||||
import type { DemoPipeline2LocalPipelineValidationIssue } from "./DemoPipeline2LocalPipelineValidationIssue";
|
||||
|
||||
/**
|
||||
@@ -29,6 +30,14 @@ expectedDexCodes: Array<string>,
|
||||
* Observed DEX codes found in diagnostics.
|
||||
*/
|
||||
observedDexCodes: Array<string>,
|
||||
/**
|
||||
* Number of entries currently exposed by the DEX support matrix.
|
||||
*/
|
||||
dexSupportMatrixEntryCount: number,
|
||||
/**
|
||||
* DEX support matrix snapshot exposed with the validation report.
|
||||
*/
|
||||
dexSupportMatrix: Array<DemoPipeline2DexSupportMatrixEntry>,
|
||||
/**
|
||||
* Issues produced by validation.
|
||||
*/
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
|
||||
/**
|
||||
* Request payload for local pipeline validation.
|
||||
*/
|
||||
export type DemoPipeline2LocalValidationRequest = {
|
||||
/**
|
||||
* Stable validation profile code to execute.
|
||||
*/
|
||||
profileCode: string, };
|
||||
@@ -14,6 +14,7 @@ import type { DemoPipeline2BackfillPayload } from "./bindings/DemoPipeline2Backf
|
||||
import type { DemoPipeline2PairCandlesRequest } from "./bindings/DemoPipeline2PairCandlesRequest.ts";
|
||||
import type { DemoPipeline2PairCandlesPayload } from "./bindings/DemoPipeline2PairCandlesPayload.ts";
|
||||
import type { DemoPipeline2LocalDiagnosticsPayload } from "./bindings/DemoPipeline2LocalDiagnosticsPayload.ts";
|
||||
import type { DemoPipeline2LocalValidationRequest } from "./bindings/DemoPipeline2LocalValidationRequest.ts";
|
||||
import type { DemoPipeline2LocalValidationPayload } from "./bindings/DemoPipeline2LocalValidationPayload.ts";
|
||||
import type { DemoPipeline2ProgramInstructionDiscriminatorSummaryRequest } from "./bindings/DemoPipeline2ProgramInstructionDiscriminatorSummaryRequest.ts";
|
||||
import type { DemoPipeline2ProgramInstructionDiscriminatorSummaryPayload } from "./bindings/DemoPipeline2ProgramInstructionDiscriminatorSummaryPayload.ts";
|
||||
@@ -356,6 +357,7 @@ document.addEventListener("DOMContentLoaded", async () => {
|
||||
const replayMetadataLimitInput = document.querySelector<HTMLInputElement>("#demoPipeline2ReplayMetadataLimitInput");
|
||||
const replayLocalPipelineButton = document.querySelector<HTMLButtonElement>("#demoPipeline2ReplayLocalPipelineButton");
|
||||
const diagnoseLocalPipelineButton = document.querySelector<HTMLButtonElement>("#demoPipeline2DiagnoseLocalPipelineButton");
|
||||
const validationProfileSelect = document.querySelector<HTMLSelectElement>("#demoPipeline2ValidationProfileSelect");
|
||||
const validateLocalPipelineButton = document.querySelector<HTMLButtonElement>("#demoPipeline2ValidateLocalPipelineButton");
|
||||
|
||||
const discriminatorProgramIdInput = document.querySelector<HTMLInputElement>("#demoPipeline2DiscriminatorProgramIdInput");
|
||||
@@ -402,6 +404,7 @@ document.addEventListener("DOMContentLoaded", async () => {
|
||||
!replayMetadataLimitInput ||
|
||||
!replayLocalPipelineButton ||
|
||||
!diagnoseLocalPipelineButton ||
|
||||
!validationProfileSelect ||
|
||||
!validateLocalPipelineButton ||
|
||||
!discriminatorProgramIdInput ||
|
||||
!discriminatorLimitInput ||
|
||||
@@ -647,11 +650,16 @@ document.addEventListener("DOMContentLoaded", async () => {
|
||||
});
|
||||
|
||||
validateLocalPipelineButton.addEventListener("click", async () => {
|
||||
appendLogLine(logTextarea, "[ui] validating local pipeline with 0.7.28 profile");
|
||||
const request: DemoPipeline2LocalValidationRequest = {
|
||||
profileCode: validationProfileSelect.value,
|
||||
};
|
||||
|
||||
appendLogLine(logTextarea, `[ui] validating local pipeline with ${request.profileCode} profile`);
|
||||
|
||||
try {
|
||||
const payload = await invoke<DemoPipeline2LocalValidationPayload>(
|
||||
"demo_pipeline2_validate_local_pipeline",
|
||||
{ request },
|
||||
);
|
||||
|
||||
localValidationTextarea.value = payload.validationJson;
|
||||
@@ -659,7 +667,7 @@ document.addEventListener("DOMContentLoaded", async () => {
|
||||
|
||||
appendLogLine(
|
||||
logTextarea,
|
||||
`[ui] local pipeline validation completed: profile='${payload.run.validationProfileCode}' passed='${payload.run.validationPassed ? "yes" : "no"}' blocking='${payload.run.blockingIssueCount.toString()}' warnings='${payload.run.warningCount.toString()}'`,
|
||||
`[ui] local pipeline validation completed: profile='${payload.run.validationProfileCode}' passed='${payload.run.validationPassed ? "yes" : "no"}' blocking='${payload.run.blockingIssueCount.toString()}' warnings='${payload.run.warningCount.toString()}' dexMatrix='${payload.run.report.dexSupportMatrixEntryCount.toString()}'`,
|
||||
);
|
||||
} catch (error) {
|
||||
appendLogLine(logTextarea, `[ui] local pipeline validation error: ${String(error)}`);
|
||||
|
||||
Reference in New Issue
Block a user