May 07, 9-10 PM (18)
May 07, 10-11 PM (65)
May 07, 11-12 AM (21)
May 08, 12-1 AM (6)
May 08, 1-2 AM (20)
May 08, 2-3 AM (19)
May 08, 3-4 AM (9)
May 08, 4-5 AM (3)
May 08, 5-6 AM (21)
May 08, 6-7 AM (20)
May 08, 7-8 AM (53)
May 08, 8-9 AM (34)
May 08, 9-10 AM (12)
May 08, 10-11 AM (32)
May 08, 11-12 PM (40)
May 08, 12-1 PM (30)
May 08, 1-2 PM (46)
May 08, 2-3 PM (46)
May 08, 3-4 PM (26)
May 08, 4-5 PM (23)
May 08, 5-6 PM (29)
May 08, 6-7 PM (15)
May 08, 7-8 PM (10)
May 08, 8-9 PM (15)
May 08, 9-10 PM (16)
May 08, 10-11 PM (23)
May 08, 11-12 AM (12)
May 09, 12-1 AM (4)
May 09, 1-2 AM (1)
May 09, 2-3 AM (0)
May 09, 3-4 AM (6)
May 09, 4-5 AM (6)
May 09, 5-6 AM (2)
May 09, 6-7 AM (6)
May 09, 7-8 AM (4)
May 09, 8-9 AM (4)
May 09, 9-10 AM (3)
May 09, 10-11 AM (9)
May 09, 11-12 PM (6)
May 09, 12-1 PM (21)
May 09, 1-2 PM (24)
May 09, 2-3 PM (12)
May 09, 3-4 PM (14)
May 09, 4-5 PM (7)
May 09, 5-6 PM (0)
May 09, 6-7 PM (2)
May 09, 7-8 PM (3)
May 09, 8-9 PM (1)
May 09, 9-10 PM (8)
May 09, 10-11 PM (33)
May 09, 11-12 AM (16)
May 10, 12-1 AM (15)
May 10, 1-2 AM (0)
May 10, 2-3 AM (0)
May 10, 3-4 AM (5)
May 10, 4-5 AM (0)
May 10, 5-6 AM (4)
May 10, 6-7 AM (0)
May 10, 7-8 AM (17)
May 10, 8-9 AM (8)
May 10, 9-10 AM (1)
May 10, 10-11 AM (26)
May 10, 11-12 PM (4)
May 10, 12-1 PM (49)
May 10, 1-2 PM (18)
May 10, 2-3 PM (8)
May 10, 3-4 PM (15)
May 10, 4-5 PM (26)
May 10, 5-6 PM (11)
May 10, 6-7 PM (7)
May 10, 7-8 PM (23)
May 10, 8-9 PM (12)
May 10, 9-10 PM (10)
May 10, 10-11 PM (29)
May 10, 11-12 AM (19)
May 11, 12-1 AM (12)
May 11, 1-2 AM (5)
May 11, 2-3 AM (5)
May 11, 3-4 AM (7)
May 11, 4-5 AM (3)
May 11, 5-6 AM (12)
May 11, 6-7 AM (28)
May 11, 7-8 AM (60)
May 11, 8-9 AM (34)
May 11, 9-10 AM (77)
May 11, 10-11 AM (58)
May 11, 11-12 PM (78)
May 11, 12-1 PM (84)
May 11, 1-2 PM (102)
May 11, 2-3 PM (41)
May 11, 3-4 PM (27)
May 11, 4-5 PM (24)
May 11, 5-6 PM (26)
May 11, 6-7 PM (42)
May 11, 7-8 PM (53)
May 11, 8-9 PM (57)
May 11, 9-10 PM (22)
May 11, 10-11 PM (49)
May 11, 11-12 AM (19)
May 12, 12-1 AM (2)
May 12, 1-2 AM (2)
May 12, 2-3 AM (3)
May 12, 3-4 AM (4)
May 12, 4-5 AM (8)
May 12, 5-6 AM (11)
May 12, 6-7 AM (17)
May 12, 7-8 AM (25)
May 12, 8-9 AM (26)
May 12, 9-10 AM (35)
May 12, 10-11 AM (82)
May 12, 11-12 PM (98)
May 12, 12-1 PM (38)
May 12, 1-2 PM (69)
May 12, 2-3 PM (54)
May 12, 3-4 PM (41)
May 12, 4-5 PM (57)
May 12, 5-6 PM (40)
May 12, 6-7 PM (24)
May 12, 7-8 PM (24)
May 12, 8-9 PM (18)
May 12, 9-10 PM (8)
May 12, 10-11 PM (40)
May 12, 11-12 AM (19)
May 13, 12-1 AM (10)
May 13, 1-2 AM (2)
May 13, 2-3 AM (4)
May 13, 3-4 AM (2)
May 13, 4-5 AM (5)
May 13, 5-6 AM (29)
May 13, 6-7 AM (52)
May 13, 7-8 AM (43)
May 13, 8-9 AM (44)
May 13, 9-10 AM (21)
May 13, 10-11 AM (22)
May 13, 11-12 PM (47)
May 13, 12-1 PM (25)
May 13, 1-2 PM (44)
May 13, 2-3 PM (45)
May 13, 3-4 PM (42)
May 13, 4-5 PM (33)
May 13, 5-6 PM (30)
May 13, 6-7 PM (51)
May 13, 7-8 PM (31)
May 13, 8-9 PM (9)
May 13, 9-10 PM (24)
May 13, 10-11 PM (29)
May 13, 11-12 AM (11)
May 14, 12-1 AM (18)
May 14, 1-2 AM (3)
May 14, 2-3 AM (4)
May 14, 3-4 AM (21)
May 14, 4-5 AM (11)
May 14, 5-6 AM (18)
May 14, 6-7 AM (18)
May 14, 7-8 AM (47)
May 14, 8-9 AM (52)
May 14, 9-10 AM (31)
May 14, 10-11 AM (20)
May 14, 11-12 PM (114)
May 14, 12-1 PM (53)
May 14, 1-2 PM (151)
May 14, 2-3 PM (32)
May 14, 3-4 PM (17)
May 14, 4-5 PM (14)
May 14, 5-6 PM (37)
May 14, 6-7 PM (12)
May 14, 7-8 PM (18)
May 14, 8-9 PM (8)
May 14, 9-10 PM (1)
4,179 commits this week May 07, 2026 - May 14, 2026
Remove non-Byron TxOut CtxTx/CtxUTxO usage from cardano-cli
Eliminate the legacy 'TxOut CtxTx era' and 'TxOut CtxUTxO era' type
signatures and pattern matches from cardano-cli's non-Byron code paths.
Byron-era code uses a separate pre-Shelley tx output model and is left
alone — 'Exp.TxOut' is not applicable there.

  * 'friendlyTxOut' in 'Compatible/Json/Friendly.hs' now takes
    'Exp.TxOut (LedgerEra era)' and reads address, value, datum, and
    reference script directly via the ledger lenses ('addrTxOutL',
    'valueTxOutL', 'datumTxOutL', 'referenceScriptTxOutL'). The two
    call sites ('basePairs', 'friendlyReturnCollateral') wrap the
    body's ledger outputs with 'Exp.TxOut' instead of going through
    'fromShelleyTxOut → fromCtxUTxOTxOut'. The dead 'friendlyTxOutValue'
    helper is dropped.

  * 'filteredUTxOsToText' in 'EraBased/Query/Run.hs' now takes a
    'ShelleyBasedEra era' witness, converts the api 'UTxO era' to the
    ledger UTxO once via 'toLedgerUTxO', then renders each entry from
    '(TxIn, Exp.TxOut (ShelleyLedgerEra era))' using ledger lenses.
    The pre-Babbage datum slot has no uniform ledger representation,
    so the renderer emits an empty placeholder there and shows the
    babbage+ ledger datum elsewhere — debug-style output, no golden
    tests touched.

  * Removed 'validateTxReturnCollateral' from
    'Type/Error/TxValidationError.hs'. It was exported but never
    called outside its own module; the actual return-collateral
    construction in 'EraBased/Transaction/Run' builds
    'Exp.TxReturnCollateral' directly.

