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

CIP-0129? | Governance Identifiers #857

Merged
merged 21 commits into from
Nov 15, 2024
Merged
Show file tree
Hide file tree
Changes from 16 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 31 additions & 26 deletions CIP-0005/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -92,35 +92,39 @@ We define the following set of common prefixes with their corresponding semantic

### Hashes

| Prefix | Meaning | Contents |
| --- | --- | --- |
| `asset` | Fingerprint of a native asset for human comparison | See [CIP-0014] |
| `pool` | Pool operator verification key hash (pool ID) | blake2b\_224 digest of an operator verification key |
| `script` | Script hash | blake2b\_224 digest of a serialized transaction script |
| `addr_vkh` | Address verification key hash | blake2b\_224 digest of a payment verification key |
| `addr_shared_vkh` | Shared address verification key hash | blake2b\_224 digest of a payment verification key |
| `policy_vkh` | Policy verification key hash | blake2b\_224 digest of a policy verification key |
| `stake_vkh` | Stake address verification key hash | blake2b\_224 digest of a delegation verification key |
| `stake_shared_vkh` | Shared stake address verification key hash | blake2b\_224 digest of a delegation verification key |
| `req_signer_vkh` | Required signer verification key hash | blake2b\_224 digest of a required signer verification key |
| `vrf_vkh` | VRF verification key hash | blake2b\_256 digest of a VRF verification key |
| `datum` | Output datum hash | blake2b\_256 digest of output datum |
| `script_data` | Script data hash | blake2b\_256 digest of script data |
| `drep` | Delegate representative verification key hash (DRep ID) | blake2b\_224 digest of a delegate representative verification key |
| `drep_script` | Delegate representative script hash (DRep ID) | blake2b\_224 digest of a serialized delegate representative script |
| `cc_cold` | Constitutional committee cold verification key hash (cold credential) | blake2b\_224 digest of a consitutional committee cold verification key |
| `cc_cold_script` | Constitutional committee cold script hash (cold credential) | blake2b\_224 digest of a serialized constitutional committee cold script |
| `cc_hot` | Constitutional committee hot verification key hash (hot credential) | blake2b\_224 digest of a consitutional committee hot verification key |
| `cc_hot_script` | Constitutional committee hot script hash (hot credential) | blake2b\_224 digest of a serialized constitutional committee hot script |
| Prefix | Meaning | Contents |
| --- | --- | --- |
| `asset` | Fingerprint of a native asset for human comparison | See [CIP-0014] |
| `pool` | Pool operator verification key hash (pool ID) | blake2b\_224 digest of an operator verification key |
| `script` | Script hash | blake2b\_224 digest of a serialized transaction script |
| `addr_vkh` | Address verification key hash | blake2b\_224 digest of a payment verification key |
| `addr_shared_vkh` | Shared address verification key hash | blake2b\_224 digest of a payment verification key |
| `policy_vkh` | Policy verification key hash | blake2b\_224 digest of a policy verification key |
| `stake_vkh` | Stake address verification key hash | blake2b\_224 digest of a delegation verification key |
| `stake_shared_vkh` | Shared stake address verification key hash | blake2b\_224 digest of a delegation verification key |
| `req_signer_vkh` | Required signer verification key hash | blake2b\_224 digest of a required signer verification key |
| `vrf_vkh` | VRF verification key hash | blake2b\_256 digest of a VRF verification key |
| `datum` | Output datum hash | blake2b\_256 digest of output datum |
| `script_data` | Script data hash | blake2b\_256 digest of script data |
| `drep_vkh` | Delegate representative verification key hash | blake2b\_224 digest of a delegate representative verification key |
| `drep_script` | Delegate representative script hash | blake2b\_224 digest of a serialized delegate representative script |
| `cc_cold_vkh` | Constitutional committee cold verification key hash | blake2b\_224 digest of a consitutional committee cold verification key |
| `cc_cold_script` | Constitutional committee cold script hash | blake2b\_224 digest of a serialized constitutional committee cold script |
| `cc_hot_vkh` | Constitutional committee hot verification key hash | blake2b\_224 digest of a consitutional committee hot verification key |
| `cc_hot_script` | Constitutional committee hot script hash | blake2b\_224 digest of a serialized constitutional committee hot script |

