Skip to main content

56 posts tagged with "ledger"

View All Tags

· 2 min read
Alexey Kuleshevich

High level summary

Same as with the prior report we are focusing on testing Conway features and conformance testing. One bug was discovered and fixed as a result of this testing, which would only have affected Conway functionality until after the bootstrap phase is over. We also finished fully defining Conway CDDL specification in Haskell.

Low level summary

Conway

  • pull-4516 - Use motionNoConfidence drep thresholds to ratify NoConfidence
  • pull-4503 - Improvements to plutus debug

Testing

  • pull-4485 - Improvements for GOVCERT conformance test
  • pull-4495 - Update executable ledger spec
  • pull-4494 - Added minitracing over things with ExecSpecRule instances
  • pull-4440 - Implement more tests in Alonzo.Imp.UtxowSpec.Invalid
  • pull-4493 - constrained-generators: some special-case hooks for the prettyprinter
  • pull-4501 - constrained-generators: Add a callback to saturate constraints
  • pull-4483 - constrained-generators: Start on a tutorial / cheat sheet
  • pull-4437 - Test Conway CDDL using Cuddle
  • pull-4506 - Fix PParams and PParamsUpdate field order for conformance tests
  • pull-4510 - Auto-generate Conway CDDL using Cuddle

Infrastructure and releasing

· 2 min read
Alexey Kuleshevich

High level summary

While we are waiting for Chang hard fork we are focusing on as much testing as possible. Therefore all work that was done mostly related to writing unit tests and conformance testing.

Low level summary

Features

  • pull-4480 - Add mkTermToEvaluate on PlutusLanguage class

Testing

  • pull-4464 - constrained-generators: fix incorrect size computation in sets
  • pull-4472 - constrained-generators: fix map generator for simple cases
  • pull-4482 - constrained-generators: turn off leaky test until we can fix it
  • pull-4467 - Conformance CERT: plumbing and translation
  • pull-4475 - Remove duplicate testing of Alonzo and Shelley in Conway
  • pull-4478 - Remove unused variable in non-integral reference code
  • pull-4473 - Make ErrorSpec take a (NonEmpty String) rather than [String]
  • pull-4488 - Handle forks in the branch-history GitHub CI job
  • pull-4469 - Conformance DELEG: Extract Deleg ExecSpecRule and SpecTranslate instances
  • pull-4484 - Conformance GOV: translate and adjust
  • pull-4474 - Conformance test plumbing: CERTS
  • pull-4492 - Remove some unnecessary allocations

Infrastructure and releasing

  • pull-4479 - Add changelog entries for cardano-node-9.0
  • pull-4476 - Bump certifi from 2023.7.22 to 2024.7.4 in /doc

· 2 min read
Alexey Kuleshevich

High level summary

This period we added some last minute changes that were necessary for improving resilience and safety of Conway implementation:

  • Authorization of hot credentials for constitutional committee members is now only possible for cold credentials that are present in the ledger state, either in the current committee or in one of the proposals.
  • Voting is restricted to entities that are present in the ledger state
  • DRep votes will be removed whenever DRep unregisters
  • Pricing model for the size of reference scripts was changed from linear to exponential. Moreover, extra limits on the total size of reference scripts being used have been put in place.

Low level summary

Conway

  • pull-4430 - CostModel json parsing
  • pull-4438 - Fix UTXOW era in diagrams for Conway
  • pull-4443 - Make reference scripts fee grow exponentially with size
  • pull-4436 - Authorize known cc members only
  • pull-4433 - Improve resilience of future PParams
  • pull-4453 - Tx refscript size check
  • pull-4452 - Prevent votes for non existent entities
  • pull-4450 - BBODY refscript size check

Testing

  • pull-4417 - constrained-generators: use consistent warning pragma
  • pull-4431 - constrained-generators: fix flakyness in set generator
  • pull-4312 - Convert AlonzoValidTxUTXOW to ImpTest (Part 1)
  • pull-4386 - Increase the size of the committee for testing
  • pull-4425 - Conformance test plumbing: EPOCH
  • pull-4442 - Update executable-spec SRP
  • pull-4405 - Add more scripts to alonzo utxosspec
  • pull-4445 - Conformance tests plumbing: NEWEPOCH
  • pull-4460 - Remove unnecessary allocation in non-integral reference code
  • pull-4457 - Conformance: POOL: Translate and adjust

