| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Cardano.Chain.Genesis
Synopsis
- data Config = Config {}
- newtype GenesisDelegation = UnsafeGenesisDelegation {}
- newtype GenesisHash = GenesisHash {}
- newtype GenesisKeyHashes = GenesisKeyHashes {}
- configEpochSlots ∷ Config → EpochSlots
- configGenesisKeyHashes ∷ Config → GenesisKeyHashes
- configHeavyDelegation ∷ Config → GenesisDelegation
- configK ∷ Config → BlockCount
- configProtocolMagicId ∷ Config → ProtocolMagicId
- newtype GenesisAvvmBalances = GenesisAvvmBalances {}
- data ConfigurationError
- configGenesisHeaderHash ∷ Config → HeaderHash
- configSlotSecurityParam ∷ Config → SlotCount
- configChainQualityThreshold ∷ Fractional f ⇒ Config → f
- configProtocolMagic ∷ Config → ProtocolMagic
- configStartTime ∷ Config → UTCTime
- configNonAvvmBalances ∷ Config → GenesisNonAvvmBalances
- configProtocolParameters ∷ Config → ProtocolParameters
- configAvvmDistr ∷ Config → GenesisAvvmBalances
- mkConfigFromFile ∷ (MonadError ConfigurationError m, MonadIO m) ⇒ RequiresNetworkMagic → FilePath → Hash Raw → m Config
- data GenesisData = GenesisData {}
- data GenesisDataError
- readGenesisData ∷ (MonadError GenesisDataError m, MonadIO m) ⇒ FilePath → m (GenesisData, GenesisHash)
- newtype GenesisNonAvvmBalances = GenesisNonAvvmBalances {}
- mainnetProtocolMagicId ∷ ProtocolMagicId
- data GenesisDelegationError
- mkGenesisDelegation ∷ MonadError GenesisDelegationError m ⇒ [Certificate] → m GenesisDelegation
- data GeneratedSecrets = GeneratedSecrets {}
- gsSigningKeys ∷ GeneratedSecrets → [SigningKey]
- gsSigningKeysPoor ∷ GeneratedSecrets → [SigningKey]
- newtype PoorSecret = PoorSecret {}
- generateGenesisData ∷ UTCTime → GenesisSpec → ExceptT GenesisDataGenerationError IO (GenesisData, GeneratedSecrets)
- generateGenesisDataWithEntropy ∷ ∀ (m ∷ Type → Type). MonadRandom m ⇒ UTCTime → GenesisSpec → ExceptT GenesisDataGenerationError m (GenesisData, GeneratedSecrets)
- generateGenesisConfig ∷ UTCTime → GenesisSpec → ExceptT GenesisDataGenerationError IO (Config, GeneratedSecrets)
- generateGenesisConfigWithEntropy ∷ ∀ (m ∷ Type → Type). MonadRandom m ⇒ UTCTime → GenesisSpec → ExceptT GenesisDataGenerationError m (Config, GeneratedSecrets)
- data GenesisDataGenerationError
- data FakeAvvmOptions = FakeAvvmOptions {}
- data GenesisInitializer = GenesisInitializer {}
- data TestnetBalanceOptions = TestnetBalanceOptions {}
- data GenesisSpec = UnsafeGenesisSpec {}
- convertNonAvvmDataToBalances ∷ MonadError NonAvvmBalancesError m ⇒ Map Text Integer → m GenesisNonAvvmBalances
- mkGenesisSpec ∷ GenesisAvvmBalances → GenesisDelegation → ProtocolParameters → BlockCount → ProtocolMagic → GenesisInitializer → Either Text GenesisSpec
Documentation
Constructors
| Config | |
Fields
| |
Instances
newtype GenesisDelegation Source #
This type contains genesis state of heavyweight delegation. It wraps a map where keys are issuers and values are delegation certificates. There are some invariants:
- In each pair delegate must differ from issuer, i. e. no revocations.
- PSKs must be consistent with keys in the map, i. e. issuer's ID must be equal to the key in the map.
- Delegates can't be issuers, i. e. transitive delegation is not supported. It's not needed in genesis, it can always be reduced.
Constructors
| UnsafeGenesisDelegation | |
Fields | |
Instances
| FromCBOR GenesisDelegation Source # | |
Defined in Cardano.Chain.Genesis.Delegation | |
| ToCBOR GenesisDelegation Source # | |
Defined in Cardano.Chain.Genesis.Delegation Methods toCBOR ∷ GenesisDelegation → Encoding Source # encodedSizeExpr ∷ (∀ t. ToCBOR t ⇒ Proxy t → Size) → Proxy GenesisDelegation → Size Source # encodedListSizeExpr ∷ (∀ t. ToCBOR t ⇒ Proxy t → Size) → Proxy [GenesisDelegation] → Size Source # | |
| DecCBOR GenesisDelegation Source # | |
Defined in Cardano.Chain.Genesis.Delegation | |
| EncCBOR GenesisDelegation Source # | |
Defined in Cardano.Chain.Genesis.Delegation Methods | |
| Show GenesisDelegation Source # | |
Defined in Cardano.Chain.Genesis.Delegation Methods showsPrec ∷ Int → GenesisDelegation → ShowS # show ∷ GenesisDelegation → String # showList ∷ [GenesisDelegation] → ShowS # | |
| Eq GenesisDelegation Source # | |
Defined in Cardano.Chain.Genesis.Delegation Methods | |
| NoThunks GenesisDelegation Source # | |
Defined in Cardano.Chain.Genesis.Delegation | |
| MonadError SchemaError m ⇒ FromJSON m GenesisDelegation Source # | |
Defined in Cardano.Chain.Genesis.Delegation Methods fromJSON ∷ JSValue → m GenesisDelegation Source # | |
| Monad m ⇒ ToJSON m GenesisDelegation Source # | |
Defined in Cardano.Chain.Genesis.Delegation Methods toJSON ∷ GenesisDelegation → m JSValue Source # | |
newtype GenesisHash Source #
Constructors
| GenesisHash | |
Fields | |
Instances
| ToJSON GenesisHash Source # | |||||
Defined in Cardano.Chain.Genesis.Hash Methods toJSON ∷ GenesisHash → Value Source # toEncoding ∷ GenesisHash → Encoding Source # toJSONList ∷ [GenesisHash] → Value Source # toEncodingList ∷ [GenesisHash] → Encoding Source # omitField ∷ GenesisHash → Bool Source # | |||||
| FromCBOR GenesisHash Source # | |||||
Defined in Cardano.Chain.Genesis.Hash | |||||
| ToCBOR GenesisHash Source # | |||||
Defined in Cardano.Chain.Genesis.Hash Methods toCBOR ∷ GenesisHash → Encoding Source # encodedSizeExpr ∷ (∀ t. ToCBOR t ⇒ Proxy t → Size) → Proxy GenesisHash → Size Source # encodedListSizeExpr ∷ (∀ t. ToCBOR t ⇒ Proxy t → Size) → Proxy [GenesisHash] → Size Source # | |||||
| DecCBOR GenesisHash Source # | |||||
Defined in Cardano.Chain.Genesis.Hash | |||||
| EncCBOR GenesisHash Source # | |||||
Defined in Cardano.Chain.Genesis.Hash Methods | |||||
| NFData GenesisHash Source # | |||||
Defined in Cardano.Chain.Genesis.Hash Methods rnf ∷ GenesisHash → () # | |||||
| Generic GenesisHash Source # | |||||
Defined in Cardano.Chain.Genesis.Hash Associated Types
| |||||
| Show GenesisHash Source # | |||||
Defined in Cardano.Chain.Genesis.Hash Methods showsPrec ∷ Int → GenesisHash → ShowS # show ∷ GenesisHash → String # showList ∷ [GenesisHash] → ShowS # | |||||
| Eq GenesisHash Source # | |||||
Defined in Cardano.Chain.Genesis.Hash | |||||
| NoThunks GenesisHash Source # | |||||
Defined in Cardano.Chain.Genesis.Hash | |||||
| type Rep GenesisHash Source # | |||||
Defined in Cardano.Chain.Genesis.Hash type Rep GenesisHash = D1 ('MetaData "GenesisHash" "Cardano.Chain.Genesis.Hash" "cardano-ledger-byron-1.3.0.0-inplace" 'True) (C1 ('MetaCons "GenesisHash" 'PrefixI 'True) (S1 ('MetaSel ('Just "unGenesisHash") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Hash Raw)))) | |||||
newtype GenesisKeyHashes Source #
The set of genesis keys, who are able to produce blocks and submit votes and proposals in the Byron era
Constructors
| GenesisKeyHashes | |
Fields | |
Instances
| FromCBOR GenesisKeyHashes Source # | |
Defined in Cardano.Chain.Genesis.KeyHashes | |
| ToCBOR GenesisKeyHashes Source # | |
Defined in Cardano.Chain.Genesis.KeyHashes Methods toCBOR ∷ GenesisKeyHashes → Encoding Source # encodedSizeExpr ∷ (∀ t. ToCBOR t ⇒ Proxy t → Size) → Proxy GenesisKeyHashes → Size Source # encodedListSizeExpr ∷ (∀ t. ToCBOR t ⇒ Proxy t → Size) → Proxy [GenesisKeyHashes] → Size Source # | |
| DecCBOR GenesisKeyHashes Source # | |
Defined in Cardano.Chain.Genesis.KeyHashes | |
| EncCBOR GenesisKeyHashes Source # | |
Defined in Cardano.Chain.Genesis.KeyHashes Methods | |
| Buildable GenesisKeyHashes Source # | |
Defined in Cardano.Chain.Genesis.KeyHashes Methods | |
| Monoid GenesisKeyHashes Source # | |
Defined in Cardano.Chain.Genesis.KeyHashes Methods mappend ∷ GenesisKeyHashes → GenesisKeyHashes → GenesisKeyHashes # | |
| Semigroup GenesisKeyHashes Source # | |
Defined in Cardano.Chain.Genesis.KeyHashes Methods (<>) ∷ GenesisKeyHashes → GenesisKeyHashes → GenesisKeyHashes # sconcat ∷ NonEmpty GenesisKeyHashes → GenesisKeyHashes # stimes ∷ Integral b ⇒ b → GenesisKeyHashes → GenesisKeyHashes # | |
| Show GenesisKeyHashes Source # | |
Defined in Cardano.Chain.Genesis.KeyHashes Methods showsPrec ∷ Int → GenesisKeyHashes → ShowS # show ∷ GenesisKeyHashes → String # showList ∷ [GenesisKeyHashes] → ShowS # | |
| Eq GenesisKeyHashes Source # | |
Defined in Cardano.Chain.Genesis.KeyHashes Methods | |
| NoThunks GenesisKeyHashes Source # | |
Defined in Cardano.Chain.Genesis.KeyHashes | |
| MonadError SchemaError m ⇒ FromJSON m GenesisKeyHashes Source # | |
Defined in Cardano.Chain.Genesis.KeyHashes Methods fromJSON ∷ JSValue → m GenesisKeyHashes Source # | |
| Monad m ⇒ ToJSON m GenesisKeyHashes Source # | |
Defined in Cardano.Chain.Genesis.KeyHashes Methods toJSON ∷ GenesisKeyHashes → m JSValue Source # | |
configK ∷ Config → BlockCount Source #
newtype GenesisAvvmBalances Source #
Predefined balances of AVVM (Ada Voucher Vending Machine) entries. People who purchased Ada at a pre-sale were issued a certificate during the pre-sale period. These certificates allow customers to redeem ADA.
Constructors
| GenesisAvvmBalances | |
Instances
| FromCBOR GenesisAvvmBalances Source # | |
Defined in Cardano.Chain.Genesis.AvvmBalances | |
| ToCBOR GenesisAvvmBalances Source # | |
Defined in Cardano.Chain.Genesis.AvvmBalances Methods toCBOR ∷ GenesisAvvmBalances → Encoding Source # encodedSizeExpr ∷ (∀ t. ToCBOR t ⇒ Proxy t → Size) → Proxy GenesisAvvmBalances → Size Source # encodedListSizeExpr ∷ (∀ t. ToCBOR t ⇒ Proxy t → Size) → Proxy [GenesisAvvmBalances] → Size Source # | |
| DecCBOR GenesisAvvmBalances Source # | |
Defined in Cardano.Chain.Genesis.AvvmBalances | |
| EncCBOR GenesisAvvmBalances Source # | |
Defined in Cardano.Chain.Genesis.AvvmBalances Methods | |
| Semigroup GenesisAvvmBalances Source # | |
Defined in Cardano.Chain.Genesis.AvvmBalances | |
| Show GenesisAvvmBalances Source # | |
Defined in Cardano.Chain.Genesis.AvvmBalances Methods showsPrec ∷ Int → GenesisAvvmBalances → ShowS # show ∷ GenesisAvvmBalances → String # showList ∷ [GenesisAvvmBalances] → ShowS # | |
| Eq GenesisAvvmBalances Source # | |
Defined in Cardano.Chain.Genesis.AvvmBalances Methods | |
| NoThunks GenesisAvvmBalances Source # | |
Defined in Cardano.Chain.Genesis.AvvmBalances | |
| MonadError SchemaError m ⇒ FromJSON m GenesisAvvmBalances Source # | |
Defined in Cardano.Chain.Genesis.AvvmBalances Methods | |
| Monad m ⇒ ToJSON m GenesisAvvmBalances Source # | |
Defined in Cardano.Chain.Genesis.AvvmBalances Methods toJSON ∷ GenesisAvvmBalances → m JSValue Source # | |
data ConfigurationError Source #
Constructors
| ConfigurationGenesisDataError GenesisDataError | An error in constructing |
| GenesisHashMismatch GenesisHash (Hash Raw) | The GenesisData canonical JSON hash is different than expected |
| GenesisHashDecodeError Text | An error occured while decoding the genesis hash. |
Instances
| Show ConfigurationError Source # | |
Defined in Cardano.Chain.Genesis.Config Methods showsPrec ∷ Int → ConfigurationError → ShowS # show ∷ ConfigurationError → String # showList ∷ [ConfigurationError] → ShowS # | |
configChainQualityThreshold ∷ Fractional f ⇒ Config → f Source #
configProtocolMagic ∷ Config → ProtocolMagic Source #
There isn't a full ProtocolMagic in Config, but the requisite
ProtocolMagicId and RequiresNetworkMagic are stored separately.
We use them to construct and return a ProtocolMagic.
Arguments
| ∷ (MonadError ConfigurationError m, MonadIO m) | |
| ⇒ RequiresNetworkMagic | |
| → FilePath | |
| → Hash Raw | The expected hash of the file |
| → m Config |
data GenesisData Source #
Genesis data contains all data which determines consensus rules. It must be same for all nodes. It's used to initialize global state, slotting, etc.
Constructors
| GenesisData | |
Instances
| FromCBOR GenesisData Source # | |||||
Defined in Cardano.Chain.Genesis.Data | |||||
| ToCBOR GenesisData Source # | |||||
Defined in Cardano.Chain.Genesis.Data Methods toCBOR ∷ GenesisData → Encoding Source # encodedSizeExpr ∷ (∀ t. ToCBOR t ⇒ Proxy t → Size) → Proxy GenesisData → Size Source # encodedListSizeExpr ∷ (∀ t. ToCBOR t ⇒ Proxy t → Size) → Proxy [GenesisData] → Size Source # | |||||
| DecCBOR GenesisData Source # | |||||
Defined in Cardano.Chain.Genesis.Data | |||||
| EncCBOR GenesisData Source # | |||||
Defined in Cardano.Chain.Genesis.Data Methods | |||||
| Generic GenesisData Source # | |||||
Defined in Cardano.Chain.Genesis.Data Associated Types
| |||||
| Show GenesisData Source # | |||||
Defined in Cardano.Chain.Genesis.Data Methods showsPrec ∷ Int → GenesisData → ShowS # show ∷ GenesisData → String # showList ∷ [GenesisData] → ShowS # | |||||
| Eq GenesisData Source # | |||||
Defined in Cardano.Chain.Genesis.Data | |||||
| NoThunks GenesisData Source # | |||||
Defined in Cardano.Chain.Genesis.Data | |||||
| MonadError SchemaError m ⇒ FromJSON m GenesisData Source # | |||||
Defined in Cardano.Chain.Genesis.Data Methods fromJSON ∷ JSValue → m GenesisData Source # | |||||
| Monad m ⇒ ToJSON m GenesisData Source # | |||||
Defined in Cardano.Chain.Genesis.Data Methods toJSON ∷ GenesisData → m JSValue Source # | |||||
| type Rep GenesisData Source # | |||||
Defined in Cardano.Chain.Genesis.Data type Rep GenesisData = D1 ('MetaData "GenesisData" "Cardano.Chain.Genesis.Data" "cardano-ledger-byron-1.3.0.0-inplace" 'False) (C1 ('MetaCons "GenesisData" 'PrefixI 'True) (((S1 ('MetaSel ('Just "gdGenesisKeyHashes") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 GenesisKeyHashes) :*: S1 ('MetaSel ('Just "gdHeavyDelegation") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 GenesisDelegation)) :*: (S1 ('MetaSel ('Just "gdStartTime") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 UTCTime) :*: S1 ('MetaSel ('Just "gdNonAvvmBalances") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 GenesisNonAvvmBalances))) :*: ((S1 ('MetaSel ('Just "gdProtocolParameters") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ProtocolParameters) :*: S1 ('MetaSel ('Just "gdK") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 BlockCount)) :*: (S1 ('MetaSel ('Just "gdProtocolMagicId") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ProtocolMagicId) :*: S1 ('MetaSel ('Just "gdAvvmDistr") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 GenesisAvvmBalances))))) | |||||
data GenesisDataError Source #
Constructors
| GenesisDataParseError Text | |
| GenesisDataSchemaError SchemaError | |
| GenesisDataIOError IOException |
Instances
| Buildable GenesisDataError Source # | |
Defined in Cardano.Chain.Genesis.Data Methods | |
| Show GenesisDataError Source # | |
Defined in Cardano.Chain.Genesis.Data Methods showsPrec ∷ Int → GenesisDataError → ShowS # show ∷ GenesisDataError → String # showList ∷ [GenesisDataError] → ShowS # | |
readGenesisData ∷ (MonadError GenesisDataError m, MonadIO m) ⇒ FilePath → m (GenesisData, GenesisHash) Source #
Parse GenesisData from a JSON file and annotate with Canonical JSON hash
newtype GenesisNonAvvmBalances Source #
Predefined balances of non avvm entries.
Constructors
| GenesisNonAvvmBalances | |
Fields | |
Instances
| FromCBOR GenesisNonAvvmBalances Source # | |
Defined in Cardano.Chain.Genesis.NonAvvmBalances | |
| ToCBOR GenesisNonAvvmBalances Source # | |
Defined in Cardano.Chain.Genesis.NonAvvmBalances Methods toCBOR ∷ GenesisNonAvvmBalances → Encoding Source # encodedSizeExpr ∷ (∀ t. ToCBOR t ⇒ Proxy t → Size) → Proxy GenesisNonAvvmBalances → Size Source # encodedListSizeExpr ∷ (∀ t. ToCBOR t ⇒ Proxy t → Size) → Proxy [GenesisNonAvvmBalances] → Size Source # | |
| DecCBOR GenesisNonAvvmBalances Source # | |
Defined in Cardano.Chain.Genesis.NonAvvmBalances | |
| EncCBOR GenesisNonAvvmBalances Source # | |
Defined in Cardano.Chain.Genesis.NonAvvmBalances Methods | |
| Buildable GenesisNonAvvmBalances Source # | |
Defined in Cardano.Chain.Genesis.NonAvvmBalances Methods | |
| Monoid GenesisNonAvvmBalances Source # | |
| Semigroup GenesisNonAvvmBalances Source # | |
| Show GenesisNonAvvmBalances Source # | |
Defined in Cardano.Chain.Genesis.NonAvvmBalances Methods showsPrec ∷ Int → GenesisNonAvvmBalances → ShowS # show ∷ GenesisNonAvvmBalances → String # showList ∷ [GenesisNonAvvmBalances] → ShowS # | |
| Eq GenesisNonAvvmBalances Source # | |
Defined in Cardano.Chain.Genesis.NonAvvmBalances Methods (==) ∷ GenesisNonAvvmBalances → GenesisNonAvvmBalances → Bool # (/=) ∷ GenesisNonAvvmBalances → GenesisNonAvvmBalances → Bool # | |
| NoThunks GenesisNonAvvmBalances Source # | |
Defined in Cardano.Chain.Genesis.NonAvvmBalances | |
| MonadError SchemaError m ⇒ FromJSON m GenesisNonAvvmBalances Source # | |
Defined in Cardano.Chain.Genesis.NonAvvmBalances Methods | |
| Monad m ⇒ ToJSON m GenesisNonAvvmBalances Source # | |
Defined in Cardano.Chain.Genesis.NonAvvmBalances Methods | |
data GenesisDelegationError Source #
Instances
| Buildable GenesisDelegationError Source # | |
Defined in Cardano.Chain.Genesis.Delegation Methods | |
| Show GenesisDelegationError Source # | |
Defined in Cardano.Chain.Genesis.Delegation Methods showsPrec ∷ Int → GenesisDelegationError → ShowS # show ∷ GenesisDelegationError → String # showList ∷ [GenesisDelegationError] → ShowS # | |
| Eq GenesisDelegationError Source # | |
Defined in Cardano.Chain.Genesis.Delegation Methods (==) ∷ GenesisDelegationError → GenesisDelegationError → Bool # (/=) ∷ GenesisDelegationError → GenesisDelegationError → Bool # | |
mkGenesisDelegation ∷ MonadError GenesisDelegationError m ⇒ [Certificate] → m GenesisDelegation Source #
Safe constructor of GenesisDelegation from a list of Certificates
data GeneratedSecrets Source #
Valuable secrets which can unlock genesis data.
Constructors
| GeneratedSecrets | |
Fields
| |
Instances
| Generic GeneratedSecrets Source # | |||||
Defined in Cardano.Chain.Genesis.Generate Associated Types
Methods from ∷ GeneratedSecrets → Rep GeneratedSecrets x # to ∷ Rep GeneratedSecrets x → GeneratedSecrets # | |||||
| NoThunks GeneratedSecrets Source # | |||||
Defined in Cardano.Chain.Genesis.Generate | |||||
| type Rep GeneratedSecrets Source # | |||||
Defined in Cardano.Chain.Genesis.Generate type Rep GeneratedSecrets = D1 ('MetaData "GeneratedSecrets" "Cardano.Chain.Genesis.Generate" "cardano-ledger-byron-1.3.0.0-inplace" 'False) (C1 ('MetaCons "GeneratedSecrets" 'PrefixI 'True) ((S1 ('MetaSel ('Just "gsDlgIssuersSecrets") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [SigningKey]) :*: S1 ('MetaSel ('Just "gsRichSecrets") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [SigningKey])) :*: (S1 ('MetaSel ('Just "gsPoorSecrets") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [PoorSecret]) :*: S1 ('MetaSel ('Just "gsFakeAvvmSecrets") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [RedeemSigningKey])))) | |||||
newtype PoorSecret Source #
Poor node secret
Constructors
| PoorSecret | |
Fields | |
Instances
| Generic PoorSecret Source # | |||||
Defined in Cardano.Chain.Genesis.Generate Associated Types
| |||||
| NoThunks PoorSecret Source # | |||||
Defined in Cardano.Chain.Genesis.Generate | |||||
| type Rep PoorSecret Source # | |||||
Defined in Cardano.Chain.Genesis.Generate type Rep PoorSecret = D1 ('MetaData "PoorSecret" "Cardano.Chain.Genesis.Generate" "cardano-ledger-byron-1.3.0.0-inplace" 'True) (C1 ('MetaCons "PoorSecret" 'PrefixI 'True) (S1 ('MetaSel ('Just "poorSecretToKey") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SigningKey))) | |||||
generateGenesisData ∷ UTCTime → GenesisSpec → ExceptT GenesisDataGenerationError IO (GenesisData, GeneratedSecrets) Source #
Generate a genesis GenesisData and GeneratedSecrets from a
GenesisSpec. This is used only for tests blockhains. For a real blockcain
you must use the external key generation tool so that each stakeholder can
generate their keys privately.
generateGenesisDataWithEntropy ∷ ∀ (m ∷ Type → Type). MonadRandom m ⇒ UTCTime → GenesisSpec → ExceptT GenesisDataGenerationError m (GenesisData, GeneratedSecrets) Source #
A version of generateGenesisData parametrised over MonadRandom.
For testing purposes this allows using a completely pure deterministic
entropy source, rather than a cryptographically secure entropy source.
generateGenesisConfig ∷ UTCTime → GenesisSpec → ExceptT GenesisDataGenerationError IO (Config, GeneratedSecrets) Source #
Generate a genesis Config from a GenesisSpec. This is used only for
tests. For the real node we always generate an external JSON genesis file.
generateGenesisConfigWithEntropy ∷ ∀ (m ∷ Type → Type). MonadRandom m ⇒ UTCTime → GenesisSpec → ExceptT GenesisDataGenerationError m (Config, GeneratedSecrets) Source #
A version of generateGenesisConfig parametrised over MonadRandom.
For testing purposes this allows using a completely pure deterministic
entropy source, rather than a cryptographically secure entropy source.
data GenesisDataGenerationError Source #
Constructors
| GenesisDataAddressBalanceMismatch Text Int Int | |
| GenesisDataGenerationDelegationError GenesisDelegationError | |
| GenesisDataGenerationDistributionMismatch Lovelace Lovelace | |
| GenesisDataGenerationLovelaceError LovelaceError | |
| GenesisDataGenerationPassPhraseMismatch | |
| GenesisDataGenerationRedeemKeyGen |
Instances
| Buildable GenesisDataGenerationError Source # | |
Defined in Cardano.Chain.Genesis.Generate Methods | |
| Show GenesisDataGenerationError Source # | |
Defined in Cardano.Chain.Genesis.Generate Methods showsPrec ∷ Int → GenesisDataGenerationError → ShowS # | |
| Eq GenesisDataGenerationError Source # | |
Defined in Cardano.Chain.Genesis.Generate | |
data FakeAvvmOptions Source #
These options determines balances of fake AVVM nodes which didn't really go through vending, but pretend they did
Constructors
| FakeAvvmOptions | |
Fields
| |
Instances
| Generic FakeAvvmOptions Source # | |||||
Defined in Cardano.Chain.Genesis.Initializer Associated Types
Methods from ∷ FakeAvvmOptions → Rep FakeAvvmOptions x # to ∷ Rep FakeAvvmOptions x → FakeAvvmOptions # | |||||
| Show FakeAvvmOptions Source # | |||||
Defined in Cardano.Chain.Genesis.Initializer Methods showsPrec ∷ Int → FakeAvvmOptions → ShowS # show ∷ FakeAvvmOptions → String # showList ∷ [FakeAvvmOptions] → ShowS # | |||||
| Eq FakeAvvmOptions Source # | |||||
Defined in Cardano.Chain.Genesis.Initializer Methods (==) ∷ FakeAvvmOptions → FakeAvvmOptions → Bool # (/=) ∷ FakeAvvmOptions → FakeAvvmOptions → Bool # | |||||
| type Rep FakeAvvmOptions Source # | |||||
Defined in Cardano.Chain.Genesis.Initializer type Rep FakeAvvmOptions = D1 ('MetaData "FakeAvvmOptions" "Cardano.Chain.Genesis.Initializer" "cardano-ledger-byron-1.3.0.0-inplace" 'False) (C1 ('MetaCons "FakeAvvmOptions" 'PrefixI 'True) (S1 ('MetaSel ('Just "faoCount") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Word) :*: S1 ('MetaSel ('Just "faoOneBalance") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Lovelace))) | |||||
data GenesisInitializer Source #
Options determining generated genesis stakes, balances, and delegation
Constructors
| GenesisInitializer | |
Fields
| |
Instances
| Show GenesisInitializer Source # | |
Defined in Cardano.Chain.Genesis.Initializer Methods showsPrec ∷ Int → GenesisInitializer → ShowS # show ∷ GenesisInitializer → String # showList ∷ [GenesisInitializer] → ShowS # | |
| Eq GenesisInitializer Source # | |
Defined in Cardano.Chain.Genesis.Initializer Methods | |
data TestnetBalanceOptions Source #
These options determine balances of nodes specific for testnet
Constructors
| TestnetBalanceOptions | |
Fields
| |
Instances
| Show TestnetBalanceOptions Source # | |
Defined in Cardano.Chain.Genesis.Initializer Methods showsPrec ∷ Int → TestnetBalanceOptions → ShowS # show ∷ TestnetBalanceOptions → String # showList ∷ [TestnetBalanceOptions] → ShowS # | |
| Eq TestnetBalanceOptions Source # | |
Defined in Cardano.Chain.Genesis.Initializer Methods (==) ∷ TestnetBalanceOptions → TestnetBalanceOptions → Bool # (/=) ∷ TestnetBalanceOptions → TestnetBalanceOptions → Bool # | |
data GenesisSpec Source #
Specification how to generate full GenesisData
Constructors
| UnsafeGenesisSpec | |
Fields
| |
Instances
| Generic GenesisSpec Source # | |||||
Defined in Cardano.Chain.Genesis.Spec Associated Types
| |||||
| Show GenesisSpec Source # | |||||
Defined in Cardano.Chain.Genesis.Spec Methods showsPrec ∷ Int → GenesisSpec → ShowS # show ∷ GenesisSpec → String # showList ∷ [GenesisSpec] → ShowS # | |||||
| Eq GenesisSpec Source # | |||||
Defined in Cardano.Chain.Genesis.Spec | |||||
| type Rep GenesisSpec Source # | |||||
Defined in Cardano.Chain.Genesis.Spec type Rep GenesisSpec = D1 ('MetaData "GenesisSpec" "Cardano.Chain.Genesis.Spec" "cardano-ledger-byron-1.3.0.0-inplace" 'False) (C1 ('MetaCons "UnsafeGenesisSpec" 'PrefixI 'True) ((S1 ('MetaSel ('Just "gsAvvmDistr") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 GenesisAvvmBalances) :*: (S1 ('MetaSel ('Just "gsHeavyDelegation") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 GenesisDelegation) :*: S1 ('MetaSel ('Just "gsProtocolParameters") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ProtocolParameters))) :*: (S1 ('MetaSel ('Just "gsK") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 BlockCount) :*: (S1 ('MetaSel ('Just "gsProtocolMagic") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ProtocolMagic) :*: S1 ('MetaSel ('Just "gsInitializer") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 GenesisInitializer))))) | |||||
convertNonAvvmDataToBalances ∷ MonadError NonAvvmBalancesError m ⇒ Map Text Integer → m GenesisNonAvvmBalances Source #
Generate genesis address distribution out of avvm parameters. Txdistr of the utxo is all empty. Redelegate it in calling function.
mkGenesisSpec ∷ GenesisAvvmBalances → GenesisDelegation → ProtocolParameters → BlockCount → ProtocolMagic → GenesisInitializer → Either Text GenesisSpec Source #
Safe constructor for GenesisSpec. Throws error if something
goes wrong.