fix docs for Agora.Credential module
This commit is contained in:
parent
44f3ddf00d
commit
dc0289e7c4
1 changed files with 23 additions and 3 deletions
|
|
@ -14,30 +14,46 @@ 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'.
|
||||
|
||||
@since 1.0.0
|
||||
-}
|
||||
data PAuthorizationContext (s :: S) = PAuthorizationContext
|
||||
{ signatories :: Term s (PBuiltinList (PAsData PPubKeyHash))
|
||||
, inputs :: Term s (PBuiltinList PTxInInfo)
|
||||
}
|
||||
deriving stock
|
||||
( -- | @since 0.2.0
|
||||
( -- | @since 1.0.0
|
||||
Generic
|
||||
)
|
||||
deriving anyclass
|
||||
( -- | @since 0.2.0
|
||||
( -- | @since 1.0.0
|
||||
PlutusType
|
||||
, -- | @since 0.2.0
|
||||
, -- | @since 1.0.0
|
||||
PEq
|
||||
)
|
||||
|
||||
-- | @since 1.0.0
|
||||
instance DerivePlutusType PAuthorizationContext where
|
||||
type DPTStrat _ = PlutusTypeScott
|
||||
|
||||
{- | Build up 'PAuthorizationContext' from fields.
|
||||
|
||||
@since 1.0.0
|
||||
-}
|
||||
authorizationContext ::
|
||||
forall {r} {s :: S}.
|
||||
( HasField "inputs" r (Term s (PBuiltinList PTxInInfo))
|
||||
|
|
@ -48,6 +64,10 @@ authorizationContext ::
|
|||
authorizationContext f =
|
||||
pcon (PAuthorizationContext f.signatories f.inputs)
|
||||
|
||||
{- | Check for authorization by credential.
|
||||
|
||||
@since 1.0.0
|
||||
-}
|
||||
pauthorizedBy :: forall (s :: S). Term s (PAuthorizationContext :--> PAuthorizationCredential :--> PBool)
|
||||
pauthorizedBy = phoistAcyclic $
|
||||
plam $ \ctx credential -> unTermCont $ do
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue