kedgeway

Documentación / Uso / Fixtures

Fixtures

Un fixture es un snapshot guardado del ecosistema. Pásalo con --fixture para ejecutar sin Raven: en pruebas, máquinas sin conexión y CI.

Terminal
kedgeway diagnose ./my-contract --fixture snapshot.json

Estructura

CampoTipoNotas
observedAtstringObligatorio. Cuándo se tomó el snapshot, en ISO 8601.
sorobanSdk.currentMajorinteger o nullObligatorio. Con null, los hallazgos de soroban-sdk pasan a SDK_UNKNOWN.
sorobanSdk.deprecatedVersionsstring[]Obligatorio. Versiones listadas como obsoletas. Solo se comparan sus majors.
sorobanSdk.sourcestringObligatorio. Se muestra como fuente en los hallazgos.
jsSdk.currentVersionstring o nullObligatorio. Con null, los hallazgos de JavaScript pasan a JS_SDK_UNKNOWN.
jsSdk.sourcestringObligatorio.
protocolCurrentnumber o nullOpcional. Por defecto es null.
notesarrayObligatorio, puede estar vacío. Cada elemento tiene title, url y snippet (todos strings).
degradedstring[]Opcional. Por defecto está vacío. Cada entrada se convierte en un hallazgo DATA_DEGRADED.

Ejemplo completo

Terminal
{
  "observedAt": "2026-11-11T22:00:57Z",
  "sorobanSdk": {
    "currentMajor": 28,
    "deprecatedVersions": ["21.0.0", "20.5.0"],
    "source": "snapshot saved from Software Versions page"
  },
  "jsSdk": {
    "currentVersion": "<current @stellar/stellar-sdk version>",
    "source": "snapshot saved from Software Versions page"
  },
  "protocolCurrent": null,
  "notes": [
    { "title": "Upgrade notes", "url": "https://example.com/notes", "snippet": "Short excerpt." }
  ],
  "degraded": []
}

Un archivo que no coincide con esta estructura hace que la ejecución termine con 1 y un mensaje. Los fixtures no se actualizan solos: el ecosistema avanza y tu fixture no.