module Blockfrost.Types.Cardano.Governance
( DRep (..)
, DRepInfo (..)
, DRepDelegator (..)
, DRepMeta (..)
, DRepRegistrationAction (..)
, DRepUpdate (..)
, VotingAction (..)
, DRepVote (..)
, ProposalAction (..)
, Proposal (..)
, ProposalInfo (..)
, ProposedProtocolParams (..)
, ParamProposal (..)
, WithdrawalProposal (..)
, VoterRole (..)
, ProposalVote (..)
, ProposalMeta (..)
) where
import Blockfrost.Types.Shared
import Blockfrost.Types.Cardano.Epochs (CostModels, CostModelsRaw)
import Data.Aeson (FromJSON (..), ToJSON (..), Value (..), (.=), object, withText)
import Data.Proxy (Proxy (..))
import Data.Text (Text)
import Deriving.Aeson
import Servant.Docs (ToSample (..), samples, singleSample)
data DRep = DRep
{ DRep -> DRepIdBech32
_dRepDrepId :: DRepIdBech32
, DRep -> DRepIdHex
_dRepHex :: DRepIdHex
}
deriving stock (Int -> DRep -> ShowS
[DRep] -> ShowS
DRep -> String
(Int -> DRep -> ShowS)
-> (DRep -> String) -> ([DRep] -> ShowS) -> Show DRep
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> DRep -> ShowS
showsPrec :: Int -> DRep -> ShowS
$cshow :: DRep -> String
show :: DRep -> String
$cshowList :: [DRep] -> ShowS
showList :: [DRep] -> ShowS
Show, DRep -> DRep -> Bool
(DRep -> DRep -> Bool) -> (DRep -> DRep -> Bool) -> Eq DRep
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: DRep -> DRep -> Bool
== :: DRep -> DRep -> Bool
$c/= :: DRep -> DRep -> Bool
/= :: DRep -> DRep -> Bool
Eq, (forall x. DRep -> Rep DRep x)
-> (forall x. Rep DRep x -> DRep) -> Generic DRep
forall x. Rep DRep x -> DRep
forall x. DRep -> Rep DRep x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. DRep -> Rep DRep x
from :: forall x. DRep -> Rep DRep x
$cto :: forall x. Rep DRep x -> DRep
to :: forall x. Rep DRep x -> DRep
Generic)
deriving (Maybe DRep
Value -> Parser [DRep]
Value -> Parser DRep
(Value -> Parser DRep)
-> (Value -> Parser [DRep]) -> Maybe DRep -> FromJSON DRep
forall a.
(Value -> Parser a)
-> (Value -> Parser [a]) -> Maybe a -> FromJSON a
$cparseJSON :: Value -> Parser DRep
parseJSON :: Value -> Parser DRep
$cparseJSONList :: Value -> Parser [DRep]
parseJSONList :: Value -> Parser [DRep]
$comittedField :: Maybe DRep
omittedField :: Maybe DRep
FromJSON, [DRep] -> Value
[DRep] -> Encoding
DRep -> Bool
DRep -> Value
DRep -> Encoding
(DRep -> Value)
-> (DRep -> Encoding)
-> ([DRep] -> Value)
-> ([DRep] -> Encoding)
-> (DRep -> Bool)
-> ToJSON DRep
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> (a -> Bool)
-> ToJSON a
$ctoJSON :: DRep -> Value
toJSON :: DRep -> Value
$ctoEncoding :: DRep -> Encoding
toEncoding :: DRep -> Encoding
$ctoJSONList :: [DRep] -> Value
toJSONList :: [DRep] -> Value
$ctoEncodingList :: [DRep] -> Encoding
toEncodingList :: [DRep] -> Encoding
$comitField :: DRep -> Bool
omitField :: DRep -> Bool
ToJSON)
via CustomJSON '[FieldLabelModifier '[StripPrefix "_dRep", CamelToSnake]] DRep
instance ToSample DRep where
toSamples :: Proxy DRep -> [(Text, DRep)]
toSamples = [(Text, DRep)] -> Proxy DRep -> [(Text, DRep)]
forall a. a -> Proxy DRep -> a
forall (f :: * -> *) a. Applicative f => a -> f a
pure ([(Text, DRep)] -> Proxy DRep -> [(Text, DRep)])
-> [(Text, DRep)] -> Proxy DRep -> [(Text, DRep)]
forall a b. (a -> b) -> a -> b
$ [DRep] -> [(Text, DRep)]
forall a. [a] -> [(Text, a)]
samples
[ DRep
{ _dRepDrepId :: DRepIdBech32
_dRepDrepId = DRepIdBech32
"drep1mvdu8slennngja7w4un6knwezufra70887zuxpprd64jxfveahn"
, _dRepHex :: DRepIdHex
_dRepHex = DRepIdHex
"db1bc3c3f99ce68977ceaf27ab4dd917123ef9e73f85c304236eab23"
}
, DRep
{ _dRepDrepId :: DRepIdBech32
_dRepDrepId = DRepIdBech32
"drep1cxayn4fgy27yaucvhamsvqj3v6835mh3tjjx6x8hdnr4"
, _dRepHex :: DRepIdHex
_dRepHex = DRepIdHex
"c1ba49d52822bc4ef30cbf77060251668f1a6ef15ca46d18f76cc758"
}
]
data DRepInfo = DRepInfo
{ DRepInfo -> DRepIdBech32
_dRepInfoDrepId :: DRepIdBech32
, DRepInfo -> DRepIdHex
_dRepInfoHex :: DRepIdHex
, DRepInfo -> Lovelaces
_dRepInfoAmount :: Lovelaces
, DRepInfo -> Bool
_dRepInfoHasScript :: Bool
, DRepInfo -> Bool
_dRepInfoRetired :: Bool
, DRepInfo -> Bool
_dRepInfoExpired :: Bool
, DRepInfo -> Maybe Epoch
_dRepInfoLastActiveEpoch :: Maybe Epoch
}
deriving stock (Int -> DRepInfo -> ShowS
[DRepInfo] -> ShowS
DRepInfo -> String
(Int -> DRepInfo -> ShowS)
-> (DRepInfo -> String) -> ([DRepInfo] -> ShowS) -> Show DRepInfo
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> DRepInfo -> ShowS
showsPrec :: Int -> DRepInfo -> ShowS
$cshow :: DRepInfo -> String
show :: DRepInfo -> String
$cshowList :: [DRepInfo] -> ShowS
showList :: [DRepInfo] -> ShowS
Show, DRepInfo -> DRepInfo -> Bool
(DRepInfo -> DRepInfo -> Bool)
-> (DRepInfo -> DRepInfo -> Bool) -> Eq DRepInfo
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: DRepInfo -> DRepInfo -> Bool
== :: DRepInfo -> DRepInfo -> Bool
$c/= :: DRepInfo -> DRepInfo -> Bool
/= :: DRepInfo -> DRepInfo -> Bool
Eq, (forall x. DRepInfo -> Rep DRepInfo x)
-> (forall x. Rep DRepInfo x -> DRepInfo) -> Generic DRepInfo
forall x. Rep DRepInfo x -> DRepInfo
forall x. DRepInfo -> Rep DRepInfo x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. DRepInfo -> Rep DRepInfo x
from :: forall x. DRepInfo -> Rep DRepInfo x
$cto :: forall x. Rep DRepInfo x -> DRepInfo
to :: forall x. Rep DRepInfo x -> DRepInfo
Generic)
deriving (Maybe DRepInfo
Value -> Parser [DRepInfo]
Value -> Parser DRepInfo
(Value -> Parser DRepInfo)
-> (Value -> Parser [DRepInfo])
-> Maybe DRepInfo
-> FromJSON DRepInfo
forall a.
(Value -> Parser a)
-> (Value -> Parser [a]) -> Maybe a -> FromJSON a
$cparseJSON :: Value -> Parser DRepInfo
parseJSON :: Value -> Parser DRepInfo
$cparseJSONList :: Value -> Parser [DRepInfo]
parseJSONList :: Value -> Parser [DRepInfo]
$comittedField :: Maybe DRepInfo
omittedField :: Maybe DRepInfo
FromJSON, [DRepInfo] -> Value
[DRepInfo] -> Encoding
DRepInfo -> Bool
DRepInfo -> Value
DRepInfo -> Encoding
(DRepInfo -> Value)
-> (DRepInfo -> Encoding)
-> ([DRepInfo] -> Value)
-> ([DRepInfo] -> Encoding)
-> (DRepInfo -> Bool)
-> ToJSON DRepInfo
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> (a -> Bool)
-> ToJSON a
$ctoJSON :: DRepInfo -> Value
toJSON :: DRepInfo -> Value
$ctoEncoding :: DRepInfo -> Encoding
toEncoding :: DRepInfo -> Encoding
$ctoJSONList :: [DRepInfo] -> Value
toJSONList :: [DRepInfo] -> Value
$ctoEncodingList :: [DRepInfo] -> Encoding
toEncodingList :: [DRepInfo] -> Encoding
$comitField :: DRepInfo -> Bool
omitField :: DRepInfo -> Bool
ToJSON)
via CustomJSON '[FieldLabelModifier '[StripPrefix "_dRepInfo", CamelToSnake]] DRepInfo
instance ToSample DRepInfo where
toSamples :: Proxy DRepInfo -> [(Text, DRepInfo)]
toSamples = [(Text, DRepInfo)] -> Proxy DRepInfo -> [(Text, DRepInfo)]
forall a. a -> Proxy DRepInfo -> a
forall (f :: * -> *) a. Applicative f => a -> f a
pure ([(Text, DRepInfo)] -> Proxy DRepInfo -> [(Text, DRepInfo)])
-> [(Text, DRepInfo)] -> Proxy DRepInfo -> [(Text, DRepInfo)]
forall a b. (a -> b) -> a -> b
$ DRepInfo -> [(Text, DRepInfo)]
forall a. a -> [(Text, a)]
singleSample (DRepInfo -> [(Text, DRepInfo)]) -> DRepInfo -> [(Text, DRepInfo)]
forall a b. (a -> b) -> a -> b
$ DRepInfo
{ _dRepInfoDrepId :: DRepIdBech32
_dRepInfoDrepId = DRepIdBech32
"drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc"
, _dRepInfoHex :: DRepIdHex
_dRepInfoHex = DRepIdHex
"a61261172624e8333ceff098648d90f8e404e2e36d5b5f5985cbd35d"
, _dRepInfoAmount :: Lovelaces
_dRepInfoAmount = Discrete' "ADA" '(1000000, 1)
Lovelaces
2000000
, _dRepInfoHasScript :: Bool
_dRepInfoHasScript = Bool
True
, _dRepInfoRetired :: Bool
_dRepInfoRetired = Bool
False
, _dRepInfoExpired :: Bool
_dRepInfoExpired = Bool
False
, _dRepInfoLastActiveEpoch :: Maybe Epoch
_dRepInfoLastActiveEpoch = Epoch -> Maybe Epoch
forall a. a -> Maybe a
Just Epoch
509
}
data DRepDelegator = DRepDelegator
{ DRepDelegator -> Address
_dRepDelegatorAddress :: Address
, DRepDelegator -> Lovelaces
_dRepDelegatorAmount :: Lovelaces
}
deriving stock (Int -> DRepDelegator -> ShowS
[DRepDelegator] -> ShowS
DRepDelegator -> String
(Int -> DRepDelegator -> ShowS)
-> (DRepDelegator -> String)
-> ([DRepDelegator] -> ShowS)
-> Show DRepDelegator
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> DRepDelegator -> ShowS
showsPrec :: Int -> DRepDelegator -> ShowS
$cshow :: DRepDelegator -> String
show :: DRepDelegator -> String
$cshowList :: [DRepDelegator] -> ShowS
showList :: [DRepDelegator] -> ShowS
Show, DRepDelegator -> DRepDelegator -> Bool
(DRepDelegator -> DRepDelegator -> Bool)
-> (DRepDelegator -> DRepDelegator -> Bool) -> Eq DRepDelegator
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: DRepDelegator -> DRepDelegator -> Bool
== :: DRepDelegator -> DRepDelegator -> Bool
$c/= :: DRepDelegator -> DRepDelegator -> Bool
/= :: DRepDelegator -> DRepDelegator -> Bool
Eq, (forall x. DRepDelegator -> Rep DRepDelegator x)
-> (forall x. Rep DRepDelegator x -> DRepDelegator)
-> Generic DRepDelegator
forall x. Rep DRepDelegator x -> DRepDelegator
forall x. DRepDelegator -> Rep DRepDelegator x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. DRepDelegator -> Rep DRepDelegator x
from :: forall x. DRepDelegator -> Rep DRepDelegator x
$cto :: forall x. Rep DRepDelegator x -> DRepDelegator
to :: forall x. Rep DRepDelegator x -> DRepDelegator
Generic)
deriving (Maybe DRepDelegator
Value -> Parser [DRepDelegator]
Value -> Parser DRepDelegator
(Value -> Parser DRepDelegator)
-> (Value -> Parser [DRepDelegator])
-> Maybe DRepDelegator
-> FromJSON DRepDelegator
forall a.
(Value -> Parser a)
-> (Value -> Parser [a]) -> Maybe a -> FromJSON a
$cparseJSON :: Value -> Parser DRepDelegator
parseJSON :: Value -> Parser DRepDelegator
$cparseJSONList :: Value -> Parser [DRepDelegator]
parseJSONList :: Value -> Parser [DRepDelegator]
$comittedField :: Maybe DRepDelegator
omittedField :: Maybe DRepDelegator
FromJSON, [DRepDelegator] -> Value
[DRepDelegator] -> Encoding
DRepDelegator -> Bool
DRepDelegator -> Value
DRepDelegator -> Encoding
(DRepDelegator -> Value)
-> (DRepDelegator -> Encoding)
-> ([DRepDelegator] -> Value)
-> ([DRepDelegator] -> Encoding)
-> (DRepDelegator -> Bool)
-> ToJSON DRepDelegator
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> (a -> Bool)
-> ToJSON a
$ctoJSON :: DRepDelegator -> Value
toJSON :: DRepDelegator -> Value
$ctoEncoding :: DRepDelegator -> Encoding
toEncoding :: DRepDelegator -> Encoding
$ctoJSONList :: [DRepDelegator] -> Value
toJSONList :: [DRepDelegator] -> Value
$ctoEncodingList :: [DRepDelegator] -> Encoding
toEncodingList :: [DRepDelegator] -> Encoding
$comitField :: DRepDelegator -> Bool
omitField :: DRepDelegator -> Bool
ToJSON)
via CustomJSON '[FieldLabelModifier '[StripPrefix "_dRepDelegator", CamelToSnake]] DRepDelegator
instance ToSample DRepDelegator where
toSamples :: Proxy DRepDelegator -> [(Text, DRepDelegator)]
toSamples = [(Text, DRepDelegator)]
-> Proxy DRepDelegator -> [(Text, DRepDelegator)]
forall a. a -> Proxy DRepDelegator -> a
forall (f :: * -> *) a. Applicative f => a -> f a
pure ([(Text, DRepDelegator)]
-> Proxy DRepDelegator -> [(Text, DRepDelegator)])
-> [(Text, DRepDelegator)]
-> Proxy DRepDelegator
-> [(Text, DRepDelegator)]
forall a b. (a -> b) -> a -> b
$ [DRepDelegator] -> [(Text, DRepDelegator)]
forall a. [a] -> [(Text, a)]
samples
[ DRepDelegator
{ _dRepDelegatorAddress :: Address
_dRepDelegatorAddress = Address
"stake1ux4vspfvwuus9uwyp5p3f0ky7a30jq5j80jxse0fr7pa56sgn8kha"
, _dRepDelegatorAmount :: Lovelaces
_dRepDelegatorAmount = Discrete' "ADA" '(1000000, 1)
Lovelaces
1137959159981411
}
, DRepDelegator
{ _dRepDelegatorAddress :: Address
_dRepDelegatorAddress = Address
"stake1uylayej7esmarzd4mk4aru37zh9yz0luj3g9fsvgpfaxulq564r5u"
, _dRepDelegatorAmount :: Lovelaces
_dRepDelegatorAmount = Discrete' "ADA" '(1000000, 1)
Lovelaces
16958865648
}
, DRepDelegator
{ _dRepDelegatorAddress :: Address
_dRepDelegatorAddress = Address
"stake1u8lr2pnrgf8f7vrs9lt79hc3sxm8s2w4rwvgpncks3axx6q93d4ck"
, _dRepDelegatorAmount :: Lovelaces
_dRepDelegatorAmount = Discrete' "ADA" '(1000000, 1)
Lovelaces
18605647
}
]
data DRepMeta = DRepMeta
{ DRepMeta -> DRepIdBech32
_dRepMetaDrepId :: DRepIdBech32
, DRepMeta -> DRepIdHex
_dRepMetaHex :: DRepIdHex
, DRepMeta -> Text
_dRepMetaUrl :: Text
, DRepMeta -> Text
_dRepMetaHash :: Text
, DRepMeta -> Value
_dRepMetaJsonMetadata :: Value
, DRepMeta -> Text
_dRepMetaBytes :: Text
}
deriving stock (Int -> DRepMeta -> ShowS
[DRepMeta] -> ShowS
DRepMeta -> String
(Int -> DRepMeta -> ShowS)
-> (DRepMeta -> String) -> ([DRepMeta] -> ShowS) -> Show DRepMeta
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> DRepMeta -> ShowS
showsPrec :: Int -> DRepMeta -> ShowS
$cshow :: DRepMeta -> String
show :: DRepMeta -> String
$cshowList :: [DRepMeta] -> ShowS
showList :: [DRepMeta] -> ShowS
Show, DRepMeta -> DRepMeta -> Bool
(DRepMeta -> DRepMeta -> Bool)
-> (DRepMeta -> DRepMeta -> Bool) -> Eq DRepMeta
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: DRepMeta -> DRepMeta -> Bool
== :: DRepMeta -> DRepMeta -> Bool
$c/= :: DRepMeta -> DRepMeta -> Bool
/= :: DRepMeta -> DRepMeta -> Bool
Eq, (forall x. DRepMeta -> Rep DRepMeta x)
-> (forall x. Rep DRepMeta x -> DRepMeta) -> Generic DRepMeta
forall x. Rep DRepMeta x -> DRepMeta
forall x. DRepMeta -> Rep DRepMeta x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. DRepMeta -> Rep DRepMeta x
from :: forall x. DRepMeta -> Rep DRepMeta x
$cto :: forall x. Rep DRepMeta x -> DRepMeta
to :: forall x. Rep DRepMeta x -> DRepMeta
Generic)
deriving (Maybe DRepMeta
Value -> Parser [DRepMeta]
Value -> Parser DRepMeta
(Value -> Parser DRepMeta)
-> (Value -> Parser [DRepMeta])
-> Maybe DRepMeta
-> FromJSON DRepMeta
forall a.
(Value -> Parser a)
-> (Value -> Parser [a]) -> Maybe a -> FromJSON a
$cparseJSON :: Value -> Parser DRepMeta
parseJSON :: Value -> Parser DRepMeta
$cparseJSONList :: Value -> Parser [DRepMeta]
parseJSONList :: Value -> Parser [DRepMeta]
$comittedField :: Maybe DRepMeta
omittedField :: Maybe DRepMeta
FromJSON, [DRepMeta] -> Value
[DRepMeta] -> Encoding
DRepMeta -> Bool
DRepMeta -> Value
DRepMeta -> Encoding
(DRepMeta -> Value)
-> (DRepMeta -> Encoding)
-> ([DRepMeta] -> Value)
-> ([DRepMeta] -> Encoding)
-> (DRepMeta -> Bool)
-> ToJSON DRepMeta
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> (a -> Bool)
-> ToJSON a
$ctoJSON :: DRepMeta -> Value
toJSON :: DRepMeta -> Value
$ctoEncoding :: DRepMeta -> Encoding
toEncoding :: DRepMeta -> Encoding
$ctoJSONList :: [DRepMeta] -> Value
toJSONList :: [DRepMeta] -> Value
$ctoEncodingList :: [DRepMeta] -> Encoding
toEncodingList :: [DRepMeta] -> Encoding
$comitField :: DRepMeta -> Bool
omitField :: DRepMeta -> Bool
ToJSON)
via CustomJSON '[FieldLabelModifier '[StripPrefix "_dRepMeta", CamelToSnake]] DRepMeta
instance ToSample DRepMeta where
toSamples :: Proxy DRepMeta -> [(Text, DRepMeta)]
toSamples = [(Text, DRepMeta)] -> Proxy DRepMeta -> [(Text, DRepMeta)]
forall a. a -> Proxy DRepMeta -> a
forall (f :: * -> *) a. Applicative f => a -> f a
pure ([(Text, DRepMeta)] -> Proxy DRepMeta -> [(Text, DRepMeta)])
-> [(Text, DRepMeta)] -> Proxy DRepMeta -> [(Text, DRepMeta)]
forall a b. (a -> b) -> a -> b
$ DRepMeta -> [(Text, DRepMeta)]
forall a. a -> [(Text, a)]
singleSample (DRepMeta -> [(Text, DRepMeta)]) -> DRepMeta -> [(Text, DRepMeta)]
forall a b. (a -> b) -> a -> b
$ DRepMeta
{ _dRepMetaDrepId :: DRepIdBech32
_dRepMetaDrepId = DRepIdBech32
"drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc"
, _dRepMetaHex :: DRepIdHex
_dRepMetaHex = DRepIdHex
"a61261172624e8333ceff098648d90f8e404e2e36d5b5f5985cbd35d"
, _dRepMetaUrl :: Text
_dRepMetaUrl = Text
"https://aaa.xyz/drep.json"
, _dRepMetaHash :: Text
_dRepMetaHash = Text
"a14a5ad4f36bddc00f92ddb39fd9ac633c0fd43f8bfa57758f9163d10ef916de"
, _dRepMetaJsonMetadata :: Value
_dRepMetaJsonMetadata = [Pair] -> Value
object
[ Key
"@context" Key -> Value -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= [Pair] -> Value
object
[ Key
"CIP100" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"https://github.com/cardano-foundation/CIPs/blob/master/CIP-0100/README.md#" :: Text)
, Key
"CIP119" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"https://github.com/cardano-foundation/CIPs/blob/master/CIP-0119/README.md#" :: Text)
, Key
"hashAlgorithm" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"CIP100:hashAlgorithm" :: Text)
, Key
"body" Key -> Value -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= [Pair] -> Value
object
[ Key
"@id" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"CIP119:body" :: Text)
, Key
"@context" Key -> Value -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= [Pair] -> Value
object
[ Key
"references" Key -> Value -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= [Pair] -> Value
object
[ Key
"@id" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"CIP119:references" :: Text)
, Key
"@container" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"@set" :: Text)
, Key
"@context" Key -> Value -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= [Pair] -> Value
object
[ Key
"GovernanceMetadata" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"CIP100:GovernanceMetadataReference" :: Text)
, Key
"Other" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"CIP100:OtherReference" :: Text)
, Key
"label" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"CIP100:reference-label" :: Text)
, Key
"uri" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"CIP100:reference-uri" :: Text)
]
]
, Key
"paymentAddress" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"CIP119:paymentAddress" :: Text)
, Key
"givenName" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"CIP119:givenName" :: Text)
, Key
"image" Key -> Value -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= [Pair] -> Value
object
[ Key
"@id" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"CIP119:image" :: Text)
, Key
"@context" Key -> Value -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= [Pair] -> Value
object
[ Key
"ImageObject" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"https://schema.org/ImageObject" :: Text) ]
]
, Key
"objectives" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"CIP119:objectives" :: Text)
, Key
"motivations" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"CIP119:motivations" :: Text)
, Key
"qualifications" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"CIP119:qualifications" :: Text)
]
]
]
, Key
"hashAlgorithm" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"blake2b-256" :: Text)
, Key
"body" Key -> Value -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= [Pair] -> Value
object
[ Key
"paymentAddress" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"addr1q86dnpkva4mm859c8ur7tjxn57zgsu6vg8pdetkdve3fsacnq7twy06u2ev5759vutpjgzfryx0ud8hzedhzerava35qwh3x34" :: Text)
, Key
"givenName" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"Ryan Williams" :: Text)
, Key
"image" Key -> Value -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= [Pair] -> Value
object
[ Key
"@type" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"ImageObject" :: Text)
, Key
"contentUrl" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"https://avatars.githubusercontent.com/u/44342099?v=4" :: Text)
, Key
"sha256" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"2a21e4f7b20c8c72f573707b068fb8fc6d8c64d5035c4e18ecae287947fe2b2e" :: Text)
]
, Key
"objectives" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"Buy myself an island." :: Text)
, Key
"motivations" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"I really would like to own an island." :: Text)
, Key
"qualifications" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"I have my 100m swimming badge, so I would be qualified to be able to swim around island." :: Text)
, Key
"references" Key -> [Value] -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.=
[ [Pair] -> Value
object
[ Key
"@type" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"Other" :: Text)
, Key
"label" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"A cool island for Ryan" :: Text)
, Key
"uri" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"https://www.google.com/maps/place/World's+only+5th+order+recursive+island/@62.6511465,-97.7946829,15.75z/data=!4m14!1m7!3m6!1s0x5216a167810cee39:0x11431abdfe4c7421!2sWorld's+only+5th+order+recursive+island!8m2!3d62.651114!4d-97.7872244!16s%2Fg%2F11spwk2b6n!3m5!1s0x5216a167810cee39:0x11431abdfe4c7421!8m2!3d62.651114!4d-97.7872244!16s%2Fg%2F11spwk2b6n?authuser=0&entry=ttu" :: Text)
]
, [Pair] -> Value
object
[ Key
"@type" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"Link" :: Text)
, Key
"label" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"Ryan's Twitter" :: Text)
, Key
"uri" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"https://twitter.com/Ryun1_" :: Text)
]
]
]
]
, _dRepMetaBytes :: Text
_dRepMetaBytes = Text
"\\x7b0a20202240636f6e74657874223a207b0a2020202022406c616e6775616765223a2022656e2d7573222c0a2020202022434950313030223a202268747470733a2f2f6769746875622e636f6d2f63617264616e6f2d666f756e646174696f6e2f434950732f626c6f622f6d61737465722f4349502d303130302f524541444d452e6"
}
data DRepRegistrationAction
= DRepRegistrationAction_Registered
| DRepRegistrationAction_Deregistered
deriving stock (Int -> DRepRegistrationAction -> ShowS
[DRepRegistrationAction] -> ShowS
DRepRegistrationAction -> String
(Int -> DRepRegistrationAction -> ShowS)
-> (DRepRegistrationAction -> String)
-> ([DRepRegistrationAction] -> ShowS)
-> Show DRepRegistrationAction
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> DRepRegistrationAction -> ShowS
showsPrec :: Int -> DRepRegistrationAction -> ShowS
$cshow :: DRepRegistrationAction -> String
show :: DRepRegistrationAction -> String
$cshowList :: [DRepRegistrationAction] -> ShowS
showList :: [DRepRegistrationAction] -> ShowS
Show, DRepRegistrationAction -> DRepRegistrationAction -> Bool
(DRepRegistrationAction -> DRepRegistrationAction -> Bool)
-> (DRepRegistrationAction -> DRepRegistrationAction -> Bool)
-> Eq DRepRegistrationAction
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: DRepRegistrationAction -> DRepRegistrationAction -> Bool
== :: DRepRegistrationAction -> DRepRegistrationAction -> Bool
$c/= :: DRepRegistrationAction -> DRepRegistrationAction -> Bool
/= :: DRepRegistrationAction -> DRepRegistrationAction -> Bool
Eq, (forall x. DRepRegistrationAction -> Rep DRepRegistrationAction x)
-> (forall x.
Rep DRepRegistrationAction x -> DRepRegistrationAction)
-> Generic DRepRegistrationAction
forall x. Rep DRepRegistrationAction x -> DRepRegistrationAction
forall x. DRepRegistrationAction -> Rep DRepRegistrationAction x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. DRepRegistrationAction -> Rep DRepRegistrationAction x
from :: forall x. DRepRegistrationAction -> Rep DRepRegistrationAction x
$cto :: forall x. Rep DRepRegistrationAction x -> DRepRegistrationAction
to :: forall x. Rep DRepRegistrationAction x -> DRepRegistrationAction
Generic)
instance ToJSON DRepRegistrationAction where
toJSON :: DRepRegistrationAction -> Value
toJSON DRepRegistrationAction
DRepRegistrationAction_Registered = Text -> Value
forall a. ToJSON a => a -> Value
toJSON (Text
"registered" :: Text)
toJSON DRepRegistrationAction
DRepRegistrationAction_Deregistered = Text -> Value
forall a. ToJSON a => a -> Value
toJSON (Text
"deregistered" :: Text)
toEncoding :: DRepRegistrationAction -> Encoding
toEncoding DRepRegistrationAction
DRepRegistrationAction_Registered = Text -> Encoding
forall a. ToJSON a => a -> Encoding
toEncoding (Text
"registered" :: Text)
toEncoding DRepRegistrationAction
DRepRegistrationAction_Deregistered = Text -> Encoding
forall a. ToJSON a => a -> Encoding
toEncoding (Text
"deregistered" :: Text)
instance FromJSON DRepRegistrationAction where
parseJSON :: Value -> Parser DRepRegistrationAction
parseJSON = String
-> (Text -> Parser DRepRegistrationAction)
-> Value
-> Parser DRepRegistrationAction
forall a. String -> (Text -> Parser a) -> Value -> Parser a
withText String
"action" ((Text -> Parser DRepRegistrationAction)
-> Value -> Parser DRepRegistrationAction)
-> (Text -> Parser DRepRegistrationAction)
-> Value
-> Parser DRepRegistrationAction
forall a b. (a -> b) -> a -> b
$ \case
Text
"registered" -> DRepRegistrationAction -> Parser DRepRegistrationAction
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure DRepRegistrationAction
DRepRegistrationAction_Registered
Text
"deregistered" -> DRepRegistrationAction -> Parser DRepRegistrationAction
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure DRepRegistrationAction
DRepRegistrationAction_Deregistered
Text
x -> String -> Parser DRepRegistrationAction
forall a. String -> Parser a
forall (m :: * -> *) a. MonadFail m => String -> m a
fail (String
"Expected registration action got " String -> ShowS
forall a. [a] -> [a] -> [a]
++ Text -> String
forall a. Show a => a -> String
show Text
x)
data DRepUpdate = DRepUpdate
{ DRepUpdate -> TxHash
_dRepUpdateTxHash :: TxHash
, DRepUpdate -> Integer
_dRepUpdateCertIndex :: Integer
, DRepUpdate -> DRepRegistrationAction
_dRepUpdateAction :: DRepRegistrationAction
}
deriving stock (Int -> DRepUpdate -> ShowS
[DRepUpdate] -> ShowS
DRepUpdate -> String
(Int -> DRepUpdate -> ShowS)
-> (DRepUpdate -> String)
-> ([DRepUpdate] -> ShowS)
-> Show DRepUpdate
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> DRepUpdate -> ShowS
showsPrec :: Int -> DRepUpdate -> ShowS
$cshow :: DRepUpdate -> String
show :: DRepUpdate -> String
$cshowList :: [DRepUpdate] -> ShowS
showList :: [DRepUpdate] -> ShowS
Show, DRepUpdate -> DRepUpdate -> Bool
(DRepUpdate -> DRepUpdate -> Bool)
-> (DRepUpdate -> DRepUpdate -> Bool) -> Eq DRepUpdate
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: DRepUpdate -> DRepUpdate -> Bool
== :: DRepUpdate -> DRepUpdate -> Bool
$c/= :: DRepUpdate -> DRepUpdate -> Bool
/= :: DRepUpdate -> DRepUpdate -> Bool
Eq, (forall x. DRepUpdate -> Rep DRepUpdate x)
-> (forall x. Rep DRepUpdate x -> DRepUpdate) -> Generic DRepUpdate
forall x. Rep DRepUpdate x -> DRepUpdate
forall x. DRepUpdate -> Rep DRepUpdate x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. DRepUpdate -> Rep DRepUpdate x
from :: forall x. DRepUpdate -> Rep DRepUpdate x
$cto :: forall x. Rep DRepUpdate x -> DRepUpdate
to :: forall x. Rep DRepUpdate x -> DRepUpdate
Generic)
deriving (Maybe DRepUpdate
Value -> Parser [DRepUpdate]
Value -> Parser DRepUpdate
(Value -> Parser DRepUpdate)
-> (Value -> Parser [DRepUpdate])
-> Maybe DRepUpdate
-> FromJSON DRepUpdate
forall a.
(Value -> Parser a)
-> (Value -> Parser [a]) -> Maybe a -> FromJSON a
$cparseJSON :: Value -> Parser DRepUpdate
parseJSON :: Value -> Parser DRepUpdate
$cparseJSONList :: Value -> Parser [DRepUpdate]
parseJSONList :: Value -> Parser [DRepUpdate]
$comittedField :: Maybe DRepUpdate
omittedField :: Maybe DRepUpdate
FromJSON, [DRepUpdate] -> Value
[DRepUpdate] -> Encoding
DRepUpdate -> Bool
DRepUpdate -> Value
DRepUpdate -> Encoding
(DRepUpdate -> Value)
-> (DRepUpdate -> Encoding)
-> ([DRepUpdate] -> Value)
-> ([DRepUpdate] -> Encoding)
-> (DRepUpdate -> Bool)
-> ToJSON DRepUpdate
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> (a -> Bool)
-> ToJSON a
$ctoJSON :: DRepUpdate -> Value
toJSON :: DRepUpdate -> Value
$ctoEncoding :: DRepUpdate -> Encoding
toEncoding :: DRepUpdate -> Encoding
$ctoJSONList :: [DRepUpdate] -> Value
toJSONList :: [DRepUpdate] -> Value
$ctoEncodingList :: [DRepUpdate] -> Encoding
toEncodingList :: [DRepUpdate] -> Encoding
$comitField :: DRepUpdate -> Bool
omitField :: DRepUpdate -> Bool
ToJSON)
via CustomJSON '[FieldLabelModifier '[StripPrefix "_dRepUpdate", CamelToSnake]] DRepUpdate
instance ToSample DRepUpdate where
toSamples :: Proxy DRepUpdate -> [(Text, DRepUpdate)]
toSamples = [(Text, DRepUpdate)] -> Proxy DRepUpdate -> [(Text, DRepUpdate)]
forall a. a -> Proxy DRepUpdate -> a
forall (f :: * -> *) a. Applicative f => a -> f a
pure ([(Text, DRepUpdate)] -> Proxy DRepUpdate -> [(Text, DRepUpdate)])
-> [(Text, DRepUpdate)] -> Proxy DRepUpdate -> [(Text, DRepUpdate)]
forall a b. (a -> b) -> a -> b
$ [DRepUpdate] -> [(Text, DRepUpdate)]
forall a. [a] -> [(Text, a)]
samples
[ DRepUpdate
{ _dRepUpdateTxHash :: TxHash
_dRepUpdateTxHash = TxHash
"f4097fbdb87ab7c7ab44b30d4e2b81713a058488975d1ab8b05c381dd946a393"
, _dRepUpdateCertIndex :: Integer
_dRepUpdateCertIndex = Integer
0
, _dRepUpdateAction :: DRepRegistrationAction
_dRepUpdateAction = DRepRegistrationAction
DRepRegistrationAction_Registered
}
, DRepUpdate
{ _dRepUpdateTxHash :: TxHash
_dRepUpdateTxHash = TxHash
"dd3243af975be4b5bedce4e5f5b483b2386d5ad207d05e0289c1df0eb261447e"
, _dRepUpdateCertIndex :: Integer
_dRepUpdateCertIndex = Integer
0
, _dRepUpdateAction :: DRepRegistrationAction
_dRepUpdateAction = DRepRegistrationAction
DRepRegistrationAction_Deregistered
}
]
data VotingAction
= VotingAction_Yes
| VotingAction_No
| VotingAction_Abstain
deriving stock (Int -> VotingAction -> ShowS
[VotingAction] -> ShowS
VotingAction -> String
(Int -> VotingAction -> ShowS)
-> (VotingAction -> String)
-> ([VotingAction] -> ShowS)
-> Show VotingAction
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> VotingAction -> ShowS
showsPrec :: Int -> VotingAction -> ShowS
$cshow :: VotingAction -> String
show :: VotingAction -> String
$cshowList :: [VotingAction] -> ShowS
showList :: [VotingAction] -> ShowS
Show, VotingAction -> VotingAction -> Bool
(VotingAction -> VotingAction -> Bool)
-> (VotingAction -> VotingAction -> Bool) -> Eq VotingAction
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: VotingAction -> VotingAction -> Bool
== :: VotingAction -> VotingAction -> Bool
$c/= :: VotingAction -> VotingAction -> Bool
/= :: VotingAction -> VotingAction -> Bool
Eq, (forall x. VotingAction -> Rep VotingAction x)
-> (forall x. Rep VotingAction x -> VotingAction)
-> Generic VotingAction
forall x. Rep VotingAction x -> VotingAction
forall x. VotingAction -> Rep VotingAction x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. VotingAction -> Rep VotingAction x
from :: forall x. VotingAction -> Rep VotingAction x
$cto :: forall x. Rep VotingAction x -> VotingAction
to :: forall x. Rep VotingAction x -> VotingAction
Generic)
instance ToJSON VotingAction where
toJSON :: VotingAction -> Value
toJSON VotingAction
VotingAction_Yes = Text -> Value
forall a. ToJSON a => a -> Value
toJSON (Text
"yes" :: Text)
toJSON VotingAction
VotingAction_No = Text -> Value
forall a. ToJSON a => a -> Value
toJSON (Text
"no" :: Text)
toJSON VotingAction
VotingAction_Abstain = Text -> Value
forall a. ToJSON a => a -> Value
toJSON (Text
"abstain" :: Text)
toEncoding :: VotingAction -> Encoding
toEncoding VotingAction
VotingAction_Yes = Text -> Encoding
forall a. ToJSON a => a -> Encoding
toEncoding (Text
"yes" :: Text)
toEncoding VotingAction
VotingAction_No = Text -> Encoding
forall a. ToJSON a => a -> Encoding
toEncoding (Text
"no" :: Text)
toEncoding VotingAction
VotingAction_Abstain = Text -> Encoding
forall a. ToJSON a => a -> Encoding
toEncoding (Text
"abstain" :: Text)
instance FromJSON VotingAction where
parseJSON :: Value -> Parser VotingAction
parseJSON = String
-> (Text -> Parser VotingAction) -> Value -> Parser VotingAction
forall a. String -> (Text -> Parser a) -> Value -> Parser a
withText String
"vote" ((Text -> Parser VotingAction) -> Value -> Parser VotingAction)
-> (Text -> Parser VotingAction) -> Value -> Parser VotingAction
forall a b. (a -> b) -> a -> b
$ \case
Text
"yes" -> VotingAction -> Parser VotingAction
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure VotingAction
VotingAction_Yes
Text
"no" -> VotingAction -> Parser VotingAction
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure VotingAction
VotingAction_No
Text
"abstain" -> VotingAction -> Parser VotingAction
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure VotingAction
VotingAction_Abstain
Text
x -> String -> Parser VotingAction
forall a. String -> Parser a
forall (m :: * -> *) a. MonadFail m => String -> m a
fail (String
"Expected DRep vote but got " String -> ShowS
forall a. [a] -> [a] -> [a]
++ Text -> String
forall a. Show a => a -> String
show Text
x)
data DRepVote = DRepVote
{ DRepVote -> TxHash
_dRepVoteTxHash :: TxHash
, DRepVote -> Integer
_dRepVoteCertIndex :: Integer
, DRepVote -> VotingAction
_dRepVoteAction :: VotingAction
}
deriving stock (Int -> DRepVote -> ShowS
[DRepVote] -> ShowS
DRepVote -> String
(Int -> DRepVote -> ShowS)
-> (DRepVote -> String) -> ([DRepVote] -> ShowS) -> Show DRepVote
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> DRepVote -> ShowS
showsPrec :: Int -> DRepVote -> ShowS
$cshow :: DRepVote -> String
show :: DRepVote -> String
$cshowList :: [DRepVote] -> ShowS
showList :: [DRepVote] -> ShowS
Show, DRepVote -> DRepVote -> Bool
(DRepVote -> DRepVote -> Bool)
-> (DRepVote -> DRepVote -> Bool) -> Eq DRepVote
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: DRepVote -> DRepVote -> Bool
== :: DRepVote -> DRepVote -> Bool
$c/= :: DRepVote -> DRepVote -> Bool
/= :: DRepVote -> DRepVote -> Bool
Eq, (forall x. DRepVote -> Rep DRepVote x)
-> (forall x. Rep DRepVote x -> DRepVote) -> Generic DRepVote
forall x. Rep DRepVote x -> DRepVote
forall x. DRepVote -> Rep DRepVote x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. DRepVote -> Rep DRepVote x
from :: forall x. DRepVote -> Rep DRepVote x
$cto :: forall x. Rep DRepVote x -> DRepVote
to :: forall x. Rep DRepVote x -> DRepVote
Generic)
deriving (Maybe DRepVote
Value -> Parser [DRepVote]
Value -> Parser DRepVote
(Value -> Parser DRepVote)
-> (Value -> Parser [DRepVote])
-> Maybe DRepVote
-> FromJSON DRepVote
forall a.
(Value -> Parser a)
-> (Value -> Parser [a]) -> Maybe a -> FromJSON a
$cparseJSON :: Value -> Parser DRepVote
parseJSON :: Value -> Parser DRepVote
$cparseJSONList :: Value -> Parser [DRepVote]
parseJSONList :: Value -> Parser [DRepVote]
$comittedField :: Maybe DRepVote
omittedField :: Maybe DRepVote
FromJSON, [DRepVote] -> Value
[DRepVote] -> Encoding
DRepVote -> Bool
DRepVote -> Value
DRepVote -> Encoding
(DRepVote -> Value)
-> (DRepVote -> Encoding)
-> ([DRepVote] -> Value)
-> ([DRepVote] -> Encoding)
-> (DRepVote -> Bool)
-> ToJSON DRepVote
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> (a -> Bool)
-> ToJSON a
$ctoJSON :: DRepVote -> Value
toJSON :: DRepVote -> Value
$ctoEncoding :: DRepVote -> Encoding
toEncoding :: DRepVote -> Encoding
$ctoJSONList :: [DRepVote] -> Value
toJSONList :: [DRepVote] -> Value
$ctoEncodingList :: [DRepVote] -> Encoding
toEncodingList :: [DRepVote] -> Encoding
$comitField :: DRepVote -> Bool
omitField :: DRepVote -> Bool
ToJSON)
via CustomJSON '[FieldLabelModifier '[StripPrefix "_dRepVote", CamelToSnake, Rename "action" "vote"]] DRepVote
instance ToSample DRepVote where
toSamples :: Proxy DRepVote -> [(Text, DRepVote)]
toSamples = [(Text, DRepVote)] -> Proxy DRepVote -> [(Text, DRepVote)]
forall a. a -> Proxy DRepVote -> a
forall (f :: * -> *) a. Applicative f => a -> f a
pure ([(Text, DRepVote)] -> Proxy DRepVote -> [(Text, DRepVote)])
-> [(Text, DRepVote)] -> Proxy DRepVote -> [(Text, DRepVote)]
forall a b. (a -> b) -> a -> b
$ [DRepVote] -> [(Text, DRepVote)]
forall a. [a] -> [(Text, a)]
samples
[ DRepVote
{ _dRepVoteTxHash :: TxHash
_dRepVoteTxHash = TxHash
"b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5"
, _dRepVoteCertIndex :: Integer
_dRepVoteCertIndex = Integer
2
, _dRepVoteAction :: VotingAction
_dRepVoteAction = VotingAction
VotingAction_Yes
}
, DRepVote
{ _dRepVoteTxHash :: TxHash
_dRepVoteTxHash = TxHash
"b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5"
, _dRepVoteCertIndex :: Integer
_dRepVoteCertIndex = Integer
3
, _dRepVoteAction :: VotingAction
_dRepVoteAction = VotingAction
VotingAction_Abstain
}
]
data ProposalAction
= ProposalAction_HardForkInitiation
| ProposalAction_NewCommittee
| ProposalAction_NewConstitution
| ProposalAction_InfoAction
| ProposalAction_NoConfidence
| ProposalAction_ParameterChange
| ProposalAction_TreasuryWithdrawals
deriving stock (Int -> ProposalAction -> ShowS
[ProposalAction] -> ShowS
ProposalAction -> String
(Int -> ProposalAction -> ShowS)
-> (ProposalAction -> String)
-> ([ProposalAction] -> ShowS)
-> Show ProposalAction
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ProposalAction -> ShowS
showsPrec :: Int -> ProposalAction -> ShowS
$cshow :: ProposalAction -> String
show :: ProposalAction -> String
$cshowList :: [ProposalAction] -> ShowS
showList :: [ProposalAction] -> ShowS
Show, ProposalAction -> ProposalAction -> Bool
(ProposalAction -> ProposalAction -> Bool)
-> (ProposalAction -> ProposalAction -> Bool) -> Eq ProposalAction
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ProposalAction -> ProposalAction -> Bool
== :: ProposalAction -> ProposalAction -> Bool
$c/= :: ProposalAction -> ProposalAction -> Bool
/= :: ProposalAction -> ProposalAction -> Bool
Eq, (forall x. ProposalAction -> Rep ProposalAction x)
-> (forall x. Rep ProposalAction x -> ProposalAction)
-> Generic ProposalAction
forall x. Rep ProposalAction x -> ProposalAction
forall x. ProposalAction -> Rep ProposalAction x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. ProposalAction -> Rep ProposalAction x
from :: forall x. ProposalAction -> Rep ProposalAction x
$cto :: forall x. Rep ProposalAction x -> ProposalAction
to :: forall x. Rep ProposalAction x -> ProposalAction
Generic)
instance ToJSON ProposalAction where
toJSON :: ProposalAction -> Value
toJSON ProposalAction
ProposalAction_HardForkInitiation = Text -> Value
forall a. ToJSON a => a -> Value
toJSON (Text
"hard_fork_initiation" :: Text)
toJSON ProposalAction
ProposalAction_NewCommittee = Text -> Value
forall a. ToJSON a => a -> Value
toJSON (Text
"new_committee" :: Text)
toJSON ProposalAction
ProposalAction_NewConstitution = Text -> Value
forall a. ToJSON a => a -> Value
toJSON (Text
"new_constitution" :: Text)
toJSON ProposalAction
ProposalAction_InfoAction = Text -> Value
forall a. ToJSON a => a -> Value
toJSON (Text
"info_action" :: Text)
toJSON ProposalAction
ProposalAction_NoConfidence = Text -> Value
forall a. ToJSON a => a -> Value
toJSON (Text
"no_confidence" :: Text)
toJSON ProposalAction
ProposalAction_ParameterChange = Text -> Value
forall a. ToJSON a => a -> Value
toJSON (Text
"parameter_change" :: Text)
toJSON ProposalAction
ProposalAction_TreasuryWithdrawals = Text -> Value
forall a. ToJSON a => a -> Value
toJSON (Text
"treasury_withdrawals" :: Text)
toEncoding :: ProposalAction -> Encoding
toEncoding ProposalAction
ProposalAction_HardForkInitiation = Text -> Encoding
forall a. ToJSON a => a -> Encoding
toEncoding (Text
"hard_fork_initiation" :: Text)
toEncoding ProposalAction
ProposalAction_NewCommittee = Text -> Encoding
forall a. ToJSON a => a -> Encoding
toEncoding (Text
"new_committee" :: Text)
toEncoding ProposalAction
ProposalAction_NewConstitution = Text -> Encoding
forall a. ToJSON a => a -> Encoding
toEncoding (Text
"new_constitution" :: Text)
toEncoding ProposalAction
ProposalAction_InfoAction = Text -> Encoding
forall a. ToJSON a => a -> Encoding
toEncoding (Text
"info_action" :: Text)
toEncoding ProposalAction
ProposalAction_NoConfidence = Text -> Encoding
forall a. ToJSON a => a -> Encoding
toEncoding (Text
"no_confidence" :: Text)
toEncoding ProposalAction
ProposalAction_ParameterChange = Text -> Encoding
forall a. ToJSON a => a -> Encoding
toEncoding (Text
"parameter_change" :: Text)
toEncoding ProposalAction
ProposalAction_TreasuryWithdrawals = Text -> Encoding
forall a. ToJSON a => a -> Encoding
toEncoding (Text
"treasury_withdrawals" :: Text)
instance FromJSON ProposalAction where
parseJSON :: Value -> Parser ProposalAction
parseJSON = String
-> (Text -> Parser ProposalAction)
-> Value
-> Parser ProposalAction
forall a. String -> (Text -> Parser a) -> Value -> Parser a
withText String
"proposal" ((Text -> Parser ProposalAction) -> Value -> Parser ProposalAction)
-> (Text -> Parser ProposalAction)
-> Value
-> Parser ProposalAction
forall a b. (a -> b) -> a -> b
$ \case
Text
"hard_fork_initiation" -> ProposalAction -> Parser ProposalAction
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure ProposalAction
ProposalAction_HardForkInitiation
Text
"new_committee" -> ProposalAction -> Parser ProposalAction
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure ProposalAction
ProposalAction_NewCommittee
Text
"new_constitution" -> ProposalAction -> Parser ProposalAction
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure ProposalAction
ProposalAction_NewConstitution
Text
"info_action" -> ProposalAction -> Parser ProposalAction
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure ProposalAction
ProposalAction_InfoAction
Text
"no_confidence" -> ProposalAction -> Parser ProposalAction
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure ProposalAction
ProposalAction_NoConfidence
Text
"parameter_change" -> ProposalAction -> Parser ProposalAction
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure ProposalAction
ProposalAction_ParameterChange
Text
"treasury_withdrawals" -> ProposalAction -> Parser ProposalAction
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure ProposalAction
ProposalAction_TreasuryWithdrawals
Text
x -> String -> Parser ProposalAction
forall a. String -> Parser a
forall (m :: * -> *) a. MonadFail m => String -> m a
fail (String
"Expected DRep proposal but got " String -> ShowS
forall a. [a] -> [a] -> [a]
++ Text -> String
forall a. Show a => a -> String
show Text
x)
data Proposal = Proposal
{ Proposal -> TxHash
_dRepProposalTxHash :: TxHash
, Proposal -> Integer
_dRepProposalCertIndex :: Integer
, Proposal -> ProposalAction
_dRepProposalAction :: ProposalAction
}
deriving stock (Int -> Proposal -> ShowS
[Proposal] -> ShowS
Proposal -> String
(Int -> Proposal -> ShowS)
-> (Proposal -> String) -> ([Proposal] -> ShowS) -> Show Proposal
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> Proposal -> ShowS
showsPrec :: Int -> Proposal -> ShowS
$cshow :: Proposal -> String
show :: Proposal -> String
$cshowList :: [Proposal] -> ShowS
showList :: [Proposal] -> ShowS
Show, Proposal -> Proposal -> Bool
(Proposal -> Proposal -> Bool)
-> (Proposal -> Proposal -> Bool) -> Eq Proposal
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: Proposal -> Proposal -> Bool
== :: Proposal -> Proposal -> Bool
$c/= :: Proposal -> Proposal -> Bool
/= :: Proposal -> Proposal -> Bool
Eq, (forall x. Proposal -> Rep Proposal x)
-> (forall x. Rep Proposal x -> Proposal) -> Generic Proposal
forall x. Rep Proposal x -> Proposal
forall x. Proposal -> Rep Proposal x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. Proposal -> Rep Proposal x
from :: forall x. Proposal -> Rep Proposal x
$cto :: forall x. Rep Proposal x -> Proposal
to :: forall x. Rep Proposal x -> Proposal
Generic)
deriving (Maybe Proposal
Value -> Parser [Proposal]
Value -> Parser Proposal
(Value -> Parser Proposal)
-> (Value -> Parser [Proposal])
-> Maybe Proposal
-> FromJSON Proposal
forall a.
(Value -> Parser a)
-> (Value -> Parser [a]) -> Maybe a -> FromJSON a
$cparseJSON :: Value -> Parser Proposal
parseJSON :: Value -> Parser Proposal
$cparseJSONList :: Value -> Parser [Proposal]
parseJSONList :: Value -> Parser [Proposal]
$comittedField :: Maybe Proposal
omittedField :: Maybe Proposal
FromJSON, [Proposal] -> Value
[Proposal] -> Encoding
Proposal -> Bool
Proposal -> Value
Proposal -> Encoding
(Proposal -> Value)
-> (Proposal -> Encoding)
-> ([Proposal] -> Value)
-> ([Proposal] -> Encoding)
-> (Proposal -> Bool)
-> ToJSON Proposal
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> (a -> Bool)
-> ToJSON a
$ctoJSON :: Proposal -> Value
toJSON :: Proposal -> Value
$ctoEncoding :: Proposal -> Encoding
toEncoding :: Proposal -> Encoding
$ctoJSONList :: [Proposal] -> Value
toJSONList :: [Proposal] -> Value
$ctoEncodingList :: [Proposal] -> Encoding
toEncodingList :: [Proposal] -> Encoding
$comitField :: Proposal -> Bool
omitField :: Proposal -> Bool
ToJSON)
via CustomJSON '[FieldLabelModifier '[StripPrefix "_dRepProposal", CamelToSnake, Rename "action" "governance_type"]] Proposal
instance ToSample Proposal where
toSamples :: Proxy Proposal -> [(Text, Proposal)]
toSamples = [(Text, Proposal)] -> Proxy Proposal -> [(Text, Proposal)]
forall a. a -> Proxy Proposal -> a
forall (f :: * -> *) a. Applicative f => a -> f a
pure ([(Text, Proposal)] -> Proxy Proposal -> [(Text, Proposal)])
-> [(Text, Proposal)] -> Proxy Proposal -> [(Text, Proposal)]
forall a b. (a -> b) -> a -> b
$ [Proposal] -> [(Text, Proposal)]
forall a. [a] -> [(Text, a)]
samples
[ Proposal
{ _dRepProposalTxHash :: TxHash
_dRepProposalTxHash = TxHash
"2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531"
, _dRepProposalCertIndex :: Integer
_dRepProposalCertIndex = Integer
1
, _dRepProposalAction :: ProposalAction
_dRepProposalAction = ProposalAction
ProposalAction_TreasuryWithdrawals
}
, Proposal
{ _dRepProposalTxHash :: TxHash
_dRepProposalTxHash = TxHash
"71317e951b20aa46e9fbf45a46a6e950d5723a481225519655bf6c60"
, _dRepProposalCertIndex :: Integer
_dRepProposalCertIndex = Integer
4
, _dRepProposalAction :: ProposalAction
_dRepProposalAction = ProposalAction
ProposalAction_NoConfidence
}
]
data ProposalInfo = ProposalInfo
{ ProposalInfo -> TxHash
_proposalInfoTxHash :: TxHash
, ProposalInfo -> Integer
_proposalInfoCertIndex :: Integer
, ProposalInfo -> ProposalAction
_proposalInfoGovernanceType :: ProposalAction
, ProposalInfo -> Lovelaces
_proposalInfoDeposit :: Lovelaces
, ProposalInfo -> Address
_proposalInfoReturnAddress :: Address
, ProposalInfo -> Maybe Value
_proposalInfoGovernanceDescription :: Maybe Value
, ProposalInfo -> Maybe Epoch
_proposalInfoRatifiedEpoch :: Maybe Epoch
, ProposalInfo -> Maybe Epoch
_proposalInfoEnactedEpoch :: Maybe Epoch
, ProposalInfo -> Maybe Epoch
_proposalInfoDroppedEpoch :: Maybe Epoch
, ProposalInfo -> Maybe Epoch
_proposalInfoExpiredEpoch :: Maybe Epoch
, ProposalInfo -> Epoch
_proposalInfoExpiration :: Epoch
}
deriving stock (Int -> ProposalInfo -> ShowS
[ProposalInfo] -> ShowS
ProposalInfo -> String
(Int -> ProposalInfo -> ShowS)
-> (ProposalInfo -> String)
-> ([ProposalInfo] -> ShowS)
-> Show ProposalInfo
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ProposalInfo -> ShowS
showsPrec :: Int -> ProposalInfo -> ShowS
$cshow :: ProposalInfo -> String
show :: ProposalInfo -> String
$cshowList :: [ProposalInfo] -> ShowS
showList :: [ProposalInfo] -> ShowS
Show, ProposalInfo -> ProposalInfo -> Bool
(ProposalInfo -> ProposalInfo -> Bool)
-> (ProposalInfo -> ProposalInfo -> Bool) -> Eq ProposalInfo
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ProposalInfo -> ProposalInfo -> Bool
== :: ProposalInfo -> ProposalInfo -> Bool
$c/= :: ProposalInfo -> ProposalInfo -> Bool
/= :: ProposalInfo -> ProposalInfo -> Bool
Eq, (forall x. ProposalInfo -> Rep ProposalInfo x)
-> (forall x. Rep ProposalInfo x -> ProposalInfo)
-> Generic ProposalInfo
forall x. Rep ProposalInfo x -> ProposalInfo
forall x. ProposalInfo -> Rep ProposalInfo x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. ProposalInfo -> Rep ProposalInfo x
from :: forall x. ProposalInfo -> Rep ProposalInfo x
$cto :: forall x. Rep ProposalInfo x -> ProposalInfo
to :: forall x. Rep ProposalInfo x -> ProposalInfo
Generic)
deriving (Maybe ProposalInfo
Value -> Parser [ProposalInfo]
Value -> Parser ProposalInfo
(Value -> Parser ProposalInfo)
-> (Value -> Parser [ProposalInfo])
-> Maybe ProposalInfo
-> FromJSON ProposalInfo
forall a.
(Value -> Parser a)
-> (Value -> Parser [a]) -> Maybe a -> FromJSON a
$cparseJSON :: Value -> Parser ProposalInfo
parseJSON :: Value -> Parser ProposalInfo
$cparseJSONList :: Value -> Parser [ProposalInfo]
parseJSONList :: Value -> Parser [ProposalInfo]
$comittedField :: Maybe ProposalInfo
omittedField :: Maybe ProposalInfo
FromJSON, [ProposalInfo] -> Value
[ProposalInfo] -> Encoding
ProposalInfo -> Bool
ProposalInfo -> Value
ProposalInfo -> Encoding
(ProposalInfo -> Value)
-> (ProposalInfo -> Encoding)
-> ([ProposalInfo] -> Value)
-> ([ProposalInfo] -> Encoding)
-> (ProposalInfo -> Bool)
-> ToJSON ProposalInfo
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> (a -> Bool)
-> ToJSON a
$ctoJSON :: ProposalInfo -> Value
toJSON :: ProposalInfo -> Value
$ctoEncoding :: ProposalInfo -> Encoding
toEncoding :: ProposalInfo -> Encoding
$ctoJSONList :: [ProposalInfo] -> Value
toJSONList :: [ProposalInfo] -> Value
$ctoEncodingList :: [ProposalInfo] -> Encoding
toEncodingList :: [ProposalInfo] -> Encoding
$comitField :: ProposalInfo -> Bool
omitField :: ProposalInfo -> Bool
ToJSON)
via CustomJSON '[FieldLabelModifier '[StripPrefix "_proposalInfo", CamelToSnake]] ProposalInfo
instance ToSample ProposalInfo where
toSamples :: Proxy ProposalInfo -> [(Text, ProposalInfo)]
toSamples = [(Text, ProposalInfo)]
-> Proxy ProposalInfo -> [(Text, ProposalInfo)]
forall a. a -> Proxy ProposalInfo -> a
forall (f :: * -> *) a. Applicative f => a -> f a
pure ([(Text, ProposalInfo)]
-> Proxy ProposalInfo -> [(Text, ProposalInfo)])
-> [(Text, ProposalInfo)]
-> Proxy ProposalInfo
-> [(Text, ProposalInfo)]
forall a b. (a -> b) -> a -> b
$ ProposalInfo -> [(Text, ProposalInfo)]
forall a. a -> [(Text, a)]
singleSample (ProposalInfo -> [(Text, ProposalInfo)])
-> ProposalInfo -> [(Text, ProposalInfo)]
forall a b. (a -> b) -> a -> b
$ ProposalInfo
{ _proposalInfoTxHash :: TxHash
_proposalInfoTxHash = TxHash
"2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531"
, _proposalInfoCertIndex :: Integer
_proposalInfoCertIndex = Integer
1
, _proposalInfoGovernanceType :: ProposalAction
_proposalInfoGovernanceType = ProposalAction
ProposalAction_TreasuryWithdrawals
, _proposalInfoDeposit :: Lovelaces
_proposalInfoDeposit = Discrete' "ADA" '(1000000, 1)
Lovelaces
12000
, _proposalInfoReturnAddress :: Address
_proposalInfoReturnAddress = Address
"stake_test1urd3hs7rlxwwdzthe6hj026dmyt3y0heuulctscyydh2kgck6nkmz"
, _proposalInfoGovernanceDescription :: Maybe Value
_proposalInfoGovernanceDescription = Value -> Maybe Value
forall a. a -> Maybe a
Just (Value -> Maybe Value) -> Value -> Maybe Value
forall a b. (a -> b) -> a -> b
$ [Pair] -> Value
object [ Key
"tag" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"InfoAction" :: Text) ]
, _proposalInfoRatifiedEpoch :: Maybe Epoch
_proposalInfoRatifiedEpoch = Maybe Epoch
forall a. Maybe a
Nothing
, _proposalInfoEnactedEpoch :: Maybe Epoch
_proposalInfoEnactedEpoch = Epoch -> Maybe Epoch
forall a. a -> Maybe a
Just Epoch
123
, _proposalInfoDroppedEpoch :: Maybe Epoch
_proposalInfoDroppedEpoch = Maybe Epoch
forall a. Maybe a
Nothing
, _proposalInfoExpiredEpoch :: Maybe Epoch
_proposalInfoExpiredEpoch = Maybe Epoch
forall a. Maybe a
Nothing
, _proposalInfoExpiration :: Epoch
_proposalInfoExpiration = Epoch
120
}
data ProposedProtocolParams = ProposedProtocolParams
{ ProposedProtocolParams -> Maybe Epoch
_proposedProtocolParamsEpoch :: Maybe Epoch
, ProposedProtocolParams -> Maybe Integer
_proposedProtocolParamsMinFeeA :: Maybe Integer
, ProposedProtocolParams -> Maybe Integer
_proposedProtocolParamsMinFeeB :: Maybe Integer
, ProposedProtocolParams -> Maybe Integer
_proposedProtocolParamsMaxBlockSize :: Maybe Integer
, ProposedProtocolParams -> Maybe Integer
_proposedProtocolParamsMaxTxSize :: Maybe Integer
, :: Maybe Integer
, ProposedProtocolParams -> Maybe Lovelaces
_proposedProtocolParamsKeyDeposit :: Maybe Lovelaces
, ProposedProtocolParams -> Maybe Lovelaces
_proposedProtocolParamsPoolDeposit :: Maybe Lovelaces
, ProposedProtocolParams -> Maybe Integer
_proposedProtocolParamsEMax :: Maybe Integer
, ProposedProtocolParams -> Maybe Integer
_proposedProtocolParamsNOpt :: Maybe Integer
, ProposedProtocolParams -> Maybe Rational
_proposedProtocolParamsA0 :: Maybe Rational
, ProposedProtocolParams -> Maybe Rational
_proposedProtocolParamsRho :: Maybe Rational
, ProposedProtocolParams -> Maybe Rational
_proposedProtocolParamsTau :: Maybe Rational
, ProposedProtocolParams -> Maybe Rational
_proposedProtocolParamsDecentralisationParam :: Maybe Rational
, :: Maybe Text
, ProposedProtocolParams -> Maybe Integer
_proposedProtocolParamsProtocolMajorVer :: Maybe Integer
, ProposedProtocolParams -> Maybe Integer
_proposedProtocolParamsProtocolMinorVer :: Maybe Integer
, ProposedProtocolParams -> Maybe Lovelaces
_proposedProtocolParamsMinUtxo :: Maybe Lovelaces
, ProposedProtocolParams -> Maybe Lovelaces
_proposedProtocolParamsMinPoolCost :: Maybe Lovelaces
, ProposedProtocolParams -> Maybe Text
_proposedProtocolParamsNonce :: Maybe Text
, ProposedProtocolParams -> Maybe CostModels
_proposedProtocolParamsCostModels :: Maybe CostModels
, ProposedProtocolParams -> Maybe CostModelsRaw
_proposedProtocolParamsCostModelsRaw :: Maybe CostModelsRaw
, ProposedProtocolParams -> Maybe Rational
_proposedProtocolParamsPriceMem :: Maybe Rational
, ProposedProtocolParams -> Maybe Rational
_proposedProtocolParamsPriceStep :: Maybe Rational
, ProposedProtocolParams -> Maybe Quantity
_proposedProtocolParamsMaxTxExMem :: Maybe Quantity
, ProposedProtocolParams -> Maybe Quantity
_proposedProtocolParamsMaxTxExSteps :: Maybe Quantity
, ProposedProtocolParams -> Maybe Quantity
_proposedProtocolParamsMaxBlockExMem :: Maybe Quantity
, ProposedProtocolParams -> Maybe Quantity
_proposedProtocolParamsMaxBlockExSteps :: Maybe Quantity
, ProposedProtocolParams -> Maybe Quantity
_proposedProtocolParamsMaxValSize :: Maybe Quantity
, ProposedProtocolParams -> Maybe Integer
_proposedProtocolParamsCollateralPercent :: Maybe Integer
, ProposedProtocolParams -> Maybe Integer
_proposedProtocolParamsMaxCollateralInputs :: Maybe Integer
, ProposedProtocolParams -> Maybe Lovelaces
_proposedProtocolParamsCoinsPerUtxoSize :: Maybe Lovelaces
, ProposedProtocolParams -> Maybe Lovelaces
_proposedProtocolParamsCoinsPerUtxoWord :: Maybe Lovelaces
, ProposedProtocolParams -> Maybe Rational
_proposedProtocolParamsPvtMotionNoConfidence :: Maybe Rational
, ProposedProtocolParams -> Maybe Rational
_proposedProtocolParamsPvtCommitteeNormal :: Maybe Rational
, ProposedProtocolParams -> Maybe Rational
_proposedProtocolParamsPvtCommitteeNoConfidence :: Maybe Rational
, ProposedProtocolParams -> Maybe Rational
_proposedProtocolParamsPvtHardForkInitiation :: Maybe Rational
, ProposedProtocolParams -> Maybe Rational
_proposedProtocolParamsPvtppSecurityGroup :: Maybe Rational
, ProposedProtocolParams -> Maybe Rational
_proposedProtocolParamsDvtMotionNoConfidence :: Maybe Rational
, ProposedProtocolParams -> Maybe Rational
_proposedProtocolParamsDvtCommitteeNormal :: Maybe Rational
, ProposedProtocolParams -> Maybe Rational
_proposedProtocolParamsDvtCommitteeNoConfidence :: Maybe Rational
, ProposedProtocolParams -> Maybe Rational
_proposedProtocolParamsDvtUpdateToConstitution :: Maybe Rational
, ProposedProtocolParams -> Maybe Rational
_proposedProtocolParamsDvtHardForkInitiation :: Maybe Rational
, ProposedProtocolParams -> Maybe Rational
_proposedProtocolParamsDvtPPNetworkGroup :: Maybe Rational
, ProposedProtocolParams -> Maybe Rational
_proposedProtocolParamsDvtPPEconomicGroup :: Maybe Rational
, ProposedProtocolParams -> Maybe Rational
_proposedProtocolParamsDvtPPTechnicalGroup :: Maybe Rational
, ProposedProtocolParams -> Maybe Rational
_proposedProtocolParamsDvtPPGovGroup :: Maybe Rational
, ProposedProtocolParams -> Maybe Rational
_proposedProtocolParamsDvtTreasuryWithdrawal :: Maybe Rational
, ProposedProtocolParams -> Maybe Quantity
_proposedProtocolParamsCommitteeMinSize :: Maybe Quantity
, ProposedProtocolParams -> Maybe Quantity
_proposedProtocolParamsCommitteeMaxTermLength :: Maybe Quantity
, ProposedProtocolParams -> Maybe Quantity
_proposedProtocolParamsGovActionLifetime :: Maybe Quantity
, ProposedProtocolParams -> Maybe Lovelaces
_proposedProtocolParamsGovActionDeposit :: Maybe Lovelaces
, ProposedProtocolParams -> Maybe Lovelaces
_proposedProtocolParamsDrepDeposit :: Maybe Lovelaces
, ProposedProtocolParams -> Maybe Quantity
_proposedProtocolParamsDrepActivity :: Maybe Quantity
, ProposedProtocolParams -> Maybe Rational
_proposedProtocolParamsMinFeeRefScriptCostPerByte :: Maybe Rational
}
deriving stock (Int -> ProposedProtocolParams -> ShowS
[ProposedProtocolParams] -> ShowS
ProposedProtocolParams -> String
(Int -> ProposedProtocolParams -> ShowS)
-> (ProposedProtocolParams -> String)
-> ([ProposedProtocolParams] -> ShowS)
-> Show ProposedProtocolParams
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ProposedProtocolParams -> ShowS
showsPrec :: Int -> ProposedProtocolParams -> ShowS
$cshow :: ProposedProtocolParams -> String
show :: ProposedProtocolParams -> String
$cshowList :: [ProposedProtocolParams] -> ShowS
showList :: [ProposedProtocolParams] -> ShowS
Show, ProposedProtocolParams -> ProposedProtocolParams -> Bool
(ProposedProtocolParams -> ProposedProtocolParams -> Bool)
-> (ProposedProtocolParams -> ProposedProtocolParams -> Bool)
-> Eq ProposedProtocolParams
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ProposedProtocolParams -> ProposedProtocolParams -> Bool
== :: ProposedProtocolParams -> ProposedProtocolParams -> Bool
$c/= :: ProposedProtocolParams -> ProposedProtocolParams -> Bool
/= :: ProposedProtocolParams -> ProposedProtocolParams -> Bool
Eq, (forall x. ProposedProtocolParams -> Rep ProposedProtocolParams x)
-> (forall x.
Rep ProposedProtocolParams x -> ProposedProtocolParams)
-> Generic ProposedProtocolParams
forall x. Rep ProposedProtocolParams x -> ProposedProtocolParams
forall x. ProposedProtocolParams -> Rep ProposedProtocolParams x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. ProposedProtocolParams -> Rep ProposedProtocolParams x
from :: forall x. ProposedProtocolParams -> Rep ProposedProtocolParams x
$cto :: forall x. Rep ProposedProtocolParams x -> ProposedProtocolParams
to :: forall x. Rep ProposedProtocolParams x -> ProposedProtocolParams
Generic)
deriving (Maybe ProposedProtocolParams
Value -> Parser [ProposedProtocolParams]
Value -> Parser ProposedProtocolParams
(Value -> Parser ProposedProtocolParams)
-> (Value -> Parser [ProposedProtocolParams])
-> Maybe ProposedProtocolParams
-> FromJSON ProposedProtocolParams
forall a.
(Value -> Parser a)
-> (Value -> Parser [a]) -> Maybe a -> FromJSON a
$cparseJSON :: Value -> Parser ProposedProtocolParams
parseJSON :: Value -> Parser ProposedProtocolParams
$cparseJSONList :: Value -> Parser [ProposedProtocolParams]
parseJSONList :: Value -> Parser [ProposedProtocolParams]
$comittedField :: Maybe ProposedProtocolParams
omittedField :: Maybe ProposedProtocolParams
FromJSON, [ProposedProtocolParams] -> Value
[ProposedProtocolParams] -> Encoding
ProposedProtocolParams -> Bool
ProposedProtocolParams -> Value
ProposedProtocolParams -> Encoding
(ProposedProtocolParams -> Value)
-> (ProposedProtocolParams -> Encoding)
-> ([ProposedProtocolParams] -> Value)
-> ([ProposedProtocolParams] -> Encoding)
-> (ProposedProtocolParams -> Bool)
-> ToJSON ProposedProtocolParams
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> (a -> Bool)
-> ToJSON a
$ctoJSON :: ProposedProtocolParams -> Value
toJSON :: ProposedProtocolParams -> Value
$ctoEncoding :: ProposedProtocolParams -> Encoding
toEncoding :: ProposedProtocolParams -> Encoding
$ctoJSONList :: [ProposedProtocolParams] -> Value
toJSONList :: [ProposedProtocolParams] -> Value
$ctoEncodingList :: [ProposedProtocolParams] -> Encoding
toEncodingList :: [ProposedProtocolParams] -> Encoding
$comitField :: ProposedProtocolParams -> Bool
omitField :: ProposedProtocolParams -> Bool
ToJSON)
via CustomJSON '[FieldLabelModifier '[StripPrefix "_proposedProtocolParams", CamelToSnake, Rename "dvt_pp_network_group" "dvt_p_p_network_group", Rename "dvt_pp_economic_group" "dvt_p_p_economic_group", Rename "dvt_pp_technical_group" "dvt_p_p_technical_group", Rename "dvt_pp_gov_group" "dvt_p_p_gov_group"]] ProposedProtocolParams
instance ToSample ProposedProtocolParams where
toSamples :: Proxy ProposedProtocolParams -> [(Text, ProposedProtocolParams)]
toSamples = [(Text, ProposedProtocolParams)]
-> Proxy ProposedProtocolParams -> [(Text, ProposedProtocolParams)]
forall a. a -> Proxy ProposedProtocolParams -> a
forall (f :: * -> *) a. Applicative f => a -> f a
pure ([(Text, ProposedProtocolParams)]
-> Proxy ProposedProtocolParams
-> [(Text, ProposedProtocolParams)])
-> [(Text, ProposedProtocolParams)]
-> Proxy ProposedProtocolParams
-> [(Text, ProposedProtocolParams)]
forall a b. (a -> b) -> a -> b
$ ProposedProtocolParams -> [(Text, ProposedProtocolParams)]
forall a. a -> [(Text, a)]
singleSample
ProposedProtocolParams
{ _proposedProtocolParamsEpoch :: Maybe Epoch
_proposedProtocolParamsEpoch = Epoch -> Maybe Epoch
forall a. a -> Maybe a
Just Epoch
225
, _proposedProtocolParamsMinFeeA :: Maybe Integer
_proposedProtocolParamsMinFeeA = Integer -> Maybe Integer
forall a. a -> Maybe a
Just Integer
44
, _proposedProtocolParamsMinFeeB :: Maybe Integer
_proposedProtocolParamsMinFeeB = Integer -> Maybe Integer
forall a. a -> Maybe a
Just Integer
155381
, _proposedProtocolParamsMaxBlockSize :: Maybe Integer
_proposedProtocolParamsMaxBlockSize = Integer -> Maybe Integer
forall a. a -> Maybe a
Just Integer
65536
, _proposedProtocolParamsMaxTxSize :: Maybe Integer
_proposedProtocolParamsMaxTxSize = Integer -> Maybe Integer
forall a. a -> Maybe a
Just Integer
16384
, _proposedProtocolParamsMaxBlockHeaderSize :: Maybe Integer
_proposedProtocolParamsMaxBlockHeaderSize = Integer -> Maybe Integer
forall a. a -> Maybe a
Just Integer
1100
, _proposedProtocolParamsKeyDeposit :: Maybe Lovelaces
_proposedProtocolParamsKeyDeposit = Discrete' "ADA" '(1000000, 1)
-> Maybe (Discrete' "ADA" '(1000000, 1))
forall a. a -> Maybe a
Just Discrete' "ADA" '(1000000, 1)
2000000
, _proposedProtocolParamsPoolDeposit :: Maybe Lovelaces
_proposedProtocolParamsPoolDeposit = Discrete' "ADA" '(1000000, 1)
-> Maybe (Discrete' "ADA" '(1000000, 1))
forall a. a -> Maybe a
Just Discrete' "ADA" '(1000000, 1)
500000000
, _proposedProtocolParamsEMax :: Maybe Integer
_proposedProtocolParamsEMax = Integer -> Maybe Integer
forall a. a -> Maybe a
Just Integer
18
, _proposedProtocolParamsNOpt :: Maybe Integer
_proposedProtocolParamsNOpt = Integer -> Maybe Integer
forall a. a -> Maybe a
Just Integer
150
, _proposedProtocolParamsA0 :: Maybe Rational
_proposedProtocolParamsA0 = Rational -> Maybe Rational
forall a. a -> Maybe a
Just Rational
0.3
, _proposedProtocolParamsRho :: Maybe Rational
_proposedProtocolParamsRho = Rational -> Maybe Rational
forall a. a -> Maybe a
Just Rational
0.003
, _proposedProtocolParamsTau :: Maybe Rational
_proposedProtocolParamsTau = Rational -> Maybe Rational
forall a. a -> Maybe a
Just Rational
0.2
, _proposedProtocolParamsDecentralisationParam :: Maybe Rational
_proposedProtocolParamsDecentralisationParam = Rational -> Maybe Rational
forall a. a -> Maybe a
Just Rational
0.5
, _proposedProtocolParamsExtraEntropy :: Maybe Text
_proposedProtocolParamsExtraEntropy = Maybe Text
forall a. Maybe a
Nothing
, _proposedProtocolParamsProtocolMajorVer :: Maybe Integer
_proposedProtocolParamsProtocolMajorVer = Integer -> Maybe Integer
forall a. a -> Maybe a
Just Integer
2
, _proposedProtocolParamsProtocolMinorVer :: Maybe Integer
_proposedProtocolParamsProtocolMinorVer = Integer -> Maybe Integer
forall a. a -> Maybe a
Just Integer
0
, _proposedProtocolParamsMinUtxo :: Maybe Lovelaces
_proposedProtocolParamsMinUtxo = Discrete' "ADA" '(1000000, 1)
-> Maybe (Discrete' "ADA" '(1000000, 1))
forall a. a -> Maybe a
Just Discrete' "ADA" '(1000000, 1)
1000000
, _proposedProtocolParamsMinPoolCost :: Maybe Lovelaces
_proposedProtocolParamsMinPoolCost = Discrete' "ADA" '(1000000, 1)
-> Maybe (Discrete' "ADA" '(1000000, 1))
forall a. a -> Maybe a
Just Discrete' "ADA" '(1000000, 1)
340000000
, _proposedProtocolParamsNonce :: Maybe Text
_proposedProtocolParamsNonce = Text -> Maybe Text
forall a. a -> Maybe a
Just Text
"1a3be38bcbb7911969283716ad7aa550250226b76a61fc51cc9a9a35d9276d81"
, _proposedProtocolParamsCostModels :: Maybe CostModels
_proposedProtocolParamsCostModels =
case Proxy CostModels -> [(Text, CostModels)]
forall a. ToSample a => Proxy a -> [(Text, a)]
toSamples (Proxy CostModels
forall {k} (t :: k). Proxy t
Proxy :: Proxy CostModels) of
[(Text
_, CostModels
pp)] -> CostModels -> Maybe CostModels
forall a. a -> Maybe a
Just CostModels
pp
[(Text, CostModels)]
_ -> String -> Maybe CostModels
forall a. HasCallStack => String -> a
error String
"Absurd"
, _proposedProtocolParamsCostModelsRaw :: Maybe CostModelsRaw
_proposedProtocolParamsCostModelsRaw =
case Proxy CostModelsRaw -> [(Text, CostModelsRaw)]
forall a. ToSample a => Proxy a -> [(Text, a)]
toSamples (Proxy CostModelsRaw
forall {k} (t :: k). Proxy t
Proxy :: Proxy CostModelsRaw) of
[(Text
_, CostModelsRaw
pp)] -> CostModelsRaw -> Maybe CostModelsRaw
forall a. a -> Maybe a
Just CostModelsRaw
pp
[(Text, CostModelsRaw)]
_ -> String -> Maybe CostModelsRaw
forall a. HasCallStack => String -> a
error String
"Absurd"
, _proposedProtocolParamsPriceMem :: Maybe Rational
_proposedProtocolParamsPriceMem = Rational -> Maybe Rational
forall a. a -> Maybe a
Just Rational
0.0577
, _proposedProtocolParamsPriceStep :: Maybe Rational
_proposedProtocolParamsPriceStep = Rational -> Maybe Rational
forall a. a -> Maybe a
Just Rational
0.0000721
, _proposedProtocolParamsMaxTxExMem :: Maybe Quantity
_proposedProtocolParamsMaxTxExMem = Quantity -> Maybe Quantity
forall a. a -> Maybe a
Just Quantity
10000000
, _proposedProtocolParamsMaxTxExSteps :: Maybe Quantity
_proposedProtocolParamsMaxTxExSteps = Quantity -> Maybe Quantity
forall a. a -> Maybe a
Just Quantity
10000000000
, _proposedProtocolParamsMaxBlockExMem :: Maybe Quantity
_proposedProtocolParamsMaxBlockExMem = Quantity -> Maybe Quantity
forall a. a -> Maybe a
Just Quantity
50000000
, _proposedProtocolParamsMaxBlockExSteps :: Maybe Quantity
_proposedProtocolParamsMaxBlockExSteps = Quantity -> Maybe Quantity
forall a. a -> Maybe a
Just Quantity
40000000000
, _proposedProtocolParamsMaxValSize :: Maybe Quantity
_proposedProtocolParamsMaxValSize = Quantity -> Maybe Quantity
forall a. a -> Maybe a
Just Quantity
5000
, _proposedProtocolParamsCollateralPercent :: Maybe Integer
_proposedProtocolParamsCollateralPercent = Integer -> Maybe Integer
forall a. a -> Maybe a
Just Integer
150
, _proposedProtocolParamsMaxCollateralInputs :: Maybe Integer
_proposedProtocolParamsMaxCollateralInputs = Integer -> Maybe Integer
forall a. a -> Maybe a
Just Integer
3
, _proposedProtocolParamsCoinsPerUtxoSize :: Maybe Lovelaces
_proposedProtocolParamsCoinsPerUtxoSize = Discrete' "ADA" '(1000000, 1)
-> Maybe (Discrete' "ADA" '(1000000, 1))
forall a. a -> Maybe a
Just Discrete' "ADA" '(1000000, 1)
34482
, _proposedProtocolParamsCoinsPerUtxoWord :: Maybe Lovelaces
_proposedProtocolParamsCoinsPerUtxoWord = Discrete' "ADA" '(1000000, 1)
-> Maybe (Discrete' "ADA" '(1000000, 1))
forall a. a -> Maybe a
Just Discrete' "ADA" '(1000000, 1)
34482
, _proposedProtocolParamsPvtMotionNoConfidence :: Maybe Rational
_proposedProtocolParamsPvtMotionNoConfidence = Rational -> Maybe Rational
forall a. a -> Maybe a
Just Rational
0.51
, _proposedProtocolParamsPvtCommitteeNormal :: Maybe Rational
_proposedProtocolParamsPvtCommitteeNormal = Rational -> Maybe Rational
forall a. a -> Maybe a
Just Rational
0.51
, _proposedProtocolParamsPvtCommitteeNoConfidence :: Maybe Rational
_proposedProtocolParamsPvtCommitteeNoConfidence = Rational -> Maybe Rational
forall a. a -> Maybe a
Just Rational
0.51
, _proposedProtocolParamsPvtHardForkInitiation :: Maybe Rational
_proposedProtocolParamsPvtHardForkInitiation = Rational -> Maybe Rational
forall a. a -> Maybe a
Just Rational
0.51
, _proposedProtocolParamsPvtppSecurityGroup :: Maybe Rational
_proposedProtocolParamsPvtppSecurityGroup = Rational -> Maybe Rational
forall a. a -> Maybe a
Just Rational
0.51
, _proposedProtocolParamsDvtMotionNoConfidence :: Maybe Rational
_proposedProtocolParamsDvtMotionNoConfidence = Rational -> Maybe Rational
forall a. a -> Maybe a
Just Rational
0.67
, _proposedProtocolParamsDvtCommitteeNormal :: Maybe Rational
_proposedProtocolParamsDvtCommitteeNormal = Rational -> Maybe Rational
forall a. a -> Maybe a
Just Rational
0.67
, _proposedProtocolParamsDvtCommitteeNoConfidence :: Maybe Rational
_proposedProtocolParamsDvtCommitteeNoConfidence = Rational -> Maybe Rational
forall a. a -> Maybe a
Just Rational
0.6
, _proposedProtocolParamsDvtUpdateToConstitution :: Maybe Rational
_proposedProtocolParamsDvtUpdateToConstitution = Rational -> Maybe Rational
forall a. a -> Maybe a
Just Rational
0.75
, _proposedProtocolParamsDvtHardForkInitiation :: Maybe Rational
_proposedProtocolParamsDvtHardForkInitiation = Rational -> Maybe Rational
forall a. a -> Maybe a
Just Rational
0.6
, _proposedProtocolParamsDvtPPNetworkGroup :: Maybe Rational
_proposedProtocolParamsDvtPPNetworkGroup = Rational -> Maybe Rational
forall a. a -> Maybe a
Just Rational
0.67
, _proposedProtocolParamsDvtPPEconomicGroup :: Maybe Rational
_proposedProtocolParamsDvtPPEconomicGroup = Rational -> Maybe Rational
forall a. a -> Maybe a
Just Rational
0.67
, _proposedProtocolParamsDvtPPTechnicalGroup :: Maybe Rational
_proposedProtocolParamsDvtPPTechnicalGroup = Rational -> Maybe Rational
forall a. a -> Maybe a
Just Rational
0.67
, _proposedProtocolParamsDvtPPGovGroup :: Maybe Rational
_proposedProtocolParamsDvtPPGovGroup = Rational -> Maybe Rational
forall a. a -> Maybe a
Just Rational
0.75
, _proposedProtocolParamsDvtTreasuryWithdrawal :: Maybe Rational
_proposedProtocolParamsDvtTreasuryWithdrawal = Rational -> Maybe Rational
forall a. a -> Maybe a
Just Rational
0.67
, _proposedProtocolParamsCommitteeMinSize :: Maybe Quantity
_proposedProtocolParamsCommitteeMinSize = Quantity -> Maybe Quantity
forall a. a -> Maybe a
Just Quantity
7
, _proposedProtocolParamsCommitteeMaxTermLength :: Maybe Quantity
_proposedProtocolParamsCommitteeMaxTermLength = Quantity -> Maybe Quantity
forall a. a -> Maybe a
Just Quantity
146
, _proposedProtocolParamsGovActionLifetime :: Maybe Quantity
_proposedProtocolParamsGovActionLifetime = Quantity -> Maybe Quantity
forall a. a -> Maybe a
Just Quantity
6
, _proposedProtocolParamsGovActionDeposit :: Maybe Lovelaces
_proposedProtocolParamsGovActionDeposit = Discrete' "ADA" '(1000000, 1)
-> Maybe (Discrete' "ADA" '(1000000, 1))
forall a. a -> Maybe a
Just Discrete' "ADA" '(1000000, 1)
100000000000
, _proposedProtocolParamsDrepDeposit :: Maybe Lovelaces
_proposedProtocolParamsDrepDeposit = Discrete' "ADA" '(1000000, 1)
-> Maybe (Discrete' "ADA" '(1000000, 1))
forall a. a -> Maybe a
Just Discrete' "ADA" '(1000000, 1)
500000000
, _proposedProtocolParamsDrepActivity :: Maybe Quantity
_proposedProtocolParamsDrepActivity = Quantity -> Maybe Quantity
forall a. a -> Maybe a
Just Quantity
20
, _proposedProtocolParamsMinFeeRefScriptCostPerByte :: Maybe Rational
_proposedProtocolParamsMinFeeRefScriptCostPerByte = Rational -> Maybe Rational
forall a. a -> Maybe a
Just Rational
15
}
data ParamProposal = ParamProposal
{ ParamProposal -> TxHash
_paramProposalTxHash :: TxHash
, ParamProposal -> Integer
_paramProposalCertIndex :: Integer
, ParamProposal -> ProposedProtocolParams
_paramProposalParameters :: ProposedProtocolParams
}
deriving stock (Int -> ParamProposal -> ShowS
[ParamProposal] -> ShowS
ParamProposal -> String
(Int -> ParamProposal -> ShowS)
-> (ParamProposal -> String)
-> ([ParamProposal] -> ShowS)
-> Show ParamProposal
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ParamProposal -> ShowS
showsPrec :: Int -> ParamProposal -> ShowS
$cshow :: ParamProposal -> String
show :: ParamProposal -> String
$cshowList :: [ParamProposal] -> ShowS
showList :: [ParamProposal] -> ShowS
Show, ParamProposal -> ParamProposal -> Bool
(ParamProposal -> ParamProposal -> Bool)
-> (ParamProposal -> ParamProposal -> Bool) -> Eq ParamProposal
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ParamProposal -> ParamProposal -> Bool
== :: ParamProposal -> ParamProposal -> Bool
$c/= :: ParamProposal -> ParamProposal -> Bool
/= :: ParamProposal -> ParamProposal -> Bool
Eq, (forall x. ParamProposal -> Rep ParamProposal x)
-> (forall x. Rep ParamProposal x -> ParamProposal)
-> Generic ParamProposal
forall x. Rep ParamProposal x -> ParamProposal
forall x. ParamProposal -> Rep ParamProposal x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. ParamProposal -> Rep ParamProposal x
from :: forall x. ParamProposal -> Rep ParamProposal x
$cto :: forall x. Rep ParamProposal x -> ParamProposal
to :: forall x. Rep ParamProposal x -> ParamProposal
Generic)
deriving (Maybe ParamProposal
Value -> Parser [ParamProposal]
Value -> Parser ParamProposal
(Value -> Parser ParamProposal)
-> (Value -> Parser [ParamProposal])
-> Maybe ParamProposal
-> FromJSON ParamProposal
forall a.
(Value -> Parser a)
-> (Value -> Parser [a]) -> Maybe a -> FromJSON a
$cparseJSON :: Value -> Parser ParamProposal
parseJSON :: Value -> Parser ParamProposal
$cparseJSONList :: Value -> Parser [ParamProposal]
parseJSONList :: Value -> Parser [ParamProposal]
$comittedField :: Maybe ParamProposal
omittedField :: Maybe ParamProposal
FromJSON, [ParamProposal] -> Value
[ParamProposal] -> Encoding
ParamProposal -> Bool
ParamProposal -> Value
ParamProposal -> Encoding
(ParamProposal -> Value)
-> (ParamProposal -> Encoding)
-> ([ParamProposal] -> Value)
-> ([ParamProposal] -> Encoding)
-> (ParamProposal -> Bool)
-> ToJSON ParamProposal
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> (a -> Bool)
-> ToJSON a
$ctoJSON :: ParamProposal -> Value
toJSON :: ParamProposal -> Value
$ctoEncoding :: ParamProposal -> Encoding
toEncoding :: ParamProposal -> Encoding
$ctoJSONList :: [ParamProposal] -> Value
toJSONList :: [ParamProposal] -> Value
$ctoEncodingList :: [ParamProposal] -> Encoding
toEncodingList :: [ParamProposal] -> Encoding
$comitField :: ParamProposal -> Bool
omitField :: ParamProposal -> Bool
ToJSON)
via CustomJSON '[FieldLabelModifier '[StripPrefix "_paramProposal", CamelToSnake]] ParamProposal
instance ToSample ParamProposal where
toSamples :: Proxy ParamProposal -> [(Text, ParamProposal)]
toSamples = [(Text, ParamProposal)]
-> Proxy ParamProposal -> [(Text, ParamProposal)]
forall a. a -> Proxy ParamProposal -> a
forall (f :: * -> *) a. Applicative f => a -> f a
pure ([(Text, ParamProposal)]
-> Proxy ParamProposal -> [(Text, ParamProposal)])
-> [(Text, ParamProposal)]
-> Proxy ParamProposal
-> [(Text, ParamProposal)]
forall a b. (a -> b) -> a -> b
$ ParamProposal -> [(Text, ParamProposal)]
forall a. a -> [(Text, a)]
singleSample (ParamProposal -> [(Text, ParamProposal)])
-> ParamProposal -> [(Text, ParamProposal)]
forall a b. (a -> b) -> a -> b
$ ParamProposal
{ _paramProposalTxHash :: TxHash
_paramProposalTxHash = TxHash
"2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531"
, _paramProposalCertIndex :: Integer
_paramProposalCertIndex = Integer
2
, _paramProposalParameters :: ProposedProtocolParams
_paramProposalParameters =
case Proxy ProposedProtocolParams -> [(Text, ProposedProtocolParams)]
forall a. ToSample a => Proxy a -> [(Text, a)]
toSamples (Proxy ProposedProtocolParams
forall {k} (t :: k). Proxy t
Proxy :: Proxy ProposedProtocolParams) of
[(Text
_, ProposedProtocolParams
pp)] -> ProposedProtocolParams
pp
[(Text, ProposedProtocolParams)]
_ -> String -> ProposedProtocolParams
forall a. HasCallStack => String -> a
error String
"Absurd"
}
data WithdrawalProposal = WithdrawalProposal
{ WithdrawalProposal -> Address
_withdrawalProposalStakeAddress :: Address
, WithdrawalProposal -> Lovelaces
_withdrawalProposalAmount :: Lovelaces
}
deriving stock (Int -> WithdrawalProposal -> ShowS
[WithdrawalProposal] -> ShowS
WithdrawalProposal -> String
(Int -> WithdrawalProposal -> ShowS)
-> (WithdrawalProposal -> String)
-> ([WithdrawalProposal] -> ShowS)
-> Show WithdrawalProposal
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> WithdrawalProposal -> ShowS
showsPrec :: Int -> WithdrawalProposal -> ShowS
$cshow :: WithdrawalProposal -> String
show :: WithdrawalProposal -> String
$cshowList :: [WithdrawalProposal] -> ShowS
showList :: [WithdrawalProposal] -> ShowS
Show, WithdrawalProposal -> WithdrawalProposal -> Bool
(WithdrawalProposal -> WithdrawalProposal -> Bool)
-> (WithdrawalProposal -> WithdrawalProposal -> Bool)
-> Eq WithdrawalProposal
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: WithdrawalProposal -> WithdrawalProposal -> Bool
== :: WithdrawalProposal -> WithdrawalProposal -> Bool
$c/= :: WithdrawalProposal -> WithdrawalProposal -> Bool
/= :: WithdrawalProposal -> WithdrawalProposal -> Bool
Eq, (forall x. WithdrawalProposal -> Rep WithdrawalProposal x)
-> (forall x. Rep WithdrawalProposal x -> WithdrawalProposal)
-> Generic WithdrawalProposal
forall x. Rep WithdrawalProposal x -> WithdrawalProposal
forall x. WithdrawalProposal -> Rep WithdrawalProposal x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. WithdrawalProposal -> Rep WithdrawalProposal x
from :: forall x. WithdrawalProposal -> Rep WithdrawalProposal x
$cto :: forall x. Rep WithdrawalProposal x -> WithdrawalProposal
to :: forall x. Rep WithdrawalProposal x -> WithdrawalProposal
Generic)
deriving (Maybe WithdrawalProposal
Value -> Parser [WithdrawalProposal]
Value -> Parser WithdrawalProposal
(Value -> Parser WithdrawalProposal)
-> (Value -> Parser [WithdrawalProposal])
-> Maybe WithdrawalProposal
-> FromJSON WithdrawalProposal
forall a.
(Value -> Parser a)
-> (Value -> Parser [a]) -> Maybe a -> FromJSON a
$cparseJSON :: Value -> Parser WithdrawalProposal
parseJSON :: Value -> Parser WithdrawalProposal
$cparseJSONList :: Value -> Parser [WithdrawalProposal]
parseJSONList :: Value -> Parser [WithdrawalProposal]
$comittedField :: Maybe WithdrawalProposal
omittedField :: Maybe WithdrawalProposal
FromJSON, [WithdrawalProposal] -> Value
[WithdrawalProposal] -> Encoding
WithdrawalProposal -> Bool
WithdrawalProposal -> Value
WithdrawalProposal -> Encoding
(WithdrawalProposal -> Value)
-> (WithdrawalProposal -> Encoding)
-> ([WithdrawalProposal] -> Value)
-> ([WithdrawalProposal] -> Encoding)
-> (WithdrawalProposal -> Bool)
-> ToJSON WithdrawalProposal
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> (a -> Bool)
-> ToJSON a
$ctoJSON :: WithdrawalProposal -> Value
toJSON :: WithdrawalProposal -> Value
$ctoEncoding :: WithdrawalProposal -> Encoding
toEncoding :: WithdrawalProposal -> Encoding
$ctoJSONList :: [WithdrawalProposal] -> Value
toJSONList :: [WithdrawalProposal] -> Value
$ctoEncodingList :: [WithdrawalProposal] -> Encoding
toEncodingList :: [WithdrawalProposal] -> Encoding
$comitField :: WithdrawalProposal -> Bool
omitField :: WithdrawalProposal -> Bool
ToJSON)
via CustomJSON '[FieldLabelModifier '[StripPrefix "_withdrawalProposal", CamelToSnake]] WithdrawalProposal
instance ToSample WithdrawalProposal where
toSamples :: Proxy WithdrawalProposal -> [(Text, WithdrawalProposal)]
toSamples = [(Text, WithdrawalProposal)]
-> Proxy WithdrawalProposal -> [(Text, WithdrawalProposal)]
forall a. a -> Proxy WithdrawalProposal -> a
forall (f :: * -> *) a. Applicative f => a -> f a
pure ([(Text, WithdrawalProposal)]
-> Proxy WithdrawalProposal -> [(Text, WithdrawalProposal)])
-> [(Text, WithdrawalProposal)]
-> Proxy WithdrawalProposal
-> [(Text, WithdrawalProposal)]
forall a b. (a -> b) -> a -> b
$ [WithdrawalProposal] -> [(Text, WithdrawalProposal)]
forall a. [a] -> [(Text, a)]
samples
[ WithdrawalProposal
{ _withdrawalProposalStakeAddress :: Address
_withdrawalProposalStakeAddress = Address
"stake1ux3g2c9dx2nhhehyrezyxpkstartcqmu9hk63qgfkccw5rqttygt7"
, _withdrawalProposalAmount :: Lovelaces
_withdrawalProposalAmount = Discrete' "ADA" '(1000000, 1)
Lovelaces
454541212442
}
, WithdrawalProposal
{ _withdrawalProposalStakeAddress :: Address
_withdrawalProposalStakeAddress = Address
"stake1xx2g2c9dx2nhhehyrezyxpkstoppcqmu9hk63qgfkccw5rqttygt2"
, _withdrawalProposalAmount :: Lovelaces
_withdrawalProposalAmount = Discrete' "ADA" '(1000000, 1)
Lovelaces
97846969
}
]
data VoterRole
= VoterRole_ConstitutionalCommittee
| VoterRole_DRep
| VoterRole_SPO
deriving stock (Int -> VoterRole -> ShowS
[VoterRole] -> ShowS
VoterRole -> String
(Int -> VoterRole -> ShowS)
-> (VoterRole -> String)
-> ([VoterRole] -> ShowS)
-> Show VoterRole
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> VoterRole -> ShowS
showsPrec :: Int -> VoterRole -> ShowS
$cshow :: VoterRole -> String
show :: VoterRole -> String
$cshowList :: [VoterRole] -> ShowS
showList :: [VoterRole] -> ShowS
Show, VoterRole -> VoterRole -> Bool
(VoterRole -> VoterRole -> Bool)
-> (VoterRole -> VoterRole -> Bool) -> Eq VoterRole
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: VoterRole -> VoterRole -> Bool
== :: VoterRole -> VoterRole -> Bool
$c/= :: VoterRole -> VoterRole -> Bool
/= :: VoterRole -> VoterRole -> Bool
Eq, (forall x. VoterRole -> Rep VoterRole x)
-> (forall x. Rep VoterRole x -> VoterRole) -> Generic VoterRole
forall x. Rep VoterRole x -> VoterRole
forall x. VoterRole -> Rep VoterRole x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. VoterRole -> Rep VoterRole x
from :: forall x. VoterRole -> Rep VoterRole x
$cto :: forall x. Rep VoterRole x -> VoterRole
to :: forall x. Rep VoterRole x -> VoterRole
Generic)
instance ToJSON VoterRole where
toJSON :: VoterRole -> Value
toJSON VoterRole
VoterRole_ConstitutionalCommittee = Text -> Value
forall a. ToJSON a => a -> Value
toJSON (Text
"constitutional_committee" :: Text)
toJSON VoterRole
VoterRole_DRep = Text -> Value
forall a. ToJSON a => a -> Value
toJSON (Text
"drep" :: Text)
toJSON VoterRole
VoterRole_SPO = Text -> Value
forall a. ToJSON a => a -> Value
toJSON (Text
"spo" :: Text)
toEncoding :: VoterRole -> Encoding
toEncoding VoterRole
VoterRole_ConstitutionalCommittee = Text -> Encoding
forall a. ToJSON a => a -> Encoding
toEncoding (Text
"constitutional_committee" :: Text)
toEncoding VoterRole
VoterRole_DRep = Text -> Encoding
forall a. ToJSON a => a -> Encoding
toEncoding (Text
"drep" :: Text)
toEncoding VoterRole
VoterRole_SPO = Text -> Encoding
forall a. ToJSON a => a -> Encoding
toEncoding (Text
"spo" :: Text)
instance FromJSON VoterRole where
parseJSON :: Value -> Parser VoterRole
parseJSON = String -> (Text -> Parser VoterRole) -> Value -> Parser VoterRole
forall a. String -> (Text -> Parser a) -> Value -> Parser a
withText String
"voterRole" ((Text -> Parser VoterRole) -> Value -> Parser VoterRole)
-> (Text -> Parser VoterRole) -> Value -> Parser VoterRole
forall a b. (a -> b) -> a -> b
$ \case
Text
"constitutional_committee" -> VoterRole -> Parser VoterRole
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure VoterRole
VoterRole_ConstitutionalCommittee
Text
"drep" -> VoterRole -> Parser VoterRole
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure VoterRole
VoterRole_DRep
Text
"spo" -> VoterRole -> Parser VoterRole
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure VoterRole
VoterRole_SPO
Text
x -> String -> Parser VoterRole
forall a. String -> Parser a
forall (m :: * -> *) a. MonadFail m => String -> m a
fail (String
"Expected DRep vote but got " String -> ShowS
forall a. [a] -> [a] -> [a]
++ Text -> String
forall a. Show a => a -> String
show Text
x)
data ProposalVote = ProposalVote
{ ProposalVote -> TxHash
_proposalVoteTxHash :: TxHash
, ProposalVote -> Integer
_proposalVoteCertIndex :: Integer
, ProposalVote -> VoterRole
_proposalVoteVoterRole :: VoterRole
, ProposalVote -> DRepId
_proposalVoteVoter :: DRepId
, ProposalVote -> VotingAction
_proposalVoteAction :: VotingAction
}
deriving stock (Int -> ProposalVote -> ShowS
[ProposalVote] -> ShowS
ProposalVote -> String
(Int -> ProposalVote -> ShowS)
-> (ProposalVote -> String)
-> ([ProposalVote] -> ShowS)
-> Show ProposalVote
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ProposalVote -> ShowS
showsPrec :: Int -> ProposalVote -> ShowS
$cshow :: ProposalVote -> String
show :: ProposalVote -> String
$cshowList :: [ProposalVote] -> ShowS
showList :: [ProposalVote] -> ShowS
Show, ProposalVote -> ProposalVote -> Bool
(ProposalVote -> ProposalVote -> Bool)
-> (ProposalVote -> ProposalVote -> Bool) -> Eq ProposalVote
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ProposalVote -> ProposalVote -> Bool
== :: ProposalVote -> ProposalVote -> Bool
$c/= :: ProposalVote -> ProposalVote -> Bool
/= :: ProposalVote -> ProposalVote -> Bool
Eq, (forall x. ProposalVote -> Rep ProposalVote x)
-> (forall x. Rep ProposalVote x -> ProposalVote)
-> Generic ProposalVote
forall x. Rep ProposalVote x -> ProposalVote
forall x. ProposalVote -> Rep ProposalVote x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. ProposalVote -> Rep ProposalVote x
from :: forall x. ProposalVote -> Rep ProposalVote x
$cto :: forall x. Rep ProposalVote x -> ProposalVote
to :: forall x. Rep ProposalVote x -> ProposalVote
Generic)
deriving (Maybe ProposalVote
Value -> Parser [ProposalVote]
Value -> Parser ProposalVote
(Value -> Parser ProposalVote)
-> (Value -> Parser [ProposalVote])
-> Maybe ProposalVote
-> FromJSON ProposalVote
forall a.
(Value -> Parser a)
-> (Value -> Parser [a]) -> Maybe a -> FromJSON a
$cparseJSON :: Value -> Parser ProposalVote
parseJSON :: Value -> Parser ProposalVote
$cparseJSONList :: Value -> Parser [ProposalVote]
parseJSONList :: Value -> Parser [ProposalVote]
$comittedField :: Maybe ProposalVote
omittedField :: Maybe ProposalVote
FromJSON, [ProposalVote] -> Value
[ProposalVote] -> Encoding
ProposalVote -> Bool
ProposalVote -> Value
ProposalVote -> Encoding
(ProposalVote -> Value)
-> (ProposalVote -> Encoding)
-> ([ProposalVote] -> Value)
-> ([ProposalVote] -> Encoding)
-> (ProposalVote -> Bool)
-> ToJSON ProposalVote
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> (a -> Bool)
-> ToJSON a
$ctoJSON :: ProposalVote -> Value
toJSON :: ProposalVote -> Value
$ctoEncoding :: ProposalVote -> Encoding
toEncoding :: ProposalVote -> Encoding
$ctoJSONList :: [ProposalVote] -> Value
toJSONList :: [ProposalVote] -> Value
$ctoEncodingList :: [ProposalVote] -> Encoding
toEncodingList :: [ProposalVote] -> Encoding
$comitField :: ProposalVote -> Bool
omitField :: ProposalVote -> Bool
ToJSON)
via CustomJSON '[FieldLabelModifier '[StripPrefix "_proposalVote", CamelToSnake, Rename "action" "vote"]] ProposalVote
instance ToSample ProposalVote where
toSamples :: Proxy ProposalVote -> [(Text, ProposalVote)]
toSamples = [(Text, ProposalVote)]
-> Proxy ProposalVote -> [(Text, ProposalVote)]
forall a. a -> Proxy ProposalVote -> a
forall (f :: * -> *) a. Applicative f => a -> f a
pure ([(Text, ProposalVote)]
-> Proxy ProposalVote -> [(Text, ProposalVote)])
-> [(Text, ProposalVote)]
-> Proxy ProposalVote
-> [(Text, ProposalVote)]
forall a b. (a -> b) -> a -> b
$ [ProposalVote] -> [(Text, ProposalVote)]
forall a. [a] -> [(Text, a)]
samples
[ ProposalVote
{ _proposalVoteTxHash :: TxHash
_proposalVoteTxHash = TxHash
"b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5"
, _proposalVoteCertIndex :: Integer
_proposalVoteCertIndex = Integer
2
, _proposalVoteVoterRole :: VoterRole
_proposalVoteVoterRole = VoterRole
VoterRole_DRep
, _proposalVoteVoter :: DRepId
_proposalVoteVoter = DRepIdBech32 -> DRepId
DRepId_Bech32 DRepIdBech32
"drep1mvdu8slennngja7w4un6knwezufra70887zuxpprd64jxfveahn"
, _proposalVoteAction :: VotingAction
_proposalVoteAction = VotingAction
VotingAction_Yes
}
, ProposalVote
{ _proposalVoteTxHash :: TxHash
_proposalVoteTxHash = TxHash
"b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5"
, _proposalVoteCertIndex :: Integer
_proposalVoteCertIndex = Integer
3
, _proposalVoteVoterRole :: VoterRole
_proposalVoteVoterRole = VoterRole
VoterRole_ConstitutionalCommittee
, _proposalVoteVoter :: DRepId
_proposalVoteVoter = DRepIdHex -> DRepId
DRepId_Hex DRepIdHex
"53a42debdc7ffd90085ab7fd9800b63e6d1c9ac481ba6eb7b6a844e4"
, _proposalVoteAction :: VotingAction
_proposalVoteAction = VotingAction
VotingAction_Abstain
}
]
data ProposalMeta = ProposalMeta
{ ProposalMeta -> TxHash
_proposalMetaTxHash :: TxHash
, ProposalMeta -> Integer
_proposalMetaCertIndex :: Integer
, ProposalMeta -> Text
_proposalMetaUrl :: Text
, ProposalMeta -> Text
_proposalMetaHash :: Text
, ProposalMeta -> Value
_proposalMetaJsonMetadata :: Value
, ProposalMeta -> Text
_proposalMetaBytes :: Text
}
deriving stock (Int -> ProposalMeta -> ShowS
[ProposalMeta] -> ShowS
ProposalMeta -> String
(Int -> ProposalMeta -> ShowS)
-> (ProposalMeta -> String)
-> ([ProposalMeta] -> ShowS)
-> Show ProposalMeta
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ProposalMeta -> ShowS
showsPrec :: Int -> ProposalMeta -> ShowS
$cshow :: ProposalMeta -> String
show :: ProposalMeta -> String
$cshowList :: [ProposalMeta] -> ShowS
showList :: [ProposalMeta] -> ShowS
Show, ProposalMeta -> ProposalMeta -> Bool
(ProposalMeta -> ProposalMeta -> Bool)
-> (ProposalMeta -> ProposalMeta -> Bool) -> Eq ProposalMeta
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ProposalMeta -> ProposalMeta -> Bool
== :: ProposalMeta -> ProposalMeta -> Bool
$c/= :: ProposalMeta -> ProposalMeta -> Bool
/= :: ProposalMeta -> ProposalMeta -> Bool
Eq, (forall x. ProposalMeta -> Rep ProposalMeta x)
-> (forall x. Rep ProposalMeta x -> ProposalMeta)
-> Generic ProposalMeta
forall x. Rep ProposalMeta x -> ProposalMeta
forall x. ProposalMeta -> Rep ProposalMeta x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. ProposalMeta -> Rep ProposalMeta x
from :: forall x. ProposalMeta -> Rep ProposalMeta x
$cto :: forall x. Rep ProposalMeta x -> ProposalMeta
to :: forall x. Rep ProposalMeta x -> ProposalMeta
Generic)
deriving (Maybe ProposalMeta
Value -> Parser [ProposalMeta]
Value -> Parser ProposalMeta
(Value -> Parser ProposalMeta)
-> (Value -> Parser [ProposalMeta])
-> Maybe ProposalMeta
-> FromJSON ProposalMeta
forall a.
(Value -> Parser a)
-> (Value -> Parser [a]) -> Maybe a -> FromJSON a
$cparseJSON :: Value -> Parser ProposalMeta
parseJSON :: Value -> Parser ProposalMeta
$cparseJSONList :: Value -> Parser [ProposalMeta]
parseJSONList :: Value -> Parser [ProposalMeta]
$comittedField :: Maybe ProposalMeta
omittedField :: Maybe ProposalMeta
FromJSON, [ProposalMeta] -> Value
[ProposalMeta] -> Encoding
ProposalMeta -> Bool
ProposalMeta -> Value
ProposalMeta -> Encoding
(ProposalMeta -> Value)
-> (ProposalMeta -> Encoding)
-> ([ProposalMeta] -> Value)
-> ([ProposalMeta] -> Encoding)
-> (ProposalMeta -> Bool)
-> ToJSON ProposalMeta
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> (a -> Bool)
-> ToJSON a
$ctoJSON :: ProposalMeta -> Value
toJSON :: ProposalMeta -> Value
$ctoEncoding :: ProposalMeta -> Encoding
toEncoding :: ProposalMeta -> Encoding
$ctoJSONList :: [ProposalMeta] -> Value
toJSONList :: [ProposalMeta] -> Value
$ctoEncodingList :: [ProposalMeta] -> Encoding
toEncodingList :: [ProposalMeta] -> Encoding
$comitField :: ProposalMeta -> Bool
omitField :: ProposalMeta -> Bool
ToJSON)
via CustomJSON '[FieldLabelModifier '[StripPrefix "_proposalMeta", CamelToSnake]] ProposalMeta
instance ToSample ProposalMeta where
toSamples :: Proxy ProposalMeta -> [(Text, ProposalMeta)]
toSamples = [(Text, ProposalMeta)]
-> Proxy ProposalMeta -> [(Text, ProposalMeta)]
forall a. a -> Proxy ProposalMeta -> a
forall (f :: * -> *) a. Applicative f => a -> f a
pure ([(Text, ProposalMeta)]
-> Proxy ProposalMeta -> [(Text, ProposalMeta)])
-> [(Text, ProposalMeta)]
-> Proxy ProposalMeta
-> [(Text, ProposalMeta)]
forall a b. (a -> b) -> a -> b
$ ProposalMeta -> [(Text, ProposalMeta)]
forall a. a -> [(Text, a)]
singleSample (ProposalMeta -> [(Text, ProposalMeta)])
-> ProposalMeta -> [(Text, ProposalMeta)]
forall a b. (a -> b) -> a -> b
$ ProposalMeta
{ _proposalMetaTxHash :: TxHash
_proposalMetaTxHash = TxHash
"257d75c8ddb0434e9b63e29ebb6241add2b835a307aa33aedba2effe09ed4ec8"
, _proposalMetaCertIndex :: Integer
_proposalMetaCertIndex = Integer
2
, _proposalMetaUrl :: Text
_proposalMetaUrl = Text
"https://raw.githubusercontent.com/carloslodelar/proposals/main/pv10.json"
, _proposalMetaHash :: Text
_proposalMetaHash = Text
"ffa226f3863aca006172d559cf46bb8b883a47233962ae2fc94c158d7de6fa81"
, _proposalMetaJsonMetadata :: Value
_proposalMetaJsonMetadata = [Pair] -> Value
object
[ Key
"body" Key -> Value -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= [Pair] -> Value
object
[ Key
"title" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"Hardfork to Protocol version 10" :: Text)
, Key
"abstract" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"Let's have sanchoNet in full governance as soon as possible" :: Text)
, Key
"rationale" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"Let's keep testing stuff" :: Text)
, Key
"motivation" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"PV9 is not as fun as PV10" :: Text)
, Key
"references" Key -> [Value] -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.=
[ [Pair] -> Value
object
[ Key
"@type" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"Other" :: Text)
, Key
"label" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"Hardfork to PV10" :: Text)
, Key
"uri" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"" :: Text)
]
]
]
, Key
"authors" Key -> [Value] -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.=
[ [Pair] -> Value
object
[ Key
"name" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"Carlos" :: Text)
, Key
"witness" Key -> Value -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= [Pair] -> Value
object
[ Key
"publicKey" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"7ea09a34aebb13c9841c71397b1cabfec5ddf950405293dee496cac2f437480a" :: Text)
, Key
"signature" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"a476985b4cc0d457f247797611799a6f6a80fc8cb7ec9dcb5a8223888d0618e30de165f3d869c4a0d9107d8a5b612ad7c5e42441907f5b91796f0d7187d64a01" :: Text)
, Key
"witnessAlgorithm" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"ed25519" :: Text)
]
]
]
, Key
"@context" Key -> Value -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= [Pair] -> Value
object
[ Key
"CIP100" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"https://github.com/cardano-foundation/CIPs/blob/master/CIP-0100/README.md#" :: Text)
, Key
"CIP108" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"https://github.com/cardano-foundation/CIPs/blob/master/CIP-0108/README.md#" :: Text)
, Key
"hashAlgorithm" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"CIP100:hashAlgorithm" :: Text)
, Key
"@language" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"en-us" :: Text)
, Key
"body" Key -> Value -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= [Pair] -> Value
object
[ Key
"@id" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"CIP108:body" :: Text)
, Key
"@context" Key -> Value -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= [Pair] -> Value
object
[ Key
"title" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"CIP108:title" :: Text)
, Key
"abstract" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"CIP108:abstract" :: Text)
, Key
"rationale" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"CIP108:rationale" :: Text)
, Key
"motivation" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"CIP108:motivation" :: Text)
, Key
"references" Key -> Value -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= [Pair] -> Value
object
[ Key
"@id" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"CIP108:references" :: Text)
, Key
"@container" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"@set" :: Text)
, Key
"@context" Key -> Value -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= [Pair] -> Value
object
[ Key
"uri" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"CIP100:reference-uri" :: Text)
, Key
"Other" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"CIP100:OtherReference" :: Text)
, Key
"label" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"CIP100:reference-label" :: Text)
, Key
"GovernanceMetadata" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"CIP100:GovernanceMetadataReference" :: Text)
, Key
"referenceHash" Key -> Value -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= [Pair] -> Value
object
[ Key
"@id" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"CIP108:referenceHash" :: Text)
, Key
"@context" Key -> Value -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= [Pair] -> Value
object
[ Key
"hashDigest" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"CIP108:hashDigest" :: Text)
, Key
"hashAlgorithm" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"CIP100:hashAlgorithm" :: Text)
]
]
]
]
]
]
, Key
"authors" Key -> Value -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= [Pair] -> Value
object
[ Key
"@id" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"CIP100:authors" :: Text)
, Key
"@container" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"@set" :: Text)
, Key
"@context" Key -> Value -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= [Pair] -> Value
object
[ Key
"name" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"http://xmlns.com/foaf/0.1/name" :: Text)
, Key
"witness" Key -> Value -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= [Pair] -> Value
object
[ Key
"@id" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"CIP100:witness" :: Text)
, Key
"@context" Key -> Value -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= [Pair] -> Value
object
[ Key
"publicKey" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"CIP100:publicKey" :: Text)
, Key
"signature" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"CIP100:signature" :: Text)
, Key
"witnessAlgorithm" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"CIP100:witnessAlgorithm" :: Text)
]
]
]
]
]
, Key
"hashAlgorithm" Key -> Text -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Text
"blake2b-256" :: Text)
]
, _proposalMetaBytes :: Text
_proposalMetaBytes = Text
"\\x7b0a20202240636f6e74657874223a207b0a2020202022406c616e6775616765223a2022656e2d7573222c0a2020202022434950313030223a202268747470733a2f2f6769746875622e636f6d2f63617264616e6f2d666f756e646174696f6e2f434950732f626c6f622f6d61737465722f4349502d303130302f524541444d452e6d6423222c0a2020202022434950313038223a202268747470733a2f2f6769746875622e636f6d2f63617264616e6f2d666f756e646174696f6e2f434950732f626c6f622f6d61737465722f4349502d303130382f524541444d452e6d6423222c0a202020202268617368416c676f726974686d223a20224349503130303a68617368416c676f726974686d222c0a2020202022626f6479223a207b0a20202020202022406964223a20224349503130383a626f6479222c0a2020202020202240636f6e74657874223a207b0a2020202020202020227265666572656e636573223a207b0a2020202020202020202022406964223a20224349503130383a7265666572656e636573222c0a202020202020202020202240636f6e7461696e6572223a202240736574222c0a202020202020202020202240636f6e74657874223a207b0a20202020202020202020202022476f7665726e616e63654d65746164617461223a20224349503130303a476f7665726e616e63654d657461646174615265666572656e6365222c0a202020202020202020202020224f74686572223a20224349503130303a4f746865725265666572656e6365222c0a202020202020202020202020226c6162656c223a20224349503130303a7265666572656e63652d6c6162656c222c0a20202020202020202020202022757269223a20224349503130303a7265666572656e63652d757269222c0a202020202020202020202020227265666572656e636548617368223a207b0a202020202020202020202020202022406964223a20224349503130383a7265666572656e636548617368222c0a20202020202020202020202020202240636f6e74657874223a207b0a202020202020202020202020202020202268617368446967657374223a20224349503130383a68617368446967657374222c0a202020202020202020202020202020202268617368416c676f726974686d223a20224349503130303a68617368416c676f726974686d220a20202020202020202020202020207d0a2020202020202020202020207d0a202020202020202020207d0a20202020202020207d2c0a2020202020202020227469746c65223a20224349503130383a7469746c65222c0a2020202020202020226162737472616374223a20224349503130383a6162737472616374222c0a2020202020202020226d6f7469766174696f6e223a20224349503130383a6d6f7469766174696f6e222c0a202020202020202022726174696f6e616c65223a20224349503130383a726174696f6e616c65220a2020202020207d0a202020207d2c0a2020202022617574686f7273223a207b0a20202020202022406964223a20224349503130303a617574686f7273222c0a2020202020202240636f6e7461696e6572223a202240736574222c0a2020202020202240636f6e74657874223a207b0a2020202020202020226e616d65223a2022687474703a2f2f786d6c6e732e636f6d2f666f61662f302e312f6e616d65222c0a2020202020202020227769746e657373223a207b0a2020202020202020202022406964223a20224349503130303a7769746e657373222c0a202020202020202020202240636f6e74657874223a207b0a202020202020202020202020227769746e657373416c676f726974686d223a20224349503130303a7769746e657373416c676f726974686d222c0a202020202020202020202020227075626c69634b6579223a20224349503130303a7075626c69634b6579222c0a202020202020202020202020227369676e6174757265223a20224349503130303a7369676e6174757265220a202020202020202020207d0a20202020202020207d0a2020202020207d0a202020207d0a20207d2c0a20202268617368416c676f726974686d223a2022626c616b6532622d323536222c0a202022626f6479223a207b0a20202020227469746c65223a202248617264666f726b20746f2050726f746f636f6c2076657273696f6e203130222c0a20202020226162737472616374223a20224c6574277320686176652073616e63686f4e657420696e2066756c6c20676f7665726e616e636520617320736f6f6e20617320706f737369626c65222c0a20202020226d6f7469766174696f6e223a2022505639206973206e6f742061732066756e2061732050563130222c0a2020202022726174696f6e616c65223a20224c65742773206b6565702074657374696e67207374756666222c0a20202020227265666572656e636573223a205b0a2020202020207b0a2020202020202020224074797065223a20224f74686572222c0a2020202020202020226c6162656c223a202248617264666f726b20746f2050563130222c0a202020202020202022757269223a2022220a2020202020207d0a202020205d0a20207d2c0a202022617574686f7273223a205b0a202020207b0a202020202020226e616d65223a20224361726c6f73222c0a202020202020227769746e657373223a207b0a2020202020202020227769746e657373416c676f726974686d223a202265643235353139222c0a2020202020202020227075626c69634b6579223a202237656130396133346165626231336339383431633731333937623163616266656335646466393530343035323933646565343936636163326634333734383061222c0a2020202020202020227369676e6174757265223a20226134373639383562346363306434353766323437373937363131373939613666366138306663386362376563396463623561383232333838386430363138653330646531363566336438363963346130643931303764386135623631326164376335653432343431393037663562393137393666306437313837643634613031220a2020202020207d0a202020207d0a20205d0a7d"
}