better doc string for authorityTokensValidIn

This commit is contained in:
Hongrui Fang 2022-10-24 18:44:26 +08:00
parent 9aa8557183
commit cbab587604
No known key found for this signature in database
GPG key ID: F10AB2CCE24113DD

View file

@ -39,7 +39,14 @@ import Plutarch.Extra.Value (psymbolValueOf)
--------------------------------------------------------------------------------
{- | Check that all GATs are valid in a particular TxOut.
How this is checked: an AuthorityToken should never leave
WARNING: As of version 1.0.0, this has been weakened in order to be
compatible with RATs. The token name is no loger checked, meaning that a
GAT can escape from its effect script, if the effect script is vulnerable.
In order to prevent this, all effect scripts should be implemented carefully,
and ideally use the trusted effect base. See also 'Agora.Effect'.
(before 1.0.0) How this is checked: an AuthorityToken should never leave
the Effect it was initially sent to, so we simply check that
the script address the token resides in matches the TokenName.
Since the TokenName was tagged upon mint with the Effect script
@ -47,9 +54,6 @@ import Plutarch.Extra.Value (psymbolValueOf)
In other words, check that all assets of a particular currency symbol
are tagged with a TokenName that matches where they live.
As of version 1.0.0, this has been weakened in order to be compatible
with RATs.
@since 1.0.0
-}
authorityTokensValidIn :: forall (s :: S). Term s (PCurrencySymbol :--> PTxOut :--> PBool)