Skip to main content

56 posts tagged with "ledger"

View All Tags

· 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

· 2 min read
Jared Corduan

High level summary

The ledger team focused mainly on the conway ledger era and node integration. For conway, we completed a large structural change that now allows for delegation certificates to be parameterized by era, and introducing new certificates for the first time since Shelley. We also continue to build out our contraint based generators that we will use to property test the conway era. In particular, we can now generate an entire ledger state and a transaction which is balanced with respect to the ledger state.

Low level summary

Conway certificates

Certificiates are now abstracted as a type family in the ledger codebase. Moreover, there are new certificates in the Conway era to support CIP-1694, and MIR certificates have been removed.

Constraint based testing

Our plan for property testing in the conway era is to no longer use the trace generators, but instead generate ledger states and transactions based on constraints. We hit a milestone this week, namely the ability to generate a balanced transaction in the context of a ledger state, all based on our ever growing constaint language.

Integration work

Technical debt

· One min read
Jared Corduan

High level summary

We continued to make progress on CIP-1694 and the conway ledger era. In particular, the conway era now supports Plutus V3. Finally, we made small improvements to the ledger API and now host our Haskell code documentation (haddocks) on github pages.

Low level summary

Conway ledger era

Haddocks hosted on github pages

Small improvements to the API

Technical Debt

  • [pull-3367] Fix cost model json instances.
  • [pull-3371] UMap cleanup.
  • [pull-3373] Upgrade to ghc 9.2.7 and cabal 3.10.1.
  • [pull-3375] Sadly, we had to revert the TICKF optimizations. There was a regression we do not yet understand.
  • [pull-3377] Fix cabal warnings.
  • [pull-3383] Fix multi-asset test.