Remaining uses of legacy ctx-typed tx outputs in cardano-cli are
confined to Byron-only modules.
Migrate to experimental TxOut in createCompatibleTx
Adapt to cardano-api PR #1209, which removes the legacy 'TxOut CtxTx era'
from the Compatible and Experimental APIs:

  * 'createCompatibleTx' now takes '[Exp.TxOut (ShelleyLedgerEra era)]'
    plus a new 'Map L.DataHash (L.Data ...)' argument carrying any
    supplemental datum bodies. The legacy 'TxOut CtxTx era' bundled
    supplemental datums inside outputs; 'Exp.TxOut' only carries the
    datum hash, so callers thread the full datum bodies in explicitly.
  * The bridge helpers 'fromLegacyTxOut', 'legacyDatumToDatum',
    'supplementalDatumFromLegacy', 'toLedgerDatum', and the
    'DatumDecodingError' type are deleted from 'Cardano.Api.Experimental.Tx'.

Migration:

  * 'mkTxOut' and 'toTxOutInAnyEra' now return
    '(Exp.TxOut (ShelleyLedgerEra era), Map DataHash (L.Data ...))'
    directly, building the legacy 'TxOut CtxTx era' internally only as
    a stepping stone for 'toShelleyTxOutAny'.
  * 'createCompatibleTx' call site in 'Compatible/Transaction/Run.hs'
    folds the per-output supplemental datums via 'Map.unions' and
    passes them as the new argument.
  * 'toTxOutInEra' and 'toTxOutInShelleyBasedEra' in
    'EraBased/Transaction/Run.hs' delegate directly to 'mkTxOut' (the
    deleted 'fromLegacyTxOut' is gone).
  * 'TxCmdDatumDecodingError' is removed since the underlying
    'Exp.DatumDecodingError' is gone and the new conversion is total.

