Skip to main content

58 posts tagged with "ledger"

View All Tags

· 2 min read
Alexey Kuleshevich

High level summary

Broadly speaking the Ledger team focused on a few main areas of Conway era:

  • Creation of voting state snapshots in order to correctly delay ratification for one epoch
  • Validation of the Governance Actions sequencing and ordering
  • Proper expiry of DReps and Proposal Procedures
  • Expanding Conway Genesis functionality
  • Utilization of some of the new Protocol Parameters in ledger validation rules

Low level summary

Conway era

  • pull-3659 - Validate Network for ProposalProcedure and TreasuryWithdrawal
  • pull-3637 - Avoid using sequence of tuples, by adding GovActionId to GovActionState
  • pull-3651 - Inactive DReps
  • pull-3664 - Track proposal expiry
  • pull-3668 - Add min committee size predicate to NewCommittee
  • pull-3669 - Add Proposal deposit check against PParam
  • pull-3676 - Fix inactive PoolStake not counting as Drep Stake
  • pull-3635 - Make snapshots of GovActionsState
  • pull-3670 - Validate previously enacted govAction
  • pull-3694 - Improve error reporting on the positive coin decoder
  • pull-3674 - Added RATIFY thresholds
  • pull-3684 - Add proposal delaying, remove predicate failure from ENACT
  • pull-3688 - DRep Refunds and update evalTransactionBalance

Improvements and releasing

  • pull-3677 - Minor patch that fixes the DRep distribution computation
  • pull-3686 - Post patch release fixup
  • pull-3695 - Changelog for cardano-node-8.3 release
  • pull-3683 - Add two new bench mark programs

Testing

· 2 min read
Alexey Kuleshevich

High level summary

The ledger team made great progress in advancing Conway era forward. In particular, voting for DRep and Stake Pool Operators is now at the state that can be used by downstream components. Addition of new ledger state queries makes it possible to verify changes to the governance state, such as placement of votes, submission of governance proposals, inspecting DRep stake distribution and more. Addition of treasury withdrawals concludes the ability to enact all of the governance actions, except for the hard fork initiation.

Low level summary

Conway progress

  • pull-3577 - Move PParams to GovState
  • pull-3609 - Adjust thresholds for sanchonet
  • pull-3604 - README: update CIP-1694 link
  • pull-3616 - Switch TreasuryWithdrawals to use RewardAcnt
  • pull-3599 - Add governance action well-formedness check
  • pull-3607 - Rename governance to gov
  • pull-3601 - Added DRep anchors
  • pull-3615 - Add optional previous GovActionId in some ProposalProcedures
  • pull-3596 - Upgradeable families
  • pull-3625 - Change constitution to use Anchor
  • pull-3592 - Added pulsing incremental computation of the DRep distribution
  • pull-3523 - Treasury donations
  • pull-3633 - Prevent state changes on phase2 failure
  • pull-3634 - Disable serialization of protocolVersion param update
  • pull-3630 - Implemented DRep refreshing
  • pull-3640 - Remove crypto parameterization from AnchorData
  • pull-3636 - Implement DRep ratification with an "always passing"; threshold
  • pull-3648 - Governance queries
  • pull-3650 - Change environment for ShelleyPOOLREAP rule
  • pull-3658 - Set DRep ratify threshold to 51%
  • pull-3628 - DELEG, POOL, GOVCERT conformance with Spec v0.8

Testing

Improvements and releasing

  • pull-3660 - Fix bounds and versions
  • pull-3661 - Adjust versions, bounds and CHANGELOGs to account for the latest release

· 2 min read
Alexey Kuleshevich

High level summary

The ledger team was working almost exclusively on the Conway era implementation. In particular, the main focus was directed towards solidifying transaction related types and their binary representation. We also directed some effort into unblocking Plutus team with respect to PlutusV3 integration.

Low level summary

Conway progress

  • pull-3552 - Allow Constitutional Committee Hot Key to be ScriptHash
  • pull-3581 - Make Constitutional Committee Cold Key to be ScriptHash
  • pull-3571 - Implement a portion of the TICKF rule.
  • pull-3556 - Add Script to Constitution
  • pull-3576 - Add optional Anchor to ConwayRegDRep certificate
  • pull-3495 - Implement refund logic for Proposal deposits
  • pull-3579 - Change voting procedure in the transaction to a nested Map
  • pull-3585 - Rename CommitteeCert into a GovCert
  • pull-3587 - Remove DelegStakeTxCert from the COMPLETE pragma for TxCert
  • pull-3586 - Add CurrentTreasuryValue to TxBody
  • pull-3588 - Rename key roles
  • pull-3557 - Update NewCommittee action to use RewardAcnt and add more info
  • pull-3595 - Add ConwayUpdateDRep constructor to ConwayTxCertGov type
  • pull-3600 - Filter out zero TxOuts on Byron/Shelley boundary instead of Babbage/Conway
  • pull-3597 - Update ProposalProcedure return address to be a RewardAcnt