### Miscellaneous
ashisherc marked this conversation as resolved.
Show resolved Hide resolved

| Prefix | Meaning | Contents |
| --- | --- | --- |
| `addr` | Mainnet address | Network tag, payment credential and optional stake credential |
| `addr_test` | Testnet address | Network tag, payment credential and optional stake credential |
| `stake` | Mainnet stake address | Network tag and stake credential |
| `stake_test` | Testnet stake address | Network tag and stake credential |
| Prefix | Meaning | Contents |
| --- | --- | --- |
| `addr` | Mainnet address | Network tag, payment credential and optional stake credential |
| `addr_test` | Testnet address | Network tag, payment credential and optional stake credential |
| `stake` | Mainnet stake address | Network tag and stake credential |
| `stake_test` | Testnet stake address | Network tag and stake credential |
| `drep` | drep identifier | drep credential, see [CIP-0129] |
| `cc_cold` | cc cold identifier | cc cold credential, see [CIP-0129] |
| `cc_hot` | cc hot identifier | cc hot credential, see [CIP-0129] |
| `gov_action` | gov action identifier | gov action ID, see [CIP-0129], |

## Rationale: how does this CIP achieve its goals?

Expand Down Expand Up @@ -184,3 +188,4 @@ The only prior work done towards that direction has been [jcli](https://input-ou
This CIP is licensed under [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0).

[CIP-0014]: https://github.com/cardano-foundation/CIPs/blob/645243e30b5aae109a70ec2b47af70dcc808bc56/CIP-0014
[CIP-0129]: (https://github.com/cardano-foundation/CIPs/blob/master/CIP-0129/README.md)
10 changes: 5 additions & 5 deletions CIP-0105/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ We strongly recommend that a maximum of one set of DRep keys should be associate
#### DRep ID

Tools and wallets can generate a DRep ID (`drep_credential`) from the Ed25519 public DRep key (without chaincode) by creating a blake2b-224 hash digest of the key.
As this is key-based credential it should be marked as entry `0` in a credential array.
As this is key-based credential it should be marked as entry `0` in a credential array. DRep Identifier is further specified in [CIP-0129](https://github.com/cardano-foundation/CIPs/blob/master/CIP-0129/README.md).

#### Constitutional Committee Cold Keys

Expand Down Expand Up @@ -111,8 +111,8 @@ DRep keys and DRep IDs should be encoded in Bech32 with the following prefixes:
| `drep_vk` | CIP-1852’s DRep verification key | Ed25519 public key |
| `drep_xsk` | CIP-1852’s DRep extended signing key | Ed25519-bip32 extended private key |
| `drep_xvk` | CIP-1852’s DRep extended verification key | Ed25519 public key with chain code |
| `drep` | Delegate representative verification key hash (DRep ID) | blake2b\_224 digest of a delegate representative verification key |
| `drep_script` | Delegate representative script hash (DRep ID) | blake2b\_224 digest of a serialized delegate representative script |
| `drep_vkh` | Delegate representative verification key hash | blake2b\_224 digest of a delegate representative verification key |
| `drep_script` | Delegate representative script hash | blake2b\_224 digest of a serialized delegate representative script |
Ryun1 marked this conversation as resolved.
Show resolved Hide resolved
ashisherc marked this conversation as resolved.
Show resolved Hide resolved

#### Constitutional Committee Cold Keys

Expand All @@ -124,7 +124,7 @@ Constitutional cold keys and credential should be encoded in Bech32 with the fol
| `cc_cold_vk` | CIP-1852’s constitutional committee verification signing key | Ed25519 private key |
| `cc_cold_xsk` | CIP-1852’s constitutional committee cold extended signing key | Ed25519-bip32 extended private key |
| `cc_cold_xvk` | CIP-1852’s constitutional committee extended verification signing key | Ed25519 public key with chain code |
| `cc_cold` | Constitutional committee cold verification key hash (cold credential) | blake2b\_224 digest of a consitutional committee cold verification key |
| `cc_cold_vkh` | Constitutional committee cold verification key hash (cold credential) | blake2b\_224 digest of a consitutional committee cold verification key |
ashisherc marked this conversation as resolved.
Show resolved Hide resolved
| `cc_cold_script` | Constitutional committee cold script hash (cold credential) | blake2b\_224 digest of a serialized constitutional committee cold script |

#### Constitutional Committee Hot Keys
Expand All @@ -137,7 +137,7 @@ Constitutional hot keys and credential should be encoded in Bech32 with the foll
| `cc_hot_vk` | CIP-1852’s constitutional committee verification signing key | Ed25519 private key |
| `cc_hot_xsk` | CIP-1852’s constitutional committee hot extended signing key | Ed25519-bip32 extended private key |
| `cc_hot_xvk` | CIP-1852’s constitutional committee extended verification signing key | Ed25519 public key with chain code |
| `cc_hot` | Constitutional committee hot verification key hash (hot credential) | blake2b\_224 digest of a consitutional committee hot verification key |
| `cc_hot_vkh` | Constitutional committee hot verification key hash (hot credential) | blake2b\_224 digest of a consitutional committee hot verification key |
ashisherc marked this conversation as resolved.
Show resolved Hide resolved
| `cc_hot_script` | Constitutional committee hot script hash (hot credential) | blake2b\_224 digest of a serialized constitutional committee hot script |

### Tooling Definitions
Expand Down
8 changes: 4 additions & 4 deletions CIP-0105/test-vectors/test-vector-1.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,19 +42,19 @@ Hex: `f74d7ac30513ac1825715fd0196769761fca6e7f69de33d04ef09a0c417a752b1d84110299

Bech32: `drep_xvk17axh4sc9zwkpsft3tlgpjemfwc0u5mnld80r85zw7zdqcst6w543mpq3q2vkjy3nw8x7n8asw4es78dyl4q7u7kwlwn7yy0sugxfrjs6z25qe`

#### Verification key hash (DRep ID)
#### Verification key hash (DRep VKH)
ashisherc marked this conversation as resolved.
Show resolved Hide resolved

Hex: `a5b45515a3ff8cb7c02ce351834da324eb6dfc41b5779cb5e6b832aa`

Bech32: `drep15k6929drl7xt0spvudgcxndryn4kmlzpk4meed0xhqe25nle07s`
Bech32: `drep_vkh15k6929drl7xt0spvudgcxndryn4kmlzpk4meed0xhqe254czjh2`

#### Script 1 hash (DRep ID)
#### Script 1 hash (DRep Script Hash)

Hex: `d0657126dbf0c135a7224d91ca068f5bf769af6d1f1df0bce5170ec5`

Bech32: `drep_script16pjhzfkm7rqntfezfkgu5p50t0mkntmdruwlp089zu8v29l95rg`

#### Script 2 hash (DRep ID)
#### Script 2 hash (DRep Script Hash)

Hex: `ae5acf0511255d647c84b3184a2d522bf5f6c5b76b989f49bd383bdd`

Expand Down
8 changes: 4 additions & 4 deletions CIP-0105/test-vectors/test-vector-2.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,19 +43,19 @@ Hex: `70344fe0329bbacbb33921e945daed181bd66889333eb73f3bb10ad8e4669976a523761cec

Bech32: `drep_xvk1wq6ylcpjnwavhveey855tkhdrqdav6yfxvltw0emky9d3erxn9m22gmkrnkyrqn8922eycuwwqt64q4wds2ssdmlgp5dqq9gem6k5vq23ph3c`

#### Verification key hash (DRep ID)
#### Verification key hash (DRep VKH)

Hex: `1ed314af7d3ff8fcd320c73eb58524d774ca38733ee00ebca81bd63a`

Bech32: `drep1rmf3ftma8lu0e5eqculttpfy6a6v5wrn8msqa09gr0tr5rgcuy9`
Bech32: `drep_vkh1rmf3ftma8lu0e5eqculttpfy6a6v5wrn8msqa09gr0tr590rpdl`

#### Script 1 hash (DRep ID)
#### Script 1 hash (DRep Script Hash)

Hex: `3e11f3d9b39639fbb9d59c6efec7b7c1e9dbcb104523c7a4b194c45c`

Bech32: `drep_script18cgl8kdnjculhww4n3h0a3ahc85ahjcsg53u0f93jnz9c0339av`

#### Script 2 hash (DRep ID)
#### Script 2 hash (DRep Script Hash)

Hex: `bba45271823634a8ba9fdb981ad76df02cd2384a4e1b43c41b2734a9`

Expand Down
8 changes: 4 additions & 4 deletions CIP-0105/test-vectors/test-vector-3.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,19 +40,19 @@ Hex: `a4a2f459fcc98e7fe0acbea096f4b1fb342cb73aa6c41f62d4d6ca1464179dd65fd61ed957

Bech32: `drep_xvk15j30gk0uex88lc9vh6sfda93lv6zede65mzp7ck56m9pgeqhnht9l4s7m9tad59jmltv3c38nclt942n3feen6ggmhcj6xmmlj6td2qu4ce82`

#### Verification key hash (DRep ID)
#### Verification key hash (DRep VKH)

Hex: `33e587eb1f44e51f4307eeed7ede619008bc4d1c32c18099d6367329`

Bech32: `drep1x0jc06clgnj37sc8amkhahnpjqytcnguxtqcpxwkxeejj4y6sqm`
Bech32: `drep_vkh1x0jc06clgnj37sc8amkhahnpjqytcnguxtqcpxwkxeejjnrpdfp`

#### Script 1 hash (DRep ID)
#### Script 1 hash (DRep Script Hash)

Hex: `f241fd096625b515f464b2b35ddebe93a2e6e2ec2e7dcac8c8ae5a33`

Bech32: `drep_script17fql6ztxyk63taryk2e4mh47jw3wdchv9e7u4jxg4edrx89ym9g`

#### Script 2 hash (DRep ID)
#### Script 2 hash (DRep Script Hash)

Hex: `7802a8b9e80878cc7b17c451e8778dfeef22cb7b2c2031885b881d68`

Expand Down
8 changes: 4 additions & 4 deletions CIP-0105/test-vectors/test-vector-4.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,19 +40,19 @@ Hex: `ab5d2187f2f4419421b0457f7ac8ab0d4b4ec0802af5de21dde64f603248a381571a0b4d92

Bech32: `drep_xvk14dwjrplj73qeggdsg4lh4j9tp495asyq9t6augwaue8kqvjg5wq4wxstfkf8waakk8pwv8fkrde2cwd47rklfx9xxpn9ulc7nl7sndcvdjh2m`

#### Verification key hash (DRep ID)
#### Verification key hash (DRep VKH)

Hex: `c1a342f0dfb82b93ca2e6b406bacb04802f7d56a99d8f95a80a8b6c5`

Bech32: `drep1cx359uxlhq4e8j3wddqxht9sfqp004t2n8v0jk5q4zmv27sh0h5`
Bech32: `drep_vkh1cx359uxlhq4e8j3wddqxht9sfqp004t2n8v0jk5q4zmv2chvj7w`

#### Script 1 hash (DRep ID)
#### Script 1 hash (DRep Script Hash)

Hex: `c5875315458ec9c20a91f15d36debd43df8f1fd75cc4e118db0a6691`

Bech32: `drep_script1ckr4x9293myuyz5379wndh4ag00c787htnzwzxxmpfnfzjzk4cq`

#### Script 2 hash (DRep ID)
#### Script 2 hash (DRep Script Hash)

Hex: `723e4a09b4897bddf8861f963312a76df8183b6ee438bdd4157b5d6c`

Expand Down
Loading