morley-0.3.0: Developer tools for the Michelson Language

Safe HaskellNone
LanguageHaskell2010

Michelson.Runtime.GState

Contents

Description

Global blockchain state (emulated).

Synopsis

Auxiliary types

data ContractState Source #

State of a contract with code.

Constructors

ContractState 

Fields

Instances
Eq ContractState Source # 
Instance details

Defined in Michelson.Runtime.GState

Show ContractState Source # 
Instance details

Defined in Michelson.Runtime.GState

Generic ContractState Source # 
Instance details

Defined in Michelson.Runtime.GState

Associated Types

type Rep ContractState :: Type -> Type #

ToJSON ContractState Source # 
Instance details

Defined in Michelson.Runtime.GState

FromJSON ContractState Source # 
Instance details

Defined in Michelson.Runtime.GState

Buildable ContractState Source # 
Instance details

Defined in Michelson.Runtime.GState

type Rep ContractState Source # 
Instance details

Defined in Michelson.Runtime.GState

type Rep ContractState = D1 (MetaData "ContractState" "Michelson.Runtime.GState" "morley-0.3.0-7oMtJCcnhvo7MqJS85kloi" False) (C1 (MetaCons "ContractState" PrefixI True) (S1 (MetaSel (Just "csBalance") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Mutez) :*: (S1 (MetaSel (Just "csStorage") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Value) :*: S1 (MetaSel (Just "csContract") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Contract))))

data AddressState Source #

State of an arbitrary address.

Constructors

ASSimple !Mutez

For contracts without code we store only its balance.

ASContract !ContractState

For contracts with code we store more state represented by ContractState.

Instances
Eq AddressState Source # 
Instance details

Defined in Michelson.Runtime.GState

Show AddressState Source # 
Instance details

Defined in Michelson.Runtime.GState

Generic AddressState Source # 
Instance details

Defined in Michelson.Runtime.GState

Associated Types

type Rep AddressState :: Type -> Type #

ToJSON AddressState Source # 
Instance details

Defined in Michelson.Runtime.GState

FromJSON AddressState Source # 
Instance details

Defined in Michelson.Runtime.GState

Buildable AddressState Source # 
Instance details

Defined in Michelson.Runtime.GState

type Rep AddressState Source # 
Instance details

Defined in Michelson.Runtime.GState

type Rep AddressState = D1 (MetaData "AddressState" "Michelson.Runtime.GState" "morley-0.3.0-7oMtJCcnhvo7MqJS85kloi" False) (C1 (MetaCons "ASSimple" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Mutez)) :+: C1 (MetaCons "ASContract" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 ContractState)))

asBalance :: AddressState -> Mutez Source #

Extract balance from AddressState.

GState

data GState Source #

Persistent data passed to Morley contracts which can be updated as result of contract execution.

Constructors

GState 

Fields

genesisAddresses :: NonEmpty Address Source #

Initially these addresses have a lot of money.

genesisKeyHashes :: NonEmpty KeyHash Source #

KeyHash of genesis address.

genesisAddress :: Address Source #

One of genesis addresses.

More genesisAddresses which can be used in tests

genesisAddress1 :: Address Source #

More genesis addresses

We know size of genesisAddresses, so it is safe to use !!

genesisAddress2 :: Address Source #

More genesis addresses

We know size of genesisAddresses, so it is safe to use !!

genesisAddress3 :: Address Source #

More genesis addresses

We know size of genesisAddresses, so it is safe to use !!

genesisKeyHash :: KeyHash Source #

One of genesis key hashes.

initGState :: GState Source #

Initial GState. It's supposed to be used if no GState is provided. It puts plenty of money on each genesis address.

readGState :: FilePath -> IO GState Source #

Read GState from a file.

writeGState :: FilePath -> GState -> IO () Source #

Write GState to a file.

Operations on GState

extractAllContracts :: GState -> TcOriginatedContracts Source #

Retrive all contracts stored in GState