Copyright | 2020 Input Output (Hong Kong) Ltd. 2021-2022 Input Output Global Inc. (IOG) 2023-2025 Intersect |
---|---|
License | Apache-2.0 |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Cardano.Address.KeyHash
Description
Synopsis
- data KeyHash = KeyHash {
- role :: KeyRole
- digest :: ByteString
- data KeyRole
- data GovernanceType
- keyHashFromBytes :: (KeyRole, ByteString) -> Maybe KeyHash
- keyHashFromText :: Text -> Either ErrKeyHashFromText KeyHash
- keyHashToText :: KeyHash -> GovernanceType -> Text
Documentation
A KeyHash
type represents verification key hash that participate in building
multi-signature script. The hash is expected to have size of 28-byte.
Since: 3.0.0
Constructors
KeyHash | |
Fields
|
Instances
ToJSON KeyHash Source # | |
Generic KeyHash Source # | |
Show KeyHash Source # | |
NFData KeyHash Source # | |
Defined in Cardano.Address.KeyHash | |
Eq KeyHash Source # | |
Ord KeyHash Source # | |
Defined in Cardano.Address.KeyHash | |
FromJSON (Script KeyHash) Source # | |
type Rep KeyHash Source # | |
Defined in Cardano.Address.KeyHash type Rep KeyHash = D1 ('MetaData "KeyHash" "Cardano.Address.KeyHash" "cardano-addresses-4.0.0-IcyHUatmop45H7Iv1rHNhW" 'False) (C1 ('MetaCons "KeyHash" 'PrefixI 'True) (S1 ('MetaSel ('Just "role") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 KeyRole) :*: S1 ('MetaSel ('Just "digest") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString))) |
Determines the role a given key plays. The role basically can be mapped into derivation path
which was used to derive it from the parent. Also it has a dedicated user facing HRP
when presented in bech32 format - see keyHashToText
for more details.
Take notice that purpose/role (except Policy
) are as defined below in derivation path:
m purpose' coin_type' account_ix' role / index
Policy
has a dedicated derivation path as follows:
m purpose' coin_type' / policy_ix'
| KeyRole | purpose | role | CIP | ------------------------------------------------------------------------------------------------------------------------| | PaymentShared | 1854H | 0,1 | CIP-1854 | | DelegationShared | 1854H | 2 | CIP-1854 | | Payment | 1852H | 0,1 | CIP-1852 | | Delegation | 1852H | 2 | CIP-0011 | | Representative | 1852H | 3 | CIP-0105 | | CommitteeCold | 1852H | 4 | CIP-0105 | | CommitteeHot | 1852H | 5 | CIP-0105 | | Policy | 1855H | - | CIP-1855 |
Constructors
PaymentShared | |
DelegationShared | |
Payment | |
Delegation | |
Policy | |
Representative | |
CommitteeCold | |
CommitteeHot | |
Unknown |
Instances
data GovernanceType Source #
Determines if one asks for deprecated HRP prefixes, '*_vkh' and '*_script' in accordance to CIP-0105 (on demand when flag 'cip-0105' is used) or uses default format specified in CIP-0129 (where additional byte is prepended to 28-byte hash).
Constructors
NoGovernance | |
CIP0129 | |
CIP0105 |
Instances
Show GovernanceType Source # | |
Defined in Cardano.Address.KeyHash Methods showsPrec :: Int -> GovernanceType -> ShowS # show :: GovernanceType -> String # showList :: [GovernanceType] -> ShowS # | |
Eq GovernanceType Source # | |
Defined in Cardano.Address.KeyHash Methods (==) :: GovernanceType -> GovernanceType -> Bool # (/=) :: GovernanceType -> GovernanceType -> Bool # |
keyHashFromBytes :: (KeyRole, ByteString) -> Maybe KeyHash Source #
Construct an KeyHash
from raw ByteString
(28 bytes).
Since: 3.0.0
keyHashToText :: KeyHash -> GovernanceType -> Text Source #