Skip to main content

55 posts tagged with "ledger"

View All Tags

· 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

· One min read
Kevin Hammond

Unexpected Ledger State Replay in the Conway era

An issue was identified shortly before the Chang hard fork: it was found that ledger state snapshots would break ledger replay in the Conway era under mainnet conditions. The ledger and consensus teams worked rapidly to resolve the issue with a hotfix released within 24 hours of the hard fork. In order to avoid pauses in node availability, it was recommended that users should not restart their node process until they had upgraded their node to the hotfix - this included any node type: relays, block producers, DB-Sync nodes, etc.

The issue is documented here. The cause was a slight inconsistency between the ledger state snapshots that were written and those that could be read back; a side effect of the removal of pointer addresses in the Conway era. Nodes version 9.1.1 and later resolve this issue.

Further Details

Node version 9.1.1

GitHub Issue