Home / Input Output / cardano-ledger-specs
Jun 28, 10-11 AM (0)
Jun 28, 11-12 PM (0)
Jun 28, 12-1 PM (0)
Jun 28, 1-2 PM (0)
Jun 28, 2-3 PM (0)
Jun 28, 3-4 PM (0)
Jun 28, 4-5 PM (0)
Jun 28, 5-6 PM (0)
Jun 28, 6-7 PM (2)
Jun 28, 7-8 PM (5)
Jun 28, 8-9 PM (0)
Jun 28, 9-10 PM (0)
Jun 28, 10-11 PM (0)
Jun 28, 11-12 AM (0)
Jun 29, 12-1 AM (0)
Jun 29, 1-2 AM (0)
Jun 29, 2-3 AM (0)
Jun 29, 3-4 AM (0)
Jun 29, 4-5 AM (0)
Jun 29, 5-6 AM (0)
Jun 29, 6-7 AM (0)
Jun 29, 7-8 AM (0)
Jun 29, 8-9 AM (0)
Jun 29, 9-10 AM (0)
Jun 29, 10-11 AM (0)
Jun 29, 11-12 PM (0)
Jun 29, 12-1 PM (1)
Jun 29, 1-2 PM (0)
Jun 29, 2-3 PM (2)
Jun 29, 3-4 PM (2)
Jun 29, 4-5 PM (0)
Jun 29, 5-6 PM (0)
Jun 29, 6-7 PM (1)
Jun 29, 7-8 PM (1)
Jun 29, 8-9 PM (0)
Jun 29, 9-10 PM (0)
Jun 29, 10-11 PM (0)
Jun 29, 11-12 AM (0)
Jun 30, 12-1 AM (1)
Jun 30, 1-2 AM (1)
Jun 30, 2-3 AM (0)
Jun 30, 3-4 AM (0)
Jun 30, 4-5 AM (0)
Jun 30, 5-6 AM (0)
Jun 30, 6-7 AM (0)
Jun 30, 7-8 AM (1)
Jun 30, 8-9 AM (0)
Jun 30, 9-10 AM (6)
Jun 30, 10-11 AM (5)
Jun 30, 11-12 PM (2)
Jun 30, 12-1 PM (0)
Jun 30, 1-2 PM (2)
Jun 30, 2-3 PM (1)
Jun 30, 3-4 PM (0)
Jun 30, 4-5 PM (1)
Jun 30, 5-6 PM (0)
Jun 30, 6-7 PM (2)
Jun 30, 7-8 PM (0)
Jun 30, 8-9 PM (0)
Jun 30, 9-10 PM (0)
Jun 30, 10-11 PM (2)
Jun 30, 11-12 AM (1)
Jul 01, 12-1 AM (4)
Jul 01, 1-2 AM (1)
Jul 01, 2-3 AM (0)
Jul 01, 3-4 AM (0)
Jul 01, 4-5 AM (0)
Jul 01, 5-6 AM (0)
Jul 01, 6-7 AM (2)
Jul 01, 7-8 AM (0)
Jul 01, 8-9 AM (3)
Jul 01, 9-10 AM (0)
Jul 01, 10-11 AM (1)
Jul 01, 11-12 PM (0)
Jul 01, 12-1 PM (0)
Jul 01, 1-2 PM (1)
Jul 01, 2-3 PM (0)
Jul 01, 3-4 PM (2)
Jul 01, 4-5 PM (0)
Jul 01, 5-6 PM (0)
Jul 01, 6-7 PM (0)
Jul 01, 7-8 PM (2)
Jul 01, 8-9 PM (0)
Jul 01, 9-10 PM (0)
Jul 01, 10-11 PM (0)
Jul 01, 11-12 AM (0)
Jul 02, 12-1 AM (0)
Jul 02, 1-2 AM (1)
Jul 02, 2-3 AM (0)
Jul 02, 3-4 AM (0)
Jul 02, 4-5 AM (0)
Jul 02, 5-6 AM (0)
Jul 02, 6-7 AM (0)
Jul 02, 7-8 AM (0)
Jul 02, 8-9 AM (0)
Jul 02, 9-10 AM (1)
Jul 02, 10-11 AM (0)
Jul 02, 11-12 PM (1)
Jul 02, 12-1 PM (2)
Jul 02, 1-2 PM (1)
Jul 02, 2-3 PM (2)
Jul 02, 3-4 PM (1)
Jul 02, 4-5 PM (1)
Jul 02, 5-6 PM (0)
Jul 02, 6-7 PM (0)
Jul 02, 7-8 PM (0)
Jul 02, 8-9 PM (0)
Jul 02, 9-10 PM (0)
Jul 02, 10-11 PM (0)
Jul 02, 11-12 AM (0)
Jul 03, 12-1 AM (2)
Jul 03, 1-2 AM (0)
Jul 03, 2-3 AM (0)
Jul 03, 3-4 AM (0)
Jul 03, 4-5 AM (0)
Jul 03, 5-6 AM (0)
Jul 03, 6-7 AM (0)
Jul 03, 7-8 AM (0)
Jul 03, 8-9 AM (1)
Jul 03, 9-10 AM (0)
Jul 03, 10-11 AM (0)
Jul 03, 11-12 PM (1)
Jul 03, 12-1 PM (0)
Jul 03, 1-2 PM (0)
Jul 03, 2-3 PM (2)
Jul 03, 3-4 PM (0)
Jul 03, 4-5 PM (0)
Jul 03, 5-6 PM (0)
Jul 03, 6-7 PM (0)
Jul 03, 7-8 PM (0)
Jul 03, 8-9 PM (0)
Jul 03, 9-10 PM (0)
Jul 03, 10-11 PM (0)
Jul 03, 11-12 AM (0)
Jul 04, 12-1 AM (0)
Jul 04, 1-2 AM (0)
Jul 04, 2-3 AM (0)
Jul 04, 3-4 AM (0)
Jul 04, 4-5 AM (0)
Jul 04, 5-6 AM (0)
Jul 04, 6-7 AM (0)
Jul 04, 7-8 AM (0)
Jul 04, 8-9 AM (0)
Jul 04, 9-10 AM (0)
Jul 04, 10-11 AM (0)
Jul 04, 11-12 PM (0)
Jul 04, 12-1 PM (0)
Jul 04, 1-2 PM (0)
Jul 04, 2-3 PM (0)
Jul 04, 3-4 PM (0)
Jul 04, 4-5 PM (0)
Jul 04, 5-6 PM (0)
Jul 04, 6-7 PM (0)
Jul 04, 7-8 PM (0)
Jul 04, 8-9 PM (0)
Jul 04, 9-10 PM (0)
Jul 04, 10-11 PM (0)
Jul 04, 11-12 AM (0)
Jul 05, 12-1 AM (0)
Jul 05, 1-2 AM (0)
Jul 05, 2-3 AM (0)
Jul 05, 3-4 AM (0)
Jul 05, 4-5 AM (0)
Jul 05, 5-6 AM (0)
Jul 05, 6-7 AM (0)
Jul 05, 7-8 AM (0)
Jul 05, 8-9 AM (0)
Jul 05, 9-10 AM (0)
Jul 05, 10-11 AM (0)
71 commits this week Jun 28, 2020 - Jul 05, 2020
Add TICKN transition.
In order to produce a block, we need to create a VRF output using the
correct epoch nonce. This requires us to be able to calculate the epoch
nonce without providing a header. As such, we divide UPDN into two
rules, TICKN and UPDN. The former only does header independent updates,
whereas the latter is used to incorporate header data into the evolving
and candidate nonces.

The TICKN rule is then called directly from the CHAIN rule. In the real
implementation, TICKN will be exposed directly to the consensus layer.
Rewrote 'compile' to return a pair: compile:: Exp(F k v) -> (Dat k v,BaseRep f k v).
Made the instance (Iter Dat), and got rid of the types And AndP Project Guard etc. These
are now superceded by the AndD, andPD, ProjectD, GuardD constructors of Dat. Renamed the
Basic class to Base. Then reused the Basic class name, to hold the old methods addpair, removekey,
addkv, and emptyc which used to appear in Iter. The Basic class means we no longer need the
repOf method in Iter, and the constructors of BaseRep for compound iterators AndR, ProjectR,
GuardR are also gone. Defined the fuction run such that (eval e) == run(compile e). And in the cases
of eval we use: 'eval x = run(compile x)' for all x which do not have domain and type specific
definitions. Cleaned things up considerably, and made a new file IterTest.hs which has about 50 tests.