Infrastructure and releasing

· 2 min read
Alexey Kuleshevich

High level summary

Major milestone was reached this period. We've implemented CIP-0069 that improves PlutusV3 functionality by making spending datums optional and enforcing all scripts to have exactly one argument. This feature allows for spending scripts to be usable for other purposes, like minting for example.

Couple of important bugs have been fixed:

  • Script execution for certificates with the same plutus script did not execute correctly.
  • Prevent delegation to a non-existent pool.

With this feature complete and a few bug fixes we were also able to mark Conway era and CIP-1694 as feature complete and ready for release. Naturally, testing of Conway era will continue all the way into the hard fork.

Low level summary

Conway

  • pull-4374 - CIP-0069
  • pull-4394 - Fix Certifying Redeemer issue
  • pull-4400 - Check that the pool being delegated to exists for ConwayDelegCert
  • pull-4409 - Update to plutus-ledger-api-1.30

Testing

  • pull-4384 - Re-enabled Full NewEpochstate test
  • pull-4397 - Add a lens to HasSubState
  • pull-4399 - New simple examples for maps
  • pull-4403 - constrained-generators: Add lookup_ for maps
  • pull-4414 - constrained-generators: Hotfix failing test
  • pull-4411 - constrained-generators: introduce a hook for naming variables

Infrastructure and releasing

  • pull-4424 - GHA: Downgrade the version of actions/upload-artifact
  • pull-4426 - Take care of all compiler warnings for GHC-9.8
  • pull-4407 - Change the default ghc version to 9.6.5
  • pull-4416 - Bump urllib3 from 1.26.18 to 1.26.19 in /doc

· 3 min read
Alexey Kuleshevich

High level summary

This time around we continued on testing the Conway era and improving our conformance tests. Thanks to this extensive testing we found and fixed a few more bugs in the Conway implementation. We fixed bugs related to DRep expiry and the choice of correct threshold for the committee voting. One important feature that was implemented is ignoring the minimun committee size during the bootstrap phase, in order to avoid a deadlock situation in case that enough committeee members were to resign. We've also improved the correctness of our CDDL specification and improved the safety by restricting some of the types of protocol parameters.

Low level summary

Conway

  • pull-4350 - Add identity instance for Inject
  • pull-4361 - Fixed a bug in RATIFY
  • pull-4358 - DRep expiry update with number of dormant epochs
  • pull-4365 - Create pool stake distribution query for voting
  • pull-4376 - Ignore ppCommitteeMinSize during bootstrap
  • pull-4364 - DRep state query and related tests
  • pull-4357 - Specify numeric ranges explicitly in conway cddl files

Testing and formal spec

  • pull-4339 - constrained-generators: introduce tools for controlling test case distribution
  • pull-4348 - Conformance: GOVCERT
  • pull-4213 - Utxow Predicate failure tests
  • pull-4351 - Enable retrying flaky tests in nightly CI
  • pull-4345 - constrained-generators: Add explanation :: [String] -> Pred fn -> Pred fn
  • pull-4362 - Threshold translation in conformance testing
  • pull-4369 - constrained-generators: Add flip_ to avoid having to add new native functions
  • pull-4377 - constrained-generators: propagate information backwards in the solver
  • pull-4389 - Fixed issue #4340. Problem with futurePParams not adequate in Conway.
  • pull-4378 - Conformance: POOL
  • pull-4388 - Improved the translation of PParamUpdate in conformance
  • pull-4355 - Fix order of arguments to verifyVrf

Infrastructure and releasing

  • pull-4352 - Remove dependency on deprecated ansi-wl-print package
  • pull-4344 - constrained-generators: identify and fix an issue with big bodies to ifElse
  • pull-4338 - Add conformance testing for ENACT
  • pull-4354 - Added conformance test for DELEG
  • pull-4367 - Fixed 8.10 not building
  • pull-4368 - Ensure GitHub CI fails when tests are skipped due to a build failure
  • pull-4373 - Add -rtsopts to all test suites