Skip to main content

71 posts tagged with "ledger"

View All Tags

· 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

· 2 min read
Alexey Kuleshevich

High level summary

Aside from more testing and overall quality-of-life improvements on the ledger test suite side, we have implemented a couple of important features that will be enabled after the next intra-era hard fork:

  • Translation of RegTxCert and UnRegTxCert to PlutusV3 scripts context will now be done correctly, which means deposit and refund respectively, will actually be translated.
  • Treasury withdrawals that are empty or sum up to zero will no longer be allowed.

Some performance improvements and a bug fix to a ledger event were also implemented during this period.

Low level summary

Features

  • pull-4623 - Change GovInfoEvent's "unclaimed" field from Set to a Map
  • pull-4627 - Fix Conway implementation of RegTxCert and UnRegTxCert
  • pull-4643 - Improve certificate performance
  • pull-4630 - Disallow empty withdrawals
  • pull-4646 - Don't return ZeroTreasuryWithdrawals failure during bootstrap

Testing

  • pull-4497 - Show coloured tree-diff output in ImpTests
  • pull-4615 - Prevent HSpec from messing with ImpSpec colors
  • pull-4625 - Additional DELEG tests
  • pull-4599 - Move TxInfo golden tests to new package
  • pull-4629 - Add TxInfo golden test for Conway
  • pull-4575 - Ts salvage newtylespecs

Infrastructure and releasing