feat(ui): dingo mithril sync (#521)
Signed-off-by: Chris Gianelloni <[email protected]>
Signed-off-by: Chris Gianelloni <[email protected]>
Signed-off-by: Chris Gianelloni <[email protected]>
Signed-off-by: Chris Gianelloni <[email protected]>
Signed-off-by: Chris Gianelloni <[email protected]>
Signed-off-by: Chris Gianelloni <[email protected]>
Signed-off-by: Hyperledger Bot <[email protected]>
Move the manual tmp_u5c_test checks into the streamlined e2e suite as three
`kind: u5c` legs against the Demeter utxorpc endpoints. Converts the old
time-bounded run.sh approach to the standard exit-code gate via a WorkStats
finalization policy (3 blocks → exit 0); a #921-style regression (reset loop,
no apply events) never finalizes → timeout → fail.
API keys are parameterized as ${DMTR_UTXORPC_KEY_*} (resolved by envsubst from
GitHub secrets) rather than hardcoded — the scratch files held real-looking
keys and this repo is public. The e2e image is built --all-features, so U5C is
available (and now TLS-safe per the preceding crypto-provider fix).
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
The U5C source connects over TLS via tonic/rustls. In builds that pull more than one rustls crypto provider (e.g. the `aws` feature brings in aws-lc-rs alongside ring), rustls has no process-default provider and panics on the first TLS handshake (`no process-level CryptoProvider available`). Install the ring provider once at startup, gated on the `u5c` feature. This only surfaced now because nothing exercised U5C in a multi-provider build; the manual u5c tests built `--features u5c` alone (single provider). Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
v0.183.0 removes leios as a ledger era: the endorser-block types (LeiosEndorserBlock, LeiosTransactionReference, NewLeiosEndorserBlockFromCbor) moved from ledger/leios to ledger/common, and the leios era id and its block/tx/header type constants were dropped. - Repoint the three endorser-block usages in ouroboros/leios_merged.go and ledger/forging/forger.go to ledger/common (types unchanged). - Update the nonce-stability-window era-dispatch test to use Dijkstra — the real post-Conway Praos era that production already enumerates — as the 4k/f regression guard in place of the removed Leios era. - Bump ouroboros-mock to v0.13.0, which renames its Dijkstra-era fixture decoders off the removed leios constants; v0.12.0 fails to compile against gouroboros v0.183.0. No production behavior change; the endorser-block CBOR and the post-Conway 4k/f window are unchanged. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]> Signed-off-by: Chris Guiney <[email protected]>
v0.183.0 removes leios as a ledger era and renames the Dijkstra era's block/tx/header type constants accordingly. Update the fixture era decoders to the new names: BlockTypeLeiosRanking -> BlockTypeDijkstra, TxTypeLeios -> TxTypeDijkstra, BlockHeaderTypeLeios -> BlockHeaderTypeDijkstra (the "dijkstra" era cases). No behavior change. Signed-off-by: Chris Guiney <[email protected]> Co-authored-by: Claude Opus 4.8 (1M context) <[email protected]>
Signed-off-by: Chris Gianelloni <[email protected]>
Move the run/dmtrcli logic out of e2e.yaml into .github/e2e/scripts/ (run-test.sh, setup-dmtr-socket.sh, stop-dmtr-tunnel.sh), invoked from the workflow steps. Scripts read the same env vars the steps already set; committed with the executable bit so they run after checkout. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
The three relay.cnode-m1.demeter.run endpoints are different networks, not redundant mainnet relays: :3000 = Mainnet, :3001 = PreProd, :3002 = Preview Point the mainnet legs at :3000 (only) and the preview n2n legs at :3002, replacing the public preview relay. (:3001/PreProd is unused — no preprod legs.) Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
Replace the IOG public mainnet relay with the three Demeter relay endpoints
(relay.cnode-m1.demeter.run:3000-3002) across the 5 mainnet n2n legs
(assert-n2n-mainnet-{origin,tip}, aws-{s3,sqs,lambda}).
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
v0.183.0 removes leios as a ledger era and renames the Dijkstra era's block/tx/header type constants accordingly. Update the fixture era decoders to the new names: BlockTypeLeiosRanking -> BlockTypeDijkstra, TxTypeLeios -> TxTypeDijkstra, BlockHeaderTypeLeios -> BlockHeaderTypeDijkstra (the "dijkstra" era cases). No behavior change. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]> Signed-off-by: Chris Guiney <[email protected]>
Strenghten and polish rough edges of implementation: * `runScript` now returns `Maybe AsyncBenchmarkControl` instead of fabricating a no-op control: submit modes that never start the benchmark machinery (LocalSocket, Ogmios) yield Nothing, and a failing run no longer dies with the misleading "AsyncBenchmarkControl uninitialized" error that masked the real one. noopBenchmarkControl is gone; both call sites in Command.hs only ever consumed fst, so they are unaffected. * WebSocket failures (DNS, refused connection, handshake rejection, mid-stream drops, close frames) are caught around WS.runClient and converted into TxGenError instead of escaping as raw exceptions past the error machinery and logging shutdown. * `parseOgmiosUrl` validates the scheme (plain `ws://` only; `wss://` was silently degrading to a plaintext connection), parses the port via readMaybe with a 1-65535 range check instead of a partial read (`ws://host:/` no longer crashes), and rejects empty hosts. * Submission responses are subject to a 90s timeout (generous, since the node may hold submissions back under mempool pressure) and their JSON-RPC id is verified against the request id; a mismatched or null id is treated as a protocol fault and aborts the run with the offending response described. * json_highlevel configs that set ogmiosUrl without debugMode: true are rejected at compile time with an explanatory error: Ogmios mode ignores tps/targetNodes and produces no benchmark metrics, so a config asking for a real benchmark must fail fast rather than run unpaced and unmeasured. Low-level json scripts are unaffected, and compileOptions fails before any node interaction. * Polish: parseOgmiosUrl/parseOgmiosResponse/OgmiosResult exported to make them unit-testable, `fromMaybe Null` instead of `maybe Null id`, unused `RankNTypes` pragma dropped, haddock module header added, import list put in stylish-haskell order.
Signed-off-by: Chris Gianelloni <[email protected]>
Signed-off-by: Doc Holiday <[email protected]> Signed-off-by: Doc Holiday <[email protected]>
Signed-off-by: Doc Holiday <[email protected]> Signed-off-by: Doc Holiday <[email protected]>
Signed-off-by: Doc Holiday <[email protected]> Signed-off-by: Doc Holiday <[email protected]>
Signed-off-by: Doc Holiday <[email protected]> Signed-off-by: Doc Holiday <[email protected]>
Signed-off-by: Chris Gianelloni <[email protected]>
Signed-off-by: Chris Gianelloni <[email protected]>