Temporary 'cabal.project' additions (to be removed once #1209 is
merged and the next cardano-api is published to CHaP):

  * 'source-repository-package' pointing at the PR branch so CI can
    build against the unpublished API.
  * Per-package '-Wwarn=deprecations -Wwarn=unused-imports' for
    cardano-cli. The PR branch is several commits ahead of
    cardano-api-11.1.0.0 and surfaces unrelated TxBody/TxBodyContent
    deprecations (cardano-api PR #1200) plus a redundant
    'Cardano.Ledger.Core' import in 'Cardano.CLI.Read' that became
    visible after upstream re-exports widened. Both are separate
    cleanups out of scope for this PR.
Remove TxOut CtxTx/CtxUTxO usage from cardano-cli (non-Byron)
Eliminate the legacy 'TxOut CtxTx era' and 'TxOut CtxUTxO era' type
signatures and pattern matches from cardano-cli's non-Byron code paths.
Byron-era code is left alone — Byron uses a separate pre-Shelley tx
output model and 'Exp.TxOut' is not applicable.

Surfaces migrated:

  * 'Cardano.CLI.Compatible.Transaction.TxOut': 'mkTxOut' and
    'toTxOutInAnyEra' now return '(Exp.TxOut, Map DataHash (L.Data ...))'
    directly. The legacy 'TxOut CtxTx era' is still used internally as a
    stepping stone to reuse the api's 'toShelleyTxOutAny' field-level
    conversion logic; it does not leak to callers.

  * 'Cardano.CLI.Compatible.Transaction.Run': the 'createCompatibleTx'
    call site now just splits the tuple returned by 'toTxOutInAnyEra'.

  * 'Cardano.CLI.EraBased.Transaction.Run': 'toTxOutInEra' and
    'toTxOutInShelleyBasedEra' delegate straight to 'mkTxOut' now that
    it produces the tuple itself.

  * 'Cardano.CLI.Compatible.Json.Friendly.friendlyTxOut': now takes
    'Exp.TxOut (LedgerEra era)' and reads address / value / datum /
    reference script directly via the ledger lenses ('addrTxOutL',
    'valueTxOutL', 'datumTxOutL', 'referenceScriptTxOutL'). The two
    call sites in 'basePairs' and 'friendlyReturnCollateral' wrap the
    body's ledger outputs with 'Exp.TxOut' directly instead of going
    through 'fromShelleyTxOut → fromCtxUTxOTxOut'. The dead
    'friendlyTxOutValue' helper is dropped.

  * 'Cardano.CLI.EraBased.Query.Run.filteredUTxOsToText': now takes a
    'ShelleyBasedEra era' witness; converts the api 'UTxO era' to the
    ledger UTxO once via 'toLedgerUTxO', then renders each entry from
    '(api TxIn, Exp.TxOut (ShelleyLedgerEra era))' using ledger lenses.
    The pre-Babbage datum slot has no uniform ledger representation,
    so the text renderer emits an empty placeholder there and shows
    the babbage+ ledger datum elsewhere — debug-style output, no
    golden tests.

  * 'Cardano.CLI.Type.Error.TxValidationError': removed
    'validateTxReturnCollateral', which was exported but never called
    anywhere outside its own module (the actual return-collateral
    construction in 'EraBased/Transaction/Run' builds
    'Exp.TxReturnCollateral' directly).

Remaining uses of legacy ctx-typed tx outputs in cardano-cli are
confined to Byron-only modules and to the internal stepping-stone use
inside 'mkTxOut'.
always hoist curried builtins + fix scoping issues for hoisted builtins
  It's not always better to curry builtins, but it seems to more often be the case; and cases where it's actually worse are rare. The previous code attempted to count occurences of the curried builtin in the code, which was a good idea, but it failed to capture the case of recursive functions; a node may appear only one time in the UPLC tree, yet still be called many many times at runtime. Given that the overhead of hoisting a curried builtin is small; it likely is a much better strategy.

Signed-off-by: KtorZ <[email protected]>
fix(darwin): fix native module build and packaging for Electron 41
Build-time fixes (node_modules derivation + electron-rebuild):
- Update Electron 41.3.0 hashes and skip electron-chromedriver install
- Skip node-hid, usb, fsevents install scripts; use N-API prebuilts or
  omit (fsevents v1 uses removed v8::Object::GetIsolate, not needed at runtime)
- Remove all fsevents instances before electron-rebuild (yarn v1 nests
  fsevents v1.x inside chokidar/node_modules; electron-rebuild scans recursively)
- Patch node-addon-api napi.h: static const → static inline const to fix
  Apple Clang 15 enum constexpr error, applied to all darwin targets since
  electron-rebuild --force recompiles from source on both x86_64 and aarch64
- Pass CXXFLAGS=-Wno-error and NIX_CFLAGS_COMPILE for remaining warnings

Packaging fixes (package derivation):
- usb v2+ uses node-gyp-build (not 'bindings'), so also run
  bundleNodeJsNativeModule in-place in node_modules/usb/build/Release/
  and exempt it from the installPhase *.node sweep
- Fix scoped package (@scope/pkg) copy: cp -r -t dest/ node_modules/@scope/pkg
  strips the @scope parent; use a loop with mkdir -p instead
chore(nix): update Nix infrastructure for Electron 41 and nixpkgs-25.11
- Fix nixpkgs-25.11 eval failures on Darwin and Windows
- Replace external Haskell installer tool with inline Nix NSIS generation
- Update electron headers, patchElectronRebuild, and common build settings
  for Electron 41 (new Node.js ABI 145, updated header hashes)
- Fix Windows cross-compilation: update native module paths and loaders
- Add ELECTRON_SKIP_BINARY_DOWNLOAD to prevent network access in Nix sandbox
chore(electron): upgrade from 24.2.0 to 41.3.0
Upgrade Electron and update all JS dependencies. Key changes:
- Electron 24.2.0 → 41.3.0 (Node.js 24, Chromium 130)
- MobX 5 + SWC: set legacyDecorator/useDefineForClassFields in webpack,
  relax enforceActions from 'always' to 'observed'
- @trezor/connect, node-hid, usb, tiny-secp256k1, blake-hash bumped
- Fix jest moduleNameMapper and storybook webpack for new module paths
- re-patch electron binary PT_INTERP on Linux after self-extracting archive
  extraction so /proc/self/exe resolves correctly for zygote re-exec