Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- data MultiSig era where
- pattern RequireAllOf ∷ Era era ⇒ [MultiSig era] → MultiSig era
- pattern RequireAnyOf ∷ Era era ⇒ [MultiSig era] → MultiSig era
- pattern RequireSignature ∷ Era era ⇒ KeyHash 'Witness (EraCrypto era) → MultiSig era
- pattern RequireMOf ∷ Era era ⇒ Int → [MultiSig era] → MultiSig era
- evalMultiSig ∷ Era era ⇒ Set (KeyHash 'Witness (EraCrypto era)) → MultiSig era → Bool
- validateMultiSig ∷ EraTx era ⇒ Tx era → MultiSig era → Bool
- newtype ScriptHash c = ScriptHash (Hash (ADDRHASH c) EraIndependentScript)
- nativeMultiSigTag ∷ ByteString
- eqMultiSigRaw ∷ MultiSig era → MultiSig era → Bool
- data MultiSigRaw era
Documentation
data MultiSig era where Source #
pattern RequireAllOf ∷ Era era ⇒ [MultiSig era] → MultiSig era | |
pattern RequireAnyOf ∷ Era era ⇒ [MultiSig era] → MultiSig era | |
pattern RequireSignature ∷ Era era ⇒ KeyHash 'Witness (EraCrypto era) → MultiSig era | |
pattern RequireMOf ∷ Era era ⇒ Int → [MultiSig era] → MultiSig era |
Instances
evalMultiSig ∷ Era era ⇒ Set (KeyHash 'Witness (EraCrypto era)) → MultiSig era → Bool Source #
Script evaluator for native multi-signature scheme. vhks
is the set of
key hashes that signed the transaction to be validated.
validateMultiSig ∷ EraTx era ⇒ Tx era → MultiSig era → Bool Source #
Script validator for native multi-signature scheme.
newtype ScriptHash c Source #
Instances
nativeMultiSigTag ∷ ByteString Source #
Magic number "memorialized" in the ValidateScript class under the method: scriptPrefixTag:: Core.Script era -> Bs.ByteString, for the Shelley Era.
eqMultiSigRaw ∷ MultiSig era → MultiSig era → Bool Source #
Check the equality of two underlying types, while ignoring their binary
representation, which Eq
instance normally does. This is used for testing.
data MultiSigRaw era Source #
A simple language for expressing conditions under which it is valid to withdraw from a normal UTxO payment address or to use a stake address.
The use case is for expressing multi-signature payment addresses and multi-signature stake addresses. These can be combined arbitrarily using logical operations:
- multi-way "and";
- multi-way "or";
- multi-way "N of M".
This makes it easy to express multi-signature addresses, and provides an extension point to express other validity conditions, e.g., as needed for locking funds used with lightning.
Instances
Orphan instances
Crypto c ⇒ EraScript (ShelleyEra c) Source # | |
type Script (ShelleyEra c) = (r ∷ Type) Source # type NativeScript (ShelleyEra c) = (r ∷ Type) Source # upgradeScript ∷ Script (PreviousEra (ShelleyEra c)) → Script (ShelleyEra c) Source # scriptPrefixTag ∷ Script (ShelleyEra c) → ByteString Source # getNativeScript ∷ Script (ShelleyEra c) → Maybe (NativeScript (ShelleyEra c)) Source # fromNativeScript ∷ NativeScript (ShelleyEra c) → Script (ShelleyEra c) Source # |