Skip to content

Release Notes - v0.204.0

Title: Make DRep deposit validation fail closed

Version: v0.204.0

This release makes DRep deposit handling safer: deregistration now fails closed when the recorded deposit is absent, refunds compare against recorded deposits when available, in-transaction registrations distinguish complete credentials, and delegation validation reports lookup errors.

  • Improved DRep deregistration checks: The ledger rejects deregistration when the registered DRep has no recorded deposit and returns DRepDepositStateInconsistentError, preventing a refund without deposit state.

  • Applied recorded deposits to refunds: Refund comparisons use the recorded amount whenever a DRep deposit exists.

  • Distinguished complete in-transaction DRep credentials: Lookups use the credential type and 28-byte hash, so key and script credentials with matching hashes remain separate.

  • Propagated DRep lookup errors during delegation validation: Callers now receive lookup errors instead of unregistered DRep results.

  • Added deposit edge case coverage: Automated tests verify fail closed behavior when a deposit is absent and refunds based on recorded deposits.

  • Changed DRep registration construction: DRepRegistration.Deposit accepts a pointer to the deposit. Implementations that construct DRep registrations must provide a pointer when a recorded deposit exists and nil when the deposit is absent.
NetworkCompatible
mainnet
preprod-testnet
preview-testnet
musashi

Release: v0.204.0

Compare: v0.203.0…v0.204.0


Doc Holiday logo

Docs authored by Doc Holiday

Edit page

Last updated: