Merge pull request #160 from Liqwid-Labs/emiflake/cleanup

Clean up imports and haddock comments
This commit is contained in:
emiflake 2022-08-18 19:35:42 +02:00 committed by GitHub
commit 029b6d848e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
16 changed files with 90 additions and 83 deletions

View file

@ -6,6 +6,17 @@ This format is based on [Keep A Changelog](https://keepachangelog.com/en/1.0.0).
### Modified
- Use `Credential` instead of `PubKeyHash`
Included by [#158](https://github.com/Liqwid-Labs/agora/pull/158).
NOTE: This changes the representation of the following types:
- `PStakeDatum`
- `PStakeRedeemer`
- `PProposalDatum`
- `PProposalRedeemer`
- Use plutus v2 types.
Included by [#156](https://github.com/Liqwid-Labs/agora/pull/156).

View file

@ -4,7 +4,7 @@ import Bench (specificationTreeToBenchmarks)
import Data.Csv (EncodeOptions (encUseCrLf), defaultEncodeOptions, encodeDefaultOrderedByNameWith)
import Data.Text.Lazy.Encoding (decodeUtf8)
import Data.Text.Lazy.IO as I (putStr, writeFile)
import Options (Options (..), parseOptions)
import Options (Options (output), parseOptions)
import Prettyprinter (defaultLayoutOptions, layoutPretty, pretty)
import Prettyprinter.Render.Text (renderLazy)
import Spec.AuthorityToken qualified as AuthorityToken

View file

@ -9,10 +9,10 @@
module Main (main) where
import Agora.Bootstrap qualified as Bootstrap
import Agora.Governor (Governor (..))
import Agora.Governor (Governor (Governor))
import Agora.SafeMoney (GTTag)
import Agora.Scripts qualified as Scripts
import Agora.Utils (CompiledMintingPolicy (..), CompiledValidator (..))
import Agora.Utils (CompiledMintingPolicy (getCompiledMintingPolicy), CompiledValidator (getCompiledValidator))
import Data.Aeson qualified as Aeson
import Data.Default (def)
import Data.Function ((&))
@ -20,7 +20,7 @@ import Data.Tagged (Tagged)
import Data.Text (Text)
import Development.GitRev (gitBranch, gitHash)
import GHC.Generics qualified as GHC
import Plutarch (Config (..), TracingMode (DoTracing))
import Plutarch (Config (Config, tracingMode), TracingMode (DoTracing))
import PlutusLedgerApi.V1 (
MintingPolicy (getMintingPolicy),
TxOutRef,
@ -29,7 +29,7 @@ import PlutusLedgerApi.V1 (
import PlutusLedgerApi.V1.Value (AssetClass)
import ScriptExport.API (runServer)
import ScriptExport.Options (parseOptions)
import ScriptExport.ScriptInfo (ScriptInfo (..), mkPolicyInfo, mkScriptInfo, mkValidatorInfo)
import ScriptExport.ScriptInfo (ScriptInfo, mkPolicyInfo, mkScriptInfo, mkValidatorInfo)
import ScriptExport.Types (Builders, insertBuilder)
main :: IO ()

View file

@ -6,8 +6,8 @@
-}
module Agora.Bootstrap (agoraScripts) where
import Agora.AuthorityToken (AuthorityToken (..), authorityTokenPolicy)
import Agora.Governor (Governor (..))
import Agora.AuthorityToken (AuthorityToken (AuthorityToken), authorityTokenPolicy)
import Agora.Governor (Governor, gstOutRef, gtClassRef, maximumCosigners)
import Agora.Governor.Scripts (governorPolicy, governorValidator)
import Agora.Proposal.Scripts (proposalPolicy, proposalValidator)
import Agora.Scripts (AgoraScripts (AgoraScripts))
@ -15,8 +15,8 @@ import Agora.Scripts qualified as Scripts
import Agora.Stake.Scripts (stakePolicy, stakeValidator)
import Agora.Treasury (treasuryValidator)
import Agora.Utils (
CompiledMintingPolicy (..),
CompiledValidator (..),
CompiledMintingPolicy (CompiledMintingPolicy),
CompiledValidator (CompiledValidator),
)
import Plutarch (Config)
import Plutarch.Api.V2 (
@ -24,7 +24,7 @@ import Plutarch.Api.V2 (
mkMintingPolicy,
mkValidator,
)
import PlutusLedgerApi.V1.Value (AssetClass (..))
import PlutusLedgerApi.V1.Value (AssetClass (AssetClass))
{- | Parameterize and precompiled core scripts, given the
'Agora.Governor.Governor' parameters and plutarch configurations.

View file

@ -5,30 +5,21 @@ Description: Functions for dealing with generalized credentials.
Functions for dealing with generalized credentials.
-}
module Agora.Credential (PAuthorizationCredential, AuthorizationCredential, pauthorizedBy, authorizationContext) where
module Agora.Credential (
pauthorizedBy,
authorizationContext,
) where
import GHC.Records (HasField)
import Plutarch.Api.V1 (PCredential (..), PPubKeyHash)
import Plutarch.Api.V2 (PTxInInfo (..))
import Plutarch.Api.V1 (PCredential (PPubKeyCredential, PScriptCredential), PPubKeyHash)
import Plutarch.Api.V2 (PTxInInfo)
import Plutarch.Extra.ScriptContext (ptxSignedBy)
import Plutarch.Extra.TermCont (pmatchC)
import PlutusLedgerApi.V2 (Credential)
{- | This type represents a general purpose authority which can be used
to check for approval.
The most basic case is simply a PubKeyCredential.
@since 1.0.0
-}
type AuthorizationCredential =
Credential
type PAuthorizationCredential =
PCredential
{- | Context required in order to check 'AuthorizationCredential'.
Construct using 'authorizationContext'.
@since 1.0.0
-}
data PAuthorizationContext (s :: S) = PAuthorizationContext
@ -55,7 +46,7 @@ instance DerivePlutusType PAuthorizationContext where
@since 1.0.0
-}
authorizationContext ::
forall {r} {s :: S}.
forall (s :: S) r.
( HasField "inputs" r (Term s (PBuiltinList PTxInInfo))
, HasField "signatories" r (Term s (PBuiltinList (PAsData PPubKeyHash)))
) =>
@ -68,7 +59,7 @@ authorizationContext f =
@since 1.0.0
-}
pauthorizedBy :: forall (s :: S). Term s (PAuthorizationContext :--> PAuthorizationCredential :--> PBool)
pauthorizedBy :: forall (s :: S). Term s (PAuthorizationContext :--> PCredential :--> PBool)
pauthorizedBy = phoistAcyclic $
plam $ \ctx credential -> unTermCont $ do
ctxF <- pmatchC ctx

View file

@ -32,7 +32,7 @@ import Plutarch.Api.V2 (
PValidator,
)
import Plutarch.DataRepr (
DerivePConstantViaData (..),
DerivePConstantViaData (DerivePConstantViaData),
PDataFields,
)
import Plutarch.Extra.Maybe (
@ -43,7 +43,7 @@ import Plutarch.Extra.TermCont (pguardC, pletFieldsC)
import Plutarch.Extra.Value (pvalueOf)
import Plutarch.Lift (PConstantDecl, PLifted, PUnsafeLiftDecl)
import PlutusLedgerApi.V1 (TxOutRef)
import PlutusLedgerApi.V1.Value (AssetClass (..))
import PlutusLedgerApi.V1.Value (AssetClass (AssetClass))
import PlutusTx qualified
--------------------------------------------------------------------------------

View file

@ -8,15 +8,15 @@ Description: An Effect that withdraws treasury deposit
An Effect that withdraws treasury deposit
-}
module Agora.Effect.TreasuryWithdrawal (
TreasuryWithdrawalDatum (..),
PTreasuryWithdrawalDatum (..),
TreasuryWithdrawalDatum (TreasuryWithdrawalDatum),
PTreasuryWithdrawalDatum (PTreasuryWithdrawalDatum),
treasuryWithdrawalValidator,
) where
import Agora.Effect (makeEffect)
import Agora.Plutarch.Orphans ()
import Plutarch.Api.V1 (
PCredential (..),
PCredential,
PValue,
ptuple,
)
@ -28,12 +28,12 @@ import Plutarch.Api.V2 (
PValidator,
)
import Plutarch.DataRepr (
DerivePConstantViaData (..),
DerivePConstantViaData (DerivePConstantViaData),
PDataFields,
)
import Plutarch.Extra.ScriptContext (pfindTxInByTxOutRef, pisPubKey)
import Plutarch.Extra.TermCont (pguardC, pletC, pletFieldsC, pmatchC)
import Plutarch.Lift (PConstantDecl, PUnsafeLiftDecl (..))
import Plutarch.Lift (PConstantDecl, PUnsafeLiftDecl (PLifted))
import PlutusLedgerApi.V1.Credential (Credential)
import PlutusLedgerApi.V1.Value (CurrencySymbol, Value)
import PlutusTx qualified

View file

@ -24,8 +24,8 @@ module Agora.Governor (
) where
import Agora.Proposal (
PProposalId (..),
PProposalThresholds (..),
PProposalId (PProposalId),
PProposalThresholds,
ProposalId (ProposalId),
ProposalThresholds,
pisProposalThresholdsValid,
@ -39,20 +39,20 @@ import Agora.Proposal.Time (
pisProposalTimingConfigValid,
)
import Agora.SafeMoney (GTTag)
import Data.Tagged (Tagged (..))
import Data.Tagged (Tagged)
import Plutarch.DataRepr (
DerivePConstantViaData (..),
DerivePConstantViaData (DerivePConstantViaData),
PDataFields,
)
import Plutarch.Extra.IsData (
DerivePConstantViaEnum (..),
EnumIsData (..),
DerivePConstantViaEnum (DerivePConstantEnum),
EnumIsData (EnumIsData),
PlutusTypeEnumData,
)
import Plutarch.Extra.TermCont (pletFieldsC)
import Plutarch.Lift (PConstantDecl, PUnsafeLiftDecl (..))
import Plutarch.Lift (PConstantDecl, PUnsafeLiftDecl (PLifted))
import PlutusLedgerApi.V1 (TxOutRef)
import PlutusLedgerApi.V1.Value (AssetClass (..))
import PlutusLedgerApi.V1.Value (AssetClass)
import PlutusTx qualified
--------------------------------------------------------------------------------

View file

@ -42,7 +42,6 @@ module Agora.Proposal (
pisProposalThresholdsValid,
) where
import Agora.Credential (AuthorizationCredential, PAuthorizationCredential)
import Agora.Plutarch.Orphans ()
import Agora.Proposal.Time (
PProposalStartingTime,
@ -53,7 +52,7 @@ import Agora.Proposal.Time (
import Agora.SafeMoney (GTTag)
import Data.Tagged (Tagged)
import Generics.SOP qualified as SOP
import Plutarch.Api.V1 (PMap, PValidatorHash)
import Plutarch.Api.V1 (PCredential, PMap, PValidatorHash)
import Plutarch.Api.V1.AssocMap qualified as PAssocMap
import Plutarch.Api.V2 (
KeyGuarantees (Unsorted),
@ -62,14 +61,14 @@ import Plutarch.Api.V2 (
PScriptHash,
PTuple,
)
import Plutarch.DataRepr (DerivePConstantViaData (..), PDataFields)
import Plutarch.DataRepr (DerivePConstantViaData (DerivePConstantViaData), PDataFields)
import Plutarch.Extra.Comonad (pextract)
import Plutarch.Extra.Field (pletAllC)
import Plutarch.Extra.Function (pbuiltinUncurry)
import Plutarch.Extra.IsData (
DerivePConstantViaDataList (..),
DerivePConstantViaEnum (..),
EnumIsData (..),
DerivePConstantViaDataList (DerivePConstantViaDataList),
DerivePConstantViaEnum (DerivePConstantEnum),
EnumIsData (EnumIsData),
PlutusTypeEnumData,
ProductIsData (ProductIsData),
)
@ -79,12 +78,12 @@ import Plutarch.Extra.Map.Unsorted qualified as PUM
import Plutarch.Extra.Maybe (pfromJust)
import Plutarch.Extra.TermCont (pguardC, pletC, pmatchC)
import Plutarch.Lift (
DerivePConstantViaNewtype (..),
DerivePConstantViaNewtype (DerivePConstantViaNewtype),
PConstantDecl,
PUnsafeLiftDecl (..),
PUnsafeLiftDecl (type PLifted),
)
import Plutarch.Orphans ()
import Plutarch.SafeMoney (PDiscrete (..))
import Plutarch.SafeMoney (PDiscrete (PDiscrete))
import PlutusLedgerApi.V2 (Credential, DatumHash, ScriptHash, ValidatorHash)
import PlutusTx qualified
import PlutusTx.AssocMap qualified as AssocMap
@ -347,7 +346,7 @@ data ProposalRedeemer
-- provided enough GT is shared among them.
--
-- This list should be sorted in ascending order.
Cosign [AuthorizationCredential]
Cosign [Credential]
| -- | Allow unlocking one or more stakes with votes towards particular 'ResultTag'.
Unlock
| -- | Advance the proposal, performing the required checks for whether that is legal.
@ -596,6 +595,11 @@ deriving via
instance
(PConstantDecl ProposalVotes)
{- | The effect script hashes and their associated datum hash and authority check script hash
belonging to a particular effect group or result.
@since 1.0.0
-}
type PProposalEffectGroup =
PMap
'Unsorted
@ -617,7 +621,7 @@ newtype PProposalDatum (s :: S) = PProposalDatum
'[ "proposalId" ':= PProposalId
, "effects" ':= PMap 'Unsorted PResultTag PProposalEffectGroup
, "status" ':= PProposalStatus
, "cosigners" ':= PBuiltinList (PAsData PAuthorizationCredential)
, "cosigners" ':= PBuiltinList (PAsData PCredential)
, "thresholds" ':= PProposalThresholds
, "votes" ':= PProposalVotes
, "timingConfig" ':= PProposalTimingConfig
@ -656,7 +660,7 @@ deriving via (DerivePConstantViaDataList ProposalDatum PProposalDatum) instance
-}
data PProposalRedeemer (s :: S)
= PVote (Term s (PDataRecord '["resultTag" ':= PResultTag]))
| PCosign (Term s (PDataRecord '["newCosigners" ':= PBuiltinList (PAsData PAuthorizationCredential)]))
| PCosign (Term s (PDataRecord '["newCosigners" ':= PBuiltinList (PAsData PCredential)]))
| PUnlock (Term s (PDataRecord '[]))
| PAdvanceProposal (Term s (PDataRecord '[]))
deriving stock

View file

@ -10,12 +10,12 @@ module Agora.Proposal.Scripts (
proposalPolicy,
) where
import Agora.Credential (PAuthorizationCredential, authorizationContext, pauthorizedBy)
import Agora.Credential (authorizationContext, pauthorizedBy)
import Agora.Proposal (
PProposalDatum (PProposalDatum),
PProposalRedeemer (..),
PProposalRedeemer (PAdvanceProposal, PCosign, PUnlock, PVote),
PProposalVotes (PProposalVotes),
ProposalStatus (..),
ProposalStatus (Draft, Finished, Locked, VotingReady),
pretractVotes,
pwinner',
)
@ -28,8 +28,8 @@ import Agora.Proposal.Time (
)
import Agora.Scripts (AgoraScripts, governorSTSymbol, proposalSTSymbol, stakeSTAssetClass)
import Agora.Stake (
PProposalLock (..),
PStakeDatum (..),
PProposalLock (PVoted),
PStakeDatum (PStakeDatum),
pextractVoteOption,
pgetStakeRole,
pisCreator,
@ -40,6 +40,7 @@ import Agora.Stake (
import Agora.Utils (
pltAsData,
)
import Plutarch.Api.V1 (PCredential)
import Plutarch.Api.V2 (
PDatumHash,
PMintingPolicy,
@ -72,7 +73,7 @@ import Plutarch.Extra.TermCont (
ptryFromC,
)
import Plutarch.Extra.Value (psymbolValueOf)
import Plutarch.SafeMoney (PDiscrete (..))
import Plutarch.SafeMoney (PDiscrete (PDiscrete))
import Plutarch.Unsafe (punsafeCoerce)
import PlutusLedgerApi.V1.Value (AssetClass (AssetClass))
@ -299,7 +300,7 @@ proposalValidator as maximumCosigners =
Term
_
( ( PInteger
:--> PBuiltinList (PAsData PAuthorizationCredential)
:--> PBuiltinList (PAsData PCredential)
:--> PUnit
)
:--> PUnit

View file

@ -49,9 +49,9 @@ import Plutarch.Extra.Field (pletAll, pletAllC)
import Plutarch.Extra.Maybe (pjust, pnothing)
import Plutarch.Extra.TermCont (pmatchC)
import Plutarch.Lift (
DerivePConstantViaNewtype (..),
DerivePConstantViaNewtype (DerivePConstantViaNewtype),
PConstantDecl,
PUnsafeLiftDecl (..),
PUnsafeLiftDecl (PLifted),
)
import PlutusLedgerApi.V1 (POSIXTime)
import PlutusTx qualified

View file

@ -24,12 +24,12 @@ import Agora.Proposal (ProposalDatum, ProposalRedeemer)
import Agora.Stake (StakeDatum, StakeRedeemer)
import Agora.Treasury (TreasuryRedeemer)
import Agora.Utils (
CompiledMintingPolicy (..),
CompiledValidator (..),
CompiledMintingPolicy (getCompiledMintingPolicy),
CompiledValidator (getCompiledValidator),
validatorHashToTokenName,
)
import Plutarch.Api.V2 (mintingPolicySymbol, validatorHash)
import PlutusLedgerApi.V1.Value (AssetClass (..))
import PlutusLedgerApi.V1.Value (AssetClass (AssetClass))
import PlutusLedgerApi.V2 (CurrencySymbol, ValidatorHash)
{- | Precompiled core scripts.

View file

@ -30,29 +30,29 @@ module Agora.Stake (
pisIrrelevant,
) where
import Agora.Proposal (PProposalId, PResultTag, ProposalId (..), ResultTag (..))
import Agora.Proposal (PProposalId, PResultTag, ProposalId, ResultTag)
import Agora.SafeMoney (GTTag)
import Data.Tagged (Tagged (..))
import Data.Tagged (Tagged)
import Generics.SOP qualified as SOP
import Plutarch.Api.V1 (PCredential)
import Plutarch.Api.V2 (
PMaybeData,
)
import Plutarch.DataRepr (
DerivePConstantViaData (..),
DerivePConstantViaData (DerivePConstantViaData),
)
import Plutarch.Extra.Field (pletAll)
import Plutarch.Extra.IsData (
DerivePConstantViaDataList (..),
DerivePConstantViaDataList (DerivePConstantViaDataList),
ProductIsData (ProductIsData),
)
import Plutarch.Extra.List (pnotNull)
import Plutarch.Extra.Sum (PSum (..))
import Plutarch.Extra.Sum (PSum (PSum))
import Plutarch.Extra.Traversable (pfoldMap)
import Plutarch.Lift (PConstantDecl, PUnsafeLiftDecl (..))
import Plutarch.Lift (PConstantDecl, PUnsafeLiftDecl (PLifted))
import Plutarch.Orphans ()
import Plutarch.SafeMoney (PDiscrete)
import PlutusLedgerApi.V1 (Credential)
import PlutusLedgerApi.V2 (Credential)
import PlutusTx qualified
import Prelude hiding (Num (..))

View file

@ -17,7 +17,7 @@ import Agora.Stake (
pstakeLocked,
)
import Data.Function (on)
import Data.Tagged (Tagged (..), untag)
import Data.Tagged (Tagged, untag)
import Plutarch.Api.V1 (
PCredential (PPubKeyCredential, PScriptCredential),
PTokenName,

View file

@ -20,12 +20,12 @@ import Plutarch.Api.V1.Value (PValue)
import Plutarch.Api.V2 (PScriptPurpose (PMinting), PValidator)
import Plutarch.Builtin (pforgetData)
import Plutarch.Extra.IsData (
DerivePConstantViaEnum (..),
EnumIsData (..),
DerivePConstantViaEnum (DerivePConstantEnum),
EnumIsData (EnumIsData),
PlutusTypeEnumData,
)
import Plutarch.Extra.TermCont (pguardC, pletC, pletFieldsC, pmatchC)
import Plutarch.Lift (PConstantDecl (..), PLifted (..), PUnsafeLiftDecl)
import Plutarch.Lift (PConstantDecl, PLifted, PUnsafeLiftDecl)
import Plutarch.TryFrom ()
import PlutusLedgerApi.V1.Value (CurrencySymbol)
import PlutusTx qualified

View file

@ -19,12 +19,12 @@ module Agora.Utils (
) where
import PlutusLedgerApi.V2 (
Address (..),
Credential (..),
Address (Address),
Credential (ScriptCredential),
MintingPolicy,
TokenName (..),
TokenName (TokenName),
Validator,
ValidatorHash (..),
ValidatorHash (ValidatorHash),
)
{- Functions which should (probably) not be upstreamed