Skip to main content

74 posts tagged with "ledger"

View All Tags

· 2 min read
Alexey Kuleshevich

High level summary

Ability to specify CostModel for PlutusV3 in the genesis file was implemented, which will allow us to execute PlutusV3 as soon as we enter Conway era, which is essential for guardrails script. Important bugs that have been fixed:

  • Invalid reporting of InsufficientCollateral and ValueNotConservedUTxO predicate failures. In case of validation failure a confusing deserialization was reported instead of those predicate failures.
  • Calculation of votes for Constitutional Committee Members did not consider expired members correctly.
  • Useful function redeemerPointer was deprecated without good justification.

Besides bugfixes there was a lot of work done on the testing side. Constraint based data generation is receiving continuous improvements. More unit and property tests for Conway era functionality.

Low level summary

Conway

  • pull-4259 - Undeprecate redeemerPointer and expose it in cardano-ledger-api
  • pull-4252 - Add PlutusV3 CostModel to UpgradeConwayPParams
  • pull-4247 - Change the balance in InsufficientCollateral to DeltaCoin
  • pull-4267 - Expand TxAuxData interface
  • pull-4265 - Inline UTxO and UTxOW PredFailure for Conway
  • pull-4281 - Discount expired CC from CC-size calculation
  • pull-4290 - Add NoThunks instance for UTxO pred failures
  • pull-4288 - Fix burning tokens predicate failure

Testing

  • pull-4241 - Add fixup combinators to ImpTest framework
  • pull-4229 - Shrinking for constrained-generators
  • pull-4244 - Imptests: CommitteeMinSize affects in-flight props
  • pull-4269 - Fix generation bug for sums of positive member spec
  • pull-4266 - Add imptest to propose and enact unknown costmodels
  • pull-4261 - constrained-generators cleanup for hackage
  • pull-4279 - constrained-generators: Fix bug in toPreds for maps + add additional tests
  • pull-4272 - simplify foldMap interface to higher order syntax
  • pull-4283 - constrained-generators: add new test to test suite
  • pull-4286 - constrained-generators: refactor reify to reduce the number of binding sites + delay simplification more to avoid variable capture in higher order syntax

Infrastructure and releasing

  • pull-4260 - Bump idna from 3.3 to 3.7 in /doc
  • pull-4277 - Fixed formatting in HowToProfileLedger.md
  • pull-4282 - Bump plutus deps to 1.26
  • pull-4294 - Avoid cancelling scheduled CI when a new merge happens on master

· 2 min read
Alexey Kuleshevich

High level summary

Most notable progress is on testing. In particular data generation for conformance test has been improved and the implementation organized. Addition of various Conway related unit and property tests.

Conway

  • pull-4236 - Fix typo in ToJSON of ConwayGovState
  • pull-4250 - Add some ToJSON instances needed by cardano-node

Testing

  • pull-4221 - Fix a NoThunks test failure on nightly builds
  • pull-4214 - Fix estimateMinFeeTx w/ bootstrap test
  • pull-4189 - Imptests - treasury withdrawals
  • pull-4207 - Added tests from a bug report
  • pull-4238 - Imptests: ParameterChange affects ratification for in-flight proposals
  • pull-4243 - Convert small-steps testsuite to Hspec
  • pull-4248 - Fix withdrawals test data generation in EnactSpec
  • pull-4212 - Update and reorganize conformance tests
  • pull-4242 - Added UnitTestTools and IncrementalStakeTest

Infrastructure and releasing

Low level summary

· One min read
Alexey Kuleshevich

High level summary

We continued focusing on adding tests and improving the test frameworks, including the quality of the generated data used in tests.

Low level summary

Conway

  • pull-4205 - Disable CC ratification when number of members is below ppCommitteeMinSize
  • pull-4169 - Add GovInfoEvent and add event testing capabilities to ImpTest
  • pull-4208 - Remove missingScriptsSymmetricDifference

Testing

  • pull-4121 - Newconstraints phase3, Add newtypes: Size, SizeSpec and class Sized.
  • pull-4197 - add unsafeMkProposals to be used for testing
  • pull-4200 - Fix prop_GOV so that it runs again
  • pull-4216 - improve the GOV generator to generate more interesting signals

