Use liqwid-script-export

commit ec70bfd539fe2e27fd48f5f76395400287ac72d7
Author: Seungheon Oh <seungheon.ooh@gmail.com>
Date:   Tue Oct 18 18:58:59 2022 -0500

    use LSE

commit 25fff9b3ad1f2dde4cd7cf36977530b06a87d23c
Merge: 01cd3aa 1821dd6
Author: Seungheon Oh <seungheon.ooh@gmail.com>
Date:   Tue Oct 18 18:17:45 2022 -0500

    Merge branch 'staging' into seungheonoh/ply

commit 01cd3aa7a235e6fe6658246ca1026fa26dc71a83
Author: Hongrui Fang <chfanghr@gmail.com>
Date:   Tue Oct 11 12:02:03 2022 +0800

    update benchmark

commit a8513244892ce33cfdc9edf8cd501c4985ae8008
Author: Hongrui Fang <chfanghr@gmail.com>
Date:   Tue Oct 11 11:59:22 2022 +0800

    fix tests

commit 20ca40823485c2e2f78253643cf4453ac7b7ddd5
Author: Hongrui Fang <chfanghr@gmail.com>
Date:   Tue Oct 11 11:57:37 2022 +0800

    better import

commit a19fe49424210891bd03db71e4083fc1e0edfd98
Author: Hongrui Fang <chfanghr@gmail.com>
Date:   Tue Oct 11 11:08:20 2022 +0800

    update flake inputs

commit c93b21f1f9441e5c6f54525bf7c6a54757ec36cc
Author: Seungheon Oh <seungheon.ooh@gmail.com>
Date:   Mon Oct 10 12:54:12 2022 -0500

    tried to make tests pass

commit 1046ae1237299a33c58b48661bdb6d325a22147e
Merge: 2bf4e36 363bd83
Author: Seungheon Oh <seungheon.ooh@gmail.com>
Date:   Mon Oct 10 12:18:48 2022 -0500

    Merge branch 'staging' into seungheonoh/ply

commit 2bf4e3627c1b229f58078695082da85c80efd560
Author: Seungheon Oh <seungheon.ooh@gmail.com>
Date:   Mon Oct 10 10:48:36 2022 -0500

    remove junkpile

commit a1dbc9ad9e531fe0d0a0480c4aef9cf9ffa90f1d
Author: Seungheon Oh <seungheon.ooh@gmail.com>
Date:   Mon Oct 10 10:47:25 2022 -0500

    versions

commit 4542a06ac733858297d3a48c53368fad19dedc43
Author: Seungheon Oh <seungheon.ooh@gmail.com>
Date:   Thu Oct 6 22:57:48 2022 -0500

    script exporting interface

commit 6bd8c1a1d57e4bf9dc25c3068a9c8eae6bf6a19d
Author: Seungheon Oh <seungheon.ooh@gmail.com>
Date:   Thu Oct 6 22:58:41 2022 -0500

    fixed tests

commit d3ce2cf95633d336f3e621833677bd5bf10ee2c8
Author: Seungheon Oh <seungheon.ooh@gmail.com>
Date:   Sun Oct 2 00:55:18 2022 -0500

    fixed tests

commit 1ae64c9f692652b77b0506013853b2ba44267c65
Author: Seungheon Oh <seungheon.ooh@gmail.com>
Date:   Sat Oct 1 13:28:20 2022 -0500

    linker

commit db88cb75c7b74843141ad8ab4e6522b66d0dcfbc
Author: Seungheon Oh <seungheon.ooh@gmail.com>
Date:   Sat Oct 1 01:03:50 2022 -0500

    exporting scripts

commit 6389fce28e885a8a7f8669629c266f59c0edb51f
Author: Seungheon Oh <seungheon.ooh@gmail.com>
Date:   Sat Oct 1 00:51:49 2022 -0500

    made scripts parameterized on the script level

commit aea1e518a8890550bdebd0e5251da11d915c53a9
Author: Seungheon Oh <seungheon.ooh@gmail.com>
Date:   Wed Sep 28 19:53:29 2022 -0500

    Use `TypedScriptEnvelope` for `Agora.Bootstrap`
This commit is contained in:
Seungheon Oh 2022-10-18 18:59:38 -05:00
parent 1821dd6a88
commit d2018afd4d
38 changed files with 8614 additions and 2330 deletions

View file

@ -11,7 +11,6 @@ import Language.PureScript.Bridge (
--------------------------------------------------------------------------------
import Agora.AuthorityToken qualified as AuthorityToken
import Agora.Effect.GovernorMutation qualified as GovernorMutation
import Agora.Effect.TreasuryWithdrawal qualified as TreasuryWithdrawalEffect
import Agora.Governor qualified as Governor
@ -38,8 +37,6 @@ agoraTypes =
mkSumType (Proxy @Stake.ProposalLock)
, mkSumType (Proxy @Stake.StakeRedeemer)
, mkSumType (Proxy @Stake.StakeDatum)
, -- AuthorityToken
mkSumType (Proxy @AuthorityToken.AuthorityToken)
, -- Effects
mkSumType (Proxy @TreasuryWithdrawalEffect.TreasuryWithdrawalDatum)
, mkSumType (Proxy @GovernorMutation.MutateGovernorDatum)

View file

@ -9,153 +9,16 @@
module Main (main) where
import Agora.Bootstrap qualified as Bootstrap
import Agora.Governor (Governor (Governor))
import Agora.SafeMoney (GTTag)
import Agora.Scripts qualified as Scripts
import Agora.Utils (CompiledMintingPolicy (getCompiledMintingPolicy), CompiledValidator (getCompiledValidator))
import Data.Aeson qualified as Aeson
import Agora.Linker
import Data.Default (def)
import Data.Function ((&))
import Data.Tagged (Tagged)
import Data.Text (Text)
import Development.GitRev (gitBranch, gitHash)
import GHC.Generics qualified as GHC
import Plutarch (Config (Config, tracingMode), TracingMode (DoTracing, NoTracing))
import PlutusLedgerApi.V1 (
MintingPolicy (getMintingPolicy),
TxOutRef,
Validator (getValidator),
)
import PlutusLedgerApi.V1.Value (AssetClass)
import ScriptExport.API (runServer)
import ScriptExport.Options (parseOptions)
import ScriptExport.ScriptInfo (ScriptInfo, mkPolicyInfo, mkScriptInfo, mkValidatorInfo)
import ScriptExport.Types (Builders, insertBuilder)
import ScriptExport.Export
import ScriptExport.Types
main :: IO ()
main =
parseOptions >>= runServer revision builders
where
-- This encodes the git revision of the server. It's useful for the caller
-- to be able to ensure they are compatible with it.
revision :: Text
revision = $(gitBranch) <> "@" <> $(gitHash)
main = exportMain builders
{- | Builders for Agora scripts.
@since 0.2.0
-}
builders :: Builders
builders =
def
-- Agora scripts
& insertBuilder "governorPolicy" ((.governorPolicyInfo) . agoraScripts)
& insertBuilder "governorValidator" ((.governorValidatorInfo) . agoraScripts)
& insertBuilder "stakePolicy" ((.stakePolicyInfo) . agoraScripts)
& insertBuilder "stakeValidator" ((.stakeValidatorInfo) . agoraScripts)
& insertBuilder "proposalPolicy" ((.proposalPolicyInfo) . agoraScripts)
& insertBuilder "proposalValidator" ((.proposalValidatorInfo) . agoraScripts)
& insertBuilder "treasuryValidator" ((.treasuryValidatorInfo) . agoraScripts)
& insertBuilder "authorityTokenPolicy" ((.authorityTokenPolicyInfo) . agoraScripts)
-- Trivial scripts. These are useful for testing, but they likely aren't useful
-- to you if you are actually interested in deploying to mainnet.
& insertBuilder
"alwaysSucceedsPolicy"
(\() -> mkPolicyInfo $ plam $ \_ _ -> popaque (pconstant ()))
& insertBuilder
"alwaysSucceedsValidator"
(\() -> mkValidatorInfo $ plam $ \_ _ _ -> popaque (pconstant ()))
& insertBuilder
"neverSucceedsPolicy"
(\() -> mkPolicyInfo $ plam $ \_ _ -> perror)
& insertBuilder
"neverSucceedsValidator"
(\() -> mkValidatorInfo $ plam $ \_ _ _ -> perror)
-- Provided Effect scripts
& insertBuilder "treasuryWithdrawalEffect" ((.treasuryWithdrawalEffectInfo) . agoraScripts)
{- | Create scripts from params.
@since 0.2.0
-}
agoraScripts :: ScriptParams -> AgoraScripts
agoraScripts params =
AgoraScripts
{ governorPolicyInfo = mkPolicyInfo' scripts.compiledGovernorPolicy
, governorValidatorInfo = mkValidatorInfo' scripts.compiledGovernorValidator
, stakePolicyInfo = mkPolicyInfo' scripts.compiledStakePolicy
, stakeValidatorInfo = mkValidatorInfo' scripts.compiledStakeValidator
, proposalPolicyInfo = mkPolicyInfo' scripts.compiledProposalPolicy
, proposalValidatorInfo = mkValidatorInfo' scripts.compiledProposalValidator
, treasuryValidatorInfo = mkValidatorInfo' scripts.compiledTreasuryValidator
, authorityTokenPolicyInfo = mkPolicyInfo' scripts.compiledAuthorityTokenPolicy
, treasuryWithdrawalEffectInfo = mkValidatorInfo' scripts.compiledTreasuryWithdrawalEffect
}
where
governor =
Agora.Governor.Governor
params.governorInitialSpend
params.gtClassRef
params.maximumCosigners
scripts = Bootstrap.agoraScripts plutarchConfig governor
plutarchConfig :: Config
plutarchConfig = Config {tracingMode = if params.tracing then DoTracing else NoTracing}
{- | Params required for creating script export.
@since 1.0.0
-}
data ScriptParams = ScriptParams
{ governorInitialSpend :: TxOutRef
, gtClassRef :: Tagged GTTag AssetClass
, maximumCosigners :: Integer
, tracing :: Bool
}
deriving anyclass (Aeson.ToJSON, Aeson.FromJSON)
deriving stock (Show, Eq, GHC.Generic, Ord)
{- | Scripts that get exported.
@since 0.2.0
-}
data AgoraScripts = AgoraScripts
{ governorPolicyInfo :: ScriptInfo
, governorValidatorInfo :: ScriptInfo
, stakePolicyInfo :: ScriptInfo
, stakeValidatorInfo :: ScriptInfo
, proposalPolicyInfo :: ScriptInfo
, proposalValidatorInfo :: ScriptInfo
, treasuryValidatorInfo :: ScriptInfo
, authorityTokenPolicyInfo :: ScriptInfo
, treasuryWithdrawalEffectInfo :: ScriptInfo
}
deriving anyclass
( -- | @since 0.2.0
Aeson.ToJSON
, -- | @since 0.2.0
Aeson.FromJSON
)
deriving stock
( -- | @since 0.2.0
Show
, -- | @since 0.2.0
Eq
, -- | @since 0.2.0
GHC.Generic
)
{- | Turn a precompiled minting policy to a 'ScriptInfo'.
@since 0.2.0
-}
mkPolicyInfo' :: forall redeemer. CompiledMintingPolicy redeemer -> ScriptInfo
mkPolicyInfo' = mkScriptInfo . getMintingPolicy . (.getCompiledMintingPolicy)
{- | Turn a precompiled validator to a 'ScriptInfo'.
@since 0.2.0
-}
mkValidatorInfo' :: forall redeemer datum. CompiledValidator datum redeemer -> ScriptInfo
mkValidatorInfo' = mkScriptInfo . getValidator . (.getCompiledValidator)
mconcat
[ insertScriptExportWithLinker "agora" (Bootstrap.agoraScripts def) linker
]

View file

@ -0,0 +1,7 @@
{ "gstOutRef":
{"txOutRefId":"f28cd7145c24e66fd5bcd2796837aeb19a48a2656e7833c88c62a2d0450bd00d"
,"txOutRefIdx":0
}
,"gtClassRef":["da8c30857834c6ae7203935b89278c532b3995245295456f993e1d24","4c51"]
,"maximumCosigners":20
}

View file

@ -217,7 +217,7 @@ governorMintingProperty =
opaqueToUnit = plam $ \_ -> pconstant ()
actual :: Term s (PScriptContext :--> PUnit)
actual = plam $ \sc -> opaqueToUnit #$ governorPolicy governor.gstOutRef # pforgetData (pconstantData ()) # sc
actual = plam $ \sc -> opaqueToUnit #$ governorPolicy # pconstant governor.gstOutRef # pforgetData (pconstantData ()) # sc
classifier :: ScriptContext -> GovernorPolicyCases
classifier sc

View file

@ -13,14 +13,14 @@ module Sample.Effect.GovernorMutation (
import Agora.Effect.GovernorMutation (
MutateGovernorDatum (..),
mutateGovernorValidator,
)
import Agora.Governor (GovernorDatum (..), GovernorRedeemer (MutateGovernor))
import Agora.Proposal (ProposalId (..), ProposalThresholds (..))
import Agora.Utils (validatorHashToTokenName)
import Data.Default.Class (Default (def))
import Data.Map
import Data.Tagged (Tagged (..))
import Plutarch.Api.V2 (mkValidator, validatorHash)
import Plutarch.Api.V2 (validatorHash)
import PlutusLedgerApi.V1 qualified as Interval (always)
import PlutusLedgerApi.V1.Address (scriptHashAddress)
import PlutusLedgerApi.V1.Value (AssetClass, assetClass)
@ -38,14 +38,13 @@ import PlutusLedgerApi.V2 (
TxInfo (..),
TxOut (..),
TxOutRef (TxOutRef),
Validator,
Validator (Validator),
ValidatorHash (..),
)
import PlutusTx.AssocMap qualified as AssocMap
import Sample.Shared (
agoraScripts,
authorityTokenSymbol,
deterministicTracingConfing,
govAssetClass,
govValidatorAddress,
minAda,
@ -56,7 +55,7 @@ import Test.Util (datumPair, toDatumHash)
-- | The effect validator instance.
effectValidator :: Validator
effectValidator = mkValidator deterministicTracingConfing $ mutateGovernorValidator agoraScripts
effectValidator = Validator $ agoraScripts ! "agora:mutateGovernorValidator"
-- | The hash of the validator instance.
effectValidatorHash :: ValidatorHash

View file

@ -6,6 +6,7 @@ Description: Sample based testing for Treasury Withdrawal Effect
This module provides samples for Treasury Withdrawal Effect tests.
-}
module Sample.Effect.TreasuryWithdrawal (
validator,
inputTreasury,
inputUser,
inputGAT,
@ -21,9 +22,9 @@ module Sample.Effect.TreasuryWithdrawal (
import Agora.Effect.TreasuryWithdrawal (
TreasuryWithdrawalDatum (TreasuryWithdrawalDatum),
treasuryWithdrawalValidator,
)
import Plutarch.Api.V2 (mkValidator, validatorHash)
import Data.Map ((!))
import Plutarch.Api.V2 (validatorHash)
import PlutusLedgerApi.V1.Interval qualified as Interval (always)
import PlutusLedgerApi.V1.Value qualified as Value (singleton)
import PlutusLedgerApi.V2 (
@ -41,18 +42,18 @@ import PlutusLedgerApi.V2 (
TxInfo (..),
TxOut (..),
TxOutRef (TxOutRef),
Validator,
Validator (Validator),
ValidatorHash (ValidatorHash),
Value,
toBuiltinData,
)
import PlutusTx.AssocMap qualified as AssocMap
import Sample.Shared (deterministicTracingConfing)
import Sample.Shared (agoraScripts, authorityTokenSymbol)
import Test.Util (scriptCredentials, userCredentials)
-- | A sample Currency Symbol.
currSymbol :: CurrencySymbol
currSymbol = "9c04a69c7133e26061fe5a15adaf4f79cd51e47ef22a2e3c91a36f04"
currSymbol = authorityTokenSymbol
-- | A sample 'PubKeyHash'.
signer :: PubKeyHash
@ -147,7 +148,7 @@ buildReceiversOutputFromDatum (TreasuryWithdrawalDatum xs _) = f <$> xs
-- | Effect validator instance.
validator :: Validator
validator = mkValidator deterministicTracingConfing $ treasuryWithdrawalValidator currSymbol
validator = Validator $ agoraScripts ! "agora:treasuryWithdrawalValidator"
-- | 'TokenName' that represents the hash of the 'Agora.Stake.Stake' validator.
validatorHashTN :: TokenName

View file

@ -21,18 +21,20 @@ module Sample.Governor.Initialize (
import Agora.Bootstrap (agoraScripts)
import Agora.Governor (Governor (..), GovernorDatum (..))
import Agora.Linker (linker)
import Agora.Proposal (ProposalId (..), ProposalThresholds (..))
import Agora.Proposal.Time (
MaxTimeRangeWidth (MaxTimeRangeWidth),
ProposalTimingConfig (ProposalTimingConfig),
)
import Agora.Scripts (
AgoraScripts (compiledGovernorPolicy),
governorSTAssetClass,
governorSTSymbol,
governorValidatorHash,
)
import Data.Default (Default (..))
import Data.Map (Map, (!))
import Data.Text (Text)
import Optics (view)
import Plutarch.Api.V2 (
mintingPolicySymbol,
validatorHash,
)
import Plutarch.Context (
input,
mint,
@ -49,13 +51,18 @@ import PlutusLedgerApi.V1.Value (AssetClass (..))
import PlutusLedgerApi.V1.Value qualified as Value
import PlutusLedgerApi.V2 (
CurrencySymbol,
MintingPolicy (MintingPolicy),
Script,
TxOutRef (TxOutRef),
Validator (Validator),
ValidatorHash,
)
import Sample.Shared (
deterministicTracingConfing,
minAda,
)
import Sample.Shared qualified as Shared
import ScriptExport.ScriptInfo (runLinker)
import Test.Specification (SpecificationTree, testPolicy)
import Test.Util (CombinableBuilder, mkMinting, pubKeyHashes, sortValue)
@ -110,17 +117,31 @@ governor =
{ gstOutRef = witnessRef
}
scripts :: AgoraScripts
scripts = agoraScripts Shared.deterministicTracingConfing governor
scripts :: Map Text Script
scripts =
either
(error . show)
(view #scripts)
( runLinker
linker
(agoraScripts deterministicTracingConfing)
governor
)
govAssetClass :: AssetClass
govAssetClass = governorSTAssetClass scripts
govPolicy :: MintingPolicy
govPolicy = MintingPolicy $ scripts ! "agora:governorPolicy"
govValidatorHash :: ValidatorHash
govValidatorHash = governorValidatorHash scripts
govValidator :: Validator
govValidator = Validator $ scripts ! "agora:governorValidator"
govSymbol :: CurrencySymbol
govSymbol = governorSTSymbol scripts
govSymbol = mintingPolicySymbol govPolicy
govAssetClass :: AssetClass
govAssetClass = AssetClass (govSymbol, "")
govValidatorHash :: ValidatorHash
govValidatorHash = validatorHash govValidator
--------------------------------------------------------------------------------
@ -274,6 +295,6 @@ mkTestCase name ps valid =
testPolicy
valid
name
scripts.compiledGovernorPolicy
govPolicy
()
(mkMinting mintGST ps govSymbol)

View file

@ -16,13 +16,12 @@ module Sample.Governor.Mutate (
invalidBundles,
) where
import Agora.Effect.NoOp (noOpValidator)
import Agora.Governor (GovernorDatum (..), GovernorRedeemer (MutateGovernor))
import Agora.Proposal (ProposalId (ProposalId), ProposalThresholds (..))
import Agora.Scripts (AgoraScripts (..))
import Agora.Utils (scriptHashToTokenName)
import Data.Default (def)
import Plutarch.Api.V2 (PMintingPolicy, PValidator, mintingPolicySymbol, mkMintingPolicy, mkValidator, validatorHash)
import Data.Map ((!))
import Plutarch.Api.V2 (PMintingPolicy, mintingPolicySymbol, mkMintingPolicy, validatorHash)
import Plutarch.Context (
input,
mint,
@ -39,6 +38,7 @@ import PlutusLedgerApi.V2 (
Data,
ScriptHash (ScriptHash),
TxOutRef (TxOutRef),
Validator (Validator),
ValidatorHash,
Value,
toData,
@ -47,6 +47,7 @@ import Sample.Shared (
agoraScripts,
authorityTokenSymbol,
govAssetClass,
govValidator,
govValidatorHash,
minAda,
)
@ -171,11 +172,11 @@ mkGovernorBuilder ps =
--------------------------------------------------------------------------------
mockEffectValidator :: ClosedTerm PValidator
mockEffectValidator = noOpValidator authorityTokenSymbol
mockEffectValidator :: Validator
mockEffectValidator = Validator $ agoraScripts ! "agora:noOpValidator"
mockEffectValidatorHash :: ValidatorHash
mockEffectValidatorHash = validatorHash $ mkValidator def mockEffectValidator
mockEffectValidatorHash = validatorHash mockEffectValidator
mockAuthScript :: ClosedTerm PMintingPolicy
mockAuthScript = plam $ \_ _ -> popaque $ pcon PUnit
@ -236,7 +237,7 @@ mkTestCase name pb (Validity forGov) =
testValidator
forGov
name
agoraScripts.compiledGovernorValidator
govValidator
governorInputDatum
governorRedeemer
(mkSpending mutate pb governorRef)

View file

@ -63,7 +63,6 @@ import Agora.Proposal.Time (
votingTime
),
)
import Agora.Scripts (AgoraScripts (..))
import Agora.Stake (
StakeDatum (..),
)
@ -107,13 +106,15 @@ import Sample.Proposal.Shared (
stakeTxRef,
)
import Sample.Shared (
agoraScripts,
authorityTokenPolicy,
authorityTokenSymbol,
govAssetClass,
govValidator,
govValidatorHash,
governor,
minAda,
proposalPolicySymbol,
proposalValidator,
proposalValidatorHash,
signer,
stakeAssetClass,
@ -532,7 +533,7 @@ mkTestTree name pb val =
testValidator
val.forProposalValidator
"proposal"
agoraScripts.compiledProposalValidator
proposalValidator
proposalInputDatum
proposalRedeemer
(spend proposalRef)
@ -541,7 +542,7 @@ mkTestTree name pb val =
testValidator
(fromJust val.forGovernorValidator)
"governor"
agoraScripts.compiledGovernorValidator
govValidator
governorInputDatum
governorRedeemer
(spend governorRef)
@ -554,7 +555,7 @@ mkTestTree name pb val =
( testPolicy
(fromJust val.forAuthorityTokenPolicy)
"authority"
agoraScripts.compiledAuthorityTokenPolicy
authorityTokenPolicy
authorityTokenRedeemer
(mkMinting advance pb authorityTokenSymbol)
)

View file

@ -39,7 +39,6 @@ import Agora.Proposal.Time (
ProposalTimingConfig (draftTime),
)
import Agora.SafeMoney (GTTag)
import Agora.Scripts (AgoraScripts (..))
import Agora.Stake (
ProposalLock (Cosigned, Created),
StakeDatum (..),
@ -74,13 +73,14 @@ import PlutusLedgerApi.V2 (
)
import Sample.Proposal.Shared (proposalTxRef, stakeTxRef)
import Sample.Shared (
agoraScripts,
fromDiscrete,
governor,
minAda,
proposalPolicySymbol,
proposalValidator,
proposalValidatorHash,
stakeAssetClass,
stakeValidator,
stakeValidatorHash,
)
import Test.Specification (
@ -333,7 +333,7 @@ mkTestTree name ps val =
testValidator
val.forProposalValidator
"proposal"
agoraScripts.compiledProposalValidator
proposalValidator
(mkProposalInputDatum ps)
proposalRedeemer
(spend proposalRef)
@ -342,7 +342,7 @@ mkTestTree name ps val =
testValidator
val.forStakeValidator
"stake"
agoraScripts.compiledStakeValidator
stakeValidator
(mkStakeInputDatum ps)
stakeRedeemer
(spend stakeRef)

View file

@ -39,7 +39,6 @@ import Agora.Proposal.Time (
ProposalStartingTime (..),
)
import Agora.SafeMoney (GTTag)
import Agora.Scripts (AgoraScripts (..))
import Agora.Stake (
ProposalLock (..),
StakeDatum (..),
@ -72,18 +71,20 @@ import PlutusLedgerApi.V2 (
)
import Sample.Proposal.Shared (stakeTxRef)
import Sample.Shared (
agoraScripts,
fromDiscrete,
govAssetClass,
govValidator,
govValidatorHash,
governor,
minAda,
proposalPolicy,
proposalPolicySymbol,
proposalStartingTimeFromTimeRange,
proposalValidatorHash,
signer,
signer2,
stakeAssetClass,
stakeValidator,
stakeValidatorHash,
)
import Test.Specification (SpecificationTree, group, testPolicy, testValidator)
@ -457,7 +458,7 @@ mkTestTree
testPolicy
validForProposalPolicy
"proposal"
agoraScripts.compiledProposalPolicy
proposalPolicy
proposalPolicyRedeemer
(mint proposalPolicySymbol)
@ -465,7 +466,7 @@ mkTestTree
testValidator
validForGovernorValidator
"governor"
agoraScripts.compiledGovernorValidator
govValidator
governorInputDatum
governorRedeemer
(spend governorRef)
@ -474,7 +475,7 @@ mkTestTree
testValidator
validForStakeValidator
"stake"
agoraScripts.compiledStakeValidator
stakeValidator
(mkStakeInputDatum ps)
stakeRedeemer
(spend stakeRef)

View file

@ -41,7 +41,6 @@ import Agora.Proposal (
ResultTag (..),
)
import Agora.Proposal.Time (ProposalStartingTime (ProposalStartingTime), ProposalTimingConfig (..))
import Agora.Scripts (AgoraScripts (..))
import Agora.Stake (
ProposalLock (..),
StakeDatum (..),
@ -72,12 +71,13 @@ import PlutusLedgerApi.V2 (
)
import Sample.Proposal.Shared (stakeTxRef)
import Sample.Shared (
agoraScripts,
governor,
minAda,
proposalPolicySymbol,
proposalValidator,
proposalValidatorHash,
stakeAssetClass,
stakeValidator,
stakeValidatorHash,
)
import Test.Specification (SpecificationTree, group, testValidator)
@ -379,7 +379,7 @@ mkTestTree name ps val = group name [stake, proposal]
testValidator
val.forStakeValidator
"stake"
agoraScripts.compiledStakeValidator
stakeValidator
(mkStakeInputDatum ps.stakeParameters)
stakeRedeemer
(spend $ mkStakeRef 1)
@ -388,7 +388,7 @@ mkTestTree name ps val = group name [stake, proposal]
testValidator
val.forProposalValidator
"proposal"
agoraScripts.compiledProposalValidator
proposalValidator
(mkProposalInputDatum ps.stakeParameters ps.proposalParameters)
proposalRedeemer
(spend proposalRef)

View file

@ -42,7 +42,6 @@ import Agora.Proposal.Time (
ProposalStartingTime (ProposalStartingTime),
ProposalTimingConfig (draftTime, votingTime),
)
import Agora.Scripts (AgoraScripts (..))
import Agora.Stake (
ProposalLock (Voted),
StakeDatum (..),
@ -70,12 +69,13 @@ import PlutusLedgerApi.V2 (Credential (PubKeyCredential), PubKeyHash)
import PlutusLedgerApi.V2.Contexts (TxOutRef (TxOutRef))
import Sample.Proposal.Shared (proposalTxRef)
import Sample.Shared (
agoraScripts,
governor,
minAda,
proposalPolicySymbol,
proposalValidator,
proposalValidatorHash,
stakeAssetClass,
stakeValidator,
stakeValidatorHash,
)
import Test.Specification (SpecificationTree, group, testValidator)
@ -385,7 +385,7 @@ mkTestTree name ps val = group name $ catMaybes [proposal, stake]
testValidator
val.forProposalValidator
"proposal"
agoraScripts.compiledProposalValidator
proposalValidator
proposalInputDatum
(mkProposalRedeemer ps.voteParameters)
(spend $ mkProposalRef 1)
@ -399,7 +399,7 @@ mkTestTree name ps val = group name $ catMaybes [proposal, stake]
testValidator
val.forStakeValidator
"stake"
agoraScripts.compiledStakeValidator
stakeValidator
(mkStakeInputDatum ps.stakeParameters.stakeInputParameters)
(mkStakeRedeemer ps.stakeParameters.stakeOutputParameters)
(spend stakeRef)

View file

@ -13,7 +13,6 @@ module Sample.Shared (
signer2,
minAda,
deterministicTracingConfing,
mkEffect,
mkRedeemer,
fromDiscrete,
@ -24,6 +23,8 @@ module Sample.Shared (
-- ** Stake
stakeAssetClass,
stakePolicy,
stakeValidator,
stakeValidatorHash,
stakeAddress,
stakeSymbol,
@ -39,12 +40,15 @@ module Sample.Shared (
gstUTXORef,
-- ** Proposal
proposalPolicy,
proposalPolicySymbol,
proposalValidator,
proposalValidatorHash,
proposalValidatorAddress,
proposalStartingTimeFromTimeRange,
-- ** Authority
authorityTokenPolicy,
authorityTokenSymbol,
-- ** Treasury
@ -53,42 +57,37 @@ module Sample.Shared (
gatCs,
mockTrEffect,
mockTrEffectHash,
trValidator,
trCredential,
wrongEffHash,
) where
import Agora.Bootstrap qualified as Bootstrap
import Agora.Effect.NoOp (noOpValidator)
import Agora.Governor (Governor (Governor))
import Agora.Linker (linker)
import Agora.Proposal (ProposalThresholds (..))
import Agora.Proposal.Time (
MaxTimeRangeWidth (..),
ProposalStartingTime (ProposalStartingTime),
ProposalTimingConfig (..),
)
import Agora.Scripts qualified as Scripts
import Agora.Treasury (treasuryValidator)
import Agora.Utils (
CompiledEffect (CompiledEffect),
CompiledMintingPolicy (getCompiledMintingPolicy),
CompiledValidator (getCompiledValidator),
validatorHashToTokenName,
)
import Data.Coerce (coerce)
import Data.Default.Class (Default (..))
import Data.Map (Map, (!))
import Data.Tagged (Tagged (..))
import Data.Text (Text)
import Optics (view)
import Plutarch (Config (..), TracingMode (DetTracing))
import Plutarch.Api.V2 (
PValidator,
mintingPolicySymbol,
mkValidator,
validatorHash,
)
import Plutarch.SafeMoney (Discrete (Discrete))
import PlutusLedgerApi.V1.Address (scriptHashAddress)
import PlutusLedgerApi.V1.Contexts (TxOut (..))
import PlutusLedgerApi.V1.Scripts (Validator, ValidatorHash (..))
import PlutusLedgerApi.V1.Value (AssetClass, TokenName)
import PlutusLedgerApi.V1.Value (AssetClass (AssetClass), TokenName, Value)
import PlutusLedgerApi.V1.Value qualified as Value (
assetClass,
singleton,
@ -101,15 +100,26 @@ import PlutusLedgerApi.V2 (
Interval (..),
LowerBound (..),
MintingPolicy (..),
OutputDatum (NoOutputDatum),
POSIXTimeRange,
PubKeyHash,
Redeemer (..),
Script,
ToData (toBuiltinData),
TxOut (
TxOut,
txOutAddress,
txOutDatum,
txOutReferenceScript,
txOutValue
),
TxOutRef (TxOutRef),
UpperBound (..),
Value,
Validator (Validator),
ValidatorHash (ValidatorHash),
)
import PlutusTx qualified
import ScriptExport.ScriptInfo (runLinker)
-- Plutarch compiler configauration.
-- TODO: add the ability to change this value. Maybe wrap everything in a
@ -128,17 +138,31 @@ governor = Governor oref gt mc
"LQ"
mc = 20
agoraScripts :: Scripts.AgoraScripts
agoraScripts = Bootstrap.agoraScripts deterministicTracingConfing governor
agoraScripts :: Map Text Script
agoraScripts =
either
(error . show)
(view #scripts)
( runLinker
linker
(Bootstrap.agoraScripts deterministicTracingConfing)
governor
)
stakePolicy :: MintingPolicy
stakePolicy = MintingPolicy $ agoraScripts ! "agora:stakePolicy"
stakeSymbol :: CurrencySymbol
stakeSymbol = Scripts.stakeSTSymbol agoraScripts
stakeSymbol = mintingPolicySymbol stakePolicy
stakeAssetClass :: AssetClass
stakeAssetClass = Scripts.stakeSTAssetClass agoraScripts
stakeAssetClass = AssetClass (stakeSymbol, validatorHashToTokenName stakeValidatorHash)
stakeValidator :: Validator
stakeValidator = Validator $ agoraScripts ! "agora:stakeValidator"
stakeValidatorHash :: ValidatorHash
stakeValidatorHash = Scripts.stakeValidatorHash agoraScripts
stakeValidatorHash = validatorHash stakeValidator
stakeAddress :: Address
stakeAddress = Address (ScriptCredential stakeValidatorHash) Nothing
@ -147,25 +171,28 @@ gstUTXORef :: TxOutRef
gstUTXORef = TxOutRef "f28cd7145c24e66fd5bcd2796837aeb19a48a2656e7833c88c62a2d0450bd00d" 0
govPolicy :: MintingPolicy
govPolicy = agoraScripts.compiledGovernorPolicy.getCompiledMintingPolicy
govPolicy = MintingPolicy $ agoraScripts ! "agora:governorPolicy"
govValidator :: Validator
govValidator = agoraScripts.compiledGovernorValidator.getCompiledValidator
govValidator = Validator $ agoraScripts ! "agora:governorValidator"
govSymbol :: CurrencySymbol
govSymbol = mintingPolicySymbol govPolicy
govAssetClass :: AssetClass
govAssetClass = Scripts.governorSTAssetClass agoraScripts
govAssetClass = AssetClass (govSymbol, "")
govValidatorHash :: ValidatorHash
govValidatorHash = Scripts.governorValidatorHash agoraScripts
govValidatorHash = validatorHash govValidator
govValidatorAddress :: Address
govValidatorAddress = scriptHashAddress govValidatorHash
proposalPolicy :: MintingPolicy
proposalPolicy = MintingPolicy $ agoraScripts ! "agora:proposalPolicy"
proposalPolicySymbol :: CurrencySymbol
proposalPolicySymbol = Scripts.proposalSTSymbol agoraScripts
proposalPolicySymbol = mintingPolicySymbol proposalPolicy
-- | A sample 'PubKeyHash'.
signer :: PubKeyHash
@ -175,8 +202,11 @@ signer = "8a30896c4fd5e79843e4ca1bd2cdbaa36f8c0bc3be7401214142019c"
signer2 :: PubKeyHash
signer2 = "8a30896c4fd5e79843e4ca1bd2cdbaa36f8c0bc3be74012141420192"
proposalValidator :: Validator
proposalValidator = Validator $ agoraScripts ! "agora:proposalValidator"
proposalValidatorHash :: ValidatorHash
proposalValidatorHash = Scripts.proposalValidatoHash agoraScripts
proposalValidatorHash = validatorHash proposalValidator
proposalValidatorAddress :: Address
proposalValidatorAddress = scriptHashAddress proposalValidatorHash
@ -194,8 +224,11 @@ instance Default ProposalThresholds where
, cosign = Tagged 100
}
authorityTokenPolicy :: MintingPolicy
authorityTokenPolicy = MintingPolicy $ agoraScripts ! "agora:authorityTokenPolicy"
authorityTokenSymbol :: CurrencySymbol
authorityTokenSymbol = Scripts.authorityTokenSymbol agoraScripts
authorityTokenSymbol = mintingPolicySymbol authorityTokenPolicy
{- | Default value of 'Agora.Governor.GovernorDatum.proposalTimings'.
For testing purpose only.
@ -224,9 +257,6 @@ proposalStartingTimeFromTimeRange
ProposalStartingTime $ (l + u) `div` 2
proposalStartingTimeFromTimeRange _ = error "Given time range should be finite and closed"
mkEffect :: (PlutusTx.ToData datum) => ClosedTerm PValidator -> CompiledEffect datum
mkEffect v = CompiledEffect $ mkValidator deterministicTracingConfing v
mkRedeemer :: forall redeemer. PlutusTx.ToData redeemer => redeemer -> Redeemer
mkRedeemer = Redeemer . toBuiltinData
@ -240,17 +270,18 @@ treasuryOut =
TxOut
{ txOutAddress = Address trCredential Nothing
, txOutValue = minAda
, txOutDatumHash = Nothing
, txOutDatum = NoOutputDatum
, txOutReferenceScript = Nothing
}
{- | Arbitrary 'CurrencySymbol', representing the 'CurrencySymbol'
of a valid governance authority token (GAT).
-}
gatCs :: CurrencySymbol
gatCs = "73475cb40a568e8da8a045ced110137e159f890ac4da883b6b17dc651b3a8049"
gatCs = authorityTokenSymbol
trValidator :: Validator
trValidator = mkValidator def (treasuryValidator gatCs)
trValidator = Validator $ agoraScripts ! "agora:treasuryValidator"
-- | `ScriptCredential` used for the dummy treasury validator.
trCredential :: Credential
@ -262,7 +293,7 @@ gatTn = validatorHashToTokenName $ validatorHash mockTrEffect
-- | Mock treasury effect script, used for testing.
mockTrEffect :: Validator
mockTrEffect = mkValidator def $ noOpValidator gatCs
mockTrEffect = Validator $ agoraScripts ! "agora:noOpValidator"
-- | Mock treasury effect validator hash
mockTrEffectHash :: ValidatorHash

View file

@ -20,7 +20,6 @@ module Sample.Stake.SetDelegate (
) where
import Agora.Governor (Governor (gtClassRef))
import Agora.Scripts (AgoraScripts (..))
import Agora.Stake (
StakeDatum (..),
StakeRedeemer (ClearDelegate, DelegateTo),
@ -47,13 +46,13 @@ import PlutusLedgerApi.V2 (
TxOutRef (TxOutRef),
)
import Sample.Shared (
agoraScripts,
fromDiscrete,
governor,
minAda,
signer,
signer2,
stakeAssetClass,
stakeValidator,
stakeValidatorHash,
)
import Test.Specification (SpecificationTree, testValidator)
@ -159,7 +158,7 @@ mkTestCase name ps valid =
testValidator
valid
name
agoraScripts.compiledStakeValidator
stakeValidator
(mkStakeInputDatum ps)
(mkStakeRedeemer ps)
(setDelegate ps)

View file

@ -1,20 +1,19 @@
module Spec.Effect.GovernorMutation (specs) where
import Agora.Effect.GovernorMutation (mutateGovernorValidator)
import Agora.Governor (GovernorDatum (..), GovernorRedeemer (MutateGovernor))
import Agora.Proposal (ProposalId (..))
import Agora.Scripts (AgoraScripts (..))
import Data.Default.Class (Default (def))
import PlutusLedgerApi.V2 (ScriptContext (ScriptContext), ScriptPurpose (Spending))
import Sample.Effect.GovernorMutation (
effectRef,
effectValidator,
govRef,
invalidNewGovernorDatum,
mkEffectDatum,
mkEffectTxInfo,
validNewGovernorDatum,
)
import Sample.Shared (agoraScripts, mkEffect)
import Sample.Shared (govValidator)
import Test.Specification (
SpecificationTree,
effectFailsWith,
@ -32,7 +31,7 @@ specs =
"valid new governor datum"
[ validatorSucceedsWith
"governor validator should pass"
agoraScripts.compiledGovernorValidator
govValidator
( GovernorDatum
def
(ProposalId 0)
@ -47,7 +46,7 @@ specs =
)
, effectSucceedsWith
"effect validator should pass"
(mkEffect $ mutateGovernorValidator agoraScripts)
effectValidator
(mkEffectDatum validNewGovernorDatum)
(ScriptContext (mkEffectTxInfo validNewGovernorDatum) (Spending effectRef))
]
@ -55,7 +54,7 @@ specs =
"invalid new governor datum"
[ validatorFailsWith
"governor validator should fail"
agoraScripts.compiledGovernorValidator
govValidator
( GovernorDatum
def
(ProposalId 0)
@ -70,7 +69,7 @@ specs =
)
, effectFailsWith
"effect validator should fail"
(mkEffect $ mutateGovernorValidator agoraScripts)
effectValidator
(mkEffectDatum validNewGovernorDatum)
(ScriptContext (mkEffectTxInfo invalidNewGovernorDatum) (Spending effectRef))
]

View file

@ -9,13 +9,11 @@ module Spec.Effect.TreasuryWithdrawal (specs) where
import Agora.Effect.TreasuryWithdrawal (
TreasuryWithdrawalDatum (TreasuryWithdrawalDatum),
treasuryWithdrawalValidator,
)
import PlutusLedgerApi.V1.Value qualified as Value
import Sample.Effect.TreasuryWithdrawal (
buildReceiversOutputFromDatum,
buildScriptContext,
currSymbol,
inputCollateral,
inputGAT,
inputTreasury,
@ -24,8 +22,8 @@ import Sample.Effect.TreasuryWithdrawal (
outputUser,
treasuries,
users,
validator,
)
import Sample.Shared (mkEffect)
import Test.Specification (
SpecificationTree,
effectFailsWith,
@ -40,7 +38,7 @@ specs =
"effect"
[ effectSucceedsWith
"Simple"
(mkEffect $ treasuryWithdrawalValidator currSymbol)
validator
datum1
( buildScriptContext
[ inputGAT
@ -52,7 +50,7 @@ specs =
)
, effectSucceedsWith
"Simple with multiple treasuries "
(mkEffect $ treasuryWithdrawalValidator currSymbol)
validator
datum1
( buildScriptContext
[ inputGAT
@ -69,7 +67,7 @@ specs =
)
, effectSucceedsWith
"Mixed Assets"
(mkEffect $ treasuryWithdrawalValidator currSymbol)
validator
datum2
( buildScriptContext
[ inputGAT
@ -84,7 +82,7 @@ specs =
)
, effectFailsWith
"Pay to uknown 3rd party"
(mkEffect $ treasuryWithdrawalValidator currSymbol)
validator
datum2
( buildScriptContext
[ inputGAT
@ -100,7 +98,7 @@ specs =
)
, effectFailsWith
"Missing receiver"
(mkEffect $ treasuryWithdrawalValidator currSymbol)
validator
datum2
( buildScriptContext
[ inputGAT
@ -115,7 +113,7 @@ specs =
)
, effectFailsWith
"Unauthorized treasury"
(mkEffect $ treasuryWithdrawalValidator currSymbol)
validator
datum3
( buildScriptContext
[ inputGAT
@ -127,7 +125,7 @@ specs =
)
, effectFailsWith
"Prevent transactions besides the withdrawal"
(mkEffect $ treasuryWithdrawalValidator currSymbol)
validator
datum3
( buildScriptContext
[ inputGAT

View file

@ -9,7 +9,6 @@ Tests for Stake policy and validator
-}
module Spec.Stake (specs) where
import Agora.Scripts (AgoraScripts (..))
import Agora.Stake (
StakeDatum (StakeDatum),
StakeRedeemer (DepositWithdraw),
@ -17,7 +16,7 @@ import Agora.Stake (
import Data.Bool (Bool (..))
import Data.Maybe (Maybe (..))
import PlutusLedgerApi.V1 (Credential (PubKeyCredential))
import Sample.Shared (agoraScripts)
import Sample.Shared (stakePolicy, stakeValidator)
import Sample.Stake (
DepositWithdrawExample (
DepositWithdrawExample,
@ -50,17 +49,17 @@ specs =
"policy"
[ policySucceedsWith
"stakeCreation"
agoraScripts.compiledStakePolicy
stakePolicy
()
Stake.stakeCreation
, policyFailsWith
"stakeCreationWrongDatum"
agoraScripts.compiledStakePolicy
stakePolicy
()
Stake.stakeCreationWrongDatum
, policyFailsWith
"stakeCreationUnsigned"
agoraScripts.compiledStakePolicy
stakePolicy
()
Stake.stakeCreationUnsigned
]
@ -68,19 +67,19 @@ specs =
"validator"
[ validatorSucceedsWith
"stakeDepositWithdraw deposit"
agoraScripts.compiledStakeValidator
stakeValidator
(StakeDatum 100_000 (PubKeyCredential signer) Nothing [])
(DepositWithdraw 100_000)
(Stake.stakeDepositWithdraw $ DepositWithdrawExample {startAmount = 100_000, delta = 100_000})
, validatorSucceedsWith
"stakeDepositWithdraw withdraw"
agoraScripts.compiledStakeValidator
stakeValidator
(StakeDatum 100_000 (PubKeyCredential signer) Nothing [])
(DepositWithdraw $ negate 100_000)
(Stake.stakeDepositWithdraw $ DepositWithdrawExample {startAmount = 100_000, delta = negate 100_000})
, validatorFailsWith
"stakeDepositWithdraw negative GT"
agoraScripts.compiledStakeValidator
stakeValidator
(StakeDatum 100_000 (PubKeyCredential signer) Nothing [])
(DepositWithdraw 1_000_000)
(Stake.stakeDepositWithdraw $ DepositWithdrawExample {startAmount = 100_000, delta = negate 1_000_000})

View file

@ -21,22 +21,17 @@ Tests need to fail when:
-}
module Spec.Treasury (specs) where
import Agora.Treasury (
treasuryValidator,
)
import Agora.Utils (CompiledValidator (CompiledValidator))
import Plutarch.Api.V2 (mkValidator)
import PlutusLedgerApi.V1.Credential (
StakingCredential (StakingHash),
)
import PlutusLedgerApi.V1.Value qualified as Value (singleton)
import PlutusLedgerApi.V2 (DCert (DCertDelegRegKey))
import PlutusLedgerApi.V2 (DCert (DCertDelegRegKey), Validator)
import PlutusLedgerApi.V2.Contexts (
ScriptContext (scriptContextPurpose, scriptContextTxInfo),
ScriptPurpose (Certifying, Minting, Rewarding),
TxInfo (txInfoInputs, txInfoMint),
)
import Sample.Shared (deterministicTracingConfing, trCredential)
import Sample.Shared (trCredential, trValidator)
import Sample.Treasury (
gatCs,
gatTn,
@ -51,11 +46,8 @@ import Test.Specification (
validatorSucceedsWith,
)
compiledTreasuryValidator :: CompiledValidator () ()
compiledTreasuryValidator =
CompiledValidator $
mkValidator deterministicTracingConfing $
treasuryValidator gatCs
compiledTreasuryValidator :: Validator
compiledTreasuryValidator = trValidator
specs :: [SpecificationTree]
specs =

View file

@ -49,26 +49,23 @@ module Test.Specification (
toTestTree,
) where
import Agora.Utils (
CompiledEffect (..),
CompiledMintingPolicy (..),
CompiledValidator (..),
)
import Control.Composition ((.**), (.***))
import Data.Coerce (coerce)
import Data.Text qualified as Text
import Plutarch.Evaluate (evalScript)
import PlutusLedgerApi.V1.Scripts (
Context (..),
Context (Context),
applyMintingPolicyScript,
applyValidator,
)
import PlutusLedgerApi.V2 (
Datum (..),
MintingPolicy,
Redeemer (Redeemer),
Script,
ScriptContext,
ToData (toBuiltinData),
Validator,
)
import PlutusTx.IsData qualified as PlutusTx (ToData)
import Test.Tasty (TestTree, testGroup)
@ -191,21 +188,21 @@ mkDatum = Datum . toBuiltinData
applyMintingPolicy' ::
(PlutusTx.ToData redeemer) =>
CompiledMintingPolicy redeemer ->
MintingPolicy ->
redeemer ->
ScriptContext ->
Script
applyMintingPolicy' policy redeemer scriptContext =
applyMintingPolicyScript
(mkContext scriptContext)
policy.getCompiledMintingPolicy
policy
(mkRedeemer redeemer)
applyValidator' ::
( PlutusTx.ToData datum
, PlutusTx.ToData redeemer
) =>
CompiledValidator datum redeemer ->
Validator ->
datum ->
redeemer ->
ScriptContext ->
@ -213,7 +210,7 @@ applyValidator' ::
applyValidator' validator datum redeemer scriptContext =
applyValidator
(mkContext scriptContext)
validator.getCompiledValidator
validator
(mkDatum datum)
(mkRedeemer redeemer)
@ -221,7 +218,7 @@ applyValidator' validator datum redeemer scriptContext =
policySucceedsWith ::
(PlutusTx.ToData redeemer) =>
String ->
CompiledMintingPolicy redeemer ->
MintingPolicy ->
redeemer ->
ScriptContext ->
SpecificationTree
@ -232,7 +229,7 @@ policySucceedsWith tag =
policyFailsWith ::
(PlutusTx.ToData redeemer) =>
String ->
CompiledMintingPolicy redeemer ->
MintingPolicy ->
redeemer ->
ScriptContext ->
SpecificationTree
@ -245,7 +242,7 @@ validatorSucceedsWith ::
, PlutusTx.ToData redeemer
) =>
String ->
CompiledValidator datum redeemer ->
Validator ->
datum ->
redeemer ->
ScriptContext ->
@ -259,7 +256,7 @@ validatorFailsWith ::
, PlutusTx.ToData redeemer
) =>
String ->
CompiledValidator datum redeemer ->
Validator ->
datum ->
redeemer ->
ScriptContext ->
@ -272,7 +269,7 @@ effectSucceedsWith ::
( PlutusTx.ToData datum
) =>
String ->
CompiledEffect datum ->
Validator ->
datum ->
ScriptContext ->
SpecificationTree
@ -283,7 +280,7 @@ effectFailsWith ::
( PlutusTx.ToData datum
) =>
String ->
CompiledEffect datum ->
Validator ->
datum ->
ScriptContext ->
SpecificationTree
@ -296,7 +293,7 @@ testValidator ::
-- | Is this test case expected to succeed?
Bool ->
String ->
CompiledValidator datum redeemer ->
Validator ->
datum ->
redeemer ->
ScriptContext ->
@ -313,7 +310,7 @@ testPolicy ::
-- | Is this test case expected to succeed?
Bool ->
String ->
CompiledMintingPolicy redeemer ->
MintingPolicy ->
redeemer ->
ScriptContext ->
SpecificationTree

View file

@ -18,10 +18,6 @@ common lang
-Wmissing-deriving-strategies -Wno-name-shadowing -Wunused-foralls
-fprint-explicit-foralls -fprint-explicit-kinds -Wunused-do-bind
mixins:
base hiding (Prelude),
pprelude (PPrelude as Prelude)
default-extensions:
NoStarIsType
BangPatterns
@ -90,7 +86,7 @@ common deps
build-depends:
, aeson
, ansi-terminal
, base >=4.14 && <5
, base >=4.14 && <5
, base-compat
, base16
, bytestring
@ -100,16 +96,20 @@ common deps
, containers
, data-default
, data-default-class
, filepath
, generics-sop
, liqwid-plutarch-extra
, liqwid-script-export
, optics
, plutarch
, plutarch-extra
, plutarch-numeric
, plutarch-safe-money
, plutarch-script-export
, plutus-core
, plutus-ledger-api
, plutus-tx
, ply-core
, ply-plutarch
, pprelude
, prettyprinter
, recursion-schemes
@ -118,7 +118,10 @@ common deps
, template-haskell
, text
common plutarch-prelude
mixins:
base hiding (Prelude),
pprelude (PPrelude as Prelude)
common test-deps
build-depends:
@ -142,7 +145,7 @@ common exe-opts
ghc-options: -threaded -rtsopts -with-rtsopts=-N -O0
library
import: lang, deps
import: lang, deps, plutarch-prelude
exposed-modules:
Agora.Aeson.Orphans
Agora.AuthorityToken
@ -154,12 +157,12 @@ library
Agora.Effect.TreasuryWithdrawal
Agora.Governor
Agora.Governor.Scripts
Agora.Linker
Agora.Plutarch.Orphans
Agora.Proposal
Agora.Proposal.Scripts
Agora.Proposal.Time
Agora.SafeMoney
Agora.Scripts
Agora.Stake
Agora.Stake.Redeemers
Agora.Stake.Scripts
@ -178,7 +181,7 @@ library pprelude
, plutarch
library agora-testlib
import: lang, deps, test-deps
import: lang, deps, plutarch-prelude, test-deps
exposed-modules:
Test.Specification
Test.Util
@ -186,7 +189,7 @@ library agora-testlib
hs-source-dirs: agora-testlib
library agora-specs
import: lang, deps, test-deps
import: lang, deps, plutarch-prelude, test-deps
exposed-modules:
Property.Generator
Property.Governor
@ -217,7 +220,7 @@ library agora-specs
build-depends: agora-testlib
test-suite agora-test
import: lang, deps, test-deps
import: lang, deps, plutarch-prelude, test-deps
type: exitcode-stdio-1.0
main-is: Spec.hs
hs-source-dirs: agora-test
@ -226,7 +229,7 @@ test-suite agora-test
, agora-testlib
benchmark agora-bench
import: lang, deps
import: lang, deps, plutarch-prelude
hs-source-dirs: agora-bench
main-is: Main.hs
other-modules:
@ -248,11 +251,14 @@ executable agora-scripts
hs-source-dirs: agora-scripts
other-modules:
build-depends:
, aeson-pretty
, agora
, gitrev
mixins: base
executable agora-purescript-bridge
import: lang, deps, exe-opts
import: lang, deps, plutarch-prelude, exe-opts
main-is: Bridge.hs
hs-source-dirs: agora-purescript-bridge
other-modules:

View file

@ -9,7 +9,6 @@ module Agora.AuthorityToken (
authorityTokenPolicy,
authorityTokensValidIn,
singleAuthorityTokenBurned,
AuthorityToken (..),
) where
import Plutarch.Api.V1 (
@ -29,34 +28,13 @@ import Plutarch.Api.V2 (
PTxInfo (PTxInfo),
PTxOut (PTxOut),
)
import Plutarch.Extra.AssetClass (passetClass, passetClassValueOf)
import Plutarch.Extra.AssetClass (PAssetClass, passetClass, passetClassValueOf)
import "liqwid-plutarch-extra" Plutarch.Extra.List (plookupAssoc)
import Plutarch.Extra.ScriptContext (pisTokenSpent)
import Plutarch.Extra.Sum (PSum (PSum))
import "liqwid-plutarch-extra" Plutarch.Extra.TermCont (pguardC, pletC, pletFieldsC, pmatchC)
import Plutarch.Extra.Traversable (pfoldMap)
import Plutarch.Extra.Value (psymbolValueOf)
import PlutusLedgerApi.V1.Value (AssetClass (AssetClass))
--------------------------------------------------------------------------------
{- | An AuthorityToken represents a proof that a particular token
spent in the same transaction the AuthorityToken was minted.
In effect, this means that the validator that locked such a token
must have approved the transaction in which an AuthorityToken is minted.
Said validator should be made aware of an AuthorityToken token's existence
in order to prevent incorrect minting.
@since 0.1.0
-}
newtype AuthorityToken = AuthorityToken
{ authority :: AssetClass
-- ^ Token that must move in order for minting this to be valid.
}
deriving stock
( -- | @since 0.1.0
Generic
)
--------------------------------------------------------------------------------
@ -72,7 +50,7 @@ newtype AuthorityToken = AuthorityToken
As of version 1.0.0, this has been weakened in order to be compatible
with RATs.
@since 0.1.0
@since 1.0.0
-}
authorityTokensValidIn :: forall (s :: S). Term s (PCurrencySymbol :--> PTxOut :--> PBool)
authorityTokensValidIn = phoistAcyclic $
@ -143,20 +121,27 @@ singleAuthorityTokenBurned gatCs inputs mint = unTermCont $ do
{- | Policy given 'AuthorityToken' params.
== Authority Token
An AuthorityToken represents a proof that a particular token
spent in the same transaction the AuthorityToken was minted.
In effect, this means that the validator that locked such a token
must have approved the transaction in which an AuthorityToken is minted.
Said validator should be made aware of an AuthorityToken token's existence
in order to prevent incorrect minting.
@since 0.1.0
-}
authorityTokenPolicy :: AuthorityToken -> ClosedTerm PMintingPolicy
authorityTokenPolicy params =
plam $ \_redeemer ctx' ->
authorityTokenPolicy :: ClosedTerm (PAssetClass :--> PMintingPolicy)
authorityTokenPolicy =
plam $ \atAssetClass _redeemer ctx' ->
pmatch ctx' $ \(PScriptContext ctx') -> unTermCont $ do
ctx <- pletFieldsC @'["txInfo", "purpose"] ctx'
PTxInfo txInfo' <- pmatchC $ pfromData ctx.txInfo
txInfo <- pletFieldsC @'["inputs", "mint", "outputs"] txInfo'
let inputs = txInfo.inputs
mintedValue = pfromData txInfo.mint
AssetClass (govCs, govTn) = params.authority
govAc = passetClass # pconstant govCs # pconstant govTn
govTokenSpent = pisTokenSpent # govAc # inputs
govTokenSpent = pisTokenSpent # atAssetClass # inputs
PMinting ownSymbol' <- pmatchC $ pfromData ctx.purpose

View file

@ -6,66 +6,52 @@
-}
module Agora.Bootstrap (agoraScripts) where
import Agora.AuthorityToken (AuthorityToken (AuthorityToken), authorityTokenPolicy)
import Agora.AuthorityToken (authorityTokenPolicy)
import Agora.Effect.GovernorMutation (mutateGovernorValidator)
import Agora.Effect.NoOp (noOpValidator)
import Agora.Effect.TreasuryWithdrawal (treasuryWithdrawalValidator)
import Agora.Governor (Governor, gstOutRef, gtClassRef, maximumCosigners)
import Agora.Governor.Scripts (governorPolicy, governorValidator)
import Agora.Proposal.Scripts (proposalPolicy, proposalValidator)
import Agora.Scripts (AgoraScripts (AgoraScripts))
import Agora.Scripts qualified as Scripts
import Agora.Stake.Scripts (stakePolicy, stakeValidator)
import Agora.Treasury (treasuryValidator)
import Agora.Utils (
CompiledMintingPolicy (CompiledMintingPolicy),
CompiledValidator (CompiledValidator),
)
import Data.Map (fromList)
import Data.Text (Text, unpack)
import Plutarch (Config)
import Plutarch.Api.V2 (
mintingPolicySymbol,
mkMintingPolicy,
mkValidator,
)
import PlutusLedgerApi.V1.Value (AssetClass (AssetClass))
import Plutarch.Extra.AssetClass (PAssetClass)
import PlutusLedgerApi.V1.Value (AssetClass)
import Ply (TypedScriptEnvelope)
import Ply.Plutarch.Class (PlyArgOf)
import Ply.Plutarch.TypedWriter (TypedWriter, mkEnvelope)
import ScriptExport.ScriptInfo (RawScriptExport (..))
{- | Parameterize and precompiled core scripts, given the
'Agora.Governor.Governor' parameters and plutarch configurations.
type instance PlyArgOf PAssetClass = AssetClass
@since 0.2.0
{- | Parameterize core scripts, given the 'Agora.Governor.Governor'
parameters and plutarch configurations.
@since 1.0.0
-}
agoraScripts :: Config -> Governor -> AgoraScripts
agoraScripts conf gov = scripts
agoraScripts :: Config -> RawScriptExport
agoraScripts conf =
RawScriptExport $
fromList
[ envelope "agora:governorPolicy" governorPolicy
, envelope "agora:governorValidator" governorValidator
, envelope "agora:stakePolicy" stakePolicy
, envelope "agora:stakeValidator" stakeValidator
, envelope "agora:proposalPolicy" proposalPolicy
, envelope "agora:proposalValidator" proposalValidator
, envelope "agora:treasuryValidator" treasuryValidator
, envelope "agora:authorityTokenPolicy" authorityTokenPolicy
, envelope "agora:noOpValidator" noOpValidator
, envelope "agora:treasuryWithdrawalValidator" treasuryWithdrawalValidator
, envelope "agora:mutateGovernorValidator" mutateGovernorValidator
]
where
mkMintingPolicy' = mkMintingPolicy conf
mkValidator' = mkValidator conf
compiledGovernorPolicy = mkMintingPolicy' $ governorPolicy gov.gstOutRef
compiledGovernorValidator = mkValidator' $ governorValidator scripts
governorSymbol = mintingPolicySymbol compiledGovernorPolicy
governorAssetClass = AssetClass (governorSymbol, "")
authority = AuthorityToken governorAssetClass
compiledAuthorityPolicy = mkMintingPolicy' $ authorityTokenPolicy authority
authorityTokenSymbol = mintingPolicySymbol compiledAuthorityPolicy
compiledProposalPolicy = mkMintingPolicy' $ proposalPolicy governorAssetClass
compiledProposalValidator = mkValidator' $ proposalValidator scripts gov.maximumCosigners
compiledStakePolicy = mkMintingPolicy' $ stakePolicy gov.gtClassRef
compiledStakeValidator = mkValidator' $ stakeValidator scripts gov.gtClassRef
compiledTreasuryValidator = mkValidator' $ treasuryValidator authorityTokenSymbol
compiledTreasuryWithdrawalEffect = mkValidator' $ treasuryWithdrawalValidator authorityTokenSymbol
scripts =
AgoraScripts
{ Scripts.compiledGovernorPolicy = CompiledMintingPolicy compiledGovernorPolicy
, Scripts.compiledGovernorValidator = CompiledValidator compiledGovernorValidator
, Scripts.compiledStakePolicy = CompiledMintingPolicy compiledStakePolicy
, Scripts.compiledStakeValidator = CompiledValidator compiledStakeValidator
, Scripts.compiledProposalPolicy = CompiledMintingPolicy compiledProposalPolicy
, Scripts.compiledProposalValidator = CompiledValidator compiledProposalValidator
, Scripts.compiledTreasuryValidator = CompiledValidator compiledTreasuryValidator
, Scripts.compiledAuthorityTokenPolicy = CompiledMintingPolicy compiledAuthorityPolicy
, Scripts.compiledTreasuryWithdrawalEffect = CompiledValidator compiledTreasuryWithdrawalEffect
}
envelope ::
forall (pt :: S -> Type).
TypedWriter pt =>
Text ->
ClosedTerm pt ->
(Text, TypedScriptEnvelope)
envelope d t = (d, either (error . unpack) id $ mkEnvelope conf d t)

View file

@ -18,8 +18,6 @@ import Plutarch.Api.V2 (
PValidator,
)
import "liqwid-plutarch-extra" Plutarch.Extra.TermCont (pguardC, pletC, pletFieldsC, pmatchC, ptryFromC)
import Plutarch.TryFrom ()
import PlutusLedgerApi.V1.Value (CurrencySymbol)
{- | Helper "template" for creating effect validator.
@ -27,21 +25,20 @@ import PlutusLedgerApi.V1.Value (CurrencySymbol)
an effect is implemented. In such situations, it's okay to not use this
helper.
@since 0.1.0
@since 1.0.0
-}
makeEffect ::
forall (datum :: PType).
forall (datum :: PType) (s :: S).
(PTryFrom PData datum, PIsData datum) =>
CurrencySymbol ->
( forall (s :: S).
Term s PCurrencySymbol ->
( Term s PCurrencySymbol ->
Term s datum ->
Term s PTxOutRef ->
Term s (PAsData PTxInfo) ->
Term s POpaque
) ->
ClosedTerm PValidator
makeEffect gatCs' f =
Term s PCurrencySymbol ->
Term s PValidator
makeEffect f atSymbol =
plam $ \datum _redeemer ctx' -> unTermCont $ do
ctx <- pletFieldsC @'["txInfo", "purpose"] ctx'
@ -64,10 +61,9 @@ makeEffect gatCs' f =
txOutRef' <- pletC (pfield @"_0" # txOutRef)
txInfo <- pletFieldsC @'["mint", "inputs"] ctx.txInfo
gatCs <- pletC $ pconstant gatCs'
pguardC "A single authority token has been burned" $
singleAuthorityTokenBurned gatCs txInfo.inputs txInfo.mint
singleAuthorityTokenBurned atSymbol txInfo.inputs txInfo.mint
-- run effect function
pure $ f gatCs datum' txOutRef' ctx.txInfo
pure $ f atSymbol datum' txOutRef' ctx.txInfo

View file

@ -26,8 +26,8 @@ import Agora.Governor (
PGovernorRedeemer,
)
import Agora.Plutarch.Orphans ()
import Agora.Scripts (AgoraScripts, authorityTokenSymbol, governorSTSymbol, governorValidatorHash)
import Agora.Utils (pfromSingleton, ptryFromRedeemer)
import Plutarch.Api.V1 (PCurrencySymbol, PValidatorHash)
import Plutarch.Api.V2 (
PScriptPurpose (PSpending),
PTxOutRef,
@ -140,85 +140,88 @@ deriving anyclass instance PTryFrom PData PMutateGovernorDatum
* It has valid governor state datum.
* The datum is exactly the same as the 'newDatum'.
@since 0.1.0
@since 1.0.0
-}
mutateGovernorValidator ::
-- | Lazy precompiled scripts. This is beacuse we need the symbol of GST.
AgoraScripts ->
ClosedTerm PValidator
mutateGovernorValidator as = makeEffect (authorityTokenSymbol as) $
\_gatCs (effectDatum :: Term _ PMutateGovernorDatum) _ txInfo -> unTermCont $ do
effectDatumF <- pletAllC effectDatum
txInfoF <- pletFieldsC @'["inputs", "outputs", "datums", "redeemers"] txInfo
ClosedTerm
( PValidatorHash
:--> PCurrencySymbol
:--> PCurrencySymbol
:--> PValidator
)
mutateGovernorValidator =
plam $ \govValidatorHash gtSymbol -> makeEffect @PMutateGovernorDatum $
\_gatCs (effectDatum :: Term _ PMutateGovernorDatum) _ txInfo -> unTermCont $ do
effectDatumF <- pletAllC effectDatum
txInfoF <- pletFieldsC @'["inputs", "outputs", "datums", "redeemers"] txInfo
----------------------------------------------------------------------------
----------------------------------------------------------------------------
scriptInputs <-
pletC $
pfilter
scriptInputs <-
pletC $
pfilter
# plam
( \inInfo ->
pisScriptAddress
#$ pfield @"address"
#$ pfield @"resolved" # inInfo
)
# pfromData txInfoF.inputs
-- Only two script inputs are alloed: one from the effect script, another from the governor.
pguardC "Only self and governor script inputs are allowed" $
plength # scriptInputs #== 2
pguardC "Governor input should present" $
pany
# plam
( \inInfo ->
pisScriptAddress
#$ pfield @"address"
#$ pfield @"resolved" # inInfo
( flip pletAll $ \inputF ->
let governorAddress =
paddressFromValidatorHash
# govValidatorHash
# pdnothing
isGovernorInput =
foldl1
(#&&)
[ ptraceIfFalse "Can only modify the pinned governor" $
inputF.outRef #== effectDatumF.governorRef
, ptraceIfFalse "Governor UTxO should carry GST" $
psymbolValueOf
# gtSymbol
# (pfield @"value" # inputF.resolved)
#== 1
, ptraceIfFalse "Governor validator run" $
pfield @"address" # inputF.resolved
#== governorAddress
]
in isGovernorInput
)
# pfromData txInfoF.inputs
# scriptInputs
-- Only two script inputs are alloed: one from the effect script, another from the governor.
pguardC "Only self and governor script inputs are allowed" $
plength # scriptInputs #== 2
let governorRedeemer =
pfromData $
passertPJust # "Govenor redeemer should be resolved"
#$ ptryFromRedeemer @(PAsData PGovernorRedeemer)
# mkRecordConstr PSpending (#_0 .= effectDatumF.governorRef)
# txInfoF.redeemers
pguardC "Governor input should present" $
pany
# plam
( flip pletAll $ \inputF ->
let gstSymbol = pconstant $ governorSTSymbol as
governorAddress =
paddressFromValidatorHash
# pconstant (governorValidatorHash as)
# pdnothing
pguardC "Spend governor with redeemer MutateGovernor" $
governorRedeemer #== pconstant MutateGovernor
isGovernorInput =
foldl1
(#&&)
[ ptraceIfFalse "Can only modify the pinned governor" $
inputF.outRef #== effectDatumF.governorRef
, ptraceIfFalse "Governor UTxO should carry GST" $
psymbolValueOf
# gstSymbol
# (pfield @"value" # inputF.resolved)
#== 1
, ptraceIfFalse "Governor validator run" $
pfield @"address" # inputF.resolved
#== governorAddress
]
in isGovernorInput
)
# scriptInputs
----------------------------------------------------------------------------
let governorRedeemer =
pfromData $
passertPJust # "Govenor redeemer should be resolved"
#$ ptryFromRedeemer @(PAsData PGovernorRedeemer)
# mkRecordConstr PSpending (#_0 .= effectDatumF.governorRef)
# txInfoF.redeemers
let governorOutput =
ptrace "Only governor output is allowed" $
pfromSingleton # pfromData txInfoF.outputs
pguardC "Spend governor with redeemer MutateGovernor" $
governorRedeemer #== pconstant MutateGovernor
governorOutputDatum =
ptrace "Resolve governor outoput datum" $
pfromOutputDatum @PGovernorDatum
# (pfield @"datum" # governorOutput)
# txInfoF.datums
----------------------------------------------------------------------------
pguardC "New governor datum correct" $
governorOutputDatum #== effectDatumF.newDatum
let governorOutput =
ptrace "Only governor output is allowed" $
pfromSingleton # pfromData txInfoF.outputs
governorOutputDatum =
ptrace "Resolve governor outoput datum" $
pfromOutputDatum @PGovernorDatum
# (pfield @"datum" # governorOutput)
# txInfoF.datums
pguardC "New governor datum correct" $
governorOutputDatum #== effectDatumF.newDatum
return $ popaque $ pconstant ()
return $ popaque $ pconstant ()

View file

@ -9,9 +9,9 @@ module Agora.Effect.NoOp (noOpValidator, PNoOp) where
import Agora.Effect (makeEffect)
import Agora.Plutarch.Orphans ()
import Plutarch.Api.V1 (PCurrencySymbol)
import Plutarch.Api.V2 (PValidator)
import Plutarch.Orphans ()
import PlutusLedgerApi.V1.Value (CurrencySymbol)
{- | Dummy datum for NoOp effect.
@ -38,8 +38,9 @@ instance PTryFrom PData (PAsData PNoOp)
{- | Dummy effect which can only burn its GAT.
@since 0.1.0
@since 1.0.0
-}
noOpValidator :: CurrencySymbol -> ClosedTerm PValidator
noOpValidator curr = makeEffect curr $
\_ (_datum :: Term s (PAsData PNoOp)) _ _ -> popaque (pconstant ())
noOpValidator :: ClosedTerm (PCurrencySymbol :--> PValidator)
noOpValidator = plam $
makeEffect $
\_ (_datum :: Term s (PAsData PNoOp)) _ _ -> popaque (pconstant ())

View file

@ -18,6 +18,7 @@ import Agora.Plutarch.Orphans ()
import Agora.Utils (pdelete)
import Plutarch.Api.V1 (
PCredential,
PCurrencySymbol,
PValue,
ptuple,
)
@ -38,7 +39,7 @@ import Plutarch.Extra.ScriptContext (pisPubKey)
import "liqwid-plutarch-extra" Plutarch.Extra.TermCont (pguardC, pletC, pletFieldsC)
import Plutarch.Lift (PConstantDecl, PUnsafeLiftDecl (PLifted))
import PlutusLedgerApi.V1.Credential (Credential)
import PlutusLedgerApi.V1.Value (CurrencySymbol, Value)
import PlutusLedgerApi.V1.Value (Value)
import PlutusTx qualified
{- | Datum that encodes behavior of Treasury Withdrawal effect.
@ -128,61 +129,64 @@ instance PTryFrom PData PTreasuryWithdrawalDatum
- The number of outputs themselves
@since 0.1.0
@since 1.0.0
-}
treasuryWithdrawalValidator :: forall {s :: S}. CurrencySymbol -> Term s PValidator
treasuryWithdrawalValidator currSymbol = makeEffect currSymbol $
\_cs (datum :: Term _ PTreasuryWithdrawalDatum) effectInputRef txInfo -> unTermCont $ do
datumF <- pletAllC datum
txInfoF <- pletFieldsC @'["outputs", "inputs"] txInfo
treasuryWithdrawalValidator ::
forall (s :: S).
Term s (PCurrencySymbol :--> PValidator)
treasuryWithdrawalValidator = plam $
makeEffect $
\_cs (datum :: Term _ PTreasuryWithdrawalDatum) effectInputRef txInfo -> unTermCont $ do
datumF <- pletAllC datum
txInfoF <- pletFieldsC @'["outputs", "inputs"] txInfo
let validateInput :: Term _ (PTxInInfo :--> PBool)
validateInput = plam $ \input -> unTermCont $ do
inputF <- pletAllC input
let validateInput :: Term _ (PTxInInfo :--> PBool)
validateInput = plam $ \input -> unTermCont $ do
inputF <- pletAllC input
cred <-
pletC $
pfield @"credential"
#$ pfield @"address" # inputF.resolved
cred <-
pletC $
pfield @"credential"
#$ pfield @"address" # inputF.resolved
pure $
foldl1
(#||)
[ ptraceIfTrue "Effect input" $ inputF.outRef #== effectInputRef
, ptraceIfTrue "Treasury input" $ pelem # cred # datumF.treasuries
, ptraceIfTrue "Collateral input" $ pisPubKey # pfromData cred
]
pure $
foldl1
(#||)
[ ptraceIfTrue "Effect input" $ inputF.outRef #== effectInputRef
, ptraceIfTrue "Treasury input" $ pelem # cred # datumF.treasuries
, ptraceIfTrue "Collateral input" $ pisPubKey # pfromData cred
]
validateOutput ::
Term
_
( PBuiltinList (PAsData (PTuple PCredential (PValue 'Sorted 'Positive)))
:--> PTxOut
:--> PBuiltinList (PAsData (PTuple PCredential (PValue 'Sorted 'Positive)))
)
validateOutput = plam $ \receivers output -> unTermCont $ do
outputF <- pletFieldsC @'["address", "value"] output
cred <- pletC $ pfield @"credential" # pfromData outputF.address
validateOutput ::
Term
_
( PBuiltinList (PAsData (PTuple PCredential (PValue 'Sorted 'Positive)))
:--> PTxOut
:--> PBuiltinList (PAsData (PTuple PCredential (PValue 'Sorted 'Positive)))
)
validateOutput = plam $ \receivers output -> unTermCont $ do
outputF <- pletFieldsC @'["address", "value"] output
cred <- pletC $ pfield @"credential" # pfromData outputF.address
let credValue = pdata $ ptuple # cred # outputF.value
let credValue = pdata $ ptuple # cred # outputF.value
shouldSendToTreasury =
pif
(pelem # cred # datumF.treasuries)
receivers
(ptraceError "Invalid receiver")
shouldSendToTreasury =
pif
(pelem # cred # datumF.treasuries)
receivers
(ptraceError "Invalid receiver")
pure $
pmatch (pdelete # credValue # receivers) $ \case
PJust updatedReceivers ->
ptrace "Receiver output" updatedReceivers
PNothing ->
ptrace "Treasury output" shouldSendToTreasury
pure $
pmatch (pdelete # credValue # receivers) $ \case
PJust updatedReceivers ->
ptrace "Receiver output" updatedReceivers
PNothing ->
ptrace "Treasury output" shouldSendToTreasury
pguardC "All input are valid" $
pall # validateInput # txInfoF.inputs
pguardC "All input are valid" $
pall # validateInput # txInfoF.inputs
pguardC "All receiver get correct output" $
pnull #$ pfoldl # validateOutput # datumF.receivers # txInfoF.outputs
pguardC "All receiver get correct output" $
pnull #$ pfoldl # validateOutput # datumF.receivers # txInfoF.outputs
pure . popaque $ pconstant ()
pure . popaque $ pconstant ()

View file

@ -23,6 +23,7 @@ module Agora.Governor (
pisGovernorDatumValid,
) where
import Agora.Aeson.Orphans ()
import Agora.Proposal (
PProposalId (PProposalId),
PProposalThresholds,
@ -39,6 +40,7 @@ import Agora.Proposal.Time (
pisProposalTimingConfigValid,
)
import Agora.SafeMoney (GTTag)
import Data.Aeson qualified as Aeson
import Data.Tagged (Tagged)
import Plutarch.DataRepr (
DerivePConstantViaData (DerivePConstantViaData),
@ -140,6 +142,12 @@ data Governor = Governor
, -- | @since 0.2.0
Show
)
deriving anyclass
( -- | @since 1.0.0
Aeson.ToJSON
, -- | @since 1.0.0
Aeson.FromJSON
)
--------------------------------------------------------------------------------

View file

@ -36,14 +36,6 @@ import Agora.Proposal (
pwinner,
)
import Agora.Proposal.Time (validateProposalStartingTime)
import Agora.Scripts (
AgoraScripts,
authorityTokenSymbol,
governorSTSymbol,
proposalSTSymbol,
proposalValidatoHash,
stakeSTSymbol,
)
import Agora.Stake (
PStakeDatum (..),
pnumCreatedProposals,
@ -51,14 +43,16 @@ import Agora.Stake (
import Agora.Utils (
plistEqualsBy,
pscriptHashToTokenName,
validatorHashToAddress,
)
import Plutarch.Api.V1 (PCurrencySymbol)
import Plutarch.Api.V1.AssocMap (plookup)
import Plutarch.Api.V1.AssocMap qualified as AssocMap
import Plutarch.Api.V2 (
PAddress,
PMintingPolicy,
PScriptPurpose (PMinting, PSpending),
PTxOut,
PTxOutRef,
PValidator,
)
import Plutarch.Extra.AssetClass (passetClass, passetClassValueOf)
@ -84,7 +78,6 @@ import "liqwid-plutarch-extra" Plutarch.Extra.TermCont (
ptryFromC,
)
import Plutarch.Extra.Value (psymbolValueOf)
import PlutusLedgerApi.V1 (TxOutRef)
--------------------------------------------------------------------------------
@ -113,11 +106,11 @@ import PlutusLedgerApi.V1 (TxOutRef)
NOTE: It's user's responsibility to make sure the token is sent to the corresponding governor validator.
We /can't/ really check this in the policy, otherwise we create a cyclic reference issue.
@since 0.1.0
@since 1.0.0
-}
governorPolicy :: TxOutRef -> ClosedTerm PMintingPolicy
governorPolicy initialSpend =
plam $ \_ ctx -> unTermCont $ do
governorPolicy :: ClosedTerm (PTxOutRef :--> PMintingPolicy)
governorPolicy =
plam $ \initialSpend _ ctx -> unTermCont $ do
PMinting ((pfield @"_0" #) -> gstSymbol) <-
pmatchC (pfromData $ pfield @"purpose" # ctx)
@ -134,7 +127,7 @@ governorPolicy initialSpend =
txInfo
pguardC "Referenced utxo should be spent" $
pisUTXOSpent # pconstant initialSpend # txInfoF.inputs
pisUTXOSpent # initialSpend # txInfoF.inputs
pguardC "Exactly one token should be minted" $
let vMap = pfromData $ pto txInfoF.mint
@ -249,19 +242,29 @@ governorPolicy initialSpend =
- Exactly one GAT is burnt in the transaction.
- Said GAT is tagged by the effect.
@since 0.1.0
== Arguments
Following arguments should be provided(in this order):
1. proposal validator address
2. state ST symbol
3. governor ST symbol
4. proposal ST symbol
5. authority token symbol.
@since 1.0.0
-}
governorValidator ::
-- | Lazy precompiled scripts.
AgoraScripts ->
ClosedTerm PValidator
governorValidator as =
plam $ \datum redeemer ctx -> unTermCont $ do
pstSymbol <- pletC $ pconstant $ proposalSTSymbol as
atSymbol <- pletC $ pconstant $ authorityTokenSymbol as
----------------------------------------------------------------------------
ClosedTerm
( PAddress
:--> PCurrencySymbol
:--> PCurrencySymbol
:--> PCurrencySymbol
:--> PCurrencySymbol
:--> PValidator
)
governorValidator =
plam $ \proposalValidatorAddress sstSymbol gstSymbol pstSymbol atSymbol datum redeemer ctx -> unTermCont $ do
ctxF <- pletAllC ctx
txInfo <- pletC $ pfromData ctxF.txInfo
txInfoF <-
@ -301,9 +304,7 @@ governorValidator as =
#$ pfindJust
# plam
( flip pletAll $ \outputF ->
let gstSymbol = pconstant $ governorSTSymbol as
isGovernorUTxO =
let isGovernorUTxO =
foldl1
(#&&)
[ ptraceIfFalse "Own by governor validator" $
@ -330,9 +331,7 @@ governorValidator as =
pletC $
plam $
flip (pletFields @'["value", "datum"]) $ \txOutF ->
let sstSymbol = pconstant $ stakeSTSymbol as
isStakeUTxO =
let isStakeUTxO =
psymbolValueOf
# sstSymbol
# txOutF.value #== 1
@ -349,12 +348,7 @@ governorValidator as =
pletC $
plam $
flip (pletFields @'["value", "datum", "address"]) $ \txOutF ->
let proposalValidatorAddress =
pconstant $
validatorHashToAddress $
proposalValidatoHash as
isProposalUTxO =
let isProposalUTxO =
txOutF.address #== pdata proposalValidatorAddress
#&& psymbolValueOf # pstSymbol # txOutF.value #== 1

109
agora/Agora/Linker.hs Normal file
View file

@ -0,0 +1,109 @@
{-# OPTIONS_GHC -Wno-unticked-promoted-constructors #-}
module Agora.Linker (linker) where
import Agora.Governor (Governor (gstOutRef, gtClassRef, maximumCosigners))
import Agora.Utils (validatorHashToAddress, validatorHashToTokenName)
import Data.Map (fromList)
import Data.Tagged (untag)
import Plutarch.Api.V2 (mintingPolicySymbol, validatorHash)
import PlutusLedgerApi.V1 (Address, CurrencySymbol, TxOutRef, ValidatorHash)
import PlutusLedgerApi.V1.Value (AssetClass (AssetClass))
import Ply (
ScriptRole (MintingPolicyRole, ValidatorRole),
toMintingPolicy,
toScript,
toValidator,
(#),
)
import ScriptExport.ScriptInfo (
Linker,
ScriptExport (..),
fetchTS,
getParam,
)
import Prelude hiding ((#))
{- | Links parameterized Agora scripts given parameters.
@since 1.0.0
-}
linker :: Linker Governor (ScriptExport Governor)
linker = do
govPol <- fetchTS @MintingPolicyRole @'[TxOutRef] "agora:governorPolicy"
govVal <- fetchTS @ValidatorRole @'[Address, CurrencySymbol, CurrencySymbol, CurrencySymbol, CurrencySymbol] "agora:governorValidator"
stkPol <- fetchTS @MintingPolicyRole @'[AssetClass] "agora:stakePolicy"
stkVal <- fetchTS @ValidatorRole @'[CurrencySymbol, AssetClass, AssetClass] "agora:stakeValidator"
prpPol <- fetchTS @MintingPolicyRole @'[AssetClass] "agora:proposalPolicy"
prpVal <- fetchTS @ValidatorRole @'[AssetClass, CurrencySymbol, CurrencySymbol, Integer] "agora:proposalValidator"
treVal <- fetchTS @ValidatorRole @'[CurrencySymbol] "agora:treasuryValidator"
atkPol <- fetchTS @MintingPolicyRole @'[AssetClass] "agora:authorityTokenPolicy"
noOpVal <- fetchTS @ValidatorRole @'[CurrencySymbol] "agora:noOpValidator"
treaWithdrawalVal <- fetchTS @ValidatorRole @'[CurrencySymbol] "agora:treasuryWithdrawalValidator"
mutateGovVal <- fetchTS @ValidatorRole @'[ValidatorHash, CurrencySymbol, CurrencySymbol] "agora:mutateGovernorValidator"
governor <- getParam
let govPol' = govPol # governor.gstOutRef
govVal' =
govVal
# propValAddress
# sstSymbol
# gstSymbol
# pstSymbol
# atSymbol
gstSymbol =
mintingPolicySymbol $
toMintingPolicy
govPol'
gstAssetClass =
AssetClass (gstSymbol, "")
govValHash = validatorHash $ toValidator govVal'
at = gstAssetClass
atPol' = atkPol # at
atSymbol = mintingPolicySymbol $ toMintingPolicy atPol'
propPol' = prpPol # gstAssetClass
propVal' =
prpVal
# sstAssetClass
# gstSymbol
# pstSymbol
# governor.maximumCosigners
propValAddress =
validatorHashToAddress $ validatorHash $ toValidator propVal'
pstSymbol = mintingPolicySymbol $ toMintingPolicy propPol'
pstAssetClass = AssetClass (pstSymbol, "")
stakPol' = stkPol # untag governor.gtClassRef
stakVal' = stkVal # sstSymbol # pstAssetClass # untag governor.gtClassRef
sstSymbol = mintingPolicySymbol $ toMintingPolicy stakPol'
stakValTokenName =
validatorHashToTokenName $ validatorHash $ toValidator stakVal'
sstAssetClass = AssetClass (sstSymbol, stakValTokenName)
treaVal' = treVal # atSymbol
noOpVal' = noOpVal # atSymbol
treaWithdrawalVal' = treaWithdrawalVal # atSymbol
mutateGovVal' = mutateGovVal # govValHash # gstSymbol # atSymbol
return $
ScriptExport
{ scripts =
fromList
[ ("agora:governorPolicy", toScript govPol')
, ("agora:governorValidator", toScript govVal')
, ("agora:stakePolicy", toScript stakPol')
, ("agora:stakeValidator", toScript stakVal')
, ("agora:proposalPolicy", toScript propPol')
, ("agora:proposalValidator", toScript propVal')
, ("agora:treasuryValidator", toScript treaVal')
, ("agora:authorityTokenPolicy", toScript atPol')
, ("agora:noOpValidator", toScript noOpVal')
, ("agora:treasuryWithdrawalValidator", toScript treaWithdrawalVal')
, ("agora:mutateGovernorValidator", toScript mutateGovVal')
]
, information = governor
}

View file

@ -26,7 +26,6 @@ import Agora.Proposal.Time (
isLockingPeriod,
isVotingPeriod,
)
import Agora.Scripts (AgoraScripts, governorSTSymbol, proposalSTSymbol, stakeSTAssetClass)
import Agora.Stake (
PStakeDatum,
pextractVoteOption,
@ -40,7 +39,7 @@ import Agora.Utils (
plistEqualsBy,
pmapMaybe,
)
import Plutarch.Api.V1 (PCredential)
import Plutarch.Api.V1 (PCredential, PCurrencySymbol)
import Plutarch.Api.V1.AssocMap (plookup)
import Plutarch.Api.V2 (
PMintingPolicy,
@ -51,7 +50,7 @@ import Plutarch.Api.V2 (
PTxOut,
PValidator,
)
import Plutarch.Extra.AssetClass (passetClass, passetClassValueOf)
import Plutarch.Extra.AssetClass (PAssetClass, passetClass, passetClassValueOf)
import Plutarch.Extra.Category (PCategory (pidentity))
import Plutarch.Extra.Comonad (pextract)
import Plutarch.Extra.Field (pletAll, pletAllC)
@ -84,7 +83,6 @@ import Plutarch.Extra.Traversable (pfoldMap)
import Plutarch.Extra.Value (psymbolValueOf)
import Plutarch.SafeMoney (PDiscrete (PDiscrete))
import Plutarch.Unsafe (punsafeCoerce)
import PlutusLedgerApi.V1.Value (AssetClass (AssetClass))
{- | Policy for Proposals.
@ -104,14 +102,16 @@ import PlutusLedgerApi.V1.Value (AssetClass (AssetClass))
- This policy cannot be burned.
@since 0.1.0
== Arguments
Following arguments should be provided(in this order):
1. The assetclass of GST, see 'Agora.Governor.Scripts.governorPolicy'.
@since 1.0.0
-}
proposalPolicy ::
-- | The assetclass of GST, see 'Agora.Governor.Scripts.governorPolicy'.
AssetClass ->
ClosedTerm PMintingPolicy
proposalPolicy (AssetClass (govCs, govTn)) =
plam $ \_redeemer ctx' -> unTermCont $ do
proposalPolicy :: ClosedTerm (PAssetClass :--> PMintingPolicy)
proposalPolicy =
plam $ \gtAssetClass _redeemer ctx' -> unTermCont $ do
PScriptContext ctx' <- pmatchC ctx'
ctx <- pletAllC ctx'
PTxInfo txInfo' <- pmatchC $ pfromData ctx.txInfo
@ -125,7 +125,7 @@ proposalPolicy (AssetClass (govCs, govTn)) =
pguardC "Governance state-thread token must move" $
pisTokenSpent
# (passetClass # pconstant govCs # pconstant govTn)
# gtAssetClass
# txInfo.inputs
pguardC "Minted exactly one proposal ST" $
@ -199,16 +199,26 @@ instance DerivePlutusType PStakeInputsContext where
(see 'Agora.Proposal.AdvanceProposal' docs).
- 'Agora.Proposal.Unlock' is always valid.
@since 0.1.0
== Arguments
Following arguments should be provided(in this order):
1. stake ST assetclass
2. governor ST symbol
3. proposal ST symbol
4. maximum number of cosigners
@since 1.0.0
-}
proposalValidator ::
-- | Lazy precompiled scripts.
AgoraScripts ->
-- | See 'Agora.Governor.Governor.maximumCosigners'.
Integer ->
ClosedTerm PValidator
proposalValidator as maximumCosigners =
plam $ \datum redeemer ctx -> unTermCont $ do
ClosedTerm
( PAssetClass
:--> PCurrencySymbol
:--> PCurrencySymbol
:--> PInteger
:--> PValidator
)
proposalValidator =
plam $ \sstClass gstSymbol pstSymbol maximumCosigners datum redeemer ctx -> unTermCont $ do
ctxF <- pletAllC ctx
txInfo <- pletC $ pfromData ctxF.txInfo
@ -259,9 +269,7 @@ proposalValidator as maximumCosigners =
#$ pfindJust
# plam
( flip pletAll $ \outputF ->
let pstSymbol = pconstant $ proposalSTSymbol as
isProposalUTxO =
let isProposalUTxO =
foldl1
(#&&)
[ ptraceIfFalse "Own by proposal validator" $
@ -285,13 +293,6 @@ proposalValidator as maximumCosigners =
# pfromData txInfoF.outputs
--------------------------------------------------------------------------
let AssetClass (sstSymbol, sstName) = stakeSTAssetClass as
sstAssetClass <-
pletC $
passetClass
# pconstant sstSymbol
# pconstant sstName
-- Handle stake inputs/outputs.
@ -304,7 +305,7 @@ proposalValidator as maximumCosigners =
-- A stake UTxO is a UTxO that carries SST.
passetClassValueOf
# txOutF.value
# sstAssetClass
# sstClass
#== 1
stake =
@ -424,7 +425,7 @@ proposalValidator as maximumCosigners =
# proposalInputDatumF.cosigners
pguardC "Less cosigners than maximum limit" $
plength # updatedSigs #< pconstant maximumCosigners
plength # updatedSigs #< maximumCosigners
pguardC "Meet minimum GT requirement" $
pfromData thresholdsF.cosign #<= stakeF.stakedAmount
@ -701,8 +702,7 @@ proposalValidator as maximumCosigners =
pguardC "Proposal status set to Finished" $
proposalOutputStatus #== pconstant Finished
let gstSymbol = pconstant $ governorSTSymbol as
gstMoved =
let gstMoved =
pany
# plam
( \( (pfield @"value" #)

View file

@ -1,142 +0,0 @@
{- | Module : Agora.Scripts
Maintainer : connor@mlabs.city
Description: Precompiled core scripts and utilities
Precompiled core scripts and utilities
-}
module Agora.Scripts (
AgoraScripts (..),
governorSTSymbol,
governorSTAssetClass,
governorValidatorHash,
proposalSTSymbol,
proposalSTAssetClass,
proposalValidatoHash,
stakeSTSymbol,
stakeSTAssetClass,
stakeValidatorHash,
authorityTokenSymbol,
treasuryValidatorHash,
) where
import Agora.Effect.TreasuryWithdrawal (TreasuryWithdrawalDatum)
import Agora.Governor (GovernorDatum, GovernorRedeemer)
import Agora.Proposal (ProposalDatum, ProposalRedeemer)
import Agora.Stake (StakeDatum, StakeRedeemer)
import Agora.Utils (
CompiledMintingPolicy (getCompiledMintingPolicy),
CompiledValidator (getCompiledValidator),
validatorHashToTokenName,
)
import Plutarch.Api.V2 (mintingPolicySymbol, validatorHash)
import PlutusLedgerApi.V1.Value (AssetClass (AssetClass))
import PlutusLedgerApi.V2 (CurrencySymbol, ValidatorHash)
{- | Precompiled core scripts.
Including:
- Governor policy
- Governor validator
- Proposal policy
- Proposal validator
- Stake policy
- Stake validator
- Treasury validator
- Authority token policy
@since 0.2.0
-}
data AgoraScripts = AgoraScripts
{ compiledGovernorPolicy :: CompiledMintingPolicy ()
, compiledGovernorValidator :: CompiledValidator GovernorDatum GovernorRedeemer
, compiledStakePolicy :: CompiledMintingPolicy ()
, compiledStakeValidator :: CompiledValidator StakeDatum StakeRedeemer
, compiledProposalPolicy :: CompiledMintingPolicy ()
, compiledProposalValidator :: CompiledValidator ProposalDatum ProposalRedeemer
, compiledTreasuryValidator :: CompiledValidator () ()
, compiledAuthorityTokenPolicy :: CompiledMintingPolicy ()
, compiledTreasuryWithdrawalEffect :: CompiledValidator () TreasuryWithdrawalDatum
}
{- | Get the currency symbol of the governor state token.
@since 0.2.0
-}
governorSTSymbol :: AgoraScripts -> CurrencySymbol
governorSTSymbol = mintingPolicySymbol . (.getCompiledMintingPolicy) . (.compiledGovernorPolicy)
{- | Get the asset class of the governor state token.
@since 0.2.0
-}
governorSTAssetClass :: AgoraScripts -> AssetClass
governorSTAssetClass as = AssetClass (governorSTSymbol as, "")
{- | Get the script hash of the governor validator.
@since 0.2.0
-}
governorValidatorHash :: AgoraScripts -> ValidatorHash
governorValidatorHash = validatorHash . (.getCompiledValidator) . (.compiledGovernorValidator)
{- | Get the currency symbol of the propsoal state token.
@since 0.2.0
-}
proposalSTSymbol :: AgoraScripts -> CurrencySymbol
proposalSTSymbol as = mintingPolicySymbol $ (.getCompiledMintingPolicy) as.compiledProposalPolicy
{- | Get the asset class of the governor state token.
@since 0.2.0
-}
proposalSTAssetClass :: AgoraScripts -> AssetClass
proposalSTAssetClass as = AssetClass (proposalSTSymbol as, "")
{- | Get the script hash of the proposal validator.
@since 0.2.0
-}
proposalValidatoHash :: AgoraScripts -> ValidatorHash
proposalValidatoHash = validatorHash . (.getCompiledValidator) . (.compiledProposalValidator)
{- | Get the script hash of the governor validator.
@since 0.2.0
-}
stakeSTSymbol :: AgoraScripts -> CurrencySymbol
stakeSTSymbol = mintingPolicySymbol . (.getCompiledMintingPolicy) . (.compiledStakePolicy)
{- | Get the asset class of the stake state token.
Note that this token is tagged with the hash of the stake validator.
See 'Agora.Stake.Script.stakePolicy'.
@since 0.2.0
-}
stakeSTAssetClass :: AgoraScripts -> AssetClass
stakeSTAssetClass as =
let tn = validatorHashToTokenName $ stakeValidatorHash as
in AssetClass (stakeSTSymbol as, tn)
{- | Get the script hash of the stake validator.
@since 0.2.0
-}
stakeValidatorHash :: AgoraScripts -> ValidatorHash
stakeValidatorHash = validatorHash . (.getCompiledValidator) . (.compiledStakeValidator)
{- | Get the currency symbol of the authority token.
@since 0.2.0
-}
authorityTokenSymbol :: AgoraScripts -> CurrencySymbol
authorityTokenSymbol = mintingPolicySymbol . (.getCompiledMintingPolicy) . (.compiledAuthorityTokenPolicy)
{- | Get the script hash of the treasury validator.
@since 0.2.0
-}
treasuryValidatorHash :: AgoraScripts -> ValidatorHash
treasuryValidatorHash = validatorHash . (.getCompiledValidator) . (.compiledTreasuryValidator)

View file

@ -13,12 +13,6 @@ module Agora.Stake.Scripts (
import Agora.Credential (authorizationContext, pauthorizedBy)
import Agora.Proposal (PProposalDatum, PProposalRedeemer)
import Agora.SafeMoney (GTTag)
import Agora.Scripts (
AgoraScripts,
proposalSTAssetClass,
stakeSTSymbol,
)
import Agora.Stake (
PProposalContext (
PNewProposal,
@ -62,16 +56,13 @@ import Agora.Stake.Redeemers (
pretractVote,
)
import Agora.Utils (passert, pmapMaybe)
import Data.Tagged (Tagged (Tagged))
import Plutarch.Api.V1 (
KeyGuarantees (Sorted),
PCredential (PPubKeyCredential, PScriptCredential),
PCurrencySymbol,
PTokenName,
)
import Plutarch.Api.V1.AssocMap (plookup)
import Plutarch.Api.V1.Value (PValue)
import Plutarch.Api.V2 (
AmountGuarantees,
PMintingPolicy,
PScriptPurpose (PMinting, PSpending),
PTxInfo,
@ -79,7 +70,7 @@ import Plutarch.Api.V2 (
PValidator,
)
import Plutarch.Extra.AssetClass (
passetClass,
PAssetClass,
passetClassValueOf,
pvalueOf,
)
@ -114,10 +105,8 @@ import Plutarch.Extra.Value (
import Plutarch.Num (PNum (pnegate))
import Plutarch.SafeMoney (
pvalueDiscrete,
pvalueDiscrete',
)
import Plutarch.Unsafe (punsafeCoerce)
import PlutusLedgerApi.V1.Value (AssetClass (AssetClass))
import Prelude hiding (Num ((+)))
{- | Policy for Stake state threads.
@ -137,14 +126,18 @@ import Prelude hiding (Num ((+)))
- Check that exactly one state thread is burned.
- Check that datum at state thread is valid and not locked.
@since 0.1.0
== Arguments
Following arguments should be provided(in this order):
1. governor ST assetclass
@since 1.0.0
-}
stakePolicy ::
-- | The (governance) token that a Stake can store.
Tagged GTTag AssetClass ->
ClosedTerm PMintingPolicy
stakePolicy gtClassRef =
plam $ \_redeemer ctx' -> unTermCont $ do
ClosedTerm (PAssetClass :--> PMintingPolicy)
stakePolicy =
plam $ \gstClass _redeemer ctx' -> unTermCont $ do
ctx <- pletFieldsC @'["txInfo", "purpose"] ctx'
txInfo <- pletC $ ctx.txInfo
let _a :: Term _ PTxInfo
@ -226,7 +219,7 @@ stakePolicy gtClassRef =
let hasExpectedStake =
ptraceIfFalse "Stake ouput has expected amount of stake token" $
pvalueDiscrete' gtClassRef # outputF.value #== datumF.stakedAmount
pvalueDiscrete # gstClass # outputF.value #== datumF.stakedAmount
let ownerSignsTransaction =
ptraceIfFalse "Stake Owner should sign the transaction" $
pauthorizedBy
@ -243,338 +236,319 @@ stakePolicy gtClassRef =
{- | Create a stake validator, given the implementation of stake redeemers.
== Arguments
Following arguments should be provided(in this order):
1. stake ST symbol
2. proposal ST assetclass
3. governor ST assetclass
@since 1.0.0
-}
mkStakeValidator ::
StakeRedeemerImpl ->
AgoraScripts ->
Tagged GTTag AssetClass ->
ClosedTerm PValidator
mkStakeValidator
impl
as
(Tagged (AssetClass (gtSym, gtTn))) =
plam $ \_datum redeemer ctx -> unTermCont $ do
let sstValueOf ::
( forall (ag :: AmountGuarantees) (s :: S).
Term s (PValue 'Sorted ag :--> PInteger)
)
sstValueOf =
phoistAcyclic $
psymbolValueOf # pconstant (stakeSTSymbol as)
--------------------------------------------------------------------------
ctxF <- pletFieldsC @'["txInfo", "purpose"] ctx
txInfo <- pletC $ pfromData ctxF.txInfo
txInfoF <-
pletFieldsC
@'[ "inputs"
, "referenceInputs"
, "outputs"
, "mint"
, "validRange"
, "signatories"
, "redeemers"
, "datums"
]
txInfo
--------------------------------------------------------------------------
PSpending stakeInputRef <- pmatchC $ pfromData ctxF.purpose
let validatedInput =
pfield @"resolved"
#$ passertPJust
# "Malformed script context: validated input not found"
#$ pfindTxInByTxOutRef
# (pfield @"_0" # stakeInputRef)
# txInfoF.inputs
stakeValidatorCredential =
pfield @"credential"
#$ pfield @"address" # validatedInput
--------------------------------------------------------------------------
-- Returns stake datum if the given UTxO is a stake UTxO.
getStakeDatum :: Term _ (PTxOut :--> PMaybe PStakeDatum) <-
pletC $
plam $
flip (pletFields @'["value", "datum", "address"]) $ \txOutF ->
pmatch
( pcompareBy # pfromOrd
# (sstValueOf # txOutF.value)
# 1
)
$ \case
-- > 1
PGT -> ptraceError "More than one SST in one UTxO"
-- 1
PEQ ->
let ownerCredential = pfield @"credential" # txOutF.address
isOwnedByStakeValidator =
ownerCredential #== stakeValidatorCredential
datum =
ptrace "Resolve stake datum" $
pfromData $
pfromOutputDatum @(PAsData PStakeDatum)
# txOutF.datum
# txInfoF.datums
in passert
"Should owned by stake validator"
isOwnedByStakeValidator
(pjust # datum)
-- 0
PLT -> pnothing
--------------------------------------------------------------------------
-- Find all stake inputs.
stakeInputDatums <-
pletC $
pmapMaybe
# plam ((getStakeDatum #) . (pfield @"resolved" #))
# pfromData txInfoF.inputs
--------------------------------------------------------------------------
-- Assemble the signature context.
firstStakeInputDatumF <-
pletFieldsC @'["owner", "delegatedTo"] $
phead # stakeInputDatums
restOfStakeInputDatums <- pletC $ ptail # stakeInputDatums
authorizedBy <- pletC $ pauthorizedBy # authorizationContext txInfoF
PPair allHaveSameOwner allHaveSameDelegatee <-
pmatchC $
pfoldr
# plam
( \d p -> unTermCont $ do
dF <- pletFieldsC @'["owner", "delegatedTo"] d
pure $
pmatch p $ \(PPair allHaveSameOwner allHaveSameDelegatee) ->
let allHaveSameOwner' =
allHaveSameOwner
#&& dF.owner #== firstStakeInputDatumF.owner
allHaveSameDelegatee' =
allHaveSameDelegatee
#&& dF.delegatedTo #== firstStakeInputDatumF.delegatedTo
in pcon $ PPair allHaveSameOwner' allHaveSameDelegatee'
)
# pcon (PPair (pconstant True) (pconstant True))
# restOfStakeInputDatums
let ownerSignsTransaction =
allHaveSameOwner
#&& authorizedBy # firstStakeInputDatumF.owner
delegateSignsTransaction =
allHaveSameDelegatee
#&& pmaybeData
# pconstant False
# plam ((authorizedBy #) . pfromData)
# pfromData firstStakeInputDatumF.delegatedTo
signedBy =
pif
ownerSignsTransaction
(pcon PSignedByOwner)
$ pif
delegateSignsTransaction
(pcon PSignedByDelegate)
$ pcon PUnknownSig
sigContext <-
pletC $
pcon $
PSigContext
firstStakeInputDatumF.owner
firstStakeInputDatumF.delegatedTo
signedBy
--------------------------------------------------------------------------
-- Find all stake outputs.
let gtAssetClass = passetClass # pconstant gtSym # pconstant gtTn
-- First step of validating stake outputs. We make sure that every stake
-- output UTxO carries correct amount of GTs specified by its datum.
--
-- Note that non-GT assets are treated transparently.
stakeOutputDatums <-
pletC $
pmapMaybe
# plam
( \output ->
let validateGT = plam $ \stakeDatum ->
let expected = pfield @"stakedAmount" # stakeDatum
actual =
pvalueDiscrete
# gtAssetClass
# (pfield @"value" # output)
in pif
(expected #== actual)
stakeDatum
(ptraceError "Unmatched GT value")
in pfmap
# validateGT
# (getStakeDatum # output)
)
# pfromData txInfoF.outputs
--------------------------------------------------------------------------
mintedST <- pletC $ sstValueOf # txInfoF.mint
pguardC "No new SST minted" $
foldl1
(#||)
[ ptraceIfTrue "All stakes burnt" $
mintedST #< 0 #&& pnull # stakeOutputDatums
, ptraceIfTrue "Nothing burnt" $
mintedST #== 0
ClosedTerm (PCurrencySymbol :--> PAssetClass :--> PAssetClass :--> PValidator)
mkStakeValidator impl =
plam $ \sstSymbol pstClass gstClass _datum redeemer ctx -> unTermCont $ do
ctxF <- pletFieldsC @'["txInfo", "purpose"] ctx
txInfo <- pletC $ pfromData ctxF.txInfo
txInfoF <-
pletFieldsC
@'[ "inputs"
, "referenceInputs"
, "outputs"
, "mint"
, "validRange"
, "signatories"
, "redeemers"
, "datums"
]
txInfo
--------------------------------------------------------------------------
--------------------------------------------------------------------------
-- Assemble the proposal context.
PSpending stakeInputRef <- pmatchC $ pfromData ctxF.purpose
let AssetClass (propCs, propTn) = proposalSTAssetClass as
let validatedInput =
pfield @"resolved"
#$ passertPJust
# "Malformed script context: validated input not found"
#$ pfindTxInByTxOutRef
# (pfield @"_0" # stakeInputRef)
# txInfoF.inputs
proposalSTClass <-
pletC $
passetClass
# pconstant propCs
# pconstant propTn
stakeValidatorCredential =
pfield @"credential"
#$ pfield @"address" # validatedInput
getProposalDatum <- pletC $
--------------------------------------------------------------------------
-- Returns stake datum if the given UTxO is a stake UTxO.
getStakeDatum :: Term _ (PTxOut :--> PMaybe PStakeDatum) <-
pletC $
plam $
flip pletAll $ \txOutF ->
let isProposalUTxO =
passetClassValueOf
# txOutF.value
# proposalSTClass #== 1
proposalDatum =
pfromData $
pfromOutputDatum @(PAsData PProposalDatum)
# txOutF.datum
# txInfoF.datums
in pif isProposalUTxO (pjust # proposalDatum) pnothing
flip (pletFields @'["value", "datum", "address"]) $ \txOutF ->
pmatch
( pcompareBy # pfromOrd
# (psymbolValueOf # sstSymbol # txOutF.value)
# 1
)
$ \case
-- > 1
PGT -> ptraceError "More than one SST in one UTxO"
-- 1
PEQ ->
let ownerCredential = pfield @"credential" # txOutF.address
let pstMinted =
passetClassValueOf # txInfoF.mint # proposalSTClass #== 1
isOwnedByStakeValidator =
ownerCredential #== stakeValidatorCredential
newProposalContext =
pcon $
PNewProposal $
pfield @"proposalId"
#$ passertPJust # "Proposal output should present"
#$ pfindJust # getProposalDatum # pfromData txInfoF.outputs
datum =
ptrace "Resolve stake datum" $
pfromData $
pfromOutputDatum @(PAsData PStakeDatum)
# txOutF.datum
# txInfoF.datums
in passert
"Should owned by stake validator"
isOwnedByStakeValidator
(pjust # datum)
-- 0
PLT -> pnothing
spendProposalContext =
let getProposalRedeemer = plam $ \ref ->
flip (ptryFrom @PProposalRedeemer) fst $
pto $
passertPJust
# "Malformed script context: propsoal input not found in redeemer map"
#$ plookup
# pcon
( PSpending $
pdcons @_0
# pdata ref
# pdnil
)
# txInfoF.redeemers
--------------------------------------------------------------------------
getContext = plam $
flip pletAll $ \inInfoF ->
pfmap
# plam
( \proposalDatum ->
let id = pfield @"proposalId" # proposalDatum
status = pfield @"status" # proposalDatum
redeemer = getProposalRedeemer # inInfoF.outRef
in pcon $ PSpendProposal id status redeemer
)
#$ getProposalDatum
# pfromData inInfoF.resolved
-- Find all stake inputs.
contexts =
pmapMaybe @PList # getContext # pfromData txInfoF.inputs
in -- Can only handle one proposal at a time.
precList
( \_ h t ->
pif
(pnull # t)
(pjust # h)
(ptraceError "Ambiguous proposal")
)
(const pnothing)
# contexts
stakeInputDatums <-
pletC $
pmapMaybe
# plam ((getStakeDatum #) . (pfield @"resolved" #))
# pfromData txInfoF.inputs
noProposalContext = pcon PNoProposal
--------------------------------------------------------------------------
proposalContext <-
pletC $
-- Assemble the signature context.
firstStakeInputDatumF <-
pletFieldsC @'["owner", "delegatedTo"] $
phead # stakeInputDatums
restOfStakeInputDatums <- pletC $ ptail # stakeInputDatums
authorizedBy <- pletC $ pauthorizedBy # authorizationContext txInfoF
PPair allHaveSameOwner allHaveSameDelegatee <-
pmatchC $
pfoldr
# plam
( \d p -> unTermCont $ do
dF <- pletFieldsC @'["owner", "delegatedTo"] d
pure $
pmatch p $ \(PPair allHaveSameOwner allHaveSameDelegatee) ->
let allHaveSameOwner' =
allHaveSameOwner
#&& dF.owner #== firstStakeInputDatumF.owner
allHaveSameDelegatee' =
allHaveSameDelegatee
#&& dF.delegatedTo #== firstStakeInputDatumF.delegatedTo
in pcon $ PPair allHaveSameOwner' allHaveSameDelegatee'
)
# pcon (PPair (pconstant True) (pconstant True))
# restOfStakeInputDatums
let ownerSignsTransaction =
allHaveSameOwner
#&& authorizedBy # firstStakeInputDatumF.owner
delegateSignsTransaction =
allHaveSameDelegatee
#&& pmaybeData
# pconstant False
# plam ((authorizedBy #) . pfromData)
# pfromData firstStakeInputDatumF.delegatedTo
signedBy =
pif
pstMinted
newProposalContext
(pfromMaybe # noProposalContext # spendProposalContext)
ownerSignsTransaction
(pcon PSignedByOwner)
$ pif
delegateSignsTransaction
(pcon PSignedByDelegate)
$ pcon PUnknownSig
--------------------------------------------------------------------------
sigContext <-
pletC $
pcon $
PSigContext
firstStakeInputDatumF.owner
firstStakeInputDatumF.delegatedTo
signedBy
-- Assemeble the redeemer handler context.
--------------------------------------------------------------------------
mkRedeemerhandlerContext <- pletC $
plam $ \redeemerContext ->
-- Find all stake outputs.
-- First step of validating stake outputs. We make sure that every stake
-- output UTxO carries correct amount of GTs specified by its datum.
--
-- Note that non-GT assets are treated transparently.
stakeOutputDatums <-
pletC $
pmapMaybe
# plam
( \output ->
let validateGT = plam $ \stakeDatum ->
let expected = pfield @"stakedAmount" # stakeDatum
actual =
pvalueDiscrete
# gstClass
# (pfield @"value" # output)
in pif
(expected #== actual)
stakeDatum
(ptraceError "Unmatched GT value")
in pfmap
# validateGT
# (getStakeDatum # output)
)
# pfromData txInfoF.outputs
--------------------------------------------------------------------------
mintedST <- pletC $ psymbolValueOf # sstSymbol # txInfoF.mint
pguardC "No new SST minted" $
foldl1
(#||)
[ ptraceIfTrue "All stakes burnt" $
mintedST #< 0 #&& pnull # stakeOutputDatums
, ptraceIfTrue "Nothing burnt" $
mintedST #== 0
]
--------------------------------------------------------------------------
-- Assemble the proposal context.
getProposalDatum <- pletC $
plam $
flip pletAll $ \txOutF ->
let isProposalUTxO =
passetClassValueOf
# txOutF.value
# pstClass #== 1
proposalDatum =
pfromData $
pfromOutputDatum @(PAsData PProposalDatum)
# txOutF.datum
# txInfoF.datums
in pif isProposalUTxO (pjust # proposalDatum) pnothing
let pstMinted =
passetClassValueOf # txInfoF.mint # pstClass #== 1
newProposalContext =
pcon $
PStakeRedeemerHandlerContext
stakeInputDatums
stakeOutputDatums
redeemerContext
sigContext
proposalContext
txInfo
PNewProposal $
pfield @"proposalId"
#$ passertPJust # "Proposal output should present"
#$ pfindJust # getProposalDatum # pfromData txInfoF.outputs
noMetadataContext <-
pletC $
mkRedeemerhandlerContext
#$ pcon
$ PNoMetadata
spendProposalContext =
let getProposalRedeemer = plam $ \ref ->
flip (ptryFrom @PProposalRedeemer) fst $
pto $
passertPJust
# "Malformed script context: propsoal input not found in redeemer map"
#$ plookup
# pcon
( PSpending $
pdcons @_0
# pdata ref
# pdnil
)
# txInfoF.redeemers
--------------------------------------------------------------------------
getContext = plam $
flip pletAll $ \inInfoF ->
pfmap
# plam
( \proposalDatum ->
let id = pfield @"proposalId" # proposalDatum
status = pfield @"status" # proposalDatum
redeemer = getProposalRedeemer # inInfoF.outRef
in pcon $ PSpendProposal id status redeemer
)
#$ getProposalDatum
# pfromData inInfoF.resolved
-- Call the redeemer handler.
contexts =
pmapMaybe @PList # getContext # pfromData txInfoF.inputs
in -- Can only handle one proposal at a time.
precList
( \_ h t ->
pif
(pnull # t)
(pjust # h)
(ptraceError "Ambiguous proposal")
)
(const pnothing)
# contexts
stakeRedeemer <- fst <$> ptryFromC redeemer
noProposalContext = pcon PNoProposal
pure $
popaque $
pmatch stakeRedeemer $ \case
PDestroy _ -> runStakeRedeemerHandler impl.onDestroy # noMetadataContext
PPermitVote _ -> runStakeRedeemerHandler impl.onPermitVote # noMetadataContext
PRetractVotes _ -> runStakeRedeemerHandler impl.onRetractVote # noMetadataContext
PClearDelegate _ -> runStakeRedeemerHandler impl.onClearDelegate # noMetadataContext
PDelegateTo ((pfield @"pkh" #) -> pkh) ->
runStakeRedeemerHandler impl.onDelegateTo
#$ mkRedeemerhandlerContext
#$ pcon
$ PSetDelegateTo pkh
PDepositWithdraw ((pfield @"delta" #) -> delta) ->
runStakeRedeemerHandler impl.onDepositWithdraw #$ mkRedeemerhandlerContext
#$ pcon
$ PDepositWithdrawDelta delta
proposalContext <-
pletC $
pif
pstMinted
newProposalContext
(pfromMaybe # noProposalContext # spendProposalContext)
--------------------------------------------------------------------------
-- Assemeble the redeemer handler context.
mkRedeemerhandlerContext <- pletC $
plam $ \redeemerContext ->
pcon $
PStakeRedeemerHandlerContext
stakeInputDatums
stakeOutputDatums
redeemerContext
sigContext
proposalContext
txInfo
noMetadataContext <-
pletC $
mkRedeemerhandlerContext
#$ pcon
$ PNoMetadata
--------------------------------------------------------------------------
-- Call the redeemer handler.
stakeRedeemer <- fst <$> ptryFromC redeemer
pure $
popaque $
pmatch stakeRedeemer $ \case
PDestroy _ -> runStakeRedeemerHandler impl.onDestroy # noMetadataContext
PPermitVote _ -> runStakeRedeemerHandler impl.onPermitVote # noMetadataContext
PRetractVotes _ -> runStakeRedeemerHandler impl.onRetractVote # noMetadataContext
PClearDelegate _ -> runStakeRedeemerHandler impl.onClearDelegate # noMetadataContext
PDelegateTo ((pfield @"pkh" #) -> pkh) ->
runStakeRedeemerHandler impl.onDelegateTo
#$ mkRedeemerhandlerContext
#$ pcon
$ PSetDelegateTo pkh
PDepositWithdraw ((pfield @"delta" #) -> delta) ->
runStakeRedeemerHandler impl.onDepositWithdraw #$ mkRedeemerhandlerContext
#$ pcon
$ PDepositWithdrawDelta delta
{- | Validator intended for Stake UTXOs to be locked by.
@ -617,14 +591,16 @@ mkStakeValidator
- The stakes must not be locked.
- Tx must be signed by the owner.
@since 0.1.0
== Arguments
Following arguments should be provided(in this order):
1. stake ST symbol
2. proposal ST assetclass
3. governor ST assetclass
@since 1.0.0
-}
stakeValidator ::
-- | Lazy precompiled scripts.
AgoraScripts ->
-- | See 'Agora.Governor.Governor.gtClassRef'.
Tagged GTTag AssetClass ->
ClosedTerm PValidator
stakeValidator :: ClosedTerm (PCurrencySymbol :--> PAssetClass :--> PAssetClass :--> PValidator)
stakeValidator =
mkStakeValidator $
StakeRedeemerImpl

View file

@ -13,22 +13,23 @@ module Agora.Treasury (
) where
import Agora.AuthorityToken (singleAuthorityTokenBurned)
import Plutarch.Api.V1.Value (PValue)
import Plutarch.Api.V1.Value (PCurrencySymbol, PValue)
import Plutarch.Api.V2 (PScriptPurpose (PSpending), PValidator)
import "liqwid-plutarch-extra" Plutarch.Extra.TermCont (pguardC, pletC, pletFieldsC, pmatchC)
import Plutarch.TryFrom ()
import PlutusLedgerApi.V1.Value (CurrencySymbol)
import "liqwid-plutarch-extra" Plutarch.Extra.TermCont (pguardC, pletFieldsC, pmatchC)
{- | Validator ensuring that transactions consuming the treasury
do so in a valid manner.
== Arguments
Following arguments should be provided(in this order):
1. authority token symbol
@since 0.1.0
-}
treasuryValidator ::
-- | Governance Authority Token that can unlock this validator.
CurrencySymbol ->
ClosedTerm PValidator
treasuryValidator gatCs' = plam $ \_ _ ctx' -> unTermCont $ do
ClosedTerm (PCurrencySymbol :--> PValidator)
treasuryValidator = plam $ \atSymbol _ _ ctx' -> unTermCont $ do
-- plet required fields from script context.
ctx <- pletFieldsC @["txInfo", "purpose"] ctx'
@ -40,9 +41,7 @@ treasuryValidator gatCs' = plam $ \_ _ ctx' -> unTermCont $ do
let mint :: Term _ (PValue _ _)
mint = txInfo.mint
gatCs <- pletC $ pconstant gatCs'
pguardC "A single authority token has been burned" $
singleAuthorityTokenBurned gatCs txInfo.inputs mint
singleAuthorityTokenBurned atSymbol txInfo.inputs mint
pure . popaque $ pconstant ()

View file

@ -12,9 +12,6 @@ module Agora.Utils (
validatorHashToAddress,
pltAsData,
withBuiltinPairAsData,
CompiledValidator (..),
CompiledMintingPolicy (..),
CompiledEffect (..),
pvalidatorHashToTokenName,
pscriptHashToTokenName,
scriptHashToTokenName,
@ -49,10 +46,8 @@ import Plutarch.Unsafe (punsafeCoerce)
import PlutusLedgerApi.V2 (
Address (Address),
Credential (ScriptCredential),
MintingPolicy,
ScriptHash (ScriptHash),
TokenName (TokenName),
Validator,
ValidatorHash (ValidatorHash),
)
@ -128,30 +123,6 @@ withBuiltinPairAsData f p =
b = pfromData $ psndBuiltin # p
in f a b
{- | Type-safe wrapper for compiled plutus validator.
@since 0.2.0
-}
newtype CompiledValidator (datum :: Type) (redeemer :: Type) = CompiledValidator
{ getCompiledValidator :: Validator
}
{- | Type-safe wrapper for compiled plutus miting policy.
@since 0.2.0
-}
newtype CompiledMintingPolicy (redeemer :: Type) = CompiledMintingPolicy
{ getCompiledMintingPolicy :: MintingPolicy
}
{- | Type-safe wrapper for compiled plutus effect.
@since 0.2.0
-}
newtype CompiledEffect (datum :: Type) = CompiledEffect
{ getCompiledEffect :: Validator
}
-- | @since 1.0.0
plistEqualsBy ::
forall

934
bench.csv
View file

@ -1,475 +1,475 @@
name,cpu,mem,size
Agora/Effects/Treasury Withdrawal Effect/effect/Simple,216491233,584406,3879
Agora/Effects/Treasury Withdrawal Effect/effect/Simple with multiple treasuries ,307752363,787074,4311
Agora/Effects/Treasury Withdrawal Effect/effect/Mixed Assets,300492604,786706,4249
Agora/Effects/Governor Mutation Effect/validator/valid new governor datum/governor validator should pass,124118615,348863,11354
Agora/Effects/Governor Mutation Effect/validator/valid new governor datum/effect validator should pass,141875305,374153,4680
Agora/Stake/policy/stakeCreation,56986696,165703,3256
Agora/Stake/validator/stakeDepositWithdraw deposit,149771578,425074,7399
Agora/Stake/validator/stakeDepositWithdraw withdraw,149771578,425074,7391
Agora/Stake/validator/set delegate/override existing delegate,178447216,494959,7530
Agora/Stake/validator/set delegate/remove existing delegate,169112220,471571,7460
Agora/Stake/validator/set delegate/set delegate to something,176018228,487859,7460
Agora/Proposal/policy (proposal creation)/legal/proposal,34052826,101718,2046
Agora/Proposal/policy (proposal creation)/legal/governor,277583164,731983,11807
Agora/Proposal/policy (proposal creation)/legal/stake,310973429,839152,8182
Agora/Proposal/policy (proposal creation)/illegal/invalid next proposal id/proposal,34052826,101718,2046
Agora/Proposal/policy (proposal creation)/illegal/invalid next proposal id/stake,310973429,839152,8182
Agora/Proposal/policy (proposal creation)/illegal/use other's stake/proposal,34052826,101718,2015
Agora/Proposal/policy (proposal creation)/illegal/use other's stake/governor,277583164,731983,11776
Agora/Proposal/policy (proposal creation)/illegal/altered stake/proposal,34052826,101718,2046
Agora/Proposal/policy (proposal creation)/illegal/invalid stake locks/proposal,34052826,101718,2054
Agora/Proposal/policy (proposal creation)/illegal/invalid stake locks/governor,277583164,731983,11815
Agora/Proposal/policy (proposal creation)/illegal/has reached maximum proposals limit/proposal,34052826,101718,2067
Agora/Proposal/policy (proposal creation)/illegal/has reached maximum proposals limit/stake,323671865,875368,8213
Agora/Proposal/policy (proposal creation)/illegal/loose time range/proposal,34052826,101718,2046
Agora/Proposal/policy (proposal creation)/illegal/loose time range/stake,310973429,839152,8182
Agora/Proposal/policy (proposal creation)/illegal/open time range/proposal,34052826,101718,2042
Agora/Proposal/policy (proposal creation)/illegal/open time range/stake,310973429,839152,8178
Agora/Proposal/policy (proposal creation)/illegal/invalid proposal status/VotingReady/proposal,34052826,101718,2046
Agora/Proposal/policy (proposal creation)/illegal/invalid proposal status/VotingReady/stake,310973429,839152,8182
Agora/Proposal/policy (proposal creation)/illegal/invalid proposal status/Locked/proposal,34052826,101718,2046
Agora/Proposal/policy (proposal creation)/illegal/invalid proposal status/Locked/stake,310973429,839152,8182
Agora/Proposal/policy (proposal creation)/illegal/invalid proposal status/Finished/proposal,34052826,101718,2046
Agora/Proposal/policy (proposal creation)/illegal/invalid proposal status/Finished/stake,310973429,839152,8182
Agora/Proposal/validator/cosignature/legal/proposal,199710414,564260,11385
Agora/Proposal/validator/cosignature/legal/stake,263738828,736793,8026
Agora/Proposal/validator/cosignature/illegal/insufficient staked amount/stake,263738828,736793,8026
Agora/Proposal/validator/cosignature/illegal/proposal locks not updated/proposal,199710414,564260,11379
Agora/Proposal/validator/cosignature/illegal/duplicate cosigners/stake,270088046,754901,8043
Agora/Proposal/validator/cosignature/illegal/cosigners not updated/stake,263738828,736793,7992
Agora/Proposal/validator/cosignature/illegal/cosign after draft/(negative test)/stake,263738828,736793,8026
Agora/Proposal/validator/cosignature/illegal/cosign after draft/(negative test)/stake,263738828,736793,8026
Agora/Proposal/validator/cosignature/illegal/cosign after draft/(negative test)/stake,263738828,736793,8026
Agora/Proposal/validator/voting/legal/different number of stakes/1 stakes/by owner/proposal,214112405,611164,11237
Agora/Proposal/validator/voting/legal/different number of stakes/1 stakes/by owner/stake,275392572,770760,7889
Agora/Proposal/validator/voting/legal/different number of stakes/1 stakes/by delegatee/proposal,214112405,611164,11237
Agora/Proposal/validator/voting/legal/different number of stakes/1 stakes/by delegatee/stake,282219467,787916,7889
Agora/Proposal/validator/voting/legal/different number of stakes/3 stakes/by owner/proposal,319042607,904612,12452
Agora/Proposal/validator/voting/legal/different number of stakes/3 stakes/by owner/stake,574886168,1552272,9104
Agora/Proposal/validator/voting/legal/different number of stakes/3 stakes/by delegatee/proposal,319042607,904612,12452
Agora/Proposal/validator/voting/legal/different number of stakes/3 stakes/by delegatee/stake,581713063,1569428,9104
Agora/Proposal/validator/voting/legal/different number of stakes/5 stakes/by owner/proposal,423972809,1198060,13667
Agora/Proposal/validator/voting/legal/different number of stakes/5 stakes/by owner/stake,874379764,2333784,10319
Agora/Proposal/validator/voting/legal/different number of stakes/5 stakes/by delegatee/proposal,423972809,1198060,13667
Agora/Proposal/validator/voting/legal/different number of stakes/5 stakes/by delegatee/stake,881206659,2350940,10319
Agora/Proposal/validator/voting/legal/different number of stakes/7 stakes/by owner/proposal,528903011,1491508,14881
Agora/Proposal/validator/voting/legal/different number of stakes/7 stakes/by owner/stake,1173873360,3115296,11533
Agora/Proposal/validator/voting/legal/different number of stakes/7 stakes/by delegatee/proposal,528903011,1491508,14881
Agora/Proposal/validator/voting/legal/different number of stakes/7 stakes/by delegatee/stake,1180700255,3132452,11533
Agora/Proposal/validator/voting/legal/different number of stakes/9 stakes/by owner/proposal,633833213,1784956,16096
Agora/Proposal/validator/voting/legal/different number of stakes/9 stakes/by owner/stake,1473366956,3896808,12748
Agora/Proposal/validator/voting/legal/different number of stakes/9 stakes/by delegatee/proposal,633833213,1784956,16096
Agora/Proposal/validator/voting/legal/different number of stakes/9 stakes/by delegatee/stake,1480193851,3913964,12748
Agora/Proposal/validator/voting/legal/transparent non-GT tokens/proposal,214112405,611164,11237
Agora/Proposal/validator/voting/legal/transparent non-GT tokens/stake,275392572,770760,7889
Agora/Proposal/validator/voting/illegal/vote for nonexistent outcome/stake,275392572,770760,7894
Agora/Proposal/validator/voting/illegal/unauthorized tx/proposal,214112405,611164,11237
Agora/Proposal/validator/voting/illegal/more than one proposals/stake,275392572,770760,7894
Agora/Proposal/validator/voting/illegal/locks not added/proposal,423972809,1198060,13637
Agora/Proposal/validator/voting/illegal/attempt to burn stakes/proposal,400905954,1146440,12608
Agora/Proposal/validator/voting/illegal/insufficient staked amount/stake,275392572,770760,7866
Agora/Proposal/validator/voting/illegal/insufficient staked amount/stake,874379764,2333784,10231
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/legal/to next state/from Draft to VotingReady/proposal,241755556,683567,11851
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/legal/to next state/from VotingReady to Locked/proposal,222134383,620301,11614
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/legal/to next state/from Locked to Finished/proposal,236239047,649043,12885
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/legal/to next state/from Locked to Finished/governor,401301925,1085610,12822
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/legal/to next state/from Locked to Finished/authority,15755485,47872,3307
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/legal/to next state/from Draft to VotingReady/proposal,237944266,671339,11572
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/legal/to next state/from VotingReady to Locked/proposal,218323093,608073,11335
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/legal/to next state/from Locked to Finished/proposal,232427757,636815,12427
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/legal/to next state/from Locked to Finished/governor,399047347,1078104,12457
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/legal/to next state/from Locked to Finished/authority,80911114,217260,2942
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/legal/to failed state/from Draft to Finished/proposal,212003769,595862,11607
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/legal/to failed state/from VotingReady to Finished/proposal,210329785,586268,11608
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/legal/to failed state/from Locked to Finished/proposal,223217730,618674,11608
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/legal/to failed state/from Draft to Finished/proposal,208192479,583634,11328
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/legal/to failed state/from VotingReady to Finished/proposal,206518495,574040,11329
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/legal/to failed state/from Locked to Finished/proposal,219406440,606446,11329
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/illegal/advance finished proposals/(negative test)/authority,15755485,47872,3307
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/illegal/advance finished proposals/(negative test)/authority,80911114,217260,2942
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/illegal/to next state too late/from Locked/governor,401301925,1085610,12822
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/illegal/to next state too late/from Locked/authority,15755485,47872,3307
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/illegal/to next state too late/from Locked/governor,399047347,1078104,12457
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/illegal/to next state too late/from Locked/authority,80911114,217260,2942
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/illegal/forget to mint GATs/proposal,232427757,636815,11781
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/illegal/mint GATs for wrong validators/proposal,232427757,636815,12427
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/illegal/mint GATs for wrong validators/authority,80911114,217260,2942
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/illegal/mint GATs with bad token name/proposal,232427757,636815,12459
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/illegal/mint GATs with bad token name/authority,12079326,37748,2974
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/illegal/wrong GAT datum/proposal,232427757,636815,12421
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/illegal/wrong GAT datum/authority,80911114,217260,2936
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/illegal/invalid governor output datum/proposal,232427757,636815,12427
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/illegal/invalid governor output datum/authority,80911114,217260,2942
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/legal/to next state/from Draft to VotingReady/proposal,315980276,887869,12767
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/legal/to next state/from VotingReady to Locked/proposal,300053989,834591,12530
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/legal/to next state/from Locked to Finished/proposal,310463767,853345,13801
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/legal/to next state/from Locked to Finished/governor,443037153,1202842,13433
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/legal/to next state/from Locked to Finished/authority,15755485,47872,3918
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/legal/to next state/from Draft to VotingReady/proposal,308357696,863413,12206
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/legal/to next state/from VotingReady to Locked/proposal,292431409,810135,11969
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/legal/to next state/from Locked to Finished/proposal,302841187,828889,13062
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/legal/to next state/from Locked to Finished/governor,439027962,1189222,12881
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/legal/to next state/from Locked to Finished/authority,80911114,217260,3366
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/legal/to failed state/from Draft to Finished/proposal,286228489,800164,12523
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/legal/to failed state/from VotingReady to Finished/proposal,284554505,790570,12524
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/legal/to failed state/from Locked to Finished/proposal,297442450,822976,12524
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/legal/to failed state/from Draft to Finished/proposal,278605909,775708,11962
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/legal/to failed state/from VotingReady to Finished/proposal,276931925,766114,11963
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/legal/to failed state/from Locked to Finished/proposal,289819870,798520,11963
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/illegal/advance finished proposals/(negative test)/authority,15755485,47872,3918
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/illegal/advance finished proposals/(negative test)/authority,80911114,217260,3366
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/illegal/to next state too late/from Locked/governor,443037153,1202842,13433
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/illegal/to next state too late/from Locked/authority,15755485,47872,3918
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/illegal/to next state too late/from Locked/governor,439027962,1189222,12881
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/illegal/to next state too late/from Locked/authority,80911114,217260,3366
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/illegal/forget to mint GATs/proposal,302841187,828889,12416
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/illegal/mint GATs for wrong validators/proposal,302841187,828889,13062
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/illegal/mint GATs for wrong validators/authority,80911114,217260,3366
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/illegal/mint GATs with bad token name/proposal,302841187,828889,13094
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/illegal/mint GATs with bad token name/authority,12079326,37748,3398
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/illegal/wrong GAT datum/proposal,302841187,828889,13056
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/illegal/wrong GAT datum/authority,80911114,217260,3360
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/illegal/invalid governor output datum/proposal,302841187,828889,13062
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/illegal/invalid governor output datum/authority,80911114,217260,3366
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/legal/to next state/from Draft to VotingReady/proposal,538654436,1500775,15514
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/legal/to next state/from VotingReady to Locked/proposal,533812807,1477461,15277
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/legal/to next state/from Locked to Finished/proposal,533137927,1466251,16548
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/legal/to next state/from Locked to Finished/governor,568242837,1554538,15264
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/legal/to next state/from Locked to Finished/authority,15755485,47872,5749
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/legal/to next state/from Draft to VotingReady/proposal,519597986,1439635,14113
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/legal/to next state/from VotingReady to Locked/proposal,514756357,1416321,13876
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/legal/to next state/from Locked to Finished/proposal,514081477,1405111,14969
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/legal/to next state/from Locked to Finished/governor,558969807,1522576,14152
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/legal/to next state/from Locked to Finished/authority,80911114,217260,4637
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/legal/to failed state/from Draft to Finished/proposal,508902649,1413070,15270
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/legal/to failed state/from VotingReady to Finished/proposal,507228665,1403476,15271
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/legal/to failed state/from Locked to Finished/proposal,520116610,1435882,15271
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/legal/to failed state/from Draft to Finished/proposal,489846199,1351930,13869
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/legal/to failed state/from VotingReady to Finished/proposal,488172215,1342336,13870
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/legal/to failed state/from Locked to Finished/proposal,501060160,1374742,13870
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/illegal/advance finished proposals/(negative test)/authority,15755485,47872,5749
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/illegal/advance finished proposals/(negative test)/authority,80911114,217260,4637
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/illegal/to next state too late/from Locked/governor,568242837,1554538,15264
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/illegal/to next state too late/from Locked/authority,15755485,47872,5749
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/illegal/to next state too late/from Locked/governor,558969807,1522576,14152
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/illegal/to next state too late/from Locked/authority,80911114,217260,4637
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/illegal/forget to mint GATs/proposal,514081477,1405111,14323
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/illegal/mint GATs for wrong validators/proposal,514081477,1405111,14969
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/illegal/mint GATs for wrong validators/authority,80911114,217260,4637
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/illegal/mint GATs with bad token name/proposal,514081477,1405111,15001
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/illegal/mint GATs with bad token name/authority,12079326,37748,4669
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/illegal/wrong GAT datum/proposal,514081477,1405111,14963
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/illegal/wrong GAT datum/authority,80911114,217260,4631
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/illegal/invalid governor output datum/proposal,514081477,1405111,14969
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/illegal/invalid governor output datum/authority,80911114,217260,4637
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/legal/to next state/from Draft to VotingReady/proposal,418041446,1190051,13352
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/legal/to next state/from VotingReady to Locked/proposal,252485103,704029,12025
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/legal/to next state/from Locked to Finished/proposal,266589767,732771,13295
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/legal/to next state/from Locked to Finished/governor,416175221,1127474,13095
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/legal/to next state/from Locked to Finished/authority,15755485,47872,3580
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/legal/to next state/from Draft to VotingReady/proposal,414230156,1177823,13071
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/legal/to next state/from VotingReady to Locked/proposal,248673813,691801,11744
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/legal/to next state/from Locked to Finished/proposal,262778477,720543,12836
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/legal/to next state/from Locked to Finished/governor,413920643,1119968,12730
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/legal/to next state/from Locked to Finished/authority,80911114,217260,3215
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/legal/to failed state/from Draft to Finished/proposal,242354489,679590,12017
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/legal/to failed state/from VotingReady to Finished/proposal,240680505,669996,12018
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/legal/to failed state/from Locked to Finished/proposal,253568450,702402,12018
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/legal/to failed state/from Draft to Finished/proposal,238543199,667362,11737
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/legal/to failed state/from VotingReady to Finished/proposal,236869215,657768,11738
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/legal/to failed state/from Locked to Finished/proposal,249757160,690174,11738
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/illegal/advance finished proposals/(negative test)/authority,15755485,47872,3580
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/illegal/advance finished proposals/(negative test)/authority,80911114,217260,3215
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/illegal/to next state too late/from Locked/governor,416175221,1127474,13095
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/illegal/to next state too late/from Locked/authority,15755485,47872,3580
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/illegal/to next state too late/from Locked/governor,413920643,1119968,12730
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/illegal/to next state too late/from Locked/authority,80911114,217260,3215
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/illegal/forget to mint GATs/proposal,262778477,720543,12191
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/illegal/mint GATs for wrong validators/proposal,262778477,720543,12836
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/illegal/mint GATs for wrong validators/authority,80911114,217260,3215
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/illegal/mint GATs with bad token name/proposal,262778477,720543,12868
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/illegal/mint GATs with bad token name/authority,12079326,37748,3247
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/illegal/wrong GAT datum/proposal,262778477,720543,12830
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/illegal/wrong GAT datum/authority,80911114,217260,3209
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/illegal/invalid governor output datum/proposal,262778477,720543,12836
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/illegal/invalid governor output datum/authority,80911114,217260,3215
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/legal/to next state/from Draft to VotingReady/proposal,492266166,1394353,14267
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/legal/to next state/from VotingReady to Locked/proposal,330404709,918319,12940
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/legal/to next state/from Locked to Finished/proposal,340814487,937073,14211
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/legal/to next state/from Locked to Finished/governor,457910449,1244706,13706
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/legal/to next state/from Locked to Finished/authority,15755485,47872,4191
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/legal/to next state/from Draft to VotingReady/proposal,484643586,1369897,13707
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/legal/to next state/from VotingReady to Locked/proposal,322782129,893863,12379
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/legal/to next state/from Locked to Finished/proposal,333191907,912617,13472
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/legal/to next state/from Locked to Finished/governor,453901258,1231086,13154
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/legal/to next state/from Locked to Finished/authority,80911114,217260,3639
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/legal/to failed state/from Draft to Finished/proposal,316579209,883892,12933
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/legal/to failed state/from VotingReady to Finished/proposal,314905225,874298,12934
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/legal/to failed state/from Locked to Finished/proposal,327793170,906704,12934
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/legal/to failed state/from Draft to Finished/proposal,308956629,859436,12372
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/legal/to failed state/from VotingReady to Finished/proposal,307282645,849842,12373
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/legal/to failed state/from Locked to Finished/proposal,320170590,882248,12373
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/illegal/advance finished proposals/(negative test)/authority,15755485,47872,4191
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/illegal/advance finished proposals/(negative test)/authority,80911114,217260,3639
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/illegal/to next state too late/from Locked/governor,457910449,1244706,13706
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/illegal/to next state too late/from Locked/authority,15755485,47872,4191
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/illegal/to next state too late/from Locked/governor,453901258,1231086,13154
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/illegal/to next state too late/from Locked/authority,80911114,217260,3639
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/illegal/forget to mint GATs/proposal,333191907,912617,12826
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/illegal/mint GATs for wrong validators/proposal,333191907,912617,13472
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/illegal/mint GATs for wrong validators/authority,80911114,217260,3639
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/illegal/mint GATs with bad token name/proposal,333191907,912617,13504
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/illegal/mint GATs with bad token name/authority,12079326,37748,3671
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/illegal/wrong GAT datum/proposal,333191907,912617,13466
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/illegal/wrong GAT datum/authority,80911114,217260,3633
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/illegal/invalid governor output datum/proposal,333191907,912617,13472
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/illegal/invalid governor output datum/authority,80911114,217260,3639
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/legal/to next state/from Draft to VotingReady/proposal,714940326,2007259,17013
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/legal/to next state/from VotingReady to Locked/proposal,564163527,1561189,15686
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/legal/to next state/from Locked to Finished/proposal,563488647,1549979,16957
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/legal/to next state/from Locked to Finished/governor,583116133,1596402,15537
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/legal/to next state/from Locked to Finished/authority,15755485,47872,6022
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/legal/to next state/from Draft to VotingReady/proposal,695883876,1946119,15613
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/legal/to next state/from VotingReady to Locked/proposal,545107077,1500049,14285
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/legal/to next state/from Locked to Finished/proposal,544432197,1488839,15378
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/legal/to next state/from Locked to Finished/governor,573843103,1564440,14425
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/legal/to next state/from Locked to Finished/authority,80911114,217260,4910
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/legal/to failed state/from Draft to Finished/proposal,539253369,1496798,15679
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/legal/to failed state/from VotingReady to Finished/proposal,537579385,1487204,15680
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/legal/to failed state/from Locked to Finished/proposal,550467330,1519610,15680
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/legal/to failed state/from Draft to Finished/proposal,520196919,1435658,14278
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/legal/to failed state/from VotingReady to Finished/proposal,518522935,1426064,14279
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/legal/to failed state/from Locked to Finished/proposal,531410880,1458470,14279
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/illegal/advance finished proposals/(negative test)/authority,15755485,47872,6022
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/illegal/advance finished proposals/(negative test)/authority,80911114,217260,4910
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/illegal/to next state too late/from Locked/governor,583116133,1596402,15537
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/illegal/to next state too late/from Locked/authority,15755485,47872,6022
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/illegal/to next state too late/from Locked/governor,573843103,1564440,14425
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/illegal/to next state too late/from Locked/authority,80911114,217260,4910
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/illegal/forget to mint GATs/proposal,544432197,1488839,14732
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/illegal/mint GATs for wrong validators/proposal,544432197,1488839,15378
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/illegal/mint GATs for wrong validators/authority,80911114,217260,4910
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/illegal/mint GATs with bad token name/proposal,544432197,1488839,15410
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/illegal/mint GATs with bad token name/authority,12079326,37748,4942
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/illegal/wrong GAT datum/proposal,544432197,1488839,15372
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/illegal/wrong GAT datum/authority,80911114,217260,4904
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/illegal/invalid governor output datum/proposal,544432197,1488839,15378
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/illegal/invalid governor output datum/authority,80911114,217260,4910
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/legal/to next state/from Draft to VotingReady/proposal,653562252,1868847,15228
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/legal/to next state/from VotingReady to Locked/proposal,290423503,808689,12536
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/legal/to next state/from Locked to Finished/proposal,304528167,837431,13807
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/legal/to next state/from Locked to Finished/governor,434766841,1179804,13437
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/legal/to next state/from Locked to Finished/authority,15755485,47872,3922
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/legal/to next state/from Draft to VotingReady/proposal,649750962,1856619,14949
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/legal/to next state/from VotingReady to Locked/proposal,286612213,796461,12256
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/legal/to next state/from Locked to Finished/proposal,300716877,825203,13348
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/legal/to next state/from Locked to Finished/governor,432512263,1172298,13071
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/legal/to next state/from Locked to Finished/authority,80911114,217260,3556
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/legal/to failed state/from Draft to Finished/proposal,280292889,784250,12529
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/legal/to failed state/from VotingReady to Finished/proposal,278618905,774656,12530
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/legal/to failed state/from Locked to Finished/proposal,291506850,807062,12530
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/legal/to failed state/from Draft to Finished/proposal,276481599,772022,12249
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/legal/to failed state/from VotingReady to Finished/proposal,274807615,762428,12250
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/legal/to failed state/from Locked to Finished/proposal,287695560,794834,12250
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/illegal/advance finished proposals/(negative test)/authority,15755485,47872,3922
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/illegal/advance finished proposals/(negative test)/authority,80911114,217260,3556
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/illegal/to next state too late/from Locked/governor,434766841,1179804,13437
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/illegal/to next state too late/from Locked/authority,15755485,47872,3922
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/illegal/to next state too late/from Locked/governor,432512263,1172298,13071
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/illegal/to next state too late/from Locked/authority,80911114,217260,3556
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/illegal/forget to mint GATs/proposal,300716877,825203,12703
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/illegal/mint GATs for wrong validators/proposal,300716877,825203,13348
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/illegal/mint GATs for wrong validators/authority,80911114,217260,3556
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/illegal/mint GATs with bad token name/proposal,300716877,825203,13381
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/illegal/mint GATs with bad token name/authority,12079326,37748,3588
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/illegal/wrong GAT datum/proposal,300716877,825203,13342
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/illegal/wrong GAT datum/authority,80911114,217260,3550
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/illegal/invalid governor output datum/proposal,300716877,825203,13348
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/illegal/invalid governor output datum/authority,80911114,217260,3556
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/legal/to next state/from Draft to VotingReady/proposal,727786972,2073149,16144
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/legal/to next state/from VotingReady to Locked/proposal,368343109,1022979,13451
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/legal/to next state/from Locked to Finished/proposal,378752887,1041733,14722
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/legal/to next state/from Locked to Finished/governor,476502069,1297036,14047
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/legal/to next state/from Locked to Finished/authority,15755485,47872,4532
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/legal/to next state/from Draft to VotingReady/proposal,720164392,2048693,15584
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/legal/to next state/from VotingReady to Locked/proposal,360720529,998523,12892
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/legal/to next state/from Locked to Finished/proposal,371130307,1017277,13984
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/legal/to next state/from Locked to Finished/governor,472492878,1283416,13495
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/legal/to next state/from Locked to Finished/authority,80911114,217260,3980
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/legal/to failed state/from Draft to Finished/proposal,354517609,988552,13444
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/legal/to failed state/from VotingReady to Finished/proposal,352843625,978958,13445
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/legal/to failed state/from Locked to Finished/proposal,365731570,1011364,13445
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/legal/to failed state/from Draft to Finished/proposal,346895029,964096,12885
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/legal/to failed state/from VotingReady to Finished/proposal,345221045,954502,12886
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/legal/to failed state/from Locked to Finished/proposal,358108990,986908,12886
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/illegal/advance finished proposals/(negative test)/authority,15755485,47872,4532
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/illegal/advance finished proposals/(negative test)/authority,80911114,217260,3980
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/illegal/to next state too late/from Locked/governor,476502069,1297036,14047
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/illegal/to next state too late/from Locked/authority,15755485,47872,4532
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/illegal/to next state too late/from Locked/governor,472492878,1283416,13495
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/illegal/to next state too late/from Locked/authority,80911114,217260,3980
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/illegal/forget to mint GATs/proposal,371130307,1017277,13339
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/illegal/mint GATs for wrong validators/proposal,371130307,1017277,13984
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/illegal/mint GATs for wrong validators/authority,80911114,217260,3980
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/illegal/mint GATs with bad token name/proposal,371130307,1017277,14016
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/illegal/mint GATs with bad token name/authority,12079326,37748,4012
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/illegal/wrong GAT datum/proposal,371130307,1017277,13978
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/illegal/wrong GAT datum/authority,80911114,217260,3974
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/illegal/invalid governor output datum/proposal,371130307,1017277,13984
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/illegal/invalid governor output datum/authority,80911114,217260,3980
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/legal/to next state/from Draft to VotingReady/proposal,950461132,2686055,18891
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/legal/to next state/from VotingReady to Locked/proposal,602101927,1665849,16198
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/legal/to next state/from Locked to Finished/proposal,601427047,1654639,17469
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/legal/to next state/from Locked to Finished/governor,601707753,1648732,15878
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/legal/to next state/from Locked to Finished/authority,15755485,47872,6363
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/legal/to next state/from Draft to VotingReady/proposal,931404682,2624915,17490
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/legal/to next state/from VotingReady to Locked/proposal,583045477,1604709,14798
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/legal/to next state/from Locked to Finished/proposal,582370597,1593499,15890
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/legal/to next state/from Locked to Finished/governor,592434723,1616770,14766
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/legal/to next state/from Locked to Finished/authority,80911114,217260,5251
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/legal/to failed state/from Draft to Finished/proposal,577191769,1601458,16191
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/legal/to failed state/from VotingReady to Finished/proposal,575517785,1591864,16192
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/legal/to failed state/from Locked to Finished/proposal,588405730,1624270,16192
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/legal/to failed state/from Draft to Finished/proposal,558135319,1540318,14791
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/legal/to failed state/from VotingReady to Finished/proposal,556461335,1530724,14792
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/legal/to failed state/from Locked to Finished/proposal,569349280,1563130,14792
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/illegal/advance finished proposals/(negative test)/authority,15755485,47872,6363
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/illegal/advance finished proposals/(negative test)/authority,80911114,217260,5251
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/illegal/to next state too late/from Locked/governor,601707753,1648732,15878
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/illegal/to next state too late/from Locked/authority,15755485,47872,6363
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/illegal/to next state too late/from Locked/governor,592434723,1616770,14766
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/illegal/to next state too late/from Locked/authority,80911114,217260,5251
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/illegal/forget to mint GATs/proposal,582370597,1593499,15244
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/illegal/mint GATs for wrong validators/proposal,582370597,1593499,15890
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/illegal/mint GATs for wrong validators/authority,80911114,217260,5251
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/illegal/mint GATs with bad token name/proposal,582370597,1593499,15922
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/illegal/mint GATs with bad token name/authority,12079326,37748,5283
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/illegal/wrong GAT datum/proposal,582370597,1593499,15884
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/illegal/wrong GAT datum/authority,80911114,217260,5245
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/illegal/invalid governor output datum/proposal,582370597,1593499,15890
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/illegal/invalid governor output datum/authority,80911114,217260,5251
Agora/Proposal/validator/unlocking/legal/with 1 stakes/voter: retract votes while voting/stake,286583408,781140,8111
Agora/Proposal/validator/unlocking/legal/with 1 stakes/voter: retract votes while voting/proposal,211726371,599872,11464
Agora/Proposal/validator/unlocking/legal/with 1 stakes/voter: retract votes while voting by delegatee/stake,293410303,798296,8111
Agora/Proposal/validator/unlocking/legal/with 1 stakes/voter: retract votes while voting by delegatee/proposal,211726371,599872,11464
Agora/Proposal/validator/unlocking/legal/with 1 stakes/voter/creator: retract votes while voting/stake,297089663,811742,8127
Agora/Proposal/validator/unlocking/legal/with 1 stakes/voter/creator: retract votes while voting/proposal,218061775,618286,11475
Agora/Proposal/validator/unlocking/legal/with 1 stakes/creator: remove creator lock after voting/stake,287584665,784347,8114
Agora/Proposal/validator/unlocking/legal/with 1 stakes/creator: remove creator lock after voting/proposal,182085595,516679,11468
Agora/Proposal/validator/unlocking/legal/with 1 stakes/Voter: remove lock after voting/stake,287714386,783544,8116
Agora/Proposal/validator/unlocking/legal/with 1 stakes/Voter: remove lock after voting/proposal,183123872,519477,11469
Agora/Proposal/validator/unlocking/legal/with 3 stakes/voter: retract votes while voting/stake,606983718,1573538,9456
Agora/Proposal/validator/unlocking/legal/with 3 stakes/voter: retract votes while voting/proposal,321452619,905880,12809
Agora/Proposal/validator/unlocking/legal/with 3 stakes/voter: retract votes while voting by delegatee/stake,613810613,1590694,9456
Agora/Proposal/validator/unlocking/legal/with 3 stakes/voter: retract votes while voting by delegatee/proposal,321452619,905880,12809
Agora/Proposal/validator/unlocking/legal/with 3 stakes/voter/creator: retract votes while voting/stake,638502483,1665344,9494
Agora/Proposal/validator/unlocking/legal/with 3 stakes/voter/creator: retract votes while voting/proposal,340458831,961122,12842
Agora/Proposal/validator/unlocking/legal/with 3 stakes/creator: remove creator lock after voting/stake,607725533,1578351,9457
Agora/Proposal/validator/unlocking/legal/with 3 stakes/creator: remove creator lock after voting/proposal,248010757,696223,12811
Agora/Proposal/validator/unlocking/legal/with 3 stakes/Voter: remove lock after voting/stake,608114696,1575942,9461
Agora/Proposal/validator/unlocking/legal/with 3 stakes/Voter: remove lock after voting/proposal,251125588,704617,12814
Agora/Proposal/validator/unlocking/legal/with 5 stakes/voter: retract votes while voting/stake,947030684,2397376,10802
Agora/Proposal/validator/unlocking/legal/with 5 stakes/voter: retract votes while voting/proposal,431178867,1211888,14155
Agora/Proposal/validator/unlocking/legal/with 5 stakes/voter: retract votes while voting by delegatee/stake,953857579,2414532,10802
Agora/Proposal/validator/unlocking/legal/with 5 stakes/voter: retract votes while voting by delegatee/proposal,431178867,1211888,14155
Agora/Proposal/validator/unlocking/legal/with 5 stakes/voter/creator: retract votes while voting/stake,999561959,2550386,10862
Agora/Proposal/validator/unlocking/legal/with 5 stakes/voter/creator: retract votes while voting/proposal,462855887,1303958,14210
Agora/Proposal/validator/unlocking/legal/with 5 stakes/creator: remove creator lock after voting/stake,947513057,2403795,10801
Agora/Proposal/validator/unlocking/legal/with 5 stakes/creator: remove creator lock after voting/proposal,313935919,875767,14155
Agora/Proposal/validator/unlocking/legal/with 5 stakes/Voter: remove lock after voting/stake,948161662,2399780,10807
Agora/Proposal/validator/unlocking/legal/with 5 stakes/Voter: remove lock after voting/proposal,319127304,889757,14160
Agora/Proposal/validator/unlocking/legal/with 7 stakes/voter: retract votes while voting/stake,1306724306,3252654,12147
Agora/Proposal/validator/unlocking/legal/with 7 stakes/voter: retract votes while voting/proposal,540905115,1517896,15500
Agora/Proposal/validator/unlocking/legal/with 7 stakes/voter: retract votes while voting by delegatee/stake,1313551201,3269810,12147
Agora/Proposal/validator/unlocking/legal/with 7 stakes/voter: retract votes while voting by delegatee/proposal,540905115,1517896,15500
Agora/Proposal/validator/unlocking/legal/with 7 stakes/voter/creator: retract votes while voting/stake,1380268091,3466868,12229
Agora/Proposal/validator/unlocking/legal/with 7 stakes/voter/creator: retract votes while voting/proposal,585252943,1646794,15577
Agora/Proposal/validator/unlocking/legal/with 7 stakes/creator: remove creator lock after voting/stake,1306947237,3260679,12144
Agora/Proposal/validator/unlocking/legal/with 7 stakes/creator: remove creator lock after voting/proposal,379861081,1055311,15498
Agora/Proposal/validator/unlocking/legal/with 7 stakes/Voter: remove lock after voting/stake,1307855284,3255058,12152
Agora/Proposal/validator/unlocking/legal/with 7 stakes/Voter: remove lock after voting/proposal,387129020,1074897,15505
Agora/Proposal/validator/unlocking/legal/with 9 stakes/voter: retract votes while voting/stake,1686064584,4139372,13492
Agora/Proposal/validator/unlocking/legal/with 9 stakes/voter: retract votes while voting/proposal,650631363,1823904,16845
Agora/Proposal/validator/unlocking/legal/with 9 stakes/voter: retract votes while voting by delegatee/stake,1692891479,4156528,13492
Agora/Proposal/validator/unlocking/legal/with 9 stakes/voter: retract votes while voting by delegatee/proposal,650631363,1823904,16845
Agora/Proposal/validator/unlocking/legal/with 9 stakes/voter/creator: retract votes while voting/stake,1780620879,4414790,13596
Agora/Proposal/validator/unlocking/legal/with 9 stakes/voter/creator: retract votes while voting/proposal,707649999,1989630,16944
Agora/Proposal/validator/unlocking/legal/with 9 stakes/creator: remove creator lock after voting/stake,1686028073,4149003,13487
Agora/Proposal/validator/unlocking/legal/with 9 stakes/creator: remove creator lock after voting/proposal,445786243,1234855,16841
Agora/Proposal/validator/unlocking/legal/with 9 stakes/Voter: remove lock after voting/stake,1687195562,4141776,13497
Agora/Proposal/validator/unlocking/legal/with 9 stakes/Voter: remove lock after voting/proposal,455130736,1260037,16850
Agora/Proposal/validator/unlocking/legal/with 11 stakes/voter: retract votes while voting/stake,2085051518,5057530,14838
Agora/Proposal/validator/unlocking/legal/with 11 stakes/voter: retract votes while voting/proposal,760357611,2129912,18191
Agora/Proposal/validator/unlocking/legal/with 11 stakes/voter: retract votes while voting by delegatee/stake,2091878413,5074686,14838
Agora/Proposal/validator/unlocking/legal/with 11 stakes/voter: retract votes while voting by delegatee/proposal,760357611,2129912,18191
Agora/Proposal/validator/unlocking/legal/with 11 stakes/voter/creator: retract votes while voting/stake,2200620323,5394152,14965
Agora/Proposal/validator/unlocking/legal/with 11 stakes/voter/creator: retract votes while voting/proposal,830047055,2332466,18313
Agora/Proposal/validator/unlocking/legal/with 11 stakes/creator: remove creator lock after voting/stake,2084755565,5068767,14831
Agora/Proposal/validator/unlocking/legal/with 11 stakes/creator: remove creator lock after voting/proposal,511711405,1414399,18185
Agora/Proposal/validator/unlocking/legal/with 11 stakes/Voter: remove lock after voting/stake,2086182496,5059934,14843
Agora/Proposal/validator/unlocking/legal/with 11 stakes/Voter: remove lock after voting/proposal,523132452,1445177,18196
Agora/Proposal/validator/unlocking/illegal/with 1 stakes/retract votes while not voting/(negative test)/stake,286017919,779938,8111
Agora/Proposal/validator/unlocking/illegal/with 1 stakes/retract votes while not voting/(negative test)/stake,287148897,782342,8111
Agora/Proposal/validator/unlocking/illegal/with 1 stakes/retract votes while not voting/(negative test)/stake,287714386,783544,8111
Agora/Proposal/validator/unlocking/illegal/with 1 stakes/remove creator too early/(negative test)/proposal,180389128,513073,11468
Agora/Proposal/validator/unlocking/illegal/with 1 stakes/remove creator too early/(negative test)/proposal,184593979,524334,11468
Agora/Proposal/validator/unlocking/illegal/with 1 stakes/remove creator too early/(negative test)/proposal,181520106,515477,11468
Agora/Proposal/validator/unlocking/illegal/with 1 stakes/unlock an irrelevant stake/stake,296230945,814266,8133
Agora/Proposal/validator/unlocking/illegal/with 1 stakes/creator: retract votes/stake,284930762,783569,8115
Agora/Proposal/validator/unlocking/illegal/with 1 stakes/change output stake value/proposal,211726371,599872,11461
Agora/Proposal/validator/unlocking/illegal/with 3 stakes/retract votes while not voting/(negative test)/stake,606418229,1572336,9456
Agora/Proposal/validator/unlocking/illegal/with 3 stakes/retract votes while not voting/(negative test)/stake,607549207,1574740,9456
Agora/Proposal/validator/unlocking/illegal/with 3 stakes/retract votes while not voting/(negative test)/stake,608114696,1575942,9456
Agora/Proposal/validator/unlocking/illegal/with 3 stakes/remove creator too early/(negative test)/proposal,246314290,692617,12811
Agora/Proposal/validator/unlocking/illegal/with 3 stakes/remove creator too early/(negative test)/proposal,250519141,703878,12811
Agora/Proposal/validator/unlocking/illegal/with 3 stakes/remove creator too early/(negative test)/proposal,247445268,695021,12811
Agora/Proposal/validator/unlocking/illegal/with 3 stakes/unlock an irrelevant stake/stake,621191337,1649336,9512
Agora/Proposal/validator/unlocking/illegal/with 3 stakes/creator: retract votes/stake,587290788,1557245,9470
Agora/Proposal/validator/unlocking/illegal/with 3 stakes/change output stake value/proposal,321452619,905880,12800
Agora/Proposal/validator/unlocking/illegal/with 5 stakes/retract votes while not voting/(negative test)/stake,946465195,2396174,10802
Agora/Proposal/validator/unlocking/illegal/with 5 stakes/retract votes while not voting/(negative test)/stake,947596173,2398578,10802
Agora/Proposal/validator/unlocking/illegal/with 5 stakes/retract votes while not voting/(negative test)/stake,948161662,2399780,10802
Agora/Proposal/validator/unlocking/illegal/with 5 stakes/remove creator too early/(negative test)/proposal,312239452,872161,14155
Agora/Proposal/validator/unlocking/illegal/with 5 stakes/remove creator too early/(negative test)/proposal,316444303,883422,14155
Agora/Proposal/validator/unlocking/illegal/with 5 stakes/remove creator too early/(negative test)/proposal,313370430,874565,14155
Agora/Proposal/validator/unlocking/illegal/with 5 stakes/unlock an irrelevant stake/stake,946151729,2484406,10892
Agora/Proposal/validator/unlocking/illegal/with 5 stakes/creator: retract votes/stake,889650814,2330921,10826
Agora/Proposal/validator/unlocking/illegal/with 5 stakes/change output stake value/proposal,431178867,1211888,14140
Agora/Proposal/validator/unlocking/illegal/with 7 stakes/retract votes while not voting/(negative test)/stake,1306158817,3251452,12147
Agora/Proposal/validator/unlocking/illegal/with 7 stakes/retract votes while not voting/(negative test)/stake,1307289795,3253856,12147
Agora/Proposal/validator/unlocking/illegal/with 7 stakes/retract votes while not voting/(negative test)/stake,1307855284,3255058,12147
Agora/Proposal/validator/unlocking/illegal/with 7 stakes/remove creator too early/(negative test)/proposal,378164614,1051705,15498
Agora/Proposal/validator/unlocking/illegal/with 7 stakes/remove creator too early/(negative test)/proposal,382369465,1062966,15498
Agora/Proposal/validator/unlocking/illegal/with 7 stakes/remove creator too early/(negative test)/proposal,379295592,1054109,15498
Agora/Proposal/validator/unlocking/illegal/with 7 stakes/unlock an irrelevant stake/stake,1271112121,3319476,12271
Agora/Proposal/validator/unlocking/illegal/with 7 stakes/creator: retract votes/stake,1192010840,3104597,12181
Agora/Proposal/validator/unlocking/illegal/with 7 stakes/change output stake value/proposal,540905115,1517896,15479
Agora/Proposal/validator/unlocking/illegal/with 9 stakes/retract votes while not voting/(negative test)/stake,1685499095,4138170,13492
Agora/Proposal/validator/unlocking/illegal/with 9 stakes/retract votes while not voting/(negative test)/stake,1686630073,4140574,13492
Agora/Proposal/validator/unlocking/illegal/with 9 stakes/retract votes while not voting/(negative test)/stake,1687195562,4141776,13492
Agora/Proposal/validator/unlocking/illegal/with 9 stakes/remove creator too early/(negative test)/proposal,444089776,1231249,16841
Agora/Proposal/validator/unlocking/illegal/with 9 stakes/remove creator too early/(negative test)/proposal,448294627,1242510,16841
Agora/Proposal/validator/unlocking/illegal/with 9 stakes/remove creator too early/(negative test)/proposal,445220754,1233653,16841
Agora/Proposal/validator/unlocking/illegal/with 9 stakes/unlock an irrelevant stake/stake,1596072513,4154546,13651
Agora/Proposal/validator/unlocking/illegal/with 9 stakes/creator: retract votes/stake,1494370866,3878273,13536
Agora/Proposal/validator/unlocking/illegal/with 9 stakes/change output stake value/proposal,650631363,1823904,16818
Agora/Proposal/validator/unlocking/illegal/with 11 stakes/retract votes while not voting/(negative test)/stake,2084486029,5056328,14838
Agora/Proposal/validator/unlocking/illegal/with 11 stakes/retract votes while not voting/(negative test)/stake,2085617007,5058732,14838
Agora/Proposal/validator/unlocking/illegal/with 11 stakes/retract votes while not voting/(negative test)/stake,2086182496,5059934,14838
Agora/Proposal/validator/unlocking/illegal/with 11 stakes/remove creator too early/(negative test)/proposal,510014938,1410793,18185
Agora/Proposal/validator/unlocking/illegal/with 11 stakes/remove creator too early/(negative test)/proposal,514219789,1422054,18185
Agora/Proposal/validator/unlocking/illegal/with 11 stakes/remove creator too early/(negative test)/proposal,511145916,1413197,18185
Agora/Proposal/validator/unlocking/illegal/with 11 stakes/unlock an irrelevant stake/stake,1921032905,4989616,15031
Agora/Proposal/validator/unlocking/illegal/with 11 stakes/creator: retract votes/stake,1796730892,4651949,14893
Agora/Proposal/validator/unlocking/illegal/with 11 stakes/change output stake value/proposal,760357611,2129912,18158
Agora/Effects/Treasury Withdrawal Effect/effect/Simple,216491233,584406,3880
Agora/Effects/Treasury Withdrawal Effect/effect/Simple with multiple treasuries ,307752363,787074,4312
Agora/Effects/Treasury Withdrawal Effect/effect/Mixed Assets,300492604,786706,4250
Agora/Effects/Governor Mutation Effect/validator/valid new governor datum/governor validator should pass,124325615,349763,11495
Agora/Effects/Governor Mutation Effect/validator/valid new governor datum/effect validator should pass,141944305,374453,4684
Agora/Stake/policy/stakeCreation,56258569,163343,3239
Agora/Stake/validator/stakeDepositWithdraw deposit,148453324,420954,7376
Agora/Stake/validator/stakeDepositWithdraw withdraw,148453324,420954,7368
Agora/Stake/validator/set delegate/override existing delegate,177128962,490839,7507
Agora/Stake/validator/set delegate/remove existing delegate,167793966,467451,7437
Agora/Stake/validator/set delegate/set delegate to something,174699974,483739,7437
Agora/Proposal/policy (proposal creation)/legal/proposal,33117699,98458,2042
Agora/Proposal/policy (proposal creation)/legal/governor,277790164,732883,11948
Agora/Proposal/policy (proposal creation)/legal/stake,309862175,835932,8159
Agora/Proposal/policy (proposal creation)/illegal/invalid next proposal id/proposal,33117699,98458,2042
Agora/Proposal/policy (proposal creation)/illegal/invalid next proposal id/stake,309862175,835932,8159
Agora/Proposal/policy (proposal creation)/illegal/use other's stake/proposal,33117699,98458,2011
Agora/Proposal/policy (proposal creation)/illegal/use other's stake/governor,277790164,732883,11917
Agora/Proposal/policy (proposal creation)/illegal/altered stake/proposal,33117699,98458,2042
Agora/Proposal/policy (proposal creation)/illegal/invalid stake locks/proposal,33117699,98458,2050
Agora/Proposal/policy (proposal creation)/illegal/invalid stake locks/governor,277790164,732883,11956
Agora/Proposal/policy (proposal creation)/illegal/has reached maximum proposals limit/proposal,33117699,98458,2063
Agora/Proposal/policy (proposal creation)/illegal/has reached maximum proposals limit/stake,322560611,872148,8190
Agora/Proposal/policy (proposal creation)/illegal/loose time range/proposal,33117699,98458,2042
Agora/Proposal/policy (proposal creation)/illegal/loose time range/stake,309862175,835932,8159
Agora/Proposal/policy (proposal creation)/illegal/open time range/proposal,33117699,98458,2038
Agora/Proposal/policy (proposal creation)/illegal/open time range/stake,309862175,835932,8155
Agora/Proposal/policy (proposal creation)/illegal/invalid proposal status/VotingReady/proposal,33117699,98458,2042
Agora/Proposal/policy (proposal creation)/illegal/invalid proposal status/VotingReady/stake,309862175,835932,8159
Agora/Proposal/policy (proposal creation)/illegal/invalid proposal status/Locked/proposal,33117699,98458,2042
Agora/Proposal/policy (proposal creation)/illegal/invalid proposal status/Locked/stake,309862175,835932,8159
Agora/Proposal/policy (proposal creation)/illegal/invalid proposal status/Finished/proposal,33117699,98458,2042
Agora/Proposal/policy (proposal creation)/illegal/invalid proposal status/Finished/stake,309862175,835932,8159
Agora/Proposal/validator/cosignature/legal/proposal,199754776,564002,11387
Agora/Proposal/validator/cosignature/legal/stake,262558574,733273,8003
Agora/Proposal/validator/cosignature/illegal/insufficient staked amount/stake,262558574,733273,8003
Agora/Proposal/validator/cosignature/illegal/proposal locks not updated/proposal,199754776,564002,11381
Agora/Proposal/validator/cosignature/illegal/duplicate cosigners/stake,268907792,751381,8020
Agora/Proposal/validator/cosignature/illegal/cosigners not updated/stake,262558574,733273,7969
Agora/Proposal/validator/cosignature/illegal/cosign after draft/(negative test)/stake,262558574,733273,8003
Agora/Proposal/validator/cosignature/illegal/cosign after draft/(negative test)/stake,262558574,733273,8003
Agora/Proposal/validator/cosignature/illegal/cosign after draft/(negative test)/stake,262558574,733273,8003
Agora/Proposal/validator/voting/legal/different number of stakes/1 stakes/by owner/proposal,213591278,609704,11239
Agora/Proposal/validator/voting/legal/different number of stakes/1 stakes/by owner/stake,274212318,767240,7866
Agora/Proposal/validator/voting/legal/different number of stakes/1 stakes/by delegatee/proposal,213591278,609704,11239
Agora/Proposal/validator/voting/legal/different number of stakes/1 stakes/by delegatee/stake,281039213,784396,7866
Agora/Proposal/validator/voting/legal/different number of stakes/3 stakes/by owner/proposal,318521480,903152,12454
Agora/Proposal/validator/voting/legal/different number of stakes/3 stakes/by owner/stake,572663660,1545832,9081
Agora/Proposal/validator/voting/legal/different number of stakes/3 stakes/by delegatee/proposal,318521480,903152,12454
Agora/Proposal/validator/voting/legal/different number of stakes/3 stakes/by delegatee/stake,579490555,1562988,9081
Agora/Proposal/validator/voting/legal/different number of stakes/5 stakes/by owner/proposal,423451682,1196600,13669
Agora/Proposal/validator/voting/legal/different number of stakes/5 stakes/by owner/stake,871115002,2324424,10296
Agora/Proposal/validator/voting/legal/different number of stakes/5 stakes/by delegatee/proposal,423451682,1196600,13669
Agora/Proposal/validator/voting/legal/different number of stakes/5 stakes/by delegatee/stake,877941897,2341580,10296
Agora/Proposal/validator/voting/legal/different number of stakes/7 stakes/by owner/proposal,528381884,1490048,14883
Agora/Proposal/validator/voting/legal/different number of stakes/7 stakes/by owner/stake,1169566344,3103016,11510
Agora/Proposal/validator/voting/legal/different number of stakes/7 stakes/by delegatee/proposal,528381884,1490048,14883
Agora/Proposal/validator/voting/legal/different number of stakes/7 stakes/by delegatee/stake,1176393239,3120172,11510
Agora/Proposal/validator/voting/legal/different number of stakes/9 stakes/by owner/proposal,633312086,1783496,16098
Agora/Proposal/validator/voting/legal/different number of stakes/9 stakes/by owner/stake,1468017686,3881608,12725
Agora/Proposal/validator/voting/legal/different number of stakes/9 stakes/by delegatee/proposal,633312086,1783496,16098
Agora/Proposal/validator/voting/legal/different number of stakes/9 stakes/by delegatee/stake,1474844581,3898764,12725
Agora/Proposal/validator/voting/legal/transparent non-GT tokens/proposal,213591278,609704,11239
Agora/Proposal/validator/voting/legal/transparent non-GT tokens/stake,274212318,767240,7866
Agora/Proposal/validator/voting/illegal/vote for nonexistent outcome/stake,274212318,767240,7871
Agora/Proposal/validator/voting/illegal/unauthorized tx/proposal,213591278,609704,11239
Agora/Proposal/validator/voting/illegal/more than one proposals/stake,274212318,767240,7871
Agora/Proposal/validator/voting/illegal/locks not added/proposal,423451682,1196600,13639
Agora/Proposal/validator/voting/illegal/attempt to burn stakes/proposal,400384827,1144980,12610
Agora/Proposal/validator/voting/illegal/insufficient staked amount/stake,274212318,767240,7843
Agora/Proposal/validator/voting/illegal/insufficient staked amount/stake,871115002,2324424,10208
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/legal/to next state/from Draft to VotingReady/proposal,241234429,682107,11853
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/legal/to next state/from VotingReady to Locked/proposal,221613256,618841,11616
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/legal/to next state/from Locked to Finished/proposal,235717920,647583,12887
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/legal/to next state/from Locked to Finished/governor,398800093,1081480,12963
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/legal/to next state/from Locked to Finished/authority,15617485,47272,3302
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/legal/to next state/from Draft to VotingReady/proposal,237423139,669879,11574
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/legal/to next state/from VotingReady to Locked/proposal,217801966,606613,11337
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/legal/to next state/from Locked to Finished/proposal,231906630,635355,12429
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/legal/to next state/from Locked to Finished/governor,396545515,1073974,12598
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/legal/to next state/from Locked to Finished/authority,79975987,214000,2937
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/legal/to failed state/from Draft to Finished/proposal,211482642,594402,11609
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/legal/to failed state/from VotingReady to Finished/proposal,209808658,584808,11610
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/legal/to failed state/from Locked to Finished/proposal,222696603,617214,11610
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/legal/to failed state/from Draft to Finished/proposal,207671352,582174,11330
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/legal/to failed state/from VotingReady to Finished/proposal,205997368,572580,11331
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/legal/to failed state/from Locked to Finished/proposal,218885313,604986,11331
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/illegal/advance finished proposals/(negative test)/authority,15617485,47272,3302
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/illegal/advance finished proposals/(negative test)/authority,79975987,214000,2937
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/illegal/to next state too late/from Locked/governor,398800093,1081480,12963
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/illegal/to next state too late/from Locked/authority,15617485,47272,3302
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/illegal/to next state too late/from Locked/governor,396545515,1073974,12598
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/illegal/to next state too late/from Locked/authority,79975987,214000,2937
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/illegal/forget to mint GATs/proposal,231906630,635355,11783
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/illegal/mint GATs for wrong validators/proposal,231906630,635355,12429
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/illegal/mint GATs for wrong validators/authority,79975987,214000,2937
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/illegal/mint GATs with bad token name/proposal,231906630,635355,12461
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/illegal/mint GATs with bad token name/authority,11941326,37148,2969
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/illegal/wrong GAT datum/proposal,231906630,635355,12423
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/illegal/wrong GAT datum/authority,79975987,214000,2931
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/illegal/invalid governor output datum/proposal,231906630,635355,12429
Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/illegal/invalid governor output datum/authority,79975987,214000,2937
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/legal/to next state/from Draft to VotingReady/proposal,315459149,886409,12769
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/legal/to next state/from VotingReady to Locked/proposal,299532862,833131,12532
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/legal/to next state/from Locked to Finished/proposal,309942640,851885,13803
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/legal/to next state/from Locked to Finished/governor,440535321,1198712,13574
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/legal/to next state/from Locked to Finished/authority,15617485,47272,3913
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/legal/to next state/from Draft to VotingReady/proposal,307836569,861953,12208
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/legal/to next state/from VotingReady to Locked/proposal,291910282,808675,11971
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/legal/to next state/from Locked to Finished/proposal,302320060,827429,13064
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/legal/to next state/from Locked to Finished/governor,436526130,1185092,13022
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/legal/to next state/from Locked to Finished/authority,79975987,214000,3361
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/legal/to failed state/from Draft to Finished/proposal,285707362,798704,12525
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/legal/to failed state/from VotingReady to Finished/proposal,284033378,789110,12526
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/legal/to failed state/from Locked to Finished/proposal,296921323,821516,12526
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/legal/to failed state/from Draft to Finished/proposal,278084782,774248,11964
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/legal/to failed state/from VotingReady to Finished/proposal,276410798,764654,11965
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/legal/to failed state/from Locked to Finished/proposal,289298743,797060,11965
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/illegal/advance finished proposals/(negative test)/authority,15617485,47272,3913
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/illegal/advance finished proposals/(negative test)/authority,79975987,214000,3361
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/illegal/to next state too late/from Locked/governor,440535321,1198712,13574
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/illegal/to next state too late/from Locked/authority,15617485,47272,3913
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/illegal/to next state too late/from Locked/governor,436526130,1185092,13022
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/illegal/to next state too late/from Locked/authority,79975987,214000,3361
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/illegal/forget to mint GATs/proposal,302320060,827429,12418
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/illegal/mint GATs for wrong validators/proposal,302320060,827429,13064
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/illegal/mint GATs for wrong validators/authority,79975987,214000,3361
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/illegal/mint GATs with bad token name/proposal,302320060,827429,13096
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/illegal/mint GATs with bad token name/authority,11941326,37148,3393
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/illegal/wrong GAT datum/proposal,302320060,827429,13058
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/illegal/wrong GAT datum/authority,79975987,214000,3355
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/illegal/invalid governor output datum/proposal,302320060,827429,13064
Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/illegal/invalid governor output datum/authority,79975987,214000,3361
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/legal/to next state/from Draft to VotingReady/proposal,538133309,1499315,15516
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/legal/to next state/from VotingReady to Locked/proposal,533291680,1476001,15279
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/legal/to next state/from Locked to Finished/proposal,532616800,1464791,16550
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/legal/to next state/from Locked to Finished/governor,565741005,1550408,15405
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/legal/to next state/from Locked to Finished/authority,15617485,47272,5744
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/legal/to next state/from Draft to VotingReady/proposal,519076859,1438175,14115
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/legal/to next state/from VotingReady to Locked/proposal,514235230,1414861,13878
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/legal/to next state/from Locked to Finished/proposal,513560350,1403651,14971
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/legal/to next state/from Locked to Finished/governor,556467975,1518446,14293
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/legal/to next state/from Locked to Finished/authority,79975987,214000,4632
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/legal/to failed state/from Draft to Finished/proposal,508381522,1411610,15272
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/legal/to failed state/from VotingReady to Finished/proposal,506707538,1402016,15273
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/legal/to failed state/from Locked to Finished/proposal,519595483,1434422,15273
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/legal/to failed state/from Draft to Finished/proposal,489325072,1350470,13871
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/legal/to failed state/from VotingReady to Finished/proposal,487651088,1340876,13872
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/legal/to failed state/from Locked to Finished/proposal,500539033,1373282,13872
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/illegal/advance finished proposals/(negative test)/authority,15617485,47272,5744
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/illegal/advance finished proposals/(negative test)/authority,79975987,214000,4632
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/illegal/to next state too late/from Locked/governor,565741005,1550408,15405
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/illegal/to next state too late/from Locked/authority,15617485,47272,5744
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/illegal/to next state too late/from Locked/governor,556467975,1518446,14293
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/illegal/to next state too late/from Locked/authority,79975987,214000,4632
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/illegal/forget to mint GATs/proposal,513560350,1403651,14325
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/illegal/mint GATs for wrong validators/proposal,513560350,1403651,14971
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/illegal/mint GATs for wrong validators/authority,79975987,214000,4632
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/illegal/mint GATs with bad token name/proposal,513560350,1403651,15003
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/illegal/mint GATs with bad token name/authority,11941326,37148,4664
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/illegal/wrong GAT datum/proposal,513560350,1403651,14965
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/illegal/wrong GAT datum/authority,79975987,214000,4626
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/illegal/invalid governor output datum/proposal,513560350,1403651,14971
Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/illegal/invalid governor output datum/authority,79975987,214000,4632
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/legal/to next state/from Draft to VotingReady/proposal,417520319,1188591,13354
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/legal/to next state/from VotingReady to Locked/proposal,251963976,702569,12027
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/legal/to next state/from Locked to Finished/proposal,266068640,731311,13297
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/legal/to next state/from Locked to Finished/governor,413673389,1123344,13236
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/legal/to next state/from Locked to Finished/authority,15617485,47272,3575
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/legal/to next state/from Draft to VotingReady/proposal,413709029,1176363,13073
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/legal/to next state/from VotingReady to Locked/proposal,248152686,690341,11746
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/legal/to next state/from Locked to Finished/proposal,262257350,719083,12838
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/legal/to next state/from Locked to Finished/governor,411418811,1115838,12871
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/legal/to next state/from Locked to Finished/authority,79975987,214000,3210
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/legal/to failed state/from Draft to Finished/proposal,241833362,678130,12019
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/legal/to failed state/from VotingReady to Finished/proposal,240159378,668536,12020
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/legal/to failed state/from Locked to Finished/proposal,253047323,700942,12020
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/legal/to failed state/from Draft to Finished/proposal,238022072,665902,11739
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/legal/to failed state/from VotingReady to Finished/proposal,236348088,656308,11740
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/legal/to failed state/from Locked to Finished/proposal,249236033,688714,11740
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/illegal/advance finished proposals/(negative test)/authority,15617485,47272,3575
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/illegal/advance finished proposals/(negative test)/authority,79975987,214000,3210
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/illegal/to next state too late/from Locked/governor,413673389,1123344,13236
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/illegal/to next state too late/from Locked/authority,15617485,47272,3575
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/illegal/to next state too late/from Locked/governor,411418811,1115838,12871
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/illegal/to next state too late/from Locked/authority,79975987,214000,3210
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/illegal/forget to mint GATs/proposal,262257350,719083,12193
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/illegal/mint GATs for wrong validators/proposal,262257350,719083,12838
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/illegal/mint GATs for wrong validators/authority,79975987,214000,3210
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/illegal/mint GATs with bad token name/proposal,262257350,719083,12870
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/illegal/mint GATs with bad token name/authority,11941326,37148,3242
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/illegal/wrong GAT datum/proposal,262257350,719083,12832
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/illegal/wrong GAT datum/authority,79975987,214000,3204
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/illegal/invalid governor output datum/proposal,262257350,719083,12838
Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/illegal/invalid governor output datum/authority,79975987,214000,3210
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/legal/to next state/from Draft to VotingReady/proposal,491745039,1392893,14269
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/legal/to next state/from VotingReady to Locked/proposal,329883582,916859,12942
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/legal/to next state/from Locked to Finished/proposal,340293360,935613,14213
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/legal/to next state/from Locked to Finished/governor,455408617,1240576,13847
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/legal/to next state/from Locked to Finished/authority,15617485,47272,4186
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/legal/to next state/from Draft to VotingReady/proposal,484122459,1368437,13709
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/legal/to next state/from VotingReady to Locked/proposal,322261002,892403,12381
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/legal/to next state/from Locked to Finished/proposal,332670780,911157,13474
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/legal/to next state/from Locked to Finished/governor,451399426,1226956,13295
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/legal/to next state/from Locked to Finished/authority,79975987,214000,3634
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/legal/to failed state/from Draft to Finished/proposal,316058082,882432,12935
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/legal/to failed state/from VotingReady to Finished/proposal,314384098,872838,12936
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/legal/to failed state/from Locked to Finished/proposal,327272043,905244,12936
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/legal/to failed state/from Draft to Finished/proposal,308435502,857976,12374
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/legal/to failed state/from VotingReady to Finished/proposal,306761518,848382,12375
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/legal/to failed state/from Locked to Finished/proposal,319649463,880788,12375
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/illegal/advance finished proposals/(negative test)/authority,15617485,47272,4186
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/illegal/advance finished proposals/(negative test)/authority,79975987,214000,3634
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/illegal/to next state too late/from Locked/governor,455408617,1240576,13847
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/illegal/to next state too late/from Locked/authority,15617485,47272,4186
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/illegal/to next state too late/from Locked/governor,451399426,1226956,13295
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/illegal/to next state too late/from Locked/authority,79975987,214000,3634
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/illegal/forget to mint GATs/proposal,332670780,911157,12828
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/illegal/mint GATs for wrong validators/proposal,332670780,911157,13474
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/illegal/mint GATs for wrong validators/authority,79975987,214000,3634
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/illegal/mint GATs with bad token name/proposal,332670780,911157,13506
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/illegal/mint GATs with bad token name/authority,11941326,37148,3666
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/illegal/wrong GAT datum/proposal,332670780,911157,13468
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/illegal/wrong GAT datum/authority,79975987,214000,3628
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/illegal/invalid governor output datum/proposal,332670780,911157,13474
Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/illegal/invalid governor output datum/authority,79975987,214000,3634
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/legal/to next state/from Draft to VotingReady/proposal,714419199,2005799,17015
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/legal/to next state/from VotingReady to Locked/proposal,563642400,1559729,15688
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/legal/to next state/from Locked to Finished/proposal,562967520,1548519,16959
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/legal/to next state/from Locked to Finished/governor,580614301,1592272,15678
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/legal/to next state/from Locked to Finished/authority,15617485,47272,6017
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/legal/to next state/from Draft to VotingReady/proposal,695362749,1944659,15615
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/legal/to next state/from VotingReady to Locked/proposal,544585950,1498589,14287
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/legal/to next state/from Locked to Finished/proposal,543911070,1487379,15380
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/legal/to next state/from Locked to Finished/governor,571341271,1560310,14566
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/legal/to next state/from Locked to Finished/authority,79975987,214000,4905
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/legal/to failed state/from Draft to Finished/proposal,538732242,1495338,15681
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/legal/to failed state/from VotingReady to Finished/proposal,537058258,1485744,15682
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/legal/to failed state/from Locked to Finished/proposal,549946203,1518150,15682
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/legal/to failed state/from Draft to Finished/proposal,519675792,1434198,14280
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/legal/to failed state/from VotingReady to Finished/proposal,518001808,1424604,14281
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/legal/to failed state/from Locked to Finished/proposal,530889753,1457010,14281
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/illegal/advance finished proposals/(negative test)/authority,15617485,47272,6017
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/illegal/advance finished proposals/(negative test)/authority,79975987,214000,4905
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/illegal/to next state too late/from Locked/governor,580614301,1592272,15678
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/illegal/to next state too late/from Locked/authority,15617485,47272,6017
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/illegal/to next state too late/from Locked/governor,571341271,1560310,14566
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/illegal/to next state too late/from Locked/authority,79975987,214000,4905
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/illegal/forget to mint GATs/proposal,543911070,1487379,14734
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/illegal/mint GATs for wrong validators/proposal,543911070,1487379,15380
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/illegal/mint GATs for wrong validators/authority,79975987,214000,4905
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/illegal/mint GATs with bad token name/proposal,543911070,1487379,15412
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/illegal/mint GATs with bad token name/authority,11941326,37148,4937
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/illegal/wrong GAT datum/proposal,543911070,1487379,15374
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/illegal/wrong GAT datum/authority,79975987,214000,4899
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/illegal/invalid governor output datum/proposal,543911070,1487379,15380
Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/illegal/invalid governor output datum/authority,79975987,214000,4905
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/legal/to next state/from Draft to VotingReady/proposal,653041125,1867387,15230
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/legal/to next state/from VotingReady to Locked/proposal,289902376,807229,12538
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/legal/to next state/from Locked to Finished/proposal,304007040,835971,13809
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/legal/to next state/from Locked to Finished/governor,432265009,1175674,13578
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/legal/to next state/from Locked to Finished/authority,15617485,47272,3917
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/legal/to next state/from Draft to VotingReady/proposal,649229835,1855159,14951
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/legal/to next state/from VotingReady to Locked/proposal,286091086,795001,12258
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/legal/to next state/from Locked to Finished/proposal,300195750,823743,13350
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/legal/to next state/from Locked to Finished/governor,430010431,1168168,13212
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/legal/to next state/from Locked to Finished/authority,79975987,214000,3551
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/legal/to failed state/from Draft to Finished/proposal,279771762,782790,12531
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/legal/to failed state/from VotingReady to Finished/proposal,278097778,773196,12532
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/legal/to failed state/from Locked to Finished/proposal,290985723,805602,12532
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/legal/to failed state/from Draft to Finished/proposal,275960472,770562,12251
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/legal/to failed state/from VotingReady to Finished/proposal,274286488,760968,12252
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/legal/to failed state/from Locked to Finished/proposal,287174433,793374,12252
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/illegal/advance finished proposals/(negative test)/authority,15617485,47272,3917
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/illegal/advance finished proposals/(negative test)/authority,79975987,214000,3551
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/illegal/to next state too late/from Locked/governor,432265009,1175674,13578
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/illegal/to next state too late/from Locked/authority,15617485,47272,3917
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/illegal/to next state too late/from Locked/governor,430010431,1168168,13212
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/illegal/to next state too late/from Locked/authority,79975987,214000,3551
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/illegal/forget to mint GATs/proposal,300195750,823743,12705
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/illegal/mint GATs for wrong validators/proposal,300195750,823743,13350
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/illegal/mint GATs for wrong validators/authority,79975987,214000,3551
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/illegal/mint GATs with bad token name/proposal,300195750,823743,13383
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/illegal/mint GATs with bad token name/authority,11941326,37148,3583
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/illegal/wrong GAT datum/proposal,300195750,823743,13344
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/illegal/wrong GAT datum/authority,79975987,214000,3545
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/illegal/invalid governor output datum/proposal,300195750,823743,13350
Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/illegal/invalid governor output datum/authority,79975987,214000,3551
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/legal/to next state/from Draft to VotingReady/proposal,727265845,2071689,16146
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/legal/to next state/from VotingReady to Locked/proposal,367821982,1021519,13453
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/legal/to next state/from Locked to Finished/proposal,378231760,1040273,14724
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/legal/to next state/from Locked to Finished/governor,474000237,1292906,14188
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/legal/to next state/from Locked to Finished/authority,15617485,47272,4527
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/legal/to next state/from Draft to VotingReady/proposal,719643265,2047233,15586
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/legal/to next state/from VotingReady to Locked/proposal,360199402,997063,12894
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/legal/to next state/from Locked to Finished/proposal,370609180,1015817,13986
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/legal/to next state/from Locked to Finished/governor,469991046,1279286,13636
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/legal/to next state/from Locked to Finished/authority,79975987,214000,3975
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/legal/to failed state/from Draft to Finished/proposal,353996482,987092,13446
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/legal/to failed state/from VotingReady to Finished/proposal,352322498,977498,13447
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/legal/to failed state/from Locked to Finished/proposal,365210443,1009904,13447
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/legal/to failed state/from Draft to Finished/proposal,346373902,962636,12887
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/legal/to failed state/from VotingReady to Finished/proposal,344699918,953042,12888
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/legal/to failed state/from Locked to Finished/proposal,357587863,985448,12888
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/illegal/advance finished proposals/(negative test)/authority,15617485,47272,4527
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/illegal/advance finished proposals/(negative test)/authority,79975987,214000,3975
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/illegal/to next state too late/from Locked/governor,474000237,1292906,14188
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/illegal/to next state too late/from Locked/authority,15617485,47272,4527
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/illegal/to next state too late/from Locked/governor,469991046,1279286,13636
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/illegal/to next state too late/from Locked/authority,79975987,214000,3975
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/illegal/forget to mint GATs/proposal,370609180,1015817,13341
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/illegal/mint GATs for wrong validators/proposal,370609180,1015817,13986
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/illegal/mint GATs for wrong validators/authority,79975987,214000,3975
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/illegal/mint GATs with bad token name/proposal,370609180,1015817,14018
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/illegal/mint GATs with bad token name/authority,11941326,37148,4007
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/illegal/wrong GAT datum/proposal,370609180,1015817,13980
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/illegal/wrong GAT datum/authority,79975987,214000,3969
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/illegal/invalid governor output datum/proposal,370609180,1015817,13986
Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/illegal/invalid governor output datum/authority,79975987,214000,3975
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/legal/to next state/from Draft to VotingReady/proposal,949940005,2684595,18893
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/legal/to next state/from VotingReady to Locked/proposal,601580800,1664389,16200
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/legal/to next state/from Locked to Finished/proposal,600905920,1653179,17471
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/legal/to next state/from Locked to Finished/governor,599205921,1644602,16019
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/legal/to next state/from Locked to Finished/authority,15617485,47272,6358
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/legal/to next state/from Draft to VotingReady/proposal,930883555,2623455,17492
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/legal/to next state/from VotingReady to Locked/proposal,582524350,1603249,14800
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/legal/to next state/from Locked to Finished/proposal,581849470,1592039,15892
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/legal/to next state/from Locked to Finished/governor,589932891,1612640,14907
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/legal/to next state/from Locked to Finished/authority,79975987,214000,5246
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/legal/to failed state/from Draft to Finished/proposal,576670642,1599998,16193
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/legal/to failed state/from VotingReady to Finished/proposal,574996658,1590404,16194
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/legal/to failed state/from Locked to Finished/proposal,587884603,1622810,16194
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/legal/to failed state/from Draft to Finished/proposal,557614192,1538858,14793
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/legal/to failed state/from VotingReady to Finished/proposal,555940208,1529264,14794
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/legal/to failed state/from Locked to Finished/proposal,568828153,1561670,14794
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/illegal/advance finished proposals/(negative test)/authority,15617485,47272,6358
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/illegal/advance finished proposals/(negative test)/authority,79975987,214000,5246
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/illegal/to next state too late/from Locked/governor,599205921,1644602,16019
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/illegal/to next state too late/from Locked/authority,15617485,47272,6358
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/illegal/to next state too late/from Locked/governor,589932891,1612640,14907
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/illegal/to next state too late/from Locked/authority,79975987,214000,5246
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/illegal/forget to mint GATs/proposal,581849470,1592039,15246
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/illegal/mint GATs for wrong validators/proposal,581849470,1592039,15892
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/illegal/mint GATs for wrong validators/authority,79975987,214000,5246
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/illegal/mint GATs with bad token name/proposal,581849470,1592039,15924
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/illegal/mint GATs with bad token name/authority,11941326,37148,5278
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/illegal/wrong GAT datum/proposal,581849470,1592039,15886
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/illegal/wrong GAT datum/authority,79975987,214000,5240
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/illegal/invalid governor output datum/proposal,581849470,1592039,15892
Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/illegal/invalid governor output datum/authority,79975987,214000,5246
Agora/Proposal/validator/unlocking/legal/with 1 stakes/voter: retract votes while voting/stake,285403154,777620,8088
Agora/Proposal/validator/unlocking/legal/with 1 stakes/voter: retract votes while voting/proposal,210639755,597210,11466
Agora/Proposal/validator/unlocking/legal/with 1 stakes/voter: retract votes while voting by delegatee/stake,292230049,794776,8088
Agora/Proposal/validator/unlocking/legal/with 1 stakes/voter: retract votes while voting by delegatee/proposal,210639755,597210,11466
Agora/Proposal/validator/unlocking/legal/with 1 stakes/voter/creator: retract votes while voting/stake,295909409,808222,8104
Agora/Proposal/validator/unlocking/legal/with 1 stakes/voter/creator: retract votes while voting/proposal,216975159,615624,11477
Agora/Proposal/validator/unlocking/legal/with 1 stakes/creator: remove creator lock after voting/stake,286404411,780827,8091
Agora/Proposal/validator/unlocking/legal/with 1 stakes/creator: remove creator lock after voting/proposal,180998979,514017,11470
Agora/Proposal/validator/unlocking/legal/with 1 stakes/Voter: remove lock after voting/stake,286534132,780024,8093
Agora/Proposal/validator/unlocking/legal/with 1 stakes/Voter: remove lock after voting/proposal,182037256,516815,11471
Agora/Proposal/validator/unlocking/legal/with 3 stakes/voter: retract votes while voting/stake,604761210,1567098,9433
Agora/Proposal/validator/unlocking/legal/with 3 stakes/voter: retract votes while voting/proposal,320366003,903218,12811
Agora/Proposal/validator/unlocking/legal/with 3 stakes/voter: retract votes while voting by delegatee/stake,611588105,1584254,9433
Agora/Proposal/validator/unlocking/legal/with 3 stakes/voter: retract votes while voting by delegatee/proposal,320366003,903218,12811
Agora/Proposal/validator/unlocking/legal/with 3 stakes/voter/creator: retract votes while voting/stake,636279975,1658904,9471
Agora/Proposal/validator/unlocking/legal/with 3 stakes/voter/creator: retract votes while voting/proposal,339372215,958460,12844
Agora/Proposal/validator/unlocking/legal/with 3 stakes/creator: remove creator lock after voting/stake,605503025,1571911,9434
Agora/Proposal/validator/unlocking/legal/with 3 stakes/creator: remove creator lock after voting/proposal,246924141,693561,12813
Agora/Proposal/validator/unlocking/legal/with 3 stakes/Voter: remove lock after voting/stake,605892188,1569502,9438
Agora/Proposal/validator/unlocking/legal/with 3 stakes/Voter: remove lock after voting/proposal,250038972,701955,12816
Agora/Proposal/validator/unlocking/legal/with 5 stakes/voter: retract votes while voting/stake,943765922,2388016,10779
Agora/Proposal/validator/unlocking/legal/with 5 stakes/voter: retract votes while voting/proposal,430092251,1209226,14157
Agora/Proposal/validator/unlocking/legal/with 5 stakes/voter: retract votes while voting by delegatee/stake,950592817,2405172,10779
Agora/Proposal/validator/unlocking/legal/with 5 stakes/voter: retract votes while voting by delegatee/proposal,430092251,1209226,14157
Agora/Proposal/validator/unlocking/legal/with 5 stakes/voter/creator: retract votes while voting/stake,996297197,2541026,10839
Agora/Proposal/validator/unlocking/legal/with 5 stakes/voter/creator: retract votes while voting/proposal,461769271,1301296,14212
Agora/Proposal/validator/unlocking/legal/with 5 stakes/creator: remove creator lock after voting/stake,944248295,2394435,10778
Agora/Proposal/validator/unlocking/legal/with 5 stakes/creator: remove creator lock after voting/proposal,312849303,873105,14157
Agora/Proposal/validator/unlocking/legal/with 5 stakes/Voter: remove lock after voting/stake,944896900,2390420,10784
Agora/Proposal/validator/unlocking/legal/with 5 stakes/Voter: remove lock after voting/proposal,318040688,887095,14162
Agora/Proposal/validator/unlocking/legal/with 7 stakes/voter: retract votes while voting/stake,1302417290,3240374,12124
Agora/Proposal/validator/unlocking/legal/with 7 stakes/voter: retract votes while voting/proposal,539818499,1515234,15502
Agora/Proposal/validator/unlocking/legal/with 7 stakes/voter: retract votes while voting by delegatee/stake,1309244185,3257530,12124
Agora/Proposal/validator/unlocking/legal/with 7 stakes/voter: retract votes while voting by delegatee/proposal,539818499,1515234,15502
Agora/Proposal/validator/unlocking/legal/with 7 stakes/voter/creator: retract votes while voting/stake,1375961075,3454588,12206
Agora/Proposal/validator/unlocking/legal/with 7 stakes/voter/creator: retract votes while voting/proposal,584166327,1644132,15579
Agora/Proposal/validator/unlocking/legal/with 7 stakes/creator: remove creator lock after voting/stake,1302640221,3248399,12121
Agora/Proposal/validator/unlocking/legal/with 7 stakes/creator: remove creator lock after voting/proposal,378774465,1052649,15500
Agora/Proposal/validator/unlocking/legal/with 7 stakes/Voter: remove lock after voting/stake,1303548268,3242778,12129
Agora/Proposal/validator/unlocking/legal/with 7 stakes/Voter: remove lock after voting/proposal,386042404,1072235,15507
Agora/Proposal/validator/unlocking/legal/with 9 stakes/voter: retract votes while voting/stake,1680715314,4124172,13469
Agora/Proposal/validator/unlocking/legal/with 9 stakes/voter: retract votes while voting/proposal,649544747,1821242,16847
Agora/Proposal/validator/unlocking/legal/with 9 stakes/voter: retract votes while voting by delegatee/stake,1687542209,4141328,13469
Agora/Proposal/validator/unlocking/legal/with 9 stakes/voter: retract votes while voting by delegatee/proposal,649544747,1821242,16847
Agora/Proposal/validator/unlocking/legal/with 9 stakes/voter/creator: retract votes while voting/stake,1775271609,4399590,13573
Agora/Proposal/validator/unlocking/legal/with 9 stakes/voter/creator: retract votes while voting/proposal,706563383,1986968,16946
Agora/Proposal/validator/unlocking/legal/with 9 stakes/creator: remove creator lock after voting/stake,1680678803,4133803,13464
Agora/Proposal/validator/unlocking/legal/with 9 stakes/creator: remove creator lock after voting/proposal,444699627,1232193,16843
Agora/Proposal/validator/unlocking/legal/with 9 stakes/Voter: remove lock after voting/stake,1681846292,4126576,13474
Agora/Proposal/validator/unlocking/legal/with 9 stakes/Voter: remove lock after voting/proposal,454044120,1257375,16852
Agora/Proposal/validator/unlocking/legal/with 11 stakes/voter: retract votes while voting/stake,2078659994,5039410,14815
Agora/Proposal/validator/unlocking/legal/with 11 stakes/voter: retract votes while voting/proposal,759270995,2127250,18193
Agora/Proposal/validator/unlocking/legal/with 11 stakes/voter: retract votes while voting by delegatee/stake,2085486889,5056566,14815
Agora/Proposal/validator/unlocking/legal/with 11 stakes/voter: retract votes while voting by delegatee/proposal,759270995,2127250,18193
Agora/Proposal/validator/unlocking/legal/with 11 stakes/voter/creator: retract votes while voting/stake,2194228799,5376032,14942
Agora/Proposal/validator/unlocking/legal/with 11 stakes/voter/creator: retract votes while voting/proposal,828960439,2329804,18315
Agora/Proposal/validator/unlocking/legal/with 11 stakes/creator: remove creator lock after voting/stake,2078364041,5050647,14808
Agora/Proposal/validator/unlocking/legal/with 11 stakes/creator: remove creator lock after voting/proposal,510624789,1411737,18187
Agora/Proposal/validator/unlocking/legal/with 11 stakes/Voter: remove lock after voting/stake,2079790972,5041814,14820
Agora/Proposal/validator/unlocking/legal/with 11 stakes/Voter: remove lock after voting/proposal,522045836,1442515,18198
Agora/Proposal/validator/unlocking/illegal/with 1 stakes/retract votes while not voting/(negative test)/stake,284837665,776418,8088
Agora/Proposal/validator/unlocking/illegal/with 1 stakes/retract votes while not voting/(negative test)/stake,285968643,778822,8088
Agora/Proposal/validator/unlocking/illegal/with 1 stakes/retract votes while not voting/(negative test)/stake,286534132,780024,8088
Agora/Proposal/validator/unlocking/illegal/with 1 stakes/remove creator too early/(negative test)/proposal,179302512,510411,11470
Agora/Proposal/validator/unlocking/illegal/with 1 stakes/remove creator too early/(negative test)/proposal,183507363,521672,11470
Agora/Proposal/validator/unlocking/illegal/with 1 stakes/remove creator too early/(negative test)/proposal,180433490,512815,11470
Agora/Proposal/validator/unlocking/illegal/with 1 stakes/unlock an irrelevant stake/stake,295050691,810746,8110
Agora/Proposal/validator/unlocking/illegal/with 1 stakes/creator: retract votes/stake,283750508,780049,8092
Agora/Proposal/validator/unlocking/illegal/with 1 stakes/change output stake value/proposal,210639755,597210,11463
Agora/Proposal/validator/unlocking/illegal/with 3 stakes/retract votes while not voting/(negative test)/stake,604195721,1565896,9433
Agora/Proposal/validator/unlocking/illegal/with 3 stakes/retract votes while not voting/(negative test)/stake,605326699,1568300,9433
Agora/Proposal/validator/unlocking/illegal/with 3 stakes/retract votes while not voting/(negative test)/stake,605892188,1569502,9433
Agora/Proposal/validator/unlocking/illegal/with 3 stakes/remove creator too early/(negative test)/proposal,245227674,689955,12813
Agora/Proposal/validator/unlocking/illegal/with 3 stakes/remove creator too early/(negative test)/proposal,249432525,701216,12813
Agora/Proposal/validator/unlocking/illegal/with 3 stakes/remove creator too early/(negative test)/proposal,246358652,692359,12813
Agora/Proposal/validator/unlocking/illegal/with 3 stakes/unlock an irrelevant stake/stake,618968829,1642896,9489
Agora/Proposal/validator/unlocking/illegal/with 3 stakes/creator: retract votes/stake,585068280,1550805,9447
Agora/Proposal/validator/unlocking/illegal/with 3 stakes/change output stake value/proposal,320366003,903218,12802
Agora/Proposal/validator/unlocking/illegal/with 5 stakes/retract votes while not voting/(negative test)/stake,943200433,2386814,10779
Agora/Proposal/validator/unlocking/illegal/with 5 stakes/retract votes while not voting/(negative test)/stake,944331411,2389218,10779
Agora/Proposal/validator/unlocking/illegal/with 5 stakes/retract votes while not voting/(negative test)/stake,944896900,2390420,10779
Agora/Proposal/validator/unlocking/illegal/with 5 stakes/remove creator too early/(negative test)/proposal,311152836,869499,14157
Agora/Proposal/validator/unlocking/illegal/with 5 stakes/remove creator too early/(negative test)/proposal,315357687,880760,14157
Agora/Proposal/validator/unlocking/illegal/with 5 stakes/remove creator too early/(negative test)/proposal,312283814,871903,14157
Agora/Proposal/validator/unlocking/illegal/with 5 stakes/unlock an irrelevant stake/stake,942886967,2475046,10869
Agora/Proposal/validator/unlocking/illegal/with 5 stakes/creator: retract votes/stake,886386052,2321561,10803
Agora/Proposal/validator/unlocking/illegal/with 5 stakes/change output stake value/proposal,430092251,1209226,14142
Agora/Proposal/validator/unlocking/illegal/with 7 stakes/retract votes while not voting/(negative test)/stake,1301851801,3239172,12124
Agora/Proposal/validator/unlocking/illegal/with 7 stakes/retract votes while not voting/(negative test)/stake,1302982779,3241576,12124
Agora/Proposal/validator/unlocking/illegal/with 7 stakes/retract votes while not voting/(negative test)/stake,1303548268,3242778,12124
Agora/Proposal/validator/unlocking/illegal/with 7 stakes/remove creator too early/(negative test)/proposal,377077998,1049043,15500
Agora/Proposal/validator/unlocking/illegal/with 7 stakes/remove creator too early/(negative test)/proposal,381282849,1060304,15500
Agora/Proposal/validator/unlocking/illegal/with 7 stakes/remove creator too early/(negative test)/proposal,378208976,1051447,15500
Agora/Proposal/validator/unlocking/illegal/with 7 stakes/unlock an irrelevant stake/stake,1266805105,3307196,12248
Agora/Proposal/validator/unlocking/illegal/with 7 stakes/creator: retract votes/stake,1187703824,3092317,12158
Agora/Proposal/validator/unlocking/illegal/with 7 stakes/change output stake value/proposal,539818499,1515234,15481
Agora/Proposal/validator/unlocking/illegal/with 9 stakes/retract votes while not voting/(negative test)/stake,1680149825,4122970,13469
Agora/Proposal/validator/unlocking/illegal/with 9 stakes/retract votes while not voting/(negative test)/stake,1681280803,4125374,13469
Agora/Proposal/validator/unlocking/illegal/with 9 stakes/retract votes while not voting/(negative test)/stake,1681846292,4126576,13469
Agora/Proposal/validator/unlocking/illegal/with 9 stakes/remove creator too early/(negative test)/proposal,443003160,1228587,16843
Agora/Proposal/validator/unlocking/illegal/with 9 stakes/remove creator too early/(negative test)/proposal,447208011,1239848,16843
Agora/Proposal/validator/unlocking/illegal/with 9 stakes/remove creator too early/(negative test)/proposal,444134138,1230991,16843
Agora/Proposal/validator/unlocking/illegal/with 9 stakes/unlock an irrelevant stake/stake,1590723243,4139346,13628
Agora/Proposal/validator/unlocking/illegal/with 9 stakes/creator: retract votes/stake,1489021596,3863073,13513
Agora/Proposal/validator/unlocking/illegal/with 9 stakes/change output stake value/proposal,649544747,1821242,16820
Agora/Proposal/validator/unlocking/illegal/with 11 stakes/retract votes while not voting/(negative test)/stake,2078094505,5038208,14815
Agora/Proposal/validator/unlocking/illegal/with 11 stakes/retract votes while not voting/(negative test)/stake,2079225483,5040612,14815
Agora/Proposal/validator/unlocking/illegal/with 11 stakes/retract votes while not voting/(negative test)/stake,2079790972,5041814,14815
Agora/Proposal/validator/unlocking/illegal/with 11 stakes/remove creator too early/(negative test)/proposal,508928322,1408131,18187
Agora/Proposal/validator/unlocking/illegal/with 11 stakes/remove creator too early/(negative test)/proposal,513133173,1419392,18187
Agora/Proposal/validator/unlocking/illegal/with 11 stakes/remove creator too early/(negative test)/proposal,510059300,1410535,18187
Agora/Proposal/validator/unlocking/illegal/with 11 stakes/unlock an irrelevant stake/stake,1914641381,4971496,15008
Agora/Proposal/validator/unlocking/illegal/with 11 stakes/creator: retract votes/stake,1790339368,4633829,14870
Agora/Proposal/validator/unlocking/illegal/with 11 stakes/change output stake value/proposal,759270995,2127250,18160
Agora/AuthorityToken/singleAuthorityTokenBurned/Correct simple,26456223,75851,755
Agora/AuthorityToken/singleAuthorityTokenBurned/Correct many inputs,51581175,146321,855
Agora/AuthorityToken/singleAuthorityTokenBurned/Correct even though scripts don't match,26456223,75851,754
Agora/Treasury/Validator/Positive/Allows for effect changes,42170246,119764,1460
Agora/Treasury/Validator/Positive/Fails when GAT token name is not script address,42170246,119764,1496
Agora/Treasury/Validator/Positive/Allows for effect changes,42170246,119764,1444
Agora/Treasury/Validator/Positive/Fails when GAT token name is not script address,42170246,119764,1480
Agora/AuthorityToken/singleAuthorityTokenBurned/Correct simple,26456223,75851,755
Agora/AuthorityToken/singleAuthorityTokenBurned/Correct many inputs,51581175,146321,855
Agora/AuthorityToken/singleAuthorityTokenBurned/Correct even though scripts don't match,26456223,75851,754
Agora/Governor/policy/totally legal,63319800,170930,2766
Agora/Governor/validator/mutate/legal,129016947,358159,11167
Agora/Governor/validator/mutate/legal,129223947,359059,11308

1 name cpu mem size
2 Agora/Effects/Treasury Withdrawal Effect/effect/Simple 216491233 584406 3879 3880
3 Agora/Effects/Treasury Withdrawal Effect/effect/Simple with multiple treasuries 307752363 787074 4311 4312
4 Agora/Effects/Treasury Withdrawal Effect/effect/Mixed Assets 300492604 786706 4249 4250
5 Agora/Effects/Governor Mutation Effect/validator/valid new governor datum/governor validator should pass 124118615 124325615 348863 349763 11354 11495
6 Agora/Effects/Governor Mutation Effect/validator/valid new governor datum/effect validator should pass 141875305 141944305 374153 374453 4680 4684
7 Agora/Stake/policy/stakeCreation 56986696 56258569 165703 163343 3256 3239
8 Agora/Stake/validator/stakeDepositWithdraw deposit 149771578 148453324 425074 420954 7399 7376
9 Agora/Stake/validator/stakeDepositWithdraw withdraw 149771578 148453324 425074 420954 7391 7368
10 Agora/Stake/validator/set delegate/override existing delegate 178447216 177128962 494959 490839 7530 7507
11 Agora/Stake/validator/set delegate/remove existing delegate 169112220 167793966 471571 467451 7460 7437
12 Agora/Stake/validator/set delegate/set delegate to something 176018228 174699974 487859 483739 7460 7437
13 Agora/Proposal/policy (proposal creation)/legal/proposal 34052826 33117699 101718 98458 2046 2042
14 Agora/Proposal/policy (proposal creation)/legal/governor 277583164 277790164 731983 732883 11807 11948
15 Agora/Proposal/policy (proposal creation)/legal/stake 310973429 309862175 839152 835932 8182 8159
16 Agora/Proposal/policy (proposal creation)/illegal/invalid next proposal id/proposal 34052826 33117699 101718 98458 2046 2042
17 Agora/Proposal/policy (proposal creation)/illegal/invalid next proposal id/stake 310973429 309862175 839152 835932 8182 8159
18 Agora/Proposal/policy (proposal creation)/illegal/use other's stake/proposal 34052826 33117699 101718 98458 2015 2011
19 Agora/Proposal/policy (proposal creation)/illegal/use other's stake/governor 277583164 277790164 731983 732883 11776 11917
20 Agora/Proposal/policy (proposal creation)/illegal/altered stake/proposal 34052826 33117699 101718 98458 2046 2042
21 Agora/Proposal/policy (proposal creation)/illegal/invalid stake locks/proposal 34052826 33117699 101718 98458 2054 2050
22 Agora/Proposal/policy (proposal creation)/illegal/invalid stake locks/governor 277583164 277790164 731983 732883 11815 11956
23 Agora/Proposal/policy (proposal creation)/illegal/has reached maximum proposals limit/proposal 34052826 33117699 101718 98458 2067 2063
24 Agora/Proposal/policy (proposal creation)/illegal/has reached maximum proposals limit/stake 323671865 322560611 875368 872148 8213 8190
25 Agora/Proposal/policy (proposal creation)/illegal/loose time range/proposal 34052826 33117699 101718 98458 2046 2042
26 Agora/Proposal/policy (proposal creation)/illegal/loose time range/stake 310973429 309862175 839152 835932 8182 8159
27 Agora/Proposal/policy (proposal creation)/illegal/open time range/proposal 34052826 33117699 101718 98458 2042 2038
28 Agora/Proposal/policy (proposal creation)/illegal/open time range/stake 310973429 309862175 839152 835932 8178 8155
29 Agora/Proposal/policy (proposal creation)/illegal/invalid proposal status/VotingReady/proposal 34052826 33117699 101718 98458 2046 2042
30 Agora/Proposal/policy (proposal creation)/illegal/invalid proposal status/VotingReady/stake 310973429 309862175 839152 835932 8182 8159
31 Agora/Proposal/policy (proposal creation)/illegal/invalid proposal status/Locked/proposal 34052826 33117699 101718 98458 2046 2042
32 Agora/Proposal/policy (proposal creation)/illegal/invalid proposal status/Locked/stake 310973429 309862175 839152 835932 8182 8159
33 Agora/Proposal/policy (proposal creation)/illegal/invalid proposal status/Finished/proposal 34052826 33117699 101718 98458 2046 2042
34 Agora/Proposal/policy (proposal creation)/illegal/invalid proposal status/Finished/stake 310973429 309862175 839152 835932 8182 8159
35 Agora/Proposal/validator/cosignature/legal/proposal 199710414 199754776 564260 564002 11385 11387
36 Agora/Proposal/validator/cosignature/legal/stake 263738828 262558574 736793 733273 8026 8003
37 Agora/Proposal/validator/cosignature/illegal/insufficient staked amount/stake 263738828 262558574 736793 733273 8026 8003
38 Agora/Proposal/validator/cosignature/illegal/proposal locks not updated/proposal 199710414 199754776 564260 564002 11379 11381
39 Agora/Proposal/validator/cosignature/illegal/duplicate cosigners/stake 270088046 268907792 754901 751381 8043 8020
40 Agora/Proposal/validator/cosignature/illegal/cosigners not updated/stake 263738828 262558574 736793 733273 7992 7969
41 Agora/Proposal/validator/cosignature/illegal/cosign after draft/(negative test)/stake 263738828 262558574 736793 733273 8026 8003
42 Agora/Proposal/validator/cosignature/illegal/cosign after draft/(negative test)/stake 263738828 262558574 736793 733273 8026 8003
43 Agora/Proposal/validator/cosignature/illegal/cosign after draft/(negative test)/stake 263738828 262558574 736793 733273 8026 8003
44 Agora/Proposal/validator/voting/legal/different number of stakes/1 stakes/by owner/proposal 214112405 213591278 611164 609704 11237 11239
45 Agora/Proposal/validator/voting/legal/different number of stakes/1 stakes/by owner/stake 275392572 274212318 770760 767240 7889 7866
46 Agora/Proposal/validator/voting/legal/different number of stakes/1 stakes/by delegatee/proposal 214112405 213591278 611164 609704 11237 11239
47 Agora/Proposal/validator/voting/legal/different number of stakes/1 stakes/by delegatee/stake 282219467 281039213 787916 784396 7889 7866
48 Agora/Proposal/validator/voting/legal/different number of stakes/3 stakes/by owner/proposal 319042607 318521480 904612 903152 12452 12454
49 Agora/Proposal/validator/voting/legal/different number of stakes/3 stakes/by owner/stake 574886168 572663660 1552272 1545832 9104 9081
50 Agora/Proposal/validator/voting/legal/different number of stakes/3 stakes/by delegatee/proposal 319042607 318521480 904612 903152 12452 12454
51 Agora/Proposal/validator/voting/legal/different number of stakes/3 stakes/by delegatee/stake 581713063 579490555 1569428 1562988 9104 9081
52 Agora/Proposal/validator/voting/legal/different number of stakes/5 stakes/by owner/proposal 423972809 423451682 1198060 1196600 13667 13669
53 Agora/Proposal/validator/voting/legal/different number of stakes/5 stakes/by owner/stake 874379764 871115002 2333784 2324424 10319 10296
54 Agora/Proposal/validator/voting/legal/different number of stakes/5 stakes/by delegatee/proposal 423972809 423451682 1198060 1196600 13667 13669
55 Agora/Proposal/validator/voting/legal/different number of stakes/5 stakes/by delegatee/stake 881206659 877941897 2350940 2341580 10319 10296
56 Agora/Proposal/validator/voting/legal/different number of stakes/7 stakes/by owner/proposal 528903011 528381884 1491508 1490048 14881 14883
57 Agora/Proposal/validator/voting/legal/different number of stakes/7 stakes/by owner/stake 1173873360 1169566344 3115296 3103016 11533 11510
58 Agora/Proposal/validator/voting/legal/different number of stakes/7 stakes/by delegatee/proposal 528903011 528381884 1491508 1490048 14881 14883
59 Agora/Proposal/validator/voting/legal/different number of stakes/7 stakes/by delegatee/stake 1180700255 1176393239 3132452 3120172 11533 11510
60 Agora/Proposal/validator/voting/legal/different number of stakes/9 stakes/by owner/proposal 633833213 633312086 1784956 1783496 16096 16098
61 Agora/Proposal/validator/voting/legal/different number of stakes/9 stakes/by owner/stake 1473366956 1468017686 3896808 3881608 12748 12725
62 Agora/Proposal/validator/voting/legal/different number of stakes/9 stakes/by delegatee/proposal 633833213 633312086 1784956 1783496 16096 16098
63 Agora/Proposal/validator/voting/legal/different number of stakes/9 stakes/by delegatee/stake 1480193851 1474844581 3913964 3898764 12748 12725
64 Agora/Proposal/validator/voting/legal/transparent non-GT tokens/proposal 214112405 213591278 611164 609704 11237 11239
65 Agora/Proposal/validator/voting/legal/transparent non-GT tokens/stake 275392572 274212318 770760 767240 7889 7866
66 Agora/Proposal/validator/voting/illegal/vote for nonexistent outcome/stake 275392572 274212318 770760 767240 7894 7871
67 Agora/Proposal/validator/voting/illegal/unauthorized tx/proposal 214112405 213591278 611164 609704 11237 11239
68 Agora/Proposal/validator/voting/illegal/more than one proposals/stake 275392572 274212318 770760 767240 7894 7871
69 Agora/Proposal/validator/voting/illegal/locks not added/proposal 423972809 423451682 1198060 1196600 13637 13639
70 Agora/Proposal/validator/voting/illegal/attempt to burn stakes/proposal 400905954 400384827 1146440 1144980 12608 12610
71 Agora/Proposal/validator/voting/illegal/insufficient staked amount/stake 275392572 274212318 770760 767240 7866 7843
72 Agora/Proposal/validator/voting/illegal/insufficient staked amount/stake 874379764 871115002 2333784 2324424 10231 10208
73 Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/legal/to next state/from Draft to VotingReady/proposal 241755556 241234429 683567 682107 11851 11853
74 Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/legal/to next state/from VotingReady to Locked/proposal 222134383 221613256 620301 618841 11614 11616
75 Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/legal/to next state/from Locked to Finished/proposal 236239047 235717920 649043 647583 12885 12887
76 Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/legal/to next state/from Locked to Finished/governor 401301925 398800093 1085610 1081480 12822 12963
77 Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/legal/to next state/from Locked to Finished/authority 15755485 15617485 47872 47272 3307 3302
78 Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/legal/to next state/from Draft to VotingReady/proposal 237944266 237423139 671339 669879 11572 11574
79 Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/legal/to next state/from VotingReady to Locked/proposal 218323093 217801966 608073 606613 11335 11337
80 Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/legal/to next state/from Locked to Finished/proposal 232427757 231906630 636815 635355 12427 12429
81 Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/legal/to next state/from Locked to Finished/governor 399047347 396545515 1078104 1073974 12457 12598
82 Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/legal/to next state/from Locked to Finished/authority 80911114 79975987 217260 214000 2942 2937
83 Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/legal/to failed state/from Draft to Finished/proposal 212003769 211482642 595862 594402 11607 11609
84 Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/legal/to failed state/from VotingReady to Finished/proposal 210329785 209808658 586268 584808 11608 11610
85 Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/legal/to failed state/from Locked to Finished/proposal 223217730 222696603 618674 617214 11608 11610
86 Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/legal/to failed state/from Draft to Finished/proposal 208192479 207671352 583634 582174 11328 11330
87 Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/legal/to failed state/from VotingReady to Finished/proposal 206518495 205997368 574040 572580 11329 11331
88 Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/legal/to failed state/from Locked to Finished/proposal 219406440 218885313 606446 604986 11329 11331
89 Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/illegal/advance finished proposals/(negative test)/authority 15755485 15617485 47872 47272 3307 3302
90 Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/illegal/advance finished proposals/(negative test)/authority 80911114 79975987 217260 214000 2942 2937
91 Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/illegal/to next state too late/from Locked/governor 401301925 398800093 1085610 1081480 12822 12963
92 Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/illegal/to next state too late/from Locked/authority 15755485 15617485 47872 47272 3307 3302
93 Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/illegal/to next state too late/from Locked/governor 399047347 396545515 1078104 1073974 12457 12598
94 Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/illegal/to next state too late/from Locked/authority 80911114 79975987 217260 214000 2942 2937
95 Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/illegal/forget to mint GATs/proposal 232427757 231906630 636815 635355 11781 11783
96 Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/illegal/mint GATs for wrong validators/proposal 232427757 231906630 636815 635355 12427 12429
97 Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/illegal/mint GATs for wrong validators/authority 80911114 79975987 217260 214000 2942 2937
98 Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/illegal/mint GATs with bad token name/proposal 232427757 231906630 636815 635355 12459 12461
99 Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/illegal/mint GATs with bad token name/authority 12079326 11941326 37748 37148 2974 2969
100 Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/illegal/wrong GAT datum/proposal 232427757 231906630 636815 635355 12421 12423
101 Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/illegal/wrong GAT datum/authority 80911114 79975987 217260 214000 2936 2931
102 Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/illegal/invalid governor output datum/proposal 232427757 231906630 636815 635355 12427 12429
103 Agora/Proposal/validator/advancing/with 1 cosigners and 1 effects/illegal/invalid governor output datum/authority 80911114 79975987 217260 214000 2942 2937
104 Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/legal/to next state/from Draft to VotingReady/proposal 315980276 315459149 887869 886409 12767 12769
105 Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/legal/to next state/from VotingReady to Locked/proposal 300053989 299532862 834591 833131 12530 12532
106 Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/legal/to next state/from Locked to Finished/proposal 310463767 309942640 853345 851885 13801 13803
107 Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/legal/to next state/from Locked to Finished/governor 443037153 440535321 1202842 1198712 13433 13574
108 Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/legal/to next state/from Locked to Finished/authority 15755485 15617485 47872 47272 3918 3913
109 Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/legal/to next state/from Draft to VotingReady/proposal 308357696 307836569 863413 861953 12206 12208
110 Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/legal/to next state/from VotingReady to Locked/proposal 292431409 291910282 810135 808675 11969 11971
111 Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/legal/to next state/from Locked to Finished/proposal 302841187 302320060 828889 827429 13062 13064
112 Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/legal/to next state/from Locked to Finished/governor 439027962 436526130 1189222 1185092 12881 13022
113 Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/legal/to next state/from Locked to Finished/authority 80911114 79975987 217260 214000 3366 3361
114 Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/legal/to failed state/from Draft to Finished/proposal 286228489 285707362 800164 798704 12523 12525
115 Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/legal/to failed state/from VotingReady to Finished/proposal 284554505 284033378 790570 789110 12524 12526
116 Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/legal/to failed state/from Locked to Finished/proposal 297442450 296921323 822976 821516 12524 12526
117 Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/legal/to failed state/from Draft to Finished/proposal 278605909 278084782 775708 774248 11962 11964
118 Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/legal/to failed state/from VotingReady to Finished/proposal 276931925 276410798 766114 764654 11963 11965
119 Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/legal/to failed state/from Locked to Finished/proposal 289819870 289298743 798520 797060 11963 11965
120 Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/illegal/advance finished proposals/(negative test)/authority 15755485 15617485 47872 47272 3918 3913
121 Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/illegal/advance finished proposals/(negative test)/authority 80911114 79975987 217260 214000 3366 3361
122 Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/illegal/to next state too late/from Locked/governor 443037153 440535321 1202842 1198712 13433 13574
123 Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/illegal/to next state too late/from Locked/authority 15755485 15617485 47872 47272 3918 3913
124 Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/illegal/to next state too late/from Locked/governor 439027962 436526130 1189222 1185092 12881 13022
125 Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/illegal/to next state too late/from Locked/authority 80911114 79975987 217260 214000 3366 3361
126 Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/illegal/forget to mint GATs/proposal 302841187 302320060 828889 827429 12416 12418
127 Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/illegal/mint GATs for wrong validators/proposal 302841187 302320060 828889 827429 13062 13064
128 Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/illegal/mint GATs for wrong validators/authority 80911114 79975987 217260 214000 3366 3361
129 Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/illegal/mint GATs with bad token name/proposal 302841187 302320060 828889 827429 13094 13096
130 Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/illegal/mint GATs with bad token name/authority 12079326 11941326 37748 37148 3398 3393
131 Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/illegal/wrong GAT datum/proposal 302841187 302320060 828889 827429 13056 13058
132 Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/illegal/wrong GAT datum/authority 80911114 79975987 217260 214000 3360 3355
133 Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/illegal/invalid governor output datum/proposal 302841187 302320060 828889 827429 13062 13064
134 Agora/Proposal/validator/advancing/with 1 cosigners and 2 effects/illegal/invalid governor output datum/authority 80911114 79975987 217260 214000 3366 3361
135 Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/legal/to next state/from Draft to VotingReady/proposal 538654436 538133309 1500775 1499315 15514 15516
136 Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/legal/to next state/from VotingReady to Locked/proposal 533812807 533291680 1477461 1476001 15277 15279
137 Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/legal/to next state/from Locked to Finished/proposal 533137927 532616800 1466251 1464791 16548 16550
138 Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/legal/to next state/from Locked to Finished/governor 568242837 565741005 1554538 1550408 15264 15405
139 Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/legal/to next state/from Locked to Finished/authority 15755485 15617485 47872 47272 5749 5744
140 Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/legal/to next state/from Draft to VotingReady/proposal 519597986 519076859 1439635 1438175 14113 14115
141 Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/legal/to next state/from VotingReady to Locked/proposal 514756357 514235230 1416321 1414861 13876 13878
142 Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/legal/to next state/from Locked to Finished/proposal 514081477 513560350 1405111 1403651 14969 14971
143 Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/legal/to next state/from Locked to Finished/governor 558969807 556467975 1522576 1518446 14152 14293
144 Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/legal/to next state/from Locked to Finished/authority 80911114 79975987 217260 214000 4637 4632
145 Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/legal/to failed state/from Draft to Finished/proposal 508902649 508381522 1413070 1411610 15270 15272
146 Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/legal/to failed state/from VotingReady to Finished/proposal 507228665 506707538 1403476 1402016 15271 15273
147 Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/legal/to failed state/from Locked to Finished/proposal 520116610 519595483 1435882 1434422 15271 15273
148 Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/legal/to failed state/from Draft to Finished/proposal 489846199 489325072 1351930 1350470 13869 13871
149 Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/legal/to failed state/from VotingReady to Finished/proposal 488172215 487651088 1342336 1340876 13870 13872
150 Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/legal/to failed state/from Locked to Finished/proposal 501060160 500539033 1374742 1373282 13870 13872
151 Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/illegal/advance finished proposals/(negative test)/authority 15755485 15617485 47872 47272 5749 5744
152 Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/illegal/advance finished proposals/(negative test)/authority 80911114 79975987 217260 214000 4637 4632
153 Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/illegal/to next state too late/from Locked/governor 568242837 565741005 1554538 1550408 15264 15405
154 Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/illegal/to next state too late/from Locked/authority 15755485 15617485 47872 47272 5749 5744
155 Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/illegal/to next state too late/from Locked/governor 558969807 556467975 1522576 1518446 14152 14293
156 Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/illegal/to next state too late/from Locked/authority 80911114 79975987 217260 214000 4637 4632
157 Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/illegal/forget to mint GATs/proposal 514081477 513560350 1405111 1403651 14323 14325
158 Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/illegal/mint GATs for wrong validators/proposal 514081477 513560350 1405111 1403651 14969 14971
159 Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/illegal/mint GATs for wrong validators/authority 80911114 79975987 217260 214000 4637 4632
160 Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/illegal/mint GATs with bad token name/proposal 514081477 513560350 1405111 1403651 15001 15003
161 Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/illegal/mint GATs with bad token name/authority 12079326 11941326 37748 37148 4669 4664
162 Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/illegal/wrong GAT datum/proposal 514081477 513560350 1405111 1403651 14963 14965
163 Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/illegal/wrong GAT datum/authority 80911114 79975987 217260 214000 4631 4626
164 Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/illegal/invalid governor output datum/proposal 514081477 513560350 1405111 1403651 14969 14971
165 Agora/Proposal/validator/advancing/with 1 cosigners and 5 effects/illegal/invalid governor output datum/authority 80911114 79975987 217260 214000 4637 4632
166 Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/legal/to next state/from Draft to VotingReady/proposal 418041446 417520319 1190051 1188591 13352 13354
167 Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/legal/to next state/from VotingReady to Locked/proposal 252485103 251963976 704029 702569 12025 12027
168 Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/legal/to next state/from Locked to Finished/proposal 266589767 266068640 732771 731311 13295 13297
169 Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/legal/to next state/from Locked to Finished/governor 416175221 413673389 1127474 1123344 13095 13236
170 Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/legal/to next state/from Locked to Finished/authority 15755485 15617485 47872 47272 3580 3575
171 Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/legal/to next state/from Draft to VotingReady/proposal 414230156 413709029 1177823 1176363 13071 13073
172 Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/legal/to next state/from VotingReady to Locked/proposal 248673813 248152686 691801 690341 11744 11746
173 Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/legal/to next state/from Locked to Finished/proposal 262778477 262257350 720543 719083 12836 12838
174 Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/legal/to next state/from Locked to Finished/governor 413920643 411418811 1119968 1115838 12730 12871
175 Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/legal/to next state/from Locked to Finished/authority 80911114 79975987 217260 214000 3215 3210
176 Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/legal/to failed state/from Draft to Finished/proposal 242354489 241833362 679590 678130 12017 12019
177 Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/legal/to failed state/from VotingReady to Finished/proposal 240680505 240159378 669996 668536 12018 12020
178 Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/legal/to failed state/from Locked to Finished/proposal 253568450 253047323 702402 700942 12018 12020
179 Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/legal/to failed state/from Draft to Finished/proposal 238543199 238022072 667362 665902 11737 11739
180 Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/legal/to failed state/from VotingReady to Finished/proposal 236869215 236348088 657768 656308 11738 11740
181 Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/legal/to failed state/from Locked to Finished/proposal 249757160 249236033 690174 688714 11738 11740
182 Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/illegal/advance finished proposals/(negative test)/authority 15755485 15617485 47872 47272 3580 3575
183 Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/illegal/advance finished proposals/(negative test)/authority 80911114 79975987 217260 214000 3215 3210
184 Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/illegal/to next state too late/from Locked/governor 416175221 413673389 1127474 1123344 13095 13236
185 Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/illegal/to next state too late/from Locked/authority 15755485 15617485 47872 47272 3580 3575
186 Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/illegal/to next state too late/from Locked/governor 413920643 411418811 1119968 1115838 12730 12871
187 Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/illegal/to next state too late/from Locked/authority 80911114 79975987 217260 214000 3215 3210
188 Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/illegal/forget to mint GATs/proposal 262778477 262257350 720543 719083 12191 12193
189 Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/illegal/mint GATs for wrong validators/proposal 262778477 262257350 720543 719083 12836 12838
190 Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/illegal/mint GATs for wrong validators/authority 80911114 79975987 217260 214000 3215 3210
191 Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/illegal/mint GATs with bad token name/proposal 262778477 262257350 720543 719083 12868 12870
192 Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/illegal/mint GATs with bad token name/authority 12079326 11941326 37748 37148 3247 3242
193 Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/illegal/wrong GAT datum/proposal 262778477 262257350 720543 719083 12830 12832
194 Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/illegal/wrong GAT datum/authority 80911114 79975987 217260 214000 3209 3204
195 Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/illegal/invalid governor output datum/proposal 262778477 262257350 720543 719083 12836 12838
196 Agora/Proposal/validator/advancing/with 5 cosigners and 1 effects/illegal/invalid governor output datum/authority 80911114 79975987 217260 214000 3215 3210
197 Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/legal/to next state/from Draft to VotingReady/proposal 492266166 491745039 1394353 1392893 14267 14269
198 Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/legal/to next state/from VotingReady to Locked/proposal 330404709 329883582 918319 916859 12940 12942
199 Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/legal/to next state/from Locked to Finished/proposal 340814487 340293360 937073 935613 14211 14213
200 Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/legal/to next state/from Locked to Finished/governor 457910449 455408617 1244706 1240576 13706 13847
201 Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/legal/to next state/from Locked to Finished/authority 15755485 15617485 47872 47272 4191 4186
202 Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/legal/to next state/from Draft to VotingReady/proposal 484643586 484122459 1369897 1368437 13707 13709
203 Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/legal/to next state/from VotingReady to Locked/proposal 322782129 322261002 893863 892403 12379 12381
204 Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/legal/to next state/from Locked to Finished/proposal 333191907 332670780 912617 911157 13472 13474
205 Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/legal/to next state/from Locked to Finished/governor 453901258 451399426 1231086 1226956 13154 13295
206 Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/legal/to next state/from Locked to Finished/authority 80911114 79975987 217260 214000 3639 3634
207 Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/legal/to failed state/from Draft to Finished/proposal 316579209 316058082 883892 882432 12933 12935
208 Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/legal/to failed state/from VotingReady to Finished/proposal 314905225 314384098 874298 872838 12934 12936
209 Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/legal/to failed state/from Locked to Finished/proposal 327793170 327272043 906704 905244 12934 12936
210 Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/legal/to failed state/from Draft to Finished/proposal 308956629 308435502 859436 857976 12372 12374
211 Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/legal/to failed state/from VotingReady to Finished/proposal 307282645 306761518 849842 848382 12373 12375
212 Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/legal/to failed state/from Locked to Finished/proposal 320170590 319649463 882248 880788 12373 12375
213 Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/illegal/advance finished proposals/(negative test)/authority 15755485 15617485 47872 47272 4191 4186
214 Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/illegal/advance finished proposals/(negative test)/authority 80911114 79975987 217260 214000 3639 3634
215 Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/illegal/to next state too late/from Locked/governor 457910449 455408617 1244706 1240576 13706 13847
216 Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/illegal/to next state too late/from Locked/authority 15755485 15617485 47872 47272 4191 4186
217 Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/illegal/to next state too late/from Locked/governor 453901258 451399426 1231086 1226956 13154 13295
218 Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/illegal/to next state too late/from Locked/authority 80911114 79975987 217260 214000 3639 3634
219 Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/illegal/forget to mint GATs/proposal 333191907 332670780 912617 911157 12826 12828
220 Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/illegal/mint GATs for wrong validators/proposal 333191907 332670780 912617 911157 13472 13474
221 Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/illegal/mint GATs for wrong validators/authority 80911114 79975987 217260 214000 3639 3634
222 Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/illegal/mint GATs with bad token name/proposal 333191907 332670780 912617 911157 13504 13506
223 Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/illegal/mint GATs with bad token name/authority 12079326 11941326 37748 37148 3671 3666
224 Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/illegal/wrong GAT datum/proposal 333191907 332670780 912617 911157 13466 13468
225 Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/illegal/wrong GAT datum/authority 80911114 79975987 217260 214000 3633 3628
226 Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/illegal/invalid governor output datum/proposal 333191907 332670780 912617 911157 13472 13474
227 Agora/Proposal/validator/advancing/with 5 cosigners and 2 effects/illegal/invalid governor output datum/authority 80911114 79975987 217260 214000 3639 3634
228 Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/legal/to next state/from Draft to VotingReady/proposal 714940326 714419199 2007259 2005799 17013 17015
229 Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/legal/to next state/from VotingReady to Locked/proposal 564163527 563642400 1561189 1559729 15686 15688
230 Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/legal/to next state/from Locked to Finished/proposal 563488647 562967520 1549979 1548519 16957 16959
231 Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/legal/to next state/from Locked to Finished/governor 583116133 580614301 1596402 1592272 15537 15678
232 Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/legal/to next state/from Locked to Finished/authority 15755485 15617485 47872 47272 6022 6017
233 Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/legal/to next state/from Draft to VotingReady/proposal 695883876 695362749 1946119 1944659 15613 15615
234 Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/legal/to next state/from VotingReady to Locked/proposal 545107077 544585950 1500049 1498589 14285 14287
235 Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/legal/to next state/from Locked to Finished/proposal 544432197 543911070 1488839 1487379 15378 15380
236 Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/legal/to next state/from Locked to Finished/governor 573843103 571341271 1564440 1560310 14425 14566
237 Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/legal/to next state/from Locked to Finished/authority 80911114 79975987 217260 214000 4910 4905
238 Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/legal/to failed state/from Draft to Finished/proposal 539253369 538732242 1496798 1495338 15679 15681
239 Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/legal/to failed state/from VotingReady to Finished/proposal 537579385 537058258 1487204 1485744 15680 15682
240 Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/legal/to failed state/from Locked to Finished/proposal 550467330 549946203 1519610 1518150 15680 15682
241 Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/legal/to failed state/from Draft to Finished/proposal 520196919 519675792 1435658 1434198 14278 14280
242 Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/legal/to failed state/from VotingReady to Finished/proposal 518522935 518001808 1426064 1424604 14279 14281
243 Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/legal/to failed state/from Locked to Finished/proposal 531410880 530889753 1458470 1457010 14279 14281
244 Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/illegal/advance finished proposals/(negative test)/authority 15755485 15617485 47872 47272 6022 6017
245 Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/illegal/advance finished proposals/(negative test)/authority 80911114 79975987 217260 214000 4910 4905
246 Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/illegal/to next state too late/from Locked/governor 583116133 580614301 1596402 1592272 15537 15678
247 Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/illegal/to next state too late/from Locked/authority 15755485 15617485 47872 47272 6022 6017
248 Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/illegal/to next state too late/from Locked/governor 573843103 571341271 1564440 1560310 14425 14566
249 Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/illegal/to next state too late/from Locked/authority 80911114 79975987 217260 214000 4910 4905
250 Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/illegal/forget to mint GATs/proposal 544432197 543911070 1488839 1487379 14732 14734
251 Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/illegal/mint GATs for wrong validators/proposal 544432197 543911070 1488839 1487379 15378 15380
252 Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/illegal/mint GATs for wrong validators/authority 80911114 79975987 217260 214000 4910 4905
253 Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/illegal/mint GATs with bad token name/proposal 544432197 543911070 1488839 1487379 15410 15412
254 Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/illegal/mint GATs with bad token name/authority 12079326 11941326 37748 37148 4942 4937
255 Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/illegal/wrong GAT datum/proposal 544432197 543911070 1488839 1487379 15372 15374
256 Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/illegal/wrong GAT datum/authority 80911114 79975987 217260 214000 4904 4899
257 Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/illegal/invalid governor output datum/proposal 544432197 543911070 1488839 1487379 15378 15380
258 Agora/Proposal/validator/advancing/with 5 cosigners and 5 effects/illegal/invalid governor output datum/authority 80911114 79975987 217260 214000 4910 4905
259 Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/legal/to next state/from Draft to VotingReady/proposal 653562252 653041125 1868847 1867387 15228 15230
260 Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/legal/to next state/from VotingReady to Locked/proposal 290423503 289902376 808689 807229 12536 12538
261 Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/legal/to next state/from Locked to Finished/proposal 304528167 304007040 837431 835971 13807 13809
262 Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/legal/to next state/from Locked to Finished/governor 434766841 432265009 1179804 1175674 13437 13578
263 Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/legal/to next state/from Locked to Finished/authority 15755485 15617485 47872 47272 3922 3917
264 Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/legal/to next state/from Draft to VotingReady/proposal 649750962 649229835 1856619 1855159 14949 14951
265 Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/legal/to next state/from VotingReady to Locked/proposal 286612213 286091086 796461 795001 12256 12258
266 Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/legal/to next state/from Locked to Finished/proposal 300716877 300195750 825203 823743 13348 13350
267 Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/legal/to next state/from Locked to Finished/governor 432512263 430010431 1172298 1168168 13071 13212
268 Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/legal/to next state/from Locked to Finished/authority 80911114 79975987 217260 214000 3556 3551
269 Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/legal/to failed state/from Draft to Finished/proposal 280292889 279771762 784250 782790 12529 12531
270 Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/legal/to failed state/from VotingReady to Finished/proposal 278618905 278097778 774656 773196 12530 12532
271 Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/legal/to failed state/from Locked to Finished/proposal 291506850 290985723 807062 805602 12530 12532
272 Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/legal/to failed state/from Draft to Finished/proposal 276481599 275960472 772022 770562 12249 12251
273 Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/legal/to failed state/from VotingReady to Finished/proposal 274807615 274286488 762428 760968 12250 12252
274 Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/legal/to failed state/from Locked to Finished/proposal 287695560 287174433 794834 793374 12250 12252
275 Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/illegal/advance finished proposals/(negative test)/authority 15755485 15617485 47872 47272 3922 3917
276 Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/illegal/advance finished proposals/(negative test)/authority 80911114 79975987 217260 214000 3556 3551
277 Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/illegal/to next state too late/from Locked/governor 434766841 432265009 1179804 1175674 13437 13578
278 Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/illegal/to next state too late/from Locked/authority 15755485 15617485 47872 47272 3922 3917
279 Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/illegal/to next state too late/from Locked/governor 432512263 430010431 1172298 1168168 13071 13212
280 Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/illegal/to next state too late/from Locked/authority 80911114 79975987 217260 214000 3556 3551
281 Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/illegal/forget to mint GATs/proposal 300716877 300195750 825203 823743 12703 12705
282 Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/illegal/mint GATs for wrong validators/proposal 300716877 300195750 825203 823743 13348 13350
283 Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/illegal/mint GATs for wrong validators/authority 80911114 79975987 217260 214000 3556 3551
284 Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/illegal/mint GATs with bad token name/proposal 300716877 300195750 825203 823743 13381 13383
285 Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/illegal/mint GATs with bad token name/authority 12079326 11941326 37748 37148 3588 3583
286 Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/illegal/wrong GAT datum/proposal 300716877 300195750 825203 823743 13342 13344
287 Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/illegal/wrong GAT datum/authority 80911114 79975987 217260 214000 3550 3545
288 Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/illegal/invalid governor output datum/proposal 300716877 300195750 825203 823743 13348 13350
289 Agora/Proposal/validator/advancing/with 10 cosigners and 1 effects/illegal/invalid governor output datum/authority 80911114 79975987 217260 214000 3556 3551
290 Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/legal/to next state/from Draft to VotingReady/proposal 727786972 727265845 2073149 2071689 16144 16146
291 Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/legal/to next state/from VotingReady to Locked/proposal 368343109 367821982 1022979 1021519 13451 13453
292 Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/legal/to next state/from Locked to Finished/proposal 378752887 378231760 1041733 1040273 14722 14724
293 Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/legal/to next state/from Locked to Finished/governor 476502069 474000237 1297036 1292906 14047 14188
294 Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/legal/to next state/from Locked to Finished/authority 15755485 15617485 47872 47272 4532 4527
295 Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/legal/to next state/from Draft to VotingReady/proposal 720164392 719643265 2048693 2047233 15584 15586
296 Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/legal/to next state/from VotingReady to Locked/proposal 360720529 360199402 998523 997063 12892 12894
297 Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/legal/to next state/from Locked to Finished/proposal 371130307 370609180 1017277 1015817 13984 13986
298 Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/legal/to next state/from Locked to Finished/governor 472492878 469991046 1283416 1279286 13495 13636
299 Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/legal/to next state/from Locked to Finished/authority 80911114 79975987 217260 214000 3980 3975
300 Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/legal/to failed state/from Draft to Finished/proposal 354517609 353996482 988552 987092 13444 13446
301 Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/legal/to failed state/from VotingReady to Finished/proposal 352843625 352322498 978958 977498 13445 13447
302 Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/legal/to failed state/from Locked to Finished/proposal 365731570 365210443 1011364 1009904 13445 13447
303 Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/legal/to failed state/from Draft to Finished/proposal 346895029 346373902 964096 962636 12885 12887
304 Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/legal/to failed state/from VotingReady to Finished/proposal 345221045 344699918 954502 953042 12886 12888
305 Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/legal/to failed state/from Locked to Finished/proposal 358108990 357587863 986908 985448 12886 12888
306 Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/illegal/advance finished proposals/(negative test)/authority 15755485 15617485 47872 47272 4532 4527
307 Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/illegal/advance finished proposals/(negative test)/authority 80911114 79975987 217260 214000 3980 3975
308 Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/illegal/to next state too late/from Locked/governor 476502069 474000237 1297036 1292906 14047 14188
309 Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/illegal/to next state too late/from Locked/authority 15755485 15617485 47872 47272 4532 4527
310 Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/illegal/to next state too late/from Locked/governor 472492878 469991046 1283416 1279286 13495 13636
311 Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/illegal/to next state too late/from Locked/authority 80911114 79975987 217260 214000 3980 3975
312 Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/illegal/forget to mint GATs/proposal 371130307 370609180 1017277 1015817 13339 13341
313 Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/illegal/mint GATs for wrong validators/proposal 371130307 370609180 1017277 1015817 13984 13986
314 Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/illegal/mint GATs for wrong validators/authority 80911114 79975987 217260 214000 3980 3975
315 Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/illegal/mint GATs with bad token name/proposal 371130307 370609180 1017277 1015817 14016 14018
316 Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/illegal/mint GATs with bad token name/authority 12079326 11941326 37748 37148 4012 4007
317 Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/illegal/wrong GAT datum/proposal 371130307 370609180 1017277 1015817 13978 13980
318 Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/illegal/wrong GAT datum/authority 80911114 79975987 217260 214000 3974 3969
319 Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/illegal/invalid governor output datum/proposal 371130307 370609180 1017277 1015817 13984 13986
320 Agora/Proposal/validator/advancing/with 10 cosigners and 2 effects/illegal/invalid governor output datum/authority 80911114 79975987 217260 214000 3980 3975
321 Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/legal/to next state/from Draft to VotingReady/proposal 950461132 949940005 2686055 2684595 18891 18893
322 Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/legal/to next state/from VotingReady to Locked/proposal 602101927 601580800 1665849 1664389 16198 16200
323 Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/legal/to next state/from Locked to Finished/proposal 601427047 600905920 1654639 1653179 17469 17471
324 Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/legal/to next state/from Locked to Finished/governor 601707753 599205921 1648732 1644602 15878 16019
325 Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/legal/to next state/from Locked to Finished/authority 15755485 15617485 47872 47272 6363 6358
326 Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/legal/to next state/from Draft to VotingReady/proposal 931404682 930883555 2624915 2623455 17490 17492
327 Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/legal/to next state/from VotingReady to Locked/proposal 583045477 582524350 1604709 1603249 14798 14800
328 Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/legal/to next state/from Locked to Finished/proposal 582370597 581849470 1593499 1592039 15890 15892
329 Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/legal/to next state/from Locked to Finished/governor 592434723 589932891 1616770 1612640 14766 14907
330 Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/legal/to next state/from Locked to Finished/authority 80911114 79975987 217260 214000 5251 5246
331 Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/legal/to failed state/from Draft to Finished/proposal 577191769 576670642 1601458 1599998 16191 16193
332 Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/legal/to failed state/from VotingReady to Finished/proposal 575517785 574996658 1591864 1590404 16192 16194
333 Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/legal/to failed state/from Locked to Finished/proposal 588405730 587884603 1624270 1622810 16192 16194
334 Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/legal/to failed state/from Draft to Finished/proposal 558135319 557614192 1540318 1538858 14791 14793
335 Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/legal/to failed state/from VotingReady to Finished/proposal 556461335 555940208 1530724 1529264 14792 14794
336 Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/legal/to failed state/from Locked to Finished/proposal 569349280 568828153 1563130 1561670 14792 14794
337 Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/illegal/advance finished proposals/(negative test)/authority 15755485 15617485 47872 47272 6363 6358
338 Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/illegal/advance finished proposals/(negative test)/authority 80911114 79975987 217260 214000 5251 5246
339 Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/illegal/to next state too late/from Locked/governor 601707753 599205921 1648732 1644602 15878 16019
340 Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/illegal/to next state too late/from Locked/authority 15755485 15617485 47872 47272 6363 6358
341 Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/illegal/to next state too late/from Locked/governor 592434723 589932891 1616770 1612640 14766 14907
342 Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/illegal/to next state too late/from Locked/authority 80911114 79975987 217260 214000 5251 5246
343 Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/illegal/forget to mint GATs/proposal 582370597 581849470 1593499 1592039 15244 15246
344 Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/illegal/mint GATs for wrong validators/proposal 582370597 581849470 1593499 1592039 15890 15892
345 Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/illegal/mint GATs for wrong validators/authority 80911114 79975987 217260 214000 5251 5246
346 Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/illegal/mint GATs with bad token name/proposal 582370597 581849470 1593499 1592039 15922 15924
347 Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/illegal/mint GATs with bad token name/authority 12079326 11941326 37748 37148 5283 5278
348 Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/illegal/wrong GAT datum/proposal 582370597 581849470 1593499 1592039 15884 15886
349 Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/illegal/wrong GAT datum/authority 80911114 79975987 217260 214000 5245 5240
350 Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/illegal/invalid governor output datum/proposal 582370597 581849470 1593499 1592039 15890 15892
351 Agora/Proposal/validator/advancing/with 10 cosigners and 5 effects/illegal/invalid governor output datum/authority 80911114 79975987 217260 214000 5251 5246
352 Agora/Proposal/validator/unlocking/legal/with 1 stakes/voter: retract votes while voting/stake 286583408 285403154 781140 777620 8111 8088
353 Agora/Proposal/validator/unlocking/legal/with 1 stakes/voter: retract votes while voting/proposal 211726371 210639755 599872 597210 11464 11466
354 Agora/Proposal/validator/unlocking/legal/with 1 stakes/voter: retract votes while voting by delegatee/stake 293410303 292230049 798296 794776 8111 8088
355 Agora/Proposal/validator/unlocking/legal/with 1 stakes/voter: retract votes while voting by delegatee/proposal 211726371 210639755 599872 597210 11464 11466
356 Agora/Proposal/validator/unlocking/legal/with 1 stakes/voter/creator: retract votes while voting/stake 297089663 295909409 811742 808222 8127 8104
357 Agora/Proposal/validator/unlocking/legal/with 1 stakes/voter/creator: retract votes while voting/proposal 218061775 216975159 618286 615624 11475 11477
358 Agora/Proposal/validator/unlocking/legal/with 1 stakes/creator: remove creator lock after voting/stake 287584665 286404411 784347 780827 8114 8091
359 Agora/Proposal/validator/unlocking/legal/with 1 stakes/creator: remove creator lock after voting/proposal 182085595 180998979 516679 514017 11468 11470
360 Agora/Proposal/validator/unlocking/legal/with 1 stakes/Voter: remove lock after voting/stake 287714386 286534132 783544 780024 8116 8093
361 Agora/Proposal/validator/unlocking/legal/with 1 stakes/Voter: remove lock after voting/proposal 183123872 182037256 519477 516815 11469 11471
362 Agora/Proposal/validator/unlocking/legal/with 3 stakes/voter: retract votes while voting/stake 606983718 604761210 1573538 1567098 9456 9433
363 Agora/Proposal/validator/unlocking/legal/with 3 stakes/voter: retract votes while voting/proposal 321452619 320366003 905880 903218 12809 12811
364 Agora/Proposal/validator/unlocking/legal/with 3 stakes/voter: retract votes while voting by delegatee/stake 613810613 611588105 1590694 1584254 9456 9433
365 Agora/Proposal/validator/unlocking/legal/with 3 stakes/voter: retract votes while voting by delegatee/proposal 321452619 320366003 905880 903218 12809 12811
366 Agora/Proposal/validator/unlocking/legal/with 3 stakes/voter/creator: retract votes while voting/stake 638502483 636279975 1665344 1658904 9494 9471
367 Agora/Proposal/validator/unlocking/legal/with 3 stakes/voter/creator: retract votes while voting/proposal 340458831 339372215 961122 958460 12842 12844
368 Agora/Proposal/validator/unlocking/legal/with 3 stakes/creator: remove creator lock after voting/stake 607725533 605503025 1578351 1571911 9457 9434
369 Agora/Proposal/validator/unlocking/legal/with 3 stakes/creator: remove creator lock after voting/proposal 248010757 246924141 696223 693561 12811 12813
370 Agora/Proposal/validator/unlocking/legal/with 3 stakes/Voter: remove lock after voting/stake 608114696 605892188 1575942 1569502 9461 9438
371 Agora/Proposal/validator/unlocking/legal/with 3 stakes/Voter: remove lock after voting/proposal 251125588 250038972 704617 701955 12814 12816
372 Agora/Proposal/validator/unlocking/legal/with 5 stakes/voter: retract votes while voting/stake 947030684 943765922 2397376 2388016 10802 10779
373 Agora/Proposal/validator/unlocking/legal/with 5 stakes/voter: retract votes while voting/proposal 431178867 430092251 1211888 1209226 14155 14157
374 Agora/Proposal/validator/unlocking/legal/with 5 stakes/voter: retract votes while voting by delegatee/stake 953857579 950592817 2414532 2405172 10802 10779
375 Agora/Proposal/validator/unlocking/legal/with 5 stakes/voter: retract votes while voting by delegatee/proposal 431178867 430092251 1211888 1209226 14155 14157
376 Agora/Proposal/validator/unlocking/legal/with 5 stakes/voter/creator: retract votes while voting/stake 999561959 996297197 2550386 2541026 10862 10839
377 Agora/Proposal/validator/unlocking/legal/with 5 stakes/voter/creator: retract votes while voting/proposal 462855887 461769271 1303958 1301296 14210 14212
378 Agora/Proposal/validator/unlocking/legal/with 5 stakes/creator: remove creator lock after voting/stake 947513057 944248295 2403795 2394435 10801 10778
379 Agora/Proposal/validator/unlocking/legal/with 5 stakes/creator: remove creator lock after voting/proposal 313935919 312849303 875767 873105 14155 14157
380 Agora/Proposal/validator/unlocking/legal/with 5 stakes/Voter: remove lock after voting/stake 948161662 944896900 2399780 2390420 10807 10784
381 Agora/Proposal/validator/unlocking/legal/with 5 stakes/Voter: remove lock after voting/proposal 319127304 318040688 889757 887095 14160 14162
382 Agora/Proposal/validator/unlocking/legal/with 7 stakes/voter: retract votes while voting/stake 1306724306 1302417290 3252654 3240374 12147 12124
383 Agora/Proposal/validator/unlocking/legal/with 7 stakes/voter: retract votes while voting/proposal 540905115 539818499 1517896 1515234 15500 15502
384 Agora/Proposal/validator/unlocking/legal/with 7 stakes/voter: retract votes while voting by delegatee/stake 1313551201 1309244185 3269810 3257530 12147 12124
385 Agora/Proposal/validator/unlocking/legal/with 7 stakes/voter: retract votes while voting by delegatee/proposal 540905115 539818499 1517896 1515234 15500 15502
386 Agora/Proposal/validator/unlocking/legal/with 7 stakes/voter/creator: retract votes while voting/stake 1380268091 1375961075 3466868 3454588 12229 12206
387 Agora/Proposal/validator/unlocking/legal/with 7 stakes/voter/creator: retract votes while voting/proposal 585252943 584166327 1646794 1644132 15577 15579
388 Agora/Proposal/validator/unlocking/legal/with 7 stakes/creator: remove creator lock after voting/stake 1306947237 1302640221 3260679 3248399 12144 12121
389 Agora/Proposal/validator/unlocking/legal/with 7 stakes/creator: remove creator lock after voting/proposal 379861081 378774465 1055311 1052649 15498 15500
390 Agora/Proposal/validator/unlocking/legal/with 7 stakes/Voter: remove lock after voting/stake 1307855284 1303548268 3255058 3242778 12152 12129
391 Agora/Proposal/validator/unlocking/legal/with 7 stakes/Voter: remove lock after voting/proposal 387129020 386042404 1074897 1072235 15505 15507
392 Agora/Proposal/validator/unlocking/legal/with 9 stakes/voter: retract votes while voting/stake 1686064584 1680715314 4139372 4124172 13492 13469
393 Agora/Proposal/validator/unlocking/legal/with 9 stakes/voter: retract votes while voting/proposal 650631363 649544747 1823904 1821242 16845 16847
394 Agora/Proposal/validator/unlocking/legal/with 9 stakes/voter: retract votes while voting by delegatee/stake 1692891479 1687542209 4156528 4141328 13492 13469
395 Agora/Proposal/validator/unlocking/legal/with 9 stakes/voter: retract votes while voting by delegatee/proposal 650631363 649544747 1823904 1821242 16845 16847
396 Agora/Proposal/validator/unlocking/legal/with 9 stakes/voter/creator: retract votes while voting/stake 1780620879 1775271609 4414790 4399590 13596 13573
397 Agora/Proposal/validator/unlocking/legal/with 9 stakes/voter/creator: retract votes while voting/proposal 707649999 706563383 1989630 1986968 16944 16946
398 Agora/Proposal/validator/unlocking/legal/with 9 stakes/creator: remove creator lock after voting/stake 1686028073 1680678803 4149003 4133803 13487 13464
399 Agora/Proposal/validator/unlocking/legal/with 9 stakes/creator: remove creator lock after voting/proposal 445786243 444699627 1234855 1232193 16841 16843
400 Agora/Proposal/validator/unlocking/legal/with 9 stakes/Voter: remove lock after voting/stake 1687195562 1681846292 4141776 4126576 13497 13474
401 Agora/Proposal/validator/unlocking/legal/with 9 stakes/Voter: remove lock after voting/proposal 455130736 454044120 1260037 1257375 16850 16852
402 Agora/Proposal/validator/unlocking/legal/with 11 stakes/voter: retract votes while voting/stake 2085051518 2078659994 5057530 5039410 14838 14815
403 Agora/Proposal/validator/unlocking/legal/with 11 stakes/voter: retract votes while voting/proposal 760357611 759270995 2129912 2127250 18191 18193
404 Agora/Proposal/validator/unlocking/legal/with 11 stakes/voter: retract votes while voting by delegatee/stake 2091878413 2085486889 5074686 5056566 14838 14815
405 Agora/Proposal/validator/unlocking/legal/with 11 stakes/voter: retract votes while voting by delegatee/proposal 760357611 759270995 2129912 2127250 18191 18193
406 Agora/Proposal/validator/unlocking/legal/with 11 stakes/voter/creator: retract votes while voting/stake 2200620323 2194228799 5394152 5376032 14965 14942
407 Agora/Proposal/validator/unlocking/legal/with 11 stakes/voter/creator: retract votes while voting/proposal 830047055 828960439 2332466 2329804 18313 18315
408 Agora/Proposal/validator/unlocking/legal/with 11 stakes/creator: remove creator lock after voting/stake 2084755565 2078364041 5068767 5050647 14831 14808
409 Agora/Proposal/validator/unlocking/legal/with 11 stakes/creator: remove creator lock after voting/proposal 511711405 510624789 1414399 1411737 18185 18187
410 Agora/Proposal/validator/unlocking/legal/with 11 stakes/Voter: remove lock after voting/stake 2086182496 2079790972 5059934 5041814 14843 14820
411 Agora/Proposal/validator/unlocking/legal/with 11 stakes/Voter: remove lock after voting/proposal 523132452 522045836 1445177 1442515 18196 18198
412 Agora/Proposal/validator/unlocking/illegal/with 1 stakes/retract votes while not voting/(negative test)/stake 286017919 284837665 779938 776418 8111 8088
413 Agora/Proposal/validator/unlocking/illegal/with 1 stakes/retract votes while not voting/(negative test)/stake 287148897 285968643 782342 778822 8111 8088
414 Agora/Proposal/validator/unlocking/illegal/with 1 stakes/retract votes while not voting/(negative test)/stake 287714386 286534132 783544 780024 8111 8088
415 Agora/Proposal/validator/unlocking/illegal/with 1 stakes/remove creator too early/(negative test)/proposal 180389128 179302512 513073 510411 11468 11470
416 Agora/Proposal/validator/unlocking/illegal/with 1 stakes/remove creator too early/(negative test)/proposal 184593979 183507363 524334 521672 11468 11470
417 Agora/Proposal/validator/unlocking/illegal/with 1 stakes/remove creator too early/(negative test)/proposal 181520106 180433490 515477 512815 11468 11470
418 Agora/Proposal/validator/unlocking/illegal/with 1 stakes/unlock an irrelevant stake/stake 296230945 295050691 814266 810746 8133 8110
419 Agora/Proposal/validator/unlocking/illegal/with 1 stakes/creator: retract votes/stake 284930762 283750508 783569 780049 8115 8092
420 Agora/Proposal/validator/unlocking/illegal/with 1 stakes/change output stake value/proposal 211726371 210639755 599872 597210 11461 11463
421 Agora/Proposal/validator/unlocking/illegal/with 3 stakes/retract votes while not voting/(negative test)/stake 606418229 604195721 1572336 1565896 9456 9433
422 Agora/Proposal/validator/unlocking/illegal/with 3 stakes/retract votes while not voting/(negative test)/stake 607549207 605326699 1574740 1568300 9456 9433
423 Agora/Proposal/validator/unlocking/illegal/with 3 stakes/retract votes while not voting/(negative test)/stake 608114696 605892188 1575942 1569502 9456 9433
424 Agora/Proposal/validator/unlocking/illegal/with 3 stakes/remove creator too early/(negative test)/proposal 246314290 245227674 692617 689955 12811 12813
425 Agora/Proposal/validator/unlocking/illegal/with 3 stakes/remove creator too early/(negative test)/proposal 250519141 249432525 703878 701216 12811 12813
426 Agora/Proposal/validator/unlocking/illegal/with 3 stakes/remove creator too early/(negative test)/proposal 247445268 246358652 695021 692359 12811 12813
427 Agora/Proposal/validator/unlocking/illegal/with 3 stakes/unlock an irrelevant stake/stake 621191337 618968829 1649336 1642896 9512 9489
428 Agora/Proposal/validator/unlocking/illegal/with 3 stakes/creator: retract votes/stake 587290788 585068280 1557245 1550805 9470 9447
429 Agora/Proposal/validator/unlocking/illegal/with 3 stakes/change output stake value/proposal 321452619 320366003 905880 903218 12800 12802
430 Agora/Proposal/validator/unlocking/illegal/with 5 stakes/retract votes while not voting/(negative test)/stake 946465195 943200433 2396174 2386814 10802 10779
431 Agora/Proposal/validator/unlocking/illegal/with 5 stakes/retract votes while not voting/(negative test)/stake 947596173 944331411 2398578 2389218 10802 10779
432 Agora/Proposal/validator/unlocking/illegal/with 5 stakes/retract votes while not voting/(negative test)/stake 948161662 944896900 2399780 2390420 10802 10779
433 Agora/Proposal/validator/unlocking/illegal/with 5 stakes/remove creator too early/(negative test)/proposal 312239452 311152836 872161 869499 14155 14157
434 Agora/Proposal/validator/unlocking/illegal/with 5 stakes/remove creator too early/(negative test)/proposal 316444303 315357687 883422 880760 14155 14157
435 Agora/Proposal/validator/unlocking/illegal/with 5 stakes/remove creator too early/(negative test)/proposal 313370430 312283814 874565 871903 14155 14157
436 Agora/Proposal/validator/unlocking/illegal/with 5 stakes/unlock an irrelevant stake/stake 946151729 942886967 2484406 2475046 10892 10869
437 Agora/Proposal/validator/unlocking/illegal/with 5 stakes/creator: retract votes/stake 889650814 886386052 2330921 2321561 10826 10803
438 Agora/Proposal/validator/unlocking/illegal/with 5 stakes/change output stake value/proposal 431178867 430092251 1211888 1209226 14140 14142
439 Agora/Proposal/validator/unlocking/illegal/with 7 stakes/retract votes while not voting/(negative test)/stake 1306158817 1301851801 3251452 3239172 12147 12124
440 Agora/Proposal/validator/unlocking/illegal/with 7 stakes/retract votes while not voting/(negative test)/stake 1307289795 1302982779 3253856 3241576 12147 12124
441 Agora/Proposal/validator/unlocking/illegal/with 7 stakes/retract votes while not voting/(negative test)/stake 1307855284 1303548268 3255058 3242778 12147 12124
442 Agora/Proposal/validator/unlocking/illegal/with 7 stakes/remove creator too early/(negative test)/proposal 378164614 377077998 1051705 1049043 15498 15500
443 Agora/Proposal/validator/unlocking/illegal/with 7 stakes/remove creator too early/(negative test)/proposal 382369465 381282849 1062966 1060304 15498 15500
444 Agora/Proposal/validator/unlocking/illegal/with 7 stakes/remove creator too early/(negative test)/proposal 379295592 378208976 1054109 1051447 15498 15500
445 Agora/Proposal/validator/unlocking/illegal/with 7 stakes/unlock an irrelevant stake/stake 1271112121 1266805105 3319476 3307196 12271 12248
446 Agora/Proposal/validator/unlocking/illegal/with 7 stakes/creator: retract votes/stake 1192010840 1187703824 3104597 3092317 12181 12158
447 Agora/Proposal/validator/unlocking/illegal/with 7 stakes/change output stake value/proposal 540905115 539818499 1517896 1515234 15479 15481
448 Agora/Proposal/validator/unlocking/illegal/with 9 stakes/retract votes while not voting/(negative test)/stake 1685499095 1680149825 4138170 4122970 13492 13469
449 Agora/Proposal/validator/unlocking/illegal/with 9 stakes/retract votes while not voting/(negative test)/stake 1686630073 1681280803 4140574 4125374 13492 13469
450 Agora/Proposal/validator/unlocking/illegal/with 9 stakes/retract votes while not voting/(negative test)/stake 1687195562 1681846292 4141776 4126576 13492 13469
451 Agora/Proposal/validator/unlocking/illegal/with 9 stakes/remove creator too early/(negative test)/proposal 444089776 443003160 1231249 1228587 16841 16843
452 Agora/Proposal/validator/unlocking/illegal/with 9 stakes/remove creator too early/(negative test)/proposal 448294627 447208011 1242510 1239848 16841 16843
453 Agora/Proposal/validator/unlocking/illegal/with 9 stakes/remove creator too early/(negative test)/proposal 445220754 444134138 1233653 1230991 16841 16843
454 Agora/Proposal/validator/unlocking/illegal/with 9 stakes/unlock an irrelevant stake/stake 1596072513 1590723243 4154546 4139346 13651 13628
455 Agora/Proposal/validator/unlocking/illegal/with 9 stakes/creator: retract votes/stake 1494370866 1489021596 3878273 3863073 13536 13513
456 Agora/Proposal/validator/unlocking/illegal/with 9 stakes/change output stake value/proposal 650631363 649544747 1823904 1821242 16818 16820
457 Agora/Proposal/validator/unlocking/illegal/with 11 stakes/retract votes while not voting/(negative test)/stake 2084486029 2078094505 5056328 5038208 14838 14815
458 Agora/Proposal/validator/unlocking/illegal/with 11 stakes/retract votes while not voting/(negative test)/stake 2085617007 2079225483 5058732 5040612 14838 14815
459 Agora/Proposal/validator/unlocking/illegal/with 11 stakes/retract votes while not voting/(negative test)/stake 2086182496 2079790972 5059934 5041814 14838 14815
460 Agora/Proposal/validator/unlocking/illegal/with 11 stakes/remove creator too early/(negative test)/proposal 510014938 508928322 1410793 1408131 18185 18187
461 Agora/Proposal/validator/unlocking/illegal/with 11 stakes/remove creator too early/(negative test)/proposal 514219789 513133173 1422054 1419392 18185 18187
462 Agora/Proposal/validator/unlocking/illegal/with 11 stakes/remove creator too early/(negative test)/proposal 511145916 510059300 1413197 1410535 18185 18187
463 Agora/Proposal/validator/unlocking/illegal/with 11 stakes/unlock an irrelevant stake/stake 1921032905 1914641381 4989616 4971496 15031 15008
464 Agora/Proposal/validator/unlocking/illegal/with 11 stakes/creator: retract votes/stake 1796730892 1790339368 4651949 4633829 14893 14870
465 Agora/Proposal/validator/unlocking/illegal/with 11 stakes/change output stake value/proposal 760357611 759270995 2129912 2127250 18158 18160
466 Agora/AuthorityToken/singleAuthorityTokenBurned/Correct simple 26456223 75851 755
467 Agora/AuthorityToken/singleAuthorityTokenBurned/Correct many inputs 51581175 146321 855
468 Agora/AuthorityToken/singleAuthorityTokenBurned/Correct even though scripts don't match 26456223 75851 754
469 Agora/Treasury/Validator/Positive/Allows for effect changes 42170246 119764 1460 1444
470 Agora/Treasury/Validator/Positive/Fails when GAT token name is not script address 42170246 119764 1496 1480
471 Agora/AuthorityToken/singleAuthorityTokenBurned/Correct simple 26456223 75851 755
472 Agora/AuthorityToken/singleAuthorityTokenBurned/Correct many inputs 51581175 146321 855
473 Agora/AuthorityToken/singleAuthorityTokenBurned/Correct even though scripts don't match 26456223 75851 754
474 Agora/Governor/policy/totally legal 63319800 170930 2766
475 Agora/Governor/validator/mutate/legal 129016947 129223947 358159 359059 11167 11308

7988
flake.lock generated

File diff suppressed because it is too large Load diff

View file

@ -33,8 +33,8 @@
"github:liqwid-labs/plutarch-quickcheck?ref=staging";
plutarch-context-builder.url =
"github:Liqwid-Labs/plutarch-context-builder?ref=main";
plutarch-script-export.url =
"github:Liqwid-Labs/plutarch-script-export?ref=main";
liqwid-script-export.url =
"github:Liqwid-Labs/liqwid-script-export?ref=main";
liqwid-nix.url = "github:Liqwid-Labs/liqwid-nix?ref=main";
};
@ -85,7 +85,9 @@
"${inputs.plutarch-quickcheck}"
"${inputs.plutarch-context-builder}"
"${inputs.liqwid-plutarch-extra}"
"${inputs.plutarch-script-export}"
"${inputs.liqwid-script-export}"
"${inputs.liqwid-script-export.inputs.ply}/ply-core"
"${inputs.liqwid-script-export.inputs.ply}/ply-plutarch"
])
(liqwid-nix.enableFormatCheck [
"-XQuasiQuotes"