Testing

  • pull-3374 - New features for generation subject to constraints
  • pull-3519 - Basic Conway features test

Bugfixes

Plutus integration

  • issue-3538 - A fairly complete specification was created for the PlutusV3 context
  • pull-3593 - Conway TxInfo for PlutusV3 is now compatible with all pre-Conway functionality

Improvements and releasing

  • pull-3574 - Improve clarity and performance of collateral Non-ADA validation:
  • pull-3573 - Update top-level CHANGELOG.md with cardano-node relevant changes
  • pull-3555 - Bump pygments from 2.12.0 to 2.15.0 in /doc
  • pull-3575 - Bump certifi from 2022.12.7 to 2023.7.22 in /doc
  • pull-3567 - Backport mint field translation bugfix
  • pull-3568 - Fixed typo in byron ledger spec
  • pull-3572 - Release/backport tickf bugfix

· 2 min read
Alexey Kuleshevich

High level summary

Our focus was on planning and implementing Conway features that we would like to see deployed and running on Sanchonet. All members of the ledger team participated in the CIP-1694 workshop and had an in-person meeting, where we discussed plans forward for the Conway era. We also investigated some transaction validation issues that occurred on preview with the latest node (for 8.2 release). Additionally, we did some preparatory work that will help us define the types we need for Plutus V3 and integrate with the new version when it will become available. We also made progress on the constraint-based generators, which can now generate valid transactions and ledger states.

What we achieved

  • [pull-3521] [pull-3554] Improved Governance model (GovernanceProcedures, ProposalProcedure)
  • [pull-3520] Improved Governance-related naming (Renamed Tally to Gov and VDel to GovCert )
  • [pull-3531] Refactored and simplified code interacting with Plutus
  • [pull-3558] Fixed a bug that was breaking validation on preview, related to refernce inputs witnesses. We backported and released the fix.
  • [pull-3550] For Conway to run on Sanchonet, we updated the era Translation to remove zero-ADA outputs. This was necessary because such outputs exist on mainnet, but in Conway they are not allowed.
  • [pull-3551] [pull-3546] [pull-3472] Updated tools and added some small improvements
  • [issue-3146] [pull-3498] Introduced Conway protocol parameters
  • [issue-2948] [pull-3499] Implemented ConwayGenesis with the new protocol parameters

What is currently in progress

· 2 min read
Jared Corduan

High level summary

The ledger team made progress on the conway ledger era. In particular, the design and implementation of the new certificates is near complete, we refactored some of our data structures to be able to support DReps, we cleaned up the serialization format, and renamed things to make clearer the differences with Shelley.

The team also completed integration work for the next node release, namely 8.1.0. And, as always, we continue to address technical debt.

Low level summary

Conway progress

  • pull-3408 - Improve conway delegation certificates
  • pull-3428 - Get rid of Constitutional in favor of Genesis and Committee
  • pull-3426 - Add DRep to internal data struture (UMap)
  • pull-3425 - Improve witness logic needed for conway
  • pull-3423 - Rename ShelleyDelegCerts constructors to distinguish them from Conway
  • pull-3421 - Rename DCert -> TxCert
  • pull-3454 - conway CDDL minor fixes

Improve testing

  • pull-3403 - Add Plutus script context golden tests

Integration work

  • pull-3410 - Update chaps index
  • pull-3416 - Bump cardano-ledger-alonzo-test version
  • pull-3414 - Bump cardano-ledger-shelley-test minor version
  • pull-3420 - Bump cardano-ledger-shelley-ma-test version
  • pull-3441 - Release cardano-ledger-[alonzo|babbage]-1.2.1

Technical debt

  • pull-3409 - Unit test - no such thing as a reference datum
  • pull-3407 - Fixup release process documentation
  • pull-3404 - Create TotalDeposits events during all eras
  • pull-3402 - Fix broken references in the Shelley spec
  • pull-3424 - Remove no longer used cardano-ledger-shelley-ma package
  • pull-3432 - Add an example on how to bump up versions in the changelog
  • pull-3440 - Revert back to the group serialization for ProtVer for PParams