Safe Haskell | None |
---|---|
Language | Haskell2010 |
Sophie key types and their Key
class instances
Synopsis
- data PaymentKey
- data PaymentExtendedKey
- data StakeKey
- data StakeExtendedKey
- data StakePoolKey
- data GenesisKey
- data GenesisExtendedKey
- data GenesisDelegateKey
- data GenesisDelegateExtendedKey
- data GenesisVestedKey
- data GenesisVestedExtendedKey
- data GenesisVestedDelegateKey
- data GenesisVestedDelegateExtendedKey
- data GenesisUTxOKey
- data VestedKey
- data VestedExtendedKey
- data VestedDelegateKey
- data VestedDelegateExtendedKey
- data VestedUTxOKey
- data family AsType t
- data family VerificationKey keyrole ∷ Type
- data family SigningKey keyrole ∷ Type
- data family Hash keyrole ∷ Type
Key types
data PaymentKey Source #
Sophie-era payment keys. Used for Sophie payment addresses and witnessing transactions that spend from these addresses.
This is a type level tag, used with other interfaces like Key
.
Instances
data PaymentExtendedKey Source #
Sophie-era payment keys using extended ed25519 cryptographic keys.
They can be used for Sophie payment addresses and witnessing transactions that spend from these addresses.
These extended keys are used by HD wallets. So this type provides interoperability with HD wallets. The ITN CLI also supported this key type.
The extended verification keys can be converted (via castVerificationKey
)
to ordinary keys (i.e. VerificationKey
PaymentKey
) but this is not the
case for the signing keys. The signing keys can be used to witness
transactions directly, with verification via their non-extended verification
key (VerificationKey
PaymentKey
).
This is a type level tag, used with other interfaces like Key
.
Instances
Instances
data StakeExtendedKey Source #
Sophie-era stake keys using extended ed25519 cryptographic keys.
They can be used for Sophie stake addresses and witnessing transactions that use stake addresses.
These extended keys are used by HD wallets. So this type provides interoperability with HD wallets. The ITN CLI also supported this key type.
The extended verification keys can be converted (via castVerificationKey
)
to ordinary keys (i.e. VerificationKey
StakeKey
) but this is not the
case for the signing keys. The signing keys can be used to witness
transactions directly, with verification via their non-extended verification
key (VerificationKey
StakeKey
).
This is a type level tag, used with other interfaces like Key
.
Instances
data StakePoolKey Source #
Instances
data GenesisKey Source #
Instances
data GenesisExtendedKey Source #
Sophie-era vested keys using extended ed25519 cryptographic keys.
These serve the same role as normal vested keys, but are here to support legacy Cole vested keys which used extended keys.
The extended verification keys can be converted (via castVerificationKey
)
to ordinary keys (i.e. VerificationKey
GenesisKey
) but this is not the
case for the signing keys. The signing keys can be used to witness
transactions directly, with verification via their non-extended verification
key (VerificationKey
GenesisKey
).
This is a type level tag, used with other interfaces like Key
.
Instances
data GenesisDelegateKey Source #
Instances
data GenesisDelegateExtendedKey Source #
Sophie-era vested keys using extended ed25519 cryptographic keys.
These serve the same role as normal vested keys, but are here to support legacy Cole vested keys which used extended keys.
The extended verification keys can be converted (via castVerificationKey
)
to ordinary keys (i.e. VerificationKey
GenesisKey
) but this is not the
case for the signing keys. The signing keys can be used to witness
transactions directly, with verification via their non-extended verification
key (VerificationKey
GenesisKey
).
This is a type level tag, used with other interfaces like Key
.
Instances
data GenesisVestedKey Source #
Instances
data GenesisVestedExtendedKey Source #
Sophie-era vested keys using extended ed25519 cryptographic keys.
These serve the same role as normal vested keys, but are here to support legacy Cole vested keys which used extended keys.
The extended verification keys can be converted (via castVerificationKey
)
to ordinary keys (i.e. VerificationKey
GenesisKey
) but this is not the
case for the signing keys. The signing keys can be used to witness
transactions directly, with verification via their non-extended verification
key (VerificationKey
GenesisKey
).
This is a type level tag, used with other interfaces like Key
.
Instances
data GenesisVestedDelegateKey Source #
Instances
data GenesisVestedDelegateExtendedKey Source #
Sophie-era vested keys using extended ed25519 cryptographic keys.
These serve the same role as normal vested keys, but are here to support legacy Cole vested keys which used extended keys.
The extended verification keys can be converted (via castVerificationKey
)
to ordinary keys (i.e. VerificationKey
GenesisKey
) but this is not the
case for the signing keys. The signing keys can be used to witness
transactions directly, with verification via their non-extended verification
key (VerificationKey
GenesisKey
).
This is a type level tag, used with other interfaces like Key
.
Instances
data GenesisUTxOKey Source #
Instances
Instances
data VestedExtendedKey Source #
Sophie-era vested keys using extended ed25519 cryptographic keys.
These serve the same role as normal vested keys, but are here to support legacy Cole vested keys which used extended keys.
The extended verification keys can be converted (via castVerificationKey
)
to ordinary keys (i.e. VerificationKey
VestedKey
) but this is not the
case for the signing keys. The signing keys can be used to witness
transactions directly, with verification via their non-extended verification
key (VerificationKey
VestedKey
).
This is a type level tag, used with other interfaces like Key
.
Instances
data VestedDelegateKey Source #
Instances
data VestedDelegateExtendedKey Source #
Sophie-era vested keys using extended ed25519 cryptographic keys.
These serve the same role as normal vested keys, but are here to support legacy Cole vested keys which used extended keys.
The extended verification keys can be converted (via castVerificationKey
)
to ordinary keys (i.e. VerificationKey
VestedKey
) but this is not the
case for the signing keys. The signing keys can be used to witness
transactions directly, with verification via their non-extended verification
key (VerificationKey
VestedKey
).
This is a type level tag, used with other interfaces like Key
.
Instances
data VestedUTxOKey Source #
Vested UTxO keys
Instances
Data family instances
A family of singleton types used in this API to indicate which type to use where it would otherwise be ambiguous or merely unclear.
Values of this type are passed to deserialisation functions for example.
Instances
data family VerificationKey keyrole ∷ Type Source #
The type of cryptographic verification key, for each key role.
Instances
data family SigningKey keyrole ∷ Type Source #
The type of cryptographic signing key, for each key role.
Instances
data family Hash keyrole ∷ Type Source #