May 07, 4-5 AM (5)
May 07, 5-6 AM (33)
May 07, 6-7 AM (97)
May 07, 7-8 AM (236)
May 07, 8-9 AM (42)
May 07, 9-10 AM (29)
May 07, 10-11 AM (55)
May 07, 11-12 PM (40)
May 07, 12-1 PM (59)
May 07, 1-2 PM (48)
May 07, 2-3 PM (48)
May 07, 3-4 PM (44)
May 07, 4-5 PM (58)
May 07, 5-6 PM (11)
May 07, 6-7 PM (25)
May 07, 7-8 PM (30)
May 07, 8-9 PM (12)
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 (55)
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 (25)
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 (56)
May 12, 5-6 PM (29)
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 (51)
May 13, 7-8 AM (42)
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 (42)
May 13, 2-3 PM (45)
May 13, 3-4 PM (42)
May 13, 4-5 PM (33)
May 13, 5-6 PM (29)
May 13, 6-7 PM (49)
May 13, 7-8 PM (31)
May 13, 8-9 PM (8)
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 (18)
May 14, 4-5 AM (0)
4,376 commits this week May 07, 2026 - May 14, 2026
Update Certs PoV proofs for direct-deposit application in POST-CERT (CIP-159)
After direct-deposit application moved from LEDGER-V/SUBLEDGER-V into the
POST-CERT rule, the Certs preservation-of-value proofs needed to account for
the `getCoin (DirectDepositsOf Γ)` increase that POST-CERT now produces via
`rewards ∪⁺ directDeposits`.

Statement changes:
- POST-CERT-pov:  getCoin s ≡ getCoin s'
              →  getCoin s + getCoin (DirectDepositsOf Γ) ≡ getCoin s'
- sts-pov:        gains a `+ getCoin (DirectDepositsOf Γ)` term on the LHS
- CERTS-pov:      becomes the symmetric "consumed = produced" form
                  getCoin s₁ + getCoin (DirectDepositsOf Γ)
                  ≡ getCoin sₙ + getCoin (WithdrawalsOf Γ)

Structural changes:
- POST-CERT-pov and sts-pov move into the parameterized `Certs-Pov-lemmas`
  sub-module (alongside PRE-CERT-pov), since they now require a fourth
  module parameter:
    indexedSumᵛ'-∪⁺ : ∀ (m m' : Rewards) → getCoin (m ∪⁺ m') ≡ getCoin m + getCoin m'
  This is the natural ∪⁺ analogue of the existing `indexedSumᵛ'-∪` lemma for
  `∪ˡ` on disjoint domains, but unconditional because `∪⁺` adds (rather than
  drops) values at shared keys.  TODO: upstream to agda-sets.
- `Certs-PoV` (in PoV.lagda.md) gains the same parameter and forwards it.

CERT-pov and PRE-CERT-pov are unchanged: the CERT and PRE-CERT rules did
not change in this refactor.

Closes part of #1185.
Re-parameterize moved Equivalence.Map for src-lib-exts
Now that the file lives at
`src-lib-exts/abstract-set-theory/Axiom/Set/Map/Extra.lagda.md`:

+ Update the top-level module declaration to
  `module abstract-set-theory.Axiom.Set.Map.Extra (th : Theory) where`,
  matching the rest of the abstract-set-theory subtree.
+ Replace `open import Ledger.Prelude` with explicit imports from
  `abstract-set-theory.Prelude` and stdlib modules. `src-lib-exts/`
  cannot depend on `Ledger.Prelude` (upward dependency).
+ Inline the five-line `_≢ᵐ_` definition that previously lived in
  the standalone `Extra.agda`, and delete `Extra.agda`.
+ Convert the file to literate-markdown formatting with brief
  section prose; the module body is otherwise unchanged.
+ Update the single downstream caller
  (`Ledger.Conway.Conformance.Equivalence.Deposits`) to import from
  the new location.

Closes #1194
CIP-? | Cardano Wallet Deep-Link Signing
A deep-link wire protocol so native mobile dApps can ask an installed
Cardano wallet to perform CIP-30 operations (signTx, signData, ...)
over the OS URL-handling mechanism: no relay server, no embedded
WebView, no QR, no WebSocket. Addresses CPS-0010 for the
mobile-native dApp shape.

Reference implementations: Aegis (dApp) + Yuti (wallet), both from
Flux Point Studios.

Discussions:
  - https://forum.cardano.org/t/cip-proposal-mobile-deep-link-signing-for-native-dapps-cip-30-extension/154561
  - https://github.com/cardano-foundation/CIPs/pull/1189
refactor: use ScrubbedBytes for plaintext key material buffers
Four internal ByteString allocations held the raw 128-byte extended
private key (ed25519 scalar || public key || chain code) in memory
without guaranteed zeroing on GC.  Switch them to ScrubbedBytes so
the memory package zeroes the pages when they are collected.

  - keyMaterialFromLegacyBytes: avoids an intermediate full :: ByteString
    carrying all 128 bytes; slices secret/pub/cc directly from ScrubbedBytes
  - legacyMaterialFromSecret / legacyMaterialFromMasterKey / legacyDerivePrivate:
    type annotations changed from ByteString to ScrubbedBytes so B.allocRet
    allocates scrubbed pages from the start

No public API or serialisation changes.
dummy-ghc-info: handle wasm 9.12+ interpreter/dyn ways; mktemp the diff file
Two fixes for the dummy-ghc-info still-failing matrix at eval 1507:

* lib/dummy-ghc.nix — wasm (wasi32 / wasm32) gained an interpreter and
  dynamic RTS ways in GHC 9.12+.  Real cross GHC for 9.12+ wasm now
  reports `Tables next to code: NO`, `Have / Use interpreter: YES`,
  and `RTS ways: v debug debug_dyn dyn`.  Branch the existing
  ghcjs/wasm case on `versionAtLeast ghc.version "9.12" &&
  targetPlatform.isWasm`; older wasm and all ghcjs keep the legacy
  stage-1-without-interpreter values.

* test/dummy-ghc-info/default.nix — `mktemp` the diff-output file
  rather than hard-coding `/tmp/dummy-vs-real.diff`.  The darwin
  sandbox refuses writes to `/tmp/`, so the previous code errored on
  permission-denied before printing the actual "diverges from real"
  block, making darwin failures look mysterious in CI.  All the
  ghc9124/ghc984 ghcjs and ghc967/9124/9141 native darwin failures
  were just this — they pass once the diff write target is writable.

Verified on linux-0 against eval 1507's still-failing matrix:

  PASS aarch64-darwin ghc9124 ghcjs / native
  PASS aarch64-darwin ghc9141 native / wasi32
  PASS aarch64-darwin ghc967  native
  PASS aarch64-darwin ghc984  ghcjs / native
  PASS x86_64-darwin  ghc9124 ghcjs / native
  PASS x86_64-linux   ghc9124 wasi32
  PASS x86_64-linux   ghc9141 wasi32