Skip to main content

57 posts tagged with "ledger"

View All Tags

· One min read
Alexey Kuleshevich

High level summary

This period we have discovered and fixed a bug in ledger that was also backported in a patch release of cardano-node-10.1.3. The bug manifests itself in the protocol version 10 and affects DRep delegations. It does not affect mainnet in a meaningful way, because DReps cannot yet vote on any proposal that affects the ledger state or the chain. However, in order to have the correct behavior in the protocol version 10 we do need to use this patched version.

Besides this bugfix we continued working on testing and taking care of some tech dept. We also added a new ledger state query that allows asking the node for current DRep voting stake distribution.

Low level summary

  • pull-4764 - Add registered DRep stake distribution query
  • pull-4748 - Add Conformance.Imp: imptests with conformance
  • pull-4767 - Simplify working with current epoch number
  • pull-4773 - DRep undelegation fix
  • pull-4774 - Backport release: cardano-ledger-conway-1.17.3.0
  • pull-4777 - Upgrade to plutus-ledger-api 1.37.0.0
  • pull-4779 - Change type of nOpt pparam to Word16

· 2 min read
Alexey Kuleshevich

High level summary

The most notable change this period is extraction of a testing framework ImpSpec that we developed for testing Ledger implementation. This meant extracting reusable functionality, packaging into a seperate library and releasing it to Hackage.

Most of the efforts are still dedicated to improving our tests and working on conformance testing.

Low level summary

Features

  • pull-4765 - Pass epochNo from BBODY instead of re-computing it in downstream rules

Testing

  • pull-4743 - Fix looping issue in constrained-generators
  • pull-4741 - Various executable spec improvements
  • pull-4746 - Added LEDGERS conformance
  • pull-4747 - Fixed translation of StakeReference
  • pull-4700 - Test SPO vote counting
  • pull-4744 - Guardrail in Imp genesis
  • pull-4745 - Extract ImpSpec into its own package
  • pull-4739 - Improve the propagation of explanations when a Spec fails.
  • pull-4755 - constrained-generators: Fix test failure related to narrowing of fold specs
  • pull-4708 - Continue implementing the tests in Alonzo.Imp.UtxowSpec.Valid
  • pull-4756 - Updated spec to fix a conformance failure

Infrastructure and releasing

  • pull-4750 - Update CHaP and Hackage
  • pull-4763 - Move ImpSpec into its own repo
  • pull-4758 - Add a hidden skiplist file for git fsck and a note about using it
  • pull-4759 - Documented RatifyState

· 2 min read
Alexey Kuleshevich

High level summary

Features that were implemented this period are mostly internal improvements to the quality of code. The only feature that stands out from this is the addition of a new query that allows users to learn the default vote for a particular Stake Pool Operator. Much improvement has also happened on the conformance testing side, as well as to the rest of the test suite.

Low level summary

Features

  • pull-4666 - Mismatch for Conway predicate failures
  • pull-4711 - Use Mismatch for Shelley, Mary, Allegra, Alonzo, Babbage
  • pull-4722 - Create specialized newtype VRFVerKeyHash
  • pull-4557 - Define CDDL via Huddle in shelley-ma
  • pull-4733 - Alternative approach to Annotator
  • pull-4735 - Add queryStakePoolDefaultVote state query
  • pull-4737 - Remove deprecated and unused definitions

Testing

  • pull-4718 - Avoid intermittent test failures in constrained-generators
  • pull-4712 - (NonEmpty x) in MemberSpec
  • pull-4713 - Better bootstrap-aware Imp tests
  • pull-4730 - constrained-generators: fix flaky test
  • pull-4729 - Added RewardUpdate spec translation
  • pull-4720 - Add CC removal imptest with UpdateCommittee
  • pull-4728 - Add a balanced TxBody specification
  • pull-4736 - Pass the signature checking function to Agda
  • pull-4719 - constrained-generators: Better shrinking for SuspendedSpec

Infrastructure and releasing

  • pull-4717 - Speedup CI by disabling unnecessary steps
  • pull-4714 - Add changelog entry for cardano-node-10.1
  • pull-4734 - Update index state

· 2 min read
Alexey Kuleshevich

High level summary

Final changes for the next Hard Fork to protocol version 10.0:

  • Ensure that it is still possible to unregister the reward account and withdraw the funds in the same transaction
  • Fix a bug in recently introduced feature, which ensures DRep existence for all stake credential delegations.

More Conway testing and continued progress on conformance tests.

Low level summary

Features

  • pull-4684 - Revert Mismatch-related changes of ShelleyPoolPredFailure serialization
  • pull-4661 - Add GovRemovedVotes event
  • pull-4697 - Minor fixups from internal audit
  • pull-4709 - Fix drep delegation invariant preservation
  • pull-4715 - Adjust semantics of ConwayWdrlNotDelegatedToDRep

Testing

  • pull-4683 - constrained-generators: Improve some error messages
  • pull-4689 - Set maxTxSize relative to generated tx in Utxo conformance tests
  • pull-4680 - constrained-generators: More tests for append and singleton
  • pull-4665 - Remove the proposals workaround from UTXO conformance, add LEDGER conformance
  • pull-4705 - Implement some of the tests in Alonzo.Imp.UtxowSpec.Valid
  • pull-4707 - Add imp tests for drep delegation
  • pull-4677 - Added example Tx specification

Infrastructure and releasing

  • pull-4681 - Update CHANGELOG files following release for 10.0
  • pull-4686 - Bump up version in cardano-ledger-shelley changelog
  • pull-4688 - Add nix develop to main README.md
  • pull-4701 - Ensure repo is buildable on Windows
  • pull-4656 - Align with Governance audit
  • pull-4706 - Add changelog section for cardano-node-10.0 and 9.2.1
  • pull-4710 - Cardano ledger conway 1.17.1.0
  • pull-4716 - Release/cardano ledger conway 1.17.2.0

· 2 min read
Alexey Kuleshevich

High level summary

We implemented the remaining improvements and fixes discovered in Conway, to be fixed during the bootstrap period:

* protection against deposit loses
* ensuring that DReps exist before delegating
* updates to SPO vote threshold calculation
* improved well-formedness check

Additionally, we added two new rules: Mempool and HardFork, that will allow us to flexibly add processing logic in the future. We also dropped pointers for Conway and enhanced predicate failure reporting for pre-Conway eras.

Finally, we added more tests - both unit and conformance tests.

Low level summary

  • pull-4647 - Drop pointers from UMap in Conway
  • pull-4642 - Mempool rule
  • pull-4553 - Address issues in auto-generated CDDL specification
  • pull-4650 - Check ppuCoinsPerUTxOBytes well-formedness
  • pull-4648 - Updated conformance to work with new MAlonzo types
  • pull-4653 - Improve color output in Imp spec
  • pull-4603 - Add more tests for voting behaviour
  • pull-4639 - Prevent non-registered return accounts for proposals' deposits and TreasuryWithdrawals
  • pull-4632 - Export Unsafe constructors for TxBody, TxBodyRaw and MemoBytes
  • pull-4654 - Add applyTxOpts to ApplyTx
  • pull-4657 - HardFork rule
  • pull-4659 - Change how SPO votes are counted
  • pull-4660 - UTXO conformance with Babbage transactions
  • pull-4652 - Ensure dreps exist prior to delegation
  • pull-4649 - Mismatch type for predicate failures
  • pull-4676 - constrained-generators: (++.) and singleton_ for lists
  • pull-4679 - Fixes for release