module Michelson.Test.Dummy
( dummyNow
, dummyMaxSteps
, dummyContractEnv
, dummyOrigination
) where
import Michelson.Interpret (ContractEnv(..), RemainingSteps)
import Michelson.Runtime.GState (genesisAddress, genesisKeyHash)
import Michelson.Untyped
import Tezos.Core (Timestamp(..), unsafeMkMutez)
dummyNow :: Timestamp
dummyNow = Timestamp 100
dummyMaxSteps :: RemainingSteps
dummyMaxSteps = 100500
dummyContractEnv :: ContractEnv
dummyContractEnv = ContractEnv
{ ceNow = dummyNow
, ceMaxSteps = dummyMaxSteps
, ceBalance = unsafeMkMutez 100
, ceContracts = mempty
, ceSelf = genesisAddress
, ceSource = genesisAddress
, ceSender = genesisAddress
, ceAmount = unsafeMkMutez 100
}
dummyOrigination ::
Value
-> Contract
-> OriginationOperation
dummyOrigination storage contract = OriginationOperation
{ ooManager = genesisKeyHash
, ooDelegate = Nothing
, ooSpendable = False
, ooDelegatable = False
, ooBalance = unsafeMkMutez 100
, ooStorage = storage
, ooContract = contract
}