Improvements

Releasing

· 3 min read
Alexey Kuleshevich

High level summary

Focus has been on testing: adding tests and improving our testing framework to make it easier to write tests for various Conway features. We also did some cleanup and reorganisation of code, to make it more manageable and easier to release. We have started work on Hardfork Initiation: support for intra-era hardfork initiation and necessary updates the SPO stake distribution calculation.

Low level summary

Conway

  • pull-4140 - Intra era hardfork initiation
  • pull-4154 - SPO stake distr calc for HardForkInitiation
  • pull-4150 - Add ConwayUtxosPredFailure
  • pull-4162 - Add ConwayDRepIncorrectRefund and tests for GovCert
  • pull-4112 - Fail when conway features are present in transactions that use Plutus v1/v2
  • pull-4164 - Change hot credential representation in CommitteeState
  • pull-4178 - Remove code repetition in Conway era CDDL

Testing

  • pull-4096 - Add a collection of test Plutus scripts for use in ImpTests
  • pull-4144 - Add imptests for delaying actions enactment
  • pull-4104 - Governance policy tests
  • pull-4123 - Add the ability to do constraints over trees in constrained-generators
  • pull-4163 - Reorganise GovSpec, add GovCertSpec
  • pull-4152 - Add extra type-safety to ensure that all predicate failures have roundtrip tests
  • pull-4172 - Add imptests for some more GOV predicate failures
  • pull-4139 - Add extra time from 1 sec to 2 sec for prop_soundness test.
  • pull-4173 - Update profiling instructions
  • pull-4177 - Plutusv3 initialization tests
  • pull-4155 - Fix nightly build failures

Improvements

  • pull-4141 - Add boom placeholder
  • pull-4157 - Split Conway governance
  • pull-4188 - Simplify implementation of ToJSON1 of ListMap
  • pull-4129 - Modify PParams to use similar naming to ProtocolParams in cardano-api
  • pull-4160 - Make shelley TxWits consistent with other eras
  • pull-4168 - Add missing InjectFailure instances for ConwayUtxosPredFailure
  • pull-4086 - Change applySTS to return NonEmpty (PredicateFailure s)
  • pull-4176 - Add CARDANO_MAINNET_MIRROR to Nix shell
  • pull-4174 - Convert small-steps-test into a sublibrary
  • pull-4159 - Shelley rules cleanup

Specification

  • pull-4042 - Fix the prose being inconsistent with the figure
  • pull-4151 - Fix an issue with txinfo and unusual notation in Babbage UTXO rule

Releasing

· 2 min read
Alexey Kuleshevich

High level summary

Quite a useful and desired feature described in CIP-0110 of allowing reference scripts for PlutusV1 has been implemented for Conway.

For the most part we are now spending time on writing tests and enhancing out tooling that we use for testing. This is paying out dividends since we are finding and fixing important Conway related bugs. Notable bugs that were squashed this time around are related to using incorrect stake distribution for both DReps and Stake Pools.

Low level summary

Conway

  • pull-4059 - Enable Plutus v1 reference scripts in Conway
  • pull-4088 - Committee query improvements
  • pull-4115 - Switch to using the correct stake pool distribution for voting
  • pull-4116 - Fix Drep stake distribution

Testing

  • pull-4100 - PPU wellformedness tests
  • pull-4097 - Test that unwithdrawn rewards contribute to voting power
  • pull-4102 - fix prop_DELEG in STS tests
  • pull-4106 - Imp script fixes
  • pull-4118 - Add test for maps with small domains
  • pull-4119 - NewConstraints phase1. Add BoolFn And and Or and tests
  • pull-4120 - Newconstaints phase2 rename IsUniverse (BaseUniverse), Fn (BaseFn)
  • pull-4130 - Added tests for checking proposal network IDs
  • pull-4114 - Imp Bootstrap address support

Improvements

Specification

Releasing

  • pull-4105 - Update RELEASING with revisioning instructions
  • pull-4117 - Use plutus-ledger-api 1.22.1