Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Explicit pattern match on all ledger certificates constructors. Remove redundant module #277

Merged

Conversation

carbolymer
Copy link
Contributor

@carbolymer carbolymer commented Sep 27, 2023

Changelog

- description: |
    Explicit pattern match on all ledger certificates constructors.
    Remove `getIsCardanoEraConstraint`. Use `cardanoEraConstraints` instead.

# uncomment types applicable to the change:
  type:
  # - feature        # introduces a new feature
   - breaking       # the API has changed in a breaking way
  # - compatible     # the API has changed but is non-breaking
  # - optimisation   # measurable performance improvements
   - improvement    # QoL changes e.g. refactoring
  # - bugfix         # fixes a defect
  # - test           # fixes/modifies tests
  # - maintenance    # not directly related to the code
  # - release        # related to a new release preparation
  # - documentation  # change in code docs, haddocks...

Context

https://github.com/input-output-hk/cardano-api/pull/268/files#r1337354463

Checklist

  • Commit sequence broadly makes sense and commits have useful messages
  • The change log section in the PR description has been filled in
  • New tests are added if needed and existing tests are updated. These may include:
    • golden tests
    • property tests
    • round trip tests
    • integration tests
      See Running tests for more details
  • The version bounds in .cabal files are updated
  • CI passes. See note on CI. The following CI checks are required:
    • Code is linted with hlint. See .github/workflows/check-hlint.yml to get the hlint version
    • Code is formatted with stylish-haskell. See .github/workflows/stylish-haskell.yml to get the stylish-haskell version
    • Code builds on Linux, MacOS and Windows for ghc-8.10.7 and ghc-9.2.7
  • The changelog section in the PR is updated to describe the change
  • Self-reviewed the diff

@carbolymer carbolymer added this pull request to the merge queue Sep 27, 2023
Copy link
Contributor

@smelc smelc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't get the details but it does look really equivalent to the state before this PR

Merged via the queue into main with commit e355232 Sep 27, 2023
24 checks passed
@carbolymer carbolymer deleted the mgalazyn/chore/pattern-match-on-all-ledger-certs-constructors branch September 27, 2023 14:47
case shelleyCert of
Ledger.RegTxCert _ -> Nothing
Ledger.UnRegTxCert cred -> Just cred
Ledger.DelegStakeTxCert _ _ -> Nothing
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DelegStakeTxCert has a stake credential. We should put TODOs by certificates that contain stake pool credentials while we think about what to do with the StakeCredential type.


ConwayCertificate cEra conwayCert -> conwayEraOnwardsConstraints cEra $
case conwayCert of
Ledger.RegTxCert _ -> Nothing
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

RegTxCert, RegDepositTxCert, UnRegDepositTxCert have stake credentials

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The function is used here to retrieve all deregistration certificates (this could be one function instead of two though). I specifically didn't want to change the behaviour.

The question is, is the current behaviour correct, or should we fetch all certificates instead?

@carbolymer
Copy link
Contributor Author

@smelc yes, that is the point of this PR. I was addressing a remark from a different PR.

newhoggy added a commit that referenced this pull request Mar 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants