docs: note db-sync consumed-tx-out requirement for /scripts/:script_hash/utxos
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
added: * github:input-output-hk/mithril/82c155f42055077fdcd09dc9ff4612c4d6f8b660#mithril-client-cli * github:input-output-hk/mithril/82c155f42055077fdcd09dc9ff4612c4d6f8b660#mithril-signer removed: * github:input-output-hk/mithril/7202b15f98ed9f33f569f142df85d69a80bb19fb#mithril-client-cli * github:input-output-hk/mithril/7202b15f98ed9f33f569f142df85d69a80bb19fb#mithril-signer
Implements `genSnapShots` in `Test.Cardano.Ledger.Conway.Gen.SnapShots`, which generates a plausible `SnapShots` value from a `LedgerState` for use in tests. The base snapshot is derived from the current instant stake via `snapShotFromInstantStake`. Mark, set, and go snapshots are then produced by altering the base snapshot which randomly samples zero or more of the following operations and applies them in sequence: - New stake registration: introduce a fresh credential delegated to an existing pool - Stake address deregistration: remove a credential from active stake - Stake address redelegation: redirect an already-delegated credential to a different pool - First delegation: delegate a registered-but-undelegated credential to a pool - Stake pool registration: add a new pool - Stake amount change: adjust the stake of an existing credential - Pool deregistration (set/go only): remove a pool and all its delegators Pool deregistration is excluded from the mark snapshot because the SNAP rule (which records the current stake distribution) runs before POOLREAP (which processes pool retirements that have reached their epoch) in the epoch transition, so retiring pools are still visible in mark.
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
- Import `Amount` as a type-only import (used only as a type). - Type `reference_script_hash` as non-null: the query inner-joins `script` and filters on its hash, so the column is always present. - Simplify the `amount` array construction using the `...(row.amount ?? [])` pattern already used by /accounts/:stake_address/utxos. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
Lists the UTXOs that hold a given script as a reference script (CIP-33), so a script hash can be resolved directly to its deployment UTXOs for use as reference inputs (CIP-31) — without knowing/enumerating the holding address. - paged route GET /scripts/:script_hash/utxos - query uses consumed_by_tx_id IS NULL for spentness - response mirrors /addresses/:address/utxos, minus the deprecated tx_index - requires @blockfrost/openapi 0.1.90 Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
The template excludes @evolution-sdk/evolution from pre-bundling, so its transitive @scure/bip39 is served raw. That package ships sourceMappingURL comments without the .map files, so Vite logs a "Failed to load source map" warning on every transform. Pre-bundling just @scure/bip39 drops the dangling comments; cosmetic only, the app builds and runs the same either way. The README documents the optimizeDeps block so the include is not mistaken for cruft later.
The salvaged vulnerabilities and design-patterns sections, plus a few fundamentals pages, carried Title-Case sidebar_label values while the rest of the curriculum uses sentence case. Lowercase them to match, preserving proper nouns and acronyms (Ethereum, UTxO, CBOR, Merkle). Display-only; no routes or redirects change.
Templates ship without a lockfile so a fresh install picks up current deps, matching the Mesh template. Stops package-lock.json and pnpm-lock.yaml from showing as untracked after running the examples.
Drops the redundant -template suffix so the two starter templates share one shape (evolution-vite-react, mesh-nextjs); the directory already sits under examples/templates/. Updates the package name and every giget command and link that pointed at the old path.
perf: push pagination before joins in drep-votes and delegations SQL
The `release-candidate/v2026-05-11` branch bumped the package version to `2026.5.11` for the v2026-05-11 release but was never merged back to master, so master is still at `2026.4.17`. This trips the cabal-version drift guard in `scripts/release/release-candidate.sh`, failing the nightly Release workflow every night since 2026-05-11 (it aborts in `prepare` before any build). This merges the bump back. The delta vs the merge-base is 33 one-line version-string changes (`*.cabal`, `README.md`, `run/common/docker/run.sh`, `specifications/api/swagger.yaml`); `git merge-tree` reports no conflicts.
Starting from def dropped enacted, expired and delayed actions, losing the removal, deposit refund and event for actions enacting at the era boundary.
The deposit script address is global — every node sees every deposit on the network. The two chain input patterns for OnDepositTx and OnRecoverTx used a wildcard head state with no headId guard, causing nodes to track and persist deposits from unrelated heads, contaminating pendingDeposits and the chain state history. Fix the four deposit/recover patterns in handleChainInput to match on the current head state and compare headIds. Mismatches return Continue [] [] (silent no-op) rather than Error NotOurHead, since observing foreign deposits is expected and normal on a shared network. Add a defence-in-depth headId guard in aggregateNodeState so that old foreign DepositRecorded events replayed from pre-fix event logs are also ignored. Add tests covering: foreign deposits/recovers while Open are ignored, own-head deposit and recovery while Closed, post-fanout recovery while Idle, and that OnDepositTx while Idle is always a no-op. Signed-off-by: Sasha Bogicevic <[email protected]>
runHookScript left cmd.Stdin unset, so hook scripts ran with stdin connected to /dev/null and no controlling terminal. The cardano-node preInstall hook shells out to the mithril-client wrapper, which runs "docker run -ti ...". Without a real stdin the nested TTY allocation breaks, leaving the terminal in a bad state and orphaning the long-running snapshot download in the background. Running the same command manually works because a real TTY is present. Wire cmd.Stdin to os.Stdin so the hook and its child processes inherit our controlling terminal, restoring the behavior that the PTY removal in commit 6a4df21 regressed. Add tests covering stdin forwarding, exit-code handling, and a Linux-only PTY test that asserts a TTY stdin is visible to the hook's child (with a non-TTY control). The PTY test uses golang.org/x/sys/unix rather than re-adding a pty dependency. 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]>
Signed-off-by: Chris Gianelloni <[email protected]>
Updating pallas version to 1.1.0 and making adaptations
* uplc-evaluator: bound service teardown, add timeout safety net Test teardown ran terminateProcess followed by an unbounded waitForProcess, so a spawned service that missed SIGTERM hung the run until the 2h CI cap (plutus-private#2257). Bound the wait and escalate to SIGKILL, add a per-test tasty timeout as a safety net, and a regression test that drives a SIGTERM-ignoring process. * uplc-evaluator: drop integration tests from the per-PR required gate The uplc-evaluator is a non-critical on-demand tool, so its integration tests need not gate every PR. The test executable is still built on every PR; the suite is run nightly instead. See plutus-private#2257. * nightly: run uplc-evaluator integration tests See plutus-private#2257. * address copilot review on PR #7817 - plutus-benchmark/uplc-evaluator/test/Harness.hs:126 — re-check getProcessExitCode before SIGKILL escalation (https://github.com/IntersectMBO/plutus/pull/7817#discussion_r3414323806)