Deployed ec90757 with MkDocs version: 1.6.1
Apr 29, 9-10 AM (49)
Apr 29, 10-11 AM (28)
Apr 29, 11-12 PM (51)
Apr 29, 12-1 PM (39)
Apr 29, 1-2 PM (21)
Apr 29, 2-3 PM (67)
Apr 29, 3-4 PM (25)
Apr 29, 4-5 PM (36)
Apr 29, 5-6 PM (16)
Apr 29, 6-7 PM (10)
Apr 29, 7-8 PM (14)
Apr 29, 8-9 PM (13)
Apr 29, 9-10 PM (17)
Apr 29, 10-11 PM (25)
Apr 29, 11-12 AM (29)
Apr 30, 12-1 AM (6)
Apr 30, 1-2 AM (8)
Apr 30, 2-3 AM (1)
Apr 30, 3-4 AM (6)
Apr 30, 4-5 AM (2)
Apr 30, 5-6 AM (8)
Apr 30, 6-7 AM (15)
Apr 30, 7-8 AM (17)
Apr 30, 8-9 AM (100)
Apr 30, 9-10 AM (19)
Apr 30, 10-11 AM (50)
Apr 30, 11-12 PM (120)
Apr 30, 12-1 PM (69)
Apr 30, 1-2 PM (45)
Apr 30, 2-3 PM (117)
Apr 30, 3-4 PM (29)
Apr 30, 4-5 PM (34)
Apr 30, 5-6 PM (9)
Apr 30, 6-7 PM (20)
Apr 30, 7-8 PM (23)
Apr 30, 8-9 PM (28)
Apr 30, 9-10 PM (13)
Apr 30, 10-11 PM (25)
Apr 30, 11-12 AM (15)
May 01, 12-1 AM (18)
May 01, 1-2 AM (15)
May 01, 2-3 AM (6)
May 01, 3-4 AM (7)
May 01, 4-5 AM (3)
May 01, 5-6 AM (5)
May 01, 6-7 AM (8)
May 01, 7-8 AM (15)
May 01, 8-9 AM (24)
May 01, 9-10 AM (17)
May 01, 10-11 AM (16)
May 01, 11-12 PM (17)
May 01, 12-1 PM (39)
May 01, 1-2 PM (32)
May 01, 2-3 PM (19)
May 01, 3-4 PM (16)
May 01, 4-5 PM (25)
May 01, 5-6 PM (11)
May 01, 6-7 PM (20)
May 01, 7-8 PM (22)
May 01, 8-9 PM (65)
May 01, 9-10 PM (15)
May 01, 10-11 PM (40)
May 01, 11-12 AM (61)
May 02, 12-1 AM (6)
May 02, 1-2 AM (11)
May 02, 2-3 AM (5)
May 02, 3-4 AM (8)
May 02, 4-5 AM (6)
May 02, 5-6 AM (2)
May 02, 6-7 AM (2)
May 02, 7-8 AM (14)
May 02, 8-9 AM (7)
May 02, 9-10 AM (8)
May 02, 10-11 AM (11)
May 02, 11-12 PM (7)
May 02, 12-1 PM (7)
May 02, 1-2 PM (3)
May 02, 2-3 PM (14)
May 02, 3-4 PM (9)
May 02, 4-5 PM (27)
May 02, 5-6 PM (9)
May 02, 6-7 PM (29)
May 02, 7-8 PM (11)
May 02, 8-9 PM (15)
May 02, 9-10 PM (1)
May 02, 10-11 PM (20)
May 02, 11-12 AM (18)
May 03, 12-1 AM (8)
May 03, 1-2 AM (1)
May 03, 2-3 AM (4)
May 03, 3-4 AM (7)
May 03, 4-5 AM (1)
May 03, 5-6 AM (4)
May 03, 6-7 AM (32)
May 03, 7-8 AM (5)
May 03, 8-9 AM (1)
May 03, 9-10 AM (3)
May 03, 10-11 AM (10)
May 03, 11-12 PM (11)
May 03, 12-1 PM (16)
May 03, 1-2 PM (11)
May 03, 2-3 PM (2)
May 03, 3-4 PM (2)
May 03, 4-5 PM (5)
May 03, 5-6 PM (0)
May 03, 6-7 PM (5)
May 03, 7-8 PM (6)
May 03, 8-9 PM (8)
May 03, 9-10 PM (15)
May 03, 10-11 PM (23)
May 03, 11-12 AM (17)
May 04, 12-1 AM (4)
May 04, 1-2 AM (4)
May 04, 2-3 AM (10)
May 04, 3-4 AM (9)
May 04, 4-5 AM (5)
May 04, 5-6 AM (6)
May 04, 6-7 AM (6)
May 04, 7-8 AM (28)
May 04, 8-9 AM (24)
May 04, 9-10 AM (43)
May 04, 10-11 AM (36)
May 04, 11-12 PM (61)
May 04, 12-1 PM (34)
May 04, 1-2 PM (48)
May 04, 2-3 PM (64)
May 04, 3-4 PM (33)
May 04, 4-5 PM (64)
May 04, 5-6 PM (49)
May 04, 6-7 PM (13)
May 04, 7-8 PM (31)
May 04, 8-9 PM (45)
May 04, 9-10 PM (9)
May 04, 10-11 PM (54)
May 04, 11-12 AM (24)
May 05, 12-1 AM (4)
May 05, 1-2 AM (5)
May 05, 2-3 AM (5)
May 05, 3-4 AM (11)
May 05, 4-5 AM (11)
May 05, 5-6 AM (50)
May 05, 6-7 AM (16)
May 05, 7-8 AM (36)
May 05, 8-9 AM (81)
May 05, 9-10 AM (68)
May 05, 10-11 AM (34)
May 05, 11-12 PM (72)
May 05, 12-1 PM (115)
May 05, 1-2 PM (118)
May 05, 2-3 PM (65)
May 05, 3-4 PM (91)
May 05, 4-5 PM (41)
May 05, 5-6 PM (26)
May 05, 6-7 PM (28)
May 05, 7-8 PM (73)
May 05, 8-9 PM (31)
May 05, 9-10 PM (18)
May 05, 10-11 PM (25)
May 05, 11-12 AM (17)
May 06, 12-1 AM (10)
May 06, 1-2 AM (5)
May 06, 2-3 AM (9)
May 06, 3-4 AM (22)
May 06, 4-5 AM (4)
May 06, 5-6 AM (13)
May 06, 6-7 AM (10)
May 06, 7-8 AM (11)
May 06, 8-9 AM (97)
May 06, 9-10 AM (12)
4,071 commits this week
Apr 29, 2026
-
May 06, 2026
chore(testnet): mirror master in cardano_node_adversary
Make `cardano_node_adversary` the dress rehearsal for the future master testnet — the state master will reach when the adversary container is promoted into it. Adversary's compose now equals master's compose verbatim plus the adversary service stanza (slotted between sidecar and tracer-sidecar). Concrete additions: - tx-generator service + asteria-game service (both newly active in master via ecf7910). - Restored container_name labels, original config-comment annotations, and the default network's `name:` so the diff master → adversary is exactly +adversary-block. - New volumes asteria-game-db + asteria-deploy needed by asteria-game. The tracer-sidecar pin stays on the post-#129 build (8dbf509) so adversary keeps the Layer 3 fork-depth checklist; master will pick it up when adversary is promoted in a follow-up. Smoke-tested locally: 3 producers responding, adversary driver hits p1 cleanly, tx-generator drove 5/5 transacts, asteria indexer observed refill UTxO.
chore(testnet): mirror master in cardano_node_adversary
Make `cardano_node_adversary` the dress rehearsal for the future master testnet — the state master will reach when the adversary container is promoted into it. Adversary's compose now equals master's compose verbatim plus the adversary service stanza (slotted between sidecar and tracer-sidecar). Concrete additions: - tx-generator service + asteria-game service (both newly active in master via ecf7910). - Restored container_name labels, original config-comment annotations, and the default network's `name:` so the diff master → adversary is exactly +adversary-block. - New volumes asteria-game-db + asteria-deploy needed by asteria-game. The tracer-sidecar pin stays on the post-#129 build (8dbf509) so adversary keeps the Layer 3 fork-depth checklist; master will pick it up when adversary is promoted in a follow-up. Smoke-tested locally: 3 producers responding, adversary driver hits p1 cleanly, tx-generator drove 5/5 transacts, asteria indexer observed refill UTxO.
Merge pull request #190 from input-output-hk/jj/export-gref
Rework custom validators to work with generic rules
Add round-trip test for generic tag range
New Huddle example `tagRangeExample`: `foo<a> = #6.1280(a) / #6.1400(a)` used at `[foo<uint>, foo<nint>]`, with a custom generator that picks any tag in `1280..1400` (biased toward the edges via `frequency`) and a custom validator accepting the same range. Both delegate to the bound generic type via `generateFromGRef` / `validateFromGRef`. Wired into the `Generated value validates` round-trip suite, plus a separate property that classifies tag samples to surface edge coverage (33% edge / 67% middle).
Resolve generic refs in custom generators and validators
Custom generators and validators attached to a generic Huddle rule can now look up the type bound to a generic parameter at the enclosing rule. Add `generateFromGRef` and `validateFromGRef` helpers, plus `validateFromName`. Custom closures attached to generic rules are wrapped at monomorphization time to install the active local bindings into `geLocal`/`veLocal` on `GenEnv`/`ValidateEnv`, which a new `lookupGRef` method on `MonadCddl` consults. `runCBORValidator` now takes a `CTreeRoot ValidatorPhase` directly. `GRef` moves to `Codec.CBOR.Cuddle.CDDL` so lower-level modules can use it; `Huddle` re-exports it without the constructor.
chore: apply review comments
fix(stm): renamed module and struct and added golden tests for the production constants
Make monomorphized rule names use argument names instead of hash
Remove unused LANGUAGE pragmas
temp: ignore preview blocks/latest test (CI dolos stale)
fix(amaru): use relay image with reward completion
Avoid alfred-margaret version that does not build on ghc 9.6
cabal.project: Remove un-needed constraints and allow-newers
fix(pollux): check nbf claim in JWT.verify
JWT.verify did not validate the nbf (not before) claim, so JWTs with
nbf in the future were incorrectly considered valid. This is a
security issue per RFC 7519 Section 4.1.5.
Added an explicit nbf check after JWT decode: if nbf is present and
the current time is before it, verify() returns false. JWTs without
an nbf claim keep the previous behavior (no nbf enforced).
This is a sister fix to #489/#550 (which addressed the exp claim).
Adding the nbf check exposed pre-existing bugs in JWT/SDJWT creation
paths that emitted nbf as milliseconds (Date.now()) instead of
seconds (NumericDate per RFC 7519). Without correction these tokens
would be rejected by the new check, breaking
createPresentationForRequestProof and credential issuance. Three
creation sites are corrected to seconds:
- src/plugins/internal/dif/PresentationRequest.ts (VP nbf)
- src/plugins/internal/didcomm/tasks/HandleRequestCredential.ts
(JWT and SDJWT credential nbf)
The hardcoded VP JWT in tests/plugins/dif/PresentationVerify.test.ts
and the credential fixture in tests/fixtures/credentials/jwt.ts
contained nbf in milliseconds and have been regenerated with valid
(seconds) timestamps. Inline currentDate.getTime() test data has
been corrected to Math.floor(.../1000).
Note: iat and exp in the same creation paths are also emitted as
milliseconds; this does not block the new nbf check (exp in ms is
interpreted as far future and passes) but violates RFC 7519. Filed
separately.
Closes #551
Signed-off-by: Seydi Charyyev <[email protected]>
fixup: add counter thread
Add the conter thread to the test cases. Add meta tests for AppV2 generators/shrinkers
Make monomorphized rule names use argument names instead of hash
Add round-trip test for generic tag range
New Huddle example `tagRangeExample`: `foo<a> = #6.1280(a) / #6.1400(a)` used at `[foo<uint>, foo<nint>]`, with a custom generator that picks any tag in `1280..1400` (biased toward the edges via `frequency`) and a custom validator accepting the same range. Both delegate to the bound generic type via `generateFromGRef` / `validateFromGRef`. Wired into the `Generated value validates` round-trip suite, plus a separate property that classifies tag samples to surface edge coverage (~38% edge / ~62% middle).
Resolve generic refs in custom generators and validators
Custom generators and validators attached to a generic Huddle rule can now look up the type bound to a generic parameter at the enclosing rule. Add `generateFromGRef` and `validateFromGRef` helpers, plus `validateFromName`. Custom closures attached to generic rules are wrapped at monomorphization time to install the active local bindings into `geLocal`/`veLocal` on `GenEnv`/`ValidateEnv`, which a new `lookupGRef` method on `MonadCddl` consults. `runCBORValidator` now takes a `CTreeRoot ValidatorPhase` directly. `GRef` moves to `Codec.CBOR.Cuddle.CDDL` so lower-level modules can use it; `Huddle` re-exports it without the constructor.