Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Cardano.Ledger.Allegra.Scripts
Contents
Synopsis
- class ShelleyEraScript era ⇒ AllegraEraScript era where
- mkTimeStart ∷ SlotNo → NativeScript era
- getTimeStart ∷ NativeScript era → Maybe SlotNo
- mkTimeExpire ∷ SlotNo → NativeScript era
- getTimeExpire ∷ NativeScript era → Maybe SlotNo
- mkRequireSignatureTimelock ∷ ∀ era. Era era ⇒ KeyHash 'Witness → Timelock era
- getRequireSignatureTimelock ∷ Timelock era → Maybe (KeyHash 'Witness)
- mkRequireAllOfTimelock ∷ ∀ era. Era era ⇒ StrictSeq (Timelock era) → Timelock era
- getRequireAllOfTimelock ∷ Timelock era → Maybe (StrictSeq (Timelock era))
- mkRequireAnyOfTimelock ∷ ∀ era. Era era ⇒ StrictSeq (Timelock era) → Timelock era
- getRequireAnyOfTimelock ∷ Timelock era → Maybe (StrictSeq (Timelock era))
- mkRequireMOfTimelock ∷ ∀ era. Era era ⇒ Int → StrictSeq (Timelock era) → Timelock era
- getRequireMOfTimelock ∷ Timelock era → Maybe (Int, StrictSeq (Timelock era))
- mkTimeStartTimelock ∷ ∀ era. Era era ⇒ SlotNo → Timelock era
- getTimeStartTimelock ∷ Timelock era → Maybe SlotNo
- mkTimeExpireTimelock ∷ ∀ era. Era era ⇒ SlotNo → Timelock era
- getTimeExpireTimelock ∷ Timelock era → Maybe SlotNo
- newtype Timelock era where
- MkTimelock (MemoBytes (TimelockRaw era))
- pattern TimelockConstr ∷ MemoBytes (TimelockRaw era) → Timelock era
- pattern RequireTimeExpire ∷ AllegraEraScript era ⇒ SlotNo → NativeScript era
- pattern RequireTimeStart ∷ AllegraEraScript era ⇒ SlotNo → NativeScript era
- data TimelockRaw era
- = TimelockSignature !(KeyHash 'Witness)
- | TimelockAllOf !(StrictSeq (Timelock era))
- | TimelockAnyOf !(StrictSeq (Timelock era))
- | TimelockMOf !Int !(StrictSeq (Timelock era))
- | TimelockTimeStart !SlotNo
- | TimelockTimeExpire !SlotNo
- inInterval ∷ SlotNo → ValidityInterval → Bool
- showTimelock ∷ AllegraEraScript era ⇒ NativeScript era → String
- evalTimelock ∷ AllegraEraScript era ⇒ Set (KeyHash 'Witness) → ValidityInterval → NativeScript era → Bool
- eqTimelockRaw ∷ Timelock era → Timelock era → Bool
- data ValidityInterval = ValidityInterval {}
- encodeVI ∷ ValidityInterval → Encode ('Closed 'Dense) ValidityInterval
- decodeVI ∷ Decode ('Closed 'Dense) ValidityInterval
- translateTimelock ∷ ∀ era1 era2. (Era era1, Era era2) ⇒ Timelock era1 → Timelock era2
Documentation
class ShelleyEraScript era ⇒ AllegraEraScript era where Source #
Methods
mkTimeStart ∷ SlotNo → NativeScript era Source #
getTimeStart ∷ NativeScript era → Maybe SlotNo Source #
mkTimeExpire ∷ SlotNo → NativeScript era Source #
getTimeExpire ∷ NativeScript era → Maybe SlotNo Source #
Instances
Constructors
MkTimelock (MemoBytes (TimelockRaw era)) |
Bundled Patterns
pattern TimelockConstr ∷ MemoBytes (TimelockRaw era) → Timelock era | Deprecated: In favor of more consistently name |
Instances
pattern RequireTimeExpire ∷ AllegraEraScript era ⇒ SlotNo → NativeScript era Source #
pattern RequireTimeStart ∷ AllegraEraScript era ⇒ SlotNo → NativeScript era Source #
data TimelockRaw era Source #
Constructors
TimelockSignature !(KeyHash 'Witness) | |
TimelockAllOf !(StrictSeq (Timelock era)) | |
TimelockAnyOf !(StrictSeq (Timelock era)) | |
TimelockMOf !Int !(StrictSeq (Timelock era)) | |
TimelockTimeStart !SlotNo | |
TimelockTimeExpire !SlotNo |
Instances
inInterval ∷ SlotNo → ValidityInterval → Bool Source #
Test if a slot is in the Validity interval. Recall that a ValidityInterval is a half Open interval, that is why we use (slot < top)
showTimelock ∷ AllegraEraScript era ⇒ NativeScript era → String Source #
evalTimelock ∷ AllegraEraScript era ⇒ Set (KeyHash 'Witness) → ValidityInterval → NativeScript era → Bool Source #
eqTimelockRaw ∷ Timelock era → Timelock 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 ValidityInterval Source #
ValidityInterval is a half open interval. Closed on the bottom, open on the top. A SNothing on the bottom is negative infinity, and a SNothing on the top is positive infinity
Constructors
ValidityInterval | |
Fields |
Instances
translateTimelock ∷ ∀ era1 era2. (Era era1, Era era2) ⇒ Timelock era1 → Timelock era2 Source #
This function deconstructs and then reconstructs the timelock script to prove the compiler that we can arbirarily switch out the eras as long as the cryptos for both eras are the same.