Skip to content

[FEATURE] - Extend commands to use drep and cc identifiers from CIP129 #1088

@CarlosLopezDeLara

Description

@CarlosLopezDeLara

What

Extend the following commands to use identifiers and bech32 from CIP129:

  • query drep-state
  • query drep-stake-distribution
  • drep registration-certificate
  • drep retirement-certificate
  • drep update-certificate
  • stake-address stake-and-vote-delegation-certificate
  • stake-address vote-delegation-certificate
  • stake-address registration-and-vote-delegation-certificate
  • registration-stake-and-vote-delegation-certificate
  • ADD committee id

Details:

  • Extend query drep-state such that it can also take the CIP129 identifier and bech32
--drep-script-hash HASH
--drep-verification-key STRING
--drep-verification-key-file FILEPATH
--drep-key-hash HASH
--drep-identifier  <HEX>
--drep-bech32 <bech32>
  • Extend query drep-stake-distribution such that it can also take the CIP129 identifier and bech32
--drep-script-hash HASH
--drep-verification-key STRING
--drep-verification-key-file FILEPATH
--drep-key-hash HASH
--drep-identifier  <HEX>
--drep-bech32 <bech32>
  • Extend governance drep registration-certificate such that it can also take the CIP129 identifier and bech32
--drep-script-hash HASH
--drep-verification-key STRING
--drep-verification-key-file FILEPATH
--drep-key-hash HASH
--drep-identifier  <HEX>
--drep-bech32 <bech32>
  • Extend governance drep retirement-certificate such that it can also take the CIP129 identifier and bech32
--drep-script-hash HASH
--drep-verification-key STRING
--drep-verification-key-file FILEPATH
--drep-key-hash HASH
--drep-identifier  <HEX>
--drep-bech32 <bech32>
  • Extend governance drep update-certificate such that it can also take the CIP129 identifier and bech32
--drep-script-hash HASH
--drep-verification-key STRING
--drep-verification-key-file FILEPATH
--drep-key-hash HASH
--drep-identifier  <HEX>
--drep-bech32 <bech32>
  • Extend stake-address stake-and-vote-delegation-certificate such that it can also take the CIP129 identifier and bech32
--drep-script-hash HASH
--drep-verification-key STRING
--drep-verification-key-file FILEPATH
--drep-key-hash HASH
--drep-identifier  <HEX>
--drep-bech32 <bech32>
--always-abstain
--always-no-confidence
  • Extend stake-address vote-delegation-certificate such that it can also take the CIP129 identifier and bech32
--drep-script-hash HASH
--drep-verification-key STRING
--drep-verification-key-file FILEPATH
--drep-key-hash HASH
--drep-identifier  <HEX>
--drep-bech32 <bech32>
--always-abstain
--always-no-confidence
  • Extend stake-address registration-and-vote-delegation-certificate such that it can also take the CIP129 identifier and bech32
--drep-script-hash HASH
--drep-verification-key STRING
--drep-verification-key-file FILEPATH
--drep-key-hash HASH
--drep-identifier  <HEX>
--drep-bech32 <bech32>
--always-abstain
--always-no-confidence
  • Extend stake-address registration-stake-and-vote-delegation-certificate such that it can also take the CIP129 identifier and bech32
--drep-script-hash HASH
--drep-verification-key STRING
--drep-verification-key-file FILEPATH
--drep-key-hash HASH
--drep-identifier  <HEX>
--drep-bech32 <bech32>
--always-abstain
--always-no-confidence
  • ADD new command committee id such that it can also generate CIP129 identifier and bech32 for committee members
cardano-cli conway governance drep id 
                                               ( --cc-verification-key STRING
                                               | --cc-verification-key-file FILEPATH
                                               | --cc-script <FILEPATH>
                                               )
                                               [--output-hex | --output-bech32 | --output-cip129]
                                               [--out-file FILEPATH]

Why

Necessary to fully support CIP129, most explorers and govtools use CIP129 to identify DReps, so it makes sense for the CLI to use the same terminology used in those places.

Personas

  • SPOs
  • dApp Devs
  • Exchanges
  • Wallets
  • 3rd party tools
  • ADA holders
  • DReps

Definition of Done (DoD)

  • Acceptance Criteria + User Stories & DoD created and singed-off (by PO, dev & test owners)
  • Builds successfully on CI
  • Code & Test review (as per Acceptance Criteria)
  • There is documentation and/or examples for the new functionality (usage/response)
  • Log/record changes on Vnext (or similar depending on what we adopt)
  • Ticket number(s) included in PR description
  • All Acceptance Criteria met and covered by dev/unit/property/integration tests
  • System/E2E automated tests + System Test Engineer Owner Sign-off

NOTE: Ideally, we should merge only fully implemented and tested features into the master branch.
So all the above steps are required for the PR to be merged.
In order to avoid the PRs becoming stale and requiring to be rebased on master, these can be merged
after a reasonable time (current agreement is 3 days) if the System Test Engineer Owner's sign-off
was not provided (last step in the DoD).

IMPORTANT: Any deviation from the plan should be discussed and agreed as a comment in the Feature file.

Sign-off

  • Product Owner
  • Dev Owner
  • System Test Engineer Owner

Related PRs

  1. PR # here

Acceptance Criteria

Acceptance Criteria & User Stories define here (or in a separate file (linked here) for a big feature)

Example - IntersectMBO/cardano-node#4453

Metadata

Metadata

Assignees

No one assigned

    Labels

    StaleenhancementFor improvements or extensions to existing functionality.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions