42 lines
1.7 KiB
Haskell
42 lines
1.7 KiB
Haskell
module Main (main) where
|
|
|
|
import Agora.AuthorityToken (authorityTokenPolicy)
|
|
import Agora.Effect.TreasuryWithdrawal (treasuryWithdrawalValidator)
|
|
import Agora.Governor (Governor (..))
|
|
import Agora.Governor.Scripts (governorPolicy, governorValidator)
|
|
import Agora.Proposal.Scripts (proposalPolicy, proposalValidator)
|
|
import Agora.Stake.Scripts (stakePolicy, stakeValidator)
|
|
import Agora.Treasury (treasuryValidator)
|
|
import Bench
|
|
import Data.Foldable (for_)
|
|
import Plutus.V1.Ledger.Api (CurrencySymbol)
|
|
import Sample.Shared
|
|
import Prelude
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
main :: IO ()
|
|
main = do
|
|
let benchmarks =
|
|
mconcat
|
|
[ -- GATs
|
|
benchmarkSize "authorityTokenPolicy" $ compile $ authorityTokenPolicy authorityToken
|
|
, -- Governor
|
|
benchmarkSize "governorValidator" $ compile $ governorValidator governor
|
|
, benchmarkSize "governorPolicy" $ compile $ governorPolicy governor
|
|
, -- Stake
|
|
benchmarkSize "stakeValidator" $ compile $ stakeValidator stake
|
|
, benchmarkSize "stakePolicy" $ compile $ stakePolicy governor.gtClassRef
|
|
, -- Proposal
|
|
benchmarkSize "proposalValidator" $ compile $ proposalValidator proposal
|
|
, benchmarkSize "proposalPolicy" $ compile $ proposalPolicy govAssetClass
|
|
, -- Treasury
|
|
benchmarkSize "treasuryValidator" $ compile $ treasuryValidator gatCS
|
|
, -- Effect validators
|
|
benchmarkSize "treasuryWithdrawalValidator" $ compile $ treasuryWithdrawalValidator gatCS
|
|
]
|
|
|
|
for_ benchmarks print
|
|
|
|
gatCS :: CurrencySymbol
|
|
gatCS = "73475cb40a568e8da8a045ced110137e159f890ac4da883b6b17dc651b3a8049" -- arbitrary CS
|