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

Fix exception when executing drep queries #221

Merged
merged 1 commit into from
Aug 30, 2023

Conversation

carbolymer
Copy link
Contributor

@carbolymer carbolymer commented Aug 30, 2023

Changelog

- description: |
    Fix exception when executing drep queries
# 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

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 changed the title Fix error when executing drep queries Fix exception when executing drep queries Aug 30, 2023
@@ -675,17 +675,16 @@ toConsensusQueryShelleyBased erainmode (QueryStakeDelegDeposits creds) =
creds' = Set.map toShelleyStakeCredential creds

toConsensusQueryShelleyBased erainmode QueryGovState =
Some (consensusQueryInEraInMode erainmode (Consensus.GetCBOR Consensus.GetGovState))
Some (consensusQueryInEraInMode erainmode Consensus.GetGovState)
Copy link
Contributor Author

@carbolymer carbolymer Aug 30, 2023

Choose a reason for hiding this comment

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

Why sometimes do we need GetCBOR?

Copy link
Collaborator

Choose a reason for hiding this comment

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

I don't know the answer to this unfortunately.

Copy link
Contributor

Choose a reason for hiding this comment

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

The issue (for example) is here:

...
fromConsensusQueryResultShelleyBased _ QueryStakeSnapshot{} q' r' =
  case q' of
    Consensus.GetCBOR Consensus.GetStakeSnapshots {} -> SerialisedStakeSnapshots r'
    _                                                -> fromConsensusQueryResultMismatch

fromConsensusQueryResultShelleyBased _ QueryStakeDelegDeposits{} q' stakeCreds' =
    case q' of
      Consensus.GetStakeDelegDeposits{} -> Map.map fromShelleyLovelace
                                         . Map.mapKeysMonotonic fromShelleyStakeCredential
                                         $ stakeCreds'
      _                                 -> fromConsensusQueryResultMismatch

fromConsensusQueryResultShelleyBased _ QueryGovState{} q' govState' =
  case q' of
    Consensus.GetGovState{} -> govState'
    _                       -> fromConsensusQueryResultMismatch
...

You need to pattern match on Consensus.GetCBOR Consensus.GetGovState{}

Copy link
Contributor

@Jimbo4350 Jimbo4350 Aug 30, 2023

Choose a reason for hiding this comment

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

#221 (comment): Ignore this as Sam says its not useful. Make sure the queries work in the cli however before merging this.

@@ -675,17 +675,16 @@ toConsensusQueryShelleyBased erainmode (QueryStakeDelegDeposits creds) =
creds' = Set.map toShelleyStakeCredential creds

toConsensusQueryShelleyBased erainmode QueryGovState =
Some (consensusQueryInEraInMode erainmode (Consensus.GetCBOR Consensus.GetGovState))
Some (consensusQueryInEraInMode erainmode Consensus.GetGovState)
Copy link
Contributor

Choose a reason for hiding this comment

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

The issue (for example) is here:

...
fromConsensusQueryResultShelleyBased _ QueryStakeSnapshot{} q' r' =
  case q' of
    Consensus.GetCBOR Consensus.GetStakeSnapshots {} -> SerialisedStakeSnapshots r'
    _                                                -> fromConsensusQueryResultMismatch

fromConsensusQueryResultShelleyBased _ QueryStakeDelegDeposits{} q' stakeCreds' =
    case q' of
      Consensus.GetStakeDelegDeposits{} -> Map.map fromShelleyLovelace
                                         . Map.mapKeysMonotonic fromShelleyStakeCredential
                                         $ stakeCreds'
      _                                 -> fromConsensusQueryResultMismatch

fromConsensusQueryResultShelleyBased _ QueryGovState{} q' govState' =
  case q' of
    Consensus.GetGovState{} -> govState'
    _                       -> fromConsensusQueryResultMismatch
...

You need to pattern match on Consensus.GetCBOR Consensus.GetGovState{}

@@ -675,17 +675,16 @@ toConsensusQueryShelleyBased erainmode (QueryStakeDelegDeposits creds) =
creds' = Set.map toShelleyStakeCredential creds

toConsensusQueryShelleyBased erainmode QueryGovState =
Some (consensusQueryInEraInMode erainmode (Consensus.GetCBOR Consensus.GetGovState))
Some (consensusQueryInEraInMode erainmode Consensus.GetGovState)
Copy link
Contributor

@Jimbo4350 Jimbo4350 Aug 30, 2023

Choose a reason for hiding this comment

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

#221 (comment): Ignore this as Sam says its not useful. Make sure the queries work in the cli however before merging this.

@carbolymer carbolymer added this pull request to the merge queue Aug 30, 2023
@carbolymer carbolymer removed this pull request from the merge queue due to a manual request Aug 30, 2023
@carbolymer carbolymer merged commit af36cae into main Aug 30, 2023
@carbolymer carbolymer deleted the mgalazyn/fix/error-when-running-drep-queries branch August 30, 2023 14:33
newhoggy pushed a commit that referenced this pull request Mar 11, 2024
…description-fields-on-deleg-certs

#221 Update description fields on delegation certificates
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.

3 participants