{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE QuasiQuotes #-}
{-# LANGUAGE RankNTypes #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE ViewPatterns #-}
module Test.Cardano.Ledger.Constrained.Conway.Epoch where
import Cardano.Ledger.BaseTypes
import Cardano.Ledger.Coin
import Cardano.Ledger.Conway (ConwayEra)
import Cardano.Ledger.Conway.Governance
import Cardano.Ledger.Shelley.API.Types
import Constrained
import Data.Foldable
import Data.Map.Strict (Map)
import GHC.Generics (Generic)
import Lens.Micro.Extras
import Test.Cardano.Ledger.Constrained.Conway.Gov
import Test.Cardano.Ledger.Constrained.Conway.Instances
data EpochExecEnv era = EpochExecEnv
{ forall era.
EpochExecEnv era -> Map (Credential 'Staking) (CompactForm Coin)
eeeStakeDistr :: Map (Credential 'Staking) (CompactForm Coin)
, forall era. EpochExecEnv era -> EpochNo
eeeEpochNo :: EpochNo
}
deriving (forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
forall era x. Rep (EpochExecEnv era) x -> EpochExecEnv era
forall era x. EpochExecEnv era -> Rep (EpochExecEnv era) x
$cto :: forall era x. Rep (EpochExecEnv era) x -> EpochExecEnv era
$cfrom :: forall era x. EpochExecEnv era -> Rep (EpochExecEnv era) x
Generic, EpochExecEnv era -> EpochExecEnv era -> Bool
forall era. EpochExecEnv era -> EpochExecEnv era -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: EpochExecEnv era -> EpochExecEnv era -> Bool
$c/= :: forall era. EpochExecEnv era -> EpochExecEnv era -> Bool
== :: EpochExecEnv era -> EpochExecEnv era -> Bool
$c== :: forall era. EpochExecEnv era -> EpochExecEnv era -> Bool
Eq, Int -> EpochExecEnv era -> ShowS
forall era. Int -> EpochExecEnv era -> ShowS
forall era. [EpochExecEnv era] -> ShowS
forall era. EpochExecEnv era -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [EpochExecEnv era] -> ShowS
$cshowList :: forall era. [EpochExecEnv era] -> ShowS
show :: EpochExecEnv era -> String
$cshow :: forall era. EpochExecEnv era -> String
showsPrec :: Int -> EpochExecEnv era -> ShowS
$cshowsPrec :: forall era. Int -> EpochExecEnv era -> ShowS
Show)
epochEnvSpec :: Specification fn (EpochExecEnv ConwayEra)
epochEnvSpec :: forall (fn :: [*] -> * -> *).
Specification fn (EpochExecEnv ConwayEra)
epochEnvSpec = forall (fn :: [*] -> * -> *) a. Specification fn a
TrueSpec
epochStateSpec ::
Term ConwayFn EpochNo ->
Specification ConwayFn (EpochState ConwayEra)
epochStateSpec :: Term ConwayFn EpochNo
-> Specification ConwayFn (EpochState ConwayEra)
epochStateSpec Term ConwayFn EpochNo
epochNo = forall a (fn :: [*] -> * -> *) p.
(IsPred p fn, HasSpec fn a) =>
(Term fn a -> p) -> Specification fn a
constrained forall a b. (a -> b) -> a -> b
$ \Term ConwayFn (EpochState ConwayEra)
es ->
forall (fn :: [*] -> * -> *) p a.
(HasSpec fn a, IsProductType fn a, IsPred p fn) =>
Term fn a
-> FunTy (MapList (Term fn) (ProductAsList a)) p -> Pred fn
match Term ConwayFn (EpochState ConwayEra)
es forall a b. (a -> b) -> a -> b
$ \Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
AccountState
_accountState Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(LedgerState ConwayEra)
ledgerState Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
SnapShots
_snapShots Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
NonMyopic
_nonMyopic ->
forall (fn :: [*] -> * -> *) p a.
(HasSpec fn a, IsProductType fn a, IsPred p fn) =>
Term fn a
-> FunTy (MapList (Term fn) (ProductAsList a)) p -> Pred fn
match Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(LedgerState ConwayEra)
ledgerState forall a b. (a -> b) -> a -> b
$ \Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(UTxOState ConwayEra)
utxoState Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(CertState ConwayEra)
certState ->
forall (fn :: [*] -> * -> *) p a.
(HasSpec fn a, IsProductType fn a, IsPred p fn) =>
Term fn a
-> FunTy (MapList (Term fn) (ProductAsList a)) p -> Pred fn
match Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(UTxOState ConwayEra)
utxoState forall a b. (a -> b) -> a -> b
$ \Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(UTxO ConwayEra)
_utxo Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
Coin
_deposited Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
Coin
_fees Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(ConwayGovState ConwayEra)
govState Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
IncrementalStake
_stakeDistr Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
Coin
_donation ->
forall (fn :: [*] -> * -> *) p a.
(HasSpec fn a, IsProductType fn a, IsPred p fn) =>
Term fn a
-> FunTy (MapList (Term fn) (ProductAsList a)) p -> Pred fn
match Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(ConwayGovState ConwayEra)
govState forall a b. (a -> b) -> a -> b
$ \ Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(Proposals ConwayEra)
[var| proposals |] Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(StrictMaybe (Committee ConwayEra))
_committee Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(Constitution ConwayEra)
constitution Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(PParams ConwayEra)
_curPParams Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(PParams ConwayEra)
_prevPParams Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(FuturePParams ConwayEra)
_futPParams Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(DRepPulsingState ConwayEra)
drepPulsingState ->
[ forall (fn :: [*] -> * -> *) p a.
(HasSpec fn a, IsProductType fn a, IsPred p fn) =>
Term fn a
-> FunTy (MapList (Term fn) (ProductAsList a)) p -> Pred fn
match Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(Constitution ConwayEra)
constitution forall a b. (a -> b) -> a -> b
$ \Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
Anchor
_ Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(StrictMaybe ScriptHash)
policy ->
Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(Proposals ConwayEra)
proposals forall (fn :: [*] -> * -> *) a.
HasSpec fn a =>
Term fn a -> Specification fn a -> Pred fn
`satisfies` forall (fn :: [*] -> * -> *).
IsConwayUniv fn =>
Term fn EpochNo
-> Term fn (StrictMaybe ScriptHash)
-> Term fn (CertState ConwayEra)
-> Specification fn (Proposals ConwayEra)
proposalsSpec Term ConwayFn EpochNo
epochNo Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(StrictMaybe ScriptHash)
policy Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(CertState ConwayEra)
certState
, forall (fn :: [*] -> * -> *) a.
(HasSpec fn a, HasSpec fn (SimpleRep a), HasSimpleRep a,
TypeSpec fn a ~ TypeSpec fn (SimpleRep a),
SimpleRep a ~ SumOver (Cases (SimpleRep a)),
TypeList (Cases (SimpleRep a))) =>
Term fn a
-> FunTy
(MapList (Weighted (Binder fn)) (Cases (SimpleRep a))) (Pred fn)
caseOn
Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(DRepPulsingState ConwayEra)
drepPulsingState
( forall (fn :: [*] -> * -> *) p a.
(HasSpec fn a, All (HasSpec fn) (Args a), IsPred p fn, IsProd a) =>
FunTy (MapList (Term fn) (Args a)) p -> Weighted (Binder fn) a
branch forall a b. (a -> b) -> a -> b
$ \Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(DRepPulser ConwayEra Identity (RatifyState ConwayEra))
pulser ->
forall (fn :: [*] -> * -> *) p a.
(HasSpec fn a, IsProductType fn a, IsPred p fn) =>
Term fn a
-> FunTy (MapList (Term fn) (ProductAsList a)) p -> Pred fn
match Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(DRepPulser ConwayEra Identity (RatifyState ConwayEra))
pulser forall a b. (a -> b) -> a -> b
$ \Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
Int
_size Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
UMap
_stakeMap Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
Int
_index Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(Map (Credential 'Staking) (CompactForm Coin))
_stakeDistr Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
PoolDistr
_stakePoolDistr Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(Map DRep (CompactForm Coin))
_drepDistr Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(Map (Credential 'DRepRole) DRepState)
_drepState Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
EpochNo
pulseEpoch Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(CommitteeState ConwayEra)
_committeeState Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(EnactState ConwayEra)
_enactState Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(StrictSeq (GovActionState ConwayEra))
pulseProposals Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(Map (Credential 'Staking) (CompactForm Coin))
_proposalDeposits Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(Map (KeyHash 'StakePool) PoolParams)
_poolParams ->
[ forall (fn :: [*] -> * -> *) p.
(BaseUniverse fn, IsPred p fn) =>
p -> Pred fn
assert forall a b. (a -> b) -> a -> b
$ Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
EpochNo
pulseEpoch forall (fn :: [*] -> * -> *) a.
HasSpec fn a =>
Term fn a -> Term fn a -> Term fn Bool
==. Term ConwayFn EpochNo
epochNo
, forall t a (fn :: [*] -> * -> *) p.
(Forallable t a, HasSpec fn t, HasSpec fn a, IsPred p fn) =>
Term fn t -> (Term fn a -> p) -> Pred fn
forAll Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(StrictSeq (GovActionState ConwayEra))
pulseProposals forall a b. (a -> b) -> a -> b
$ \Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(GovActionState ConwayEra)
gas ->
forall (fn :: [*] -> * -> *) p a.
(HasSpec fn a, IsProductType fn a, IsPred p fn) =>
Term fn a
-> FunTy (MapList (Term fn) (ProductAsList a)) p -> Pred fn
match Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(GovActionState ConwayEra)
gas forall a b. (a -> b) -> a -> b
$ \Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
GovActionId
gasId Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(Map (Credential 'HotCommitteeRole) Vote)
_ Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(Map (Credential 'DRepRole) Vote)
_ Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(Map (KeyHash 'StakePool) Vote)
_ Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(ProposalProcedure ConwayEra)
_ Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
EpochNo
_ Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
EpochNo
_ ->
Term ConwayFn GovActionId
-> Term ConwayFn (Proposals ConwayEra) -> Pred ConwayFn
proposalExists Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
GovActionId
gasId Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(Proposals ConwayEra)
proposals
,
forall (fn :: [*] -> * -> *) p.
(BaseUniverse fn, IsPred p fn) =>
p -> Pred fn
assert Bool
False
]
)
( forall (fn :: [*] -> * -> *) p a.
(HasSpec fn a, All (HasSpec fn) (Args a), IsPred p fn, IsProd a) =>
FunTy (MapList (Term fn) (Args a)) p -> Weighted (Binder fn) a
branch forall a b. (a -> b) -> a -> b
$ \Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(PulsingSnapshot ConwayEra)
_snap Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(RatifyState ConwayEra)
ratifyState ->
forall (fn :: [*] -> * -> *) p a.
(HasSpec fn a, IsProductType fn a, IsPred p fn) =>
Term fn a
-> FunTy (MapList (Term fn) (ProductAsList a)) p -> Pred fn
match Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(RatifyState ConwayEra)
ratifyState forall a b. (a -> b) -> a -> b
$ \Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(EnactState ConwayEra)
enactState Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(Seq (GovActionState ConwayEra))
[var| enacted |] Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(Set GovActionId)
expired Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
Bool
_delayed ->
[ forall t a (fn :: [*] -> * -> *) p.
(Forallable t a, HasSpec fn t, HasSpec fn a, IsPred p fn) =>
Term fn t -> (Term fn a -> p) -> Pred fn
forAll Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(Set GovActionId)
expired forall a b. (a -> b) -> a -> b
$ \ Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
GovActionId
[var| gasId |] ->
Term ConwayFn GovActionId
-> Term ConwayFn (Proposals ConwayEra) -> Pred ConwayFn
proposalExists Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
GovActionId
gasId Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(Proposals ConwayEra)
proposals
,
forall t a (fn :: [*] -> * -> *) p.
(Forallable t a, HasSpec fn t, HasSpec fn a, IsPred p fn) =>
Term fn t -> (Term fn a -> p) -> Pred fn
forAll Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(Seq (GovActionState ConwayEra))
enacted forall a b. (a -> b) -> a -> b
$ \Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(GovActionState ConwayEra)
govact ->
[ forall (fn :: [*] -> * -> *) a b p.
(HasSpec fn a, HasSpec fn b, IsPred p fn) =>
Term fn a -> (a -> b) -> (Term fn b -> p) -> Pred fn
reify Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(Proposals ConwayEra)
proposals forall era. Proposals era -> [GovActionState era]
enactableProposals forall a b. (a -> b) -> a -> b
$ \Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
[GovActionState ConwayEra]
enactable -> Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(GovActionState ConwayEra)
govact forall a (fn :: [*] -> * -> *).
HasSpec fn a =>
Term fn a -> Term fn [a] -> Term fn Bool
`elem_` Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
[GovActionState ConwayEra]
enactable
, forall (fn :: [*] -> * -> *) p.
(BaseUniverse fn, IsPred p fn) =>
p -> Pred fn
assert forall a b. (a -> b) -> a -> b
$ forall (fn :: [*] -> * -> *).
BaseUniverse fn =>
Term fn Bool -> Term fn Bool
not_ forall a b. (a -> b) -> a -> b
$ forall (fn :: [*] -> * -> *).
(EraSpecPParams ConwayEra, IsConwayUniv fn) =>
Term fn (GovActionState ConwayEra) -> Term fn GovActionId
gasId_ Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(GovActionState ConwayEra)
govact forall a (fn :: [*] -> * -> *).
(HasSpec fn a, Ord a) =>
Term fn a -> Term fn (Set a) -> Term fn Bool
`member_` Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(Set GovActionId)
expired
]
,
forall (fn :: [*] -> * -> *) p.
(BaseUniverse fn, IsPred p fn) =>
p -> Pred fn
assert forall a b. (a -> b) -> a -> b
$ forall a (fn :: [*] -> * -> *).
(HasSpec fn a, Sized fn a) =>
Term fn a -> Term fn Integer
sizeOf_ Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(Seq (GovActionState ConwayEra))
enacted forall a (fn :: [*] -> * -> *).
(Ord a, OrdLike fn a) =>
Term fn a -> Term fn a -> Term fn Bool
<=. Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
Integer
1
, forall (fn :: [*] -> * -> *) p a.
(HasSpec fn a, IsProductType fn a, IsPred p fn) =>
Term fn a
-> FunTy (MapList (Term fn) (ProductAsList a)) p -> Pred fn
match Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(EnactState ConwayEra)
enactState forall a b. (a -> b) -> a -> b
$
\Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(StrictMaybe (Committee ConwayEra))
_cc Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(Constitution ConwayEra)
_con Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(PParams ConwayEra)
_cpp Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(PParams ConwayEra)
_ppp Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
Coin
_tr Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(Map (Credential 'Staking) Coin)
_wth Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(GovRelation StrictMaybe ConwayEra)
prevGACTIDS ->
forall (fn :: [*] -> * -> *) a b p.
(HasSpec fn a, HasSpec fn b, IsPred p fn) =>
Term fn a -> (a -> b) -> (Term fn b -> p) -> Pred fn
reify Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(Proposals ConwayEra)
proposals (forall era. GovRelation PRoot era -> GovRelation StrictMaybe era
toPrevGovActionIds forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a s. Getting a s a -> s -> a
view forall era. Lens' (Proposals era) (GovRelation PRoot era)
pRootsL) (Term
(Fix
(Oneof
(Oneof
(Oneof (Oneof SetFn OrdFn) (Oneof MapFn FunFn))
(Oneof
(Oneof TreeFn MapFn) (Oneof ListFn (Oneof CoerceFn PairFn))))
(Oneof
(Oneof (Oneof EqFn IntFn) (Oneof StringFn SizeFn))
(Oneof
(Oneof FunFn SumFn) (Oneof GenericsFn (Oneof CoinFn BoolFn))))))
(GovRelation StrictMaybe ConwayEra)
prevGACTIDS forall (fn :: [*] -> * -> *) a.
HasSpec fn a =>
Term fn a -> Term fn a -> Term fn Bool
==.)
]
)
]
proposalExists ::
Term ConwayFn GovActionId ->
Term ConwayFn (Proposals ConwayEra) ->
Pred ConwayFn
proposalExists :: Term ConwayFn GovActionId
-> Term ConwayFn (Proposals ConwayEra) -> Pred ConwayFn
proposalExists Term ConwayFn GovActionId
gasId Term ConwayFn (Proposals ConwayEra)
proposals =
forall (fn :: [*] -> * -> *) a b p.
(HasSpec fn a, HasSpec fn b, IsPred p fn) =>
Term fn a -> (a -> b) -> (Term fn b -> p) -> Pred fn
reify Term ConwayFn (Proposals ConwayEra)
proposals forall era. Proposals era -> Map GovActionId (GovActionState era)
proposalsActionsMap forall a b. (a -> b) -> a -> b
$ \Term ConwayFn (Map GovActionId (GovActionState ConwayEra))
actionMap ->
Term ConwayFn GovActionId
gasId forall a (fn :: [*] -> * -> *).
(HasSpec fn a, Ord a) =>
Term fn a -> Term fn (Set a) -> Term fn Bool
`member_` forall (fn :: [*] -> * -> *) k v.
(HasSpec fn (Map k v), HasSpec fn k, Ord k) =>
Term fn (Map k v) -> Term fn (Set k)
dom_ Term ConwayFn (Map GovActionId (GovActionState ConwayEra))
actionMap
epochSignalSpec :: EpochNo -> Specification ConwayFn EpochNo
epochSignalSpec :: EpochNo -> Specification ConwayFn EpochNo
epochSignalSpec EpochNo
curEpoch = forall a (fn :: [*] -> * -> *) p.
(IsPred p fn, HasSpec fn a) =>
(Term fn a -> p) -> Specification fn a
constrained forall a b. (a -> b) -> a -> b
$ \Term ConwayFn EpochNo
e ->
forall a (fn :: [*] -> * -> *).
HasSpec fn a =>
Term fn a -> Term fn [a] -> Term fn Bool
elem_ Term ConwayFn EpochNo
e (forall a (fn :: [*] -> * -> *). Show a => a -> Term fn a
lit [EpochNo
curEpoch, forall a. Enum a => a -> a
succ EpochNo
curEpoch])
enactableProposals :: Proposals era -> [GovActionState era]
enactableProposals :: forall era. Proposals era -> [GovActionState era]
enactableProposals Proposals era
proposals =
[ GovActionState era
gact'
| GovActionState era
gact <- forall (t :: * -> *) a. Foldable t => t a -> [a]
toList (forall era. Proposals era -> StrictSeq (GovActionState era)
proposalsActions Proposals era
proposals)
, GovActionState era
gact' <- forall era a.
GovActionState era
-> a
-> (forall (p :: GovActionPurpose).
(forall (f :: * -> *).
Lens' (GovRelation f era) (f (GovPurposeId p era)))
-> StrictMaybe (GovPurposeId p era) -> GovPurposeId p era -> a)
-> a
withGovActionParent GovActionState era
gact [GovActionState era
gact] forall a b. (a -> b) -> a -> b
$
\forall (f :: * -> *).
Lens' (GovRelation f era) (f (GovPurposeId p era))
_ StrictMaybe (GovPurposeId p era)
mparent GovPurposeId p era
_ ->
case StrictMaybe (GovPurposeId p era)
mparent of
StrictMaybe (GovPurposeId p era)
SNothing -> [GovActionState era
gact]
SJust (GovPurposeId GovActionId
gpid')
| forall era. GovActionId -> Proposals era -> Bool
isRoot GovActionId
gpid' Proposals era
proposals -> [GovActionState era
gact]
| Bool
otherwise -> []
]
isRoot :: GovActionId -> Proposals era -> Bool
isRoot :: forall era. GovActionId -> Proposals era -> Bool
isRoot GovActionId
gid (forall a s. Getting a s a -> s -> a
view forall era. Lens' (Proposals era) (GovRelation PRoot era)
pRootsL -> GovRelation {PRoot (GovPurposeId 'PParamUpdatePurpose era)
PRoot (GovPurposeId 'HardForkPurpose era)
PRoot (GovPurposeId 'CommitteePurpose era)
PRoot (GovPurposeId 'ConstitutionPurpose era)
grConstitution :: forall (f :: * -> *) era.
GovRelation f era -> f (GovPurposeId 'ConstitutionPurpose era)
grCommittee :: forall (f :: * -> *) era.
GovRelation f era -> f (GovPurposeId 'CommitteePurpose era)
grHardFork :: forall (f :: * -> *) era.
GovRelation f era -> f (GovPurposeId 'HardForkPurpose era)
grPParamUpdate :: forall (f :: * -> *) era.
GovRelation f era -> f (GovPurposeId 'PParamUpdatePurpose era)
grConstitution :: PRoot (GovPurposeId 'ConstitutionPurpose era)
grCommittee :: PRoot (GovPurposeId 'CommitteePurpose era)
grHardFork :: PRoot (GovPurposeId 'HardForkPurpose era)
grPParamUpdate :: PRoot (GovPurposeId 'PParamUpdatePurpose era)
..}) =
forall a. a -> StrictMaybe a
SJust GovActionId
gid
forall (t :: * -> *) a. (Foldable t, Eq a) => a -> t a -> Bool
`elem` [forall {p :: GovActionPurpose} {era}.
PRoot (GovPurposeId p era) -> StrictMaybe GovActionId
getGID PRoot (GovPurposeId 'PParamUpdatePurpose era)
grPParamUpdate, forall {p :: GovActionPurpose} {era}.
PRoot (GovPurposeId p era) -> StrictMaybe GovActionId
getGID PRoot (GovPurposeId 'HardForkPurpose era)
grHardFork, forall {p :: GovActionPurpose} {era}.
PRoot (GovPurposeId p era) -> StrictMaybe GovActionId
getGID PRoot (GovPurposeId 'CommitteePurpose era)
grCommittee, forall {p :: GovActionPurpose} {era}.
PRoot (GovPurposeId p era) -> StrictMaybe GovActionId
getGID PRoot (GovPurposeId 'ConstitutionPurpose era)
grConstitution]
where
getGID :: PRoot (GovPurposeId p era) -> StrictMaybe GovActionId
getGID = forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap forall (p :: GovActionPurpose) era.
GovPurposeId p era -> GovActionId
unGovPurposeId forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a. PRoot a -> StrictMaybe a
prRoot