Merge pull request #72 from Liqwid-Labs/connor/validatorHashTokenName
`ValidatorHashToTokenName`
This commit is contained in:
commit
1ce89d3ac6
2 changed files with 14 additions and 5 deletions
|
|
@ -22,8 +22,8 @@ import Agora.Utils (
|
||||||
psymbolValueOf,
|
psymbolValueOf,
|
||||||
ptokenSpent,
|
ptokenSpent,
|
||||||
ptxSignedBy,
|
ptxSignedBy,
|
||||||
|
pvalidatorHashToTokenName,
|
||||||
pvalueSpent,
|
pvalueSpent,
|
||||||
validatorHashToTokenName,
|
|
||||||
)
|
)
|
||||||
import Plutarch.Api.V1 (
|
import Plutarch.Api.V1 (
|
||||||
PCredential (PPubKeyCredential, PScriptCredential),
|
PCredential (PPubKeyCredential, PScriptCredential),
|
||||||
|
|
@ -117,7 +117,7 @@ stakePolicy gtClassRef =
|
||||||
PScriptCredential validatorHash -> P.do
|
PScriptCredential validatorHash -> P.do
|
||||||
stakeDatum <- pletFields @'["owner", "stakedAmount"] stakeDatum'
|
stakeDatum <- pletFields @'["owner", "stakedAmount"] stakeDatum'
|
||||||
|
|
||||||
tn :: Term _ PTokenName <- plet (validatorHashToTokenName $ pfromData $ pfield @"_0" # validatorHash)
|
tn :: Term _ PTokenName <- plet (pvalidatorHashToTokenName $ pfromData $ pfield @"_0" # validatorHash)
|
||||||
|
|
||||||
let stValue =
|
let stValue =
|
||||||
psingletonValue
|
psingletonValue
|
||||||
|
|
|
||||||
|
|
@ -39,11 +39,17 @@ module Agora.Utils (
|
||||||
findOutputsToAddress,
|
findOutputsToAddress,
|
||||||
findTxOutDatum,
|
findTxOutDatum,
|
||||||
validatorHashToTokenName,
|
validatorHashToTokenName,
|
||||||
|
pvalidatorHashToTokenName,
|
||||||
getMintingPolicySymbol,
|
getMintingPolicySymbol,
|
||||||
) where
|
) where
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
import Plutus.V1.Ledger.Api (
|
||||||
|
CurrencySymbol,
|
||||||
|
TokenName (..),
|
||||||
|
ValidatorHash (..),
|
||||||
|
)
|
||||||
import Plutus.V1.Ledger.Value (AssetClass (..))
|
import Plutus.V1.Ledger.Value (AssetClass (..))
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
@ -76,7 +82,6 @@ import Plutarch.Builtin (ppairDataBuiltin)
|
||||||
import Plutarch.Map.Extra (pkeys)
|
import Plutarch.Map.Extra (pkeys)
|
||||||
import Plutarch.Monadic qualified as P
|
import Plutarch.Monadic qualified as P
|
||||||
import Plutarch.TryFrom (PTryFrom, ptryFrom)
|
import Plutarch.TryFrom (PTryFrom, ptryFrom)
|
||||||
import Plutus.V1.Ledger.Api (CurrencySymbol)
|
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
-- Validator-level utility functions
|
-- Validator-level utility functions
|
||||||
|
|
@ -474,8 +479,12 @@ findTxOutDatum = phoistAcyclic $
|
||||||
{- | Safely convert a 'PValidatorHash' into a 'PTokenName'. This can be useful for tagging
|
{- | Safely convert a 'PValidatorHash' into a 'PTokenName'. This can be useful for tagging
|
||||||
tokens for extra safety.
|
tokens for extra safety.
|
||||||
-}
|
-}
|
||||||
validatorHashToTokenName :: forall (s :: S). Term s PValidatorHash -> Term s PTokenName
|
validatorHashToTokenName :: ValidatorHash -> TokenName
|
||||||
validatorHashToTokenName vh = pcon (PTokenName (pto vh))
|
validatorHashToTokenName (ValidatorHash hash) = TokenName hash
|
||||||
|
|
||||||
|
-- | Plutarch level 'validatorHashToTokenName'.
|
||||||
|
pvalidatorHashToTokenName :: forall (s :: S). Term s PValidatorHash -> Term s PTokenName
|
||||||
|
pvalidatorHashToTokenName vh = pcon (PTokenName (pto vh))
|
||||||
|
|
||||||
-- | Get the CurrencySymbol of a PMintingPolicy.
|
-- | Get the CurrencySymbol of a PMintingPolicy.
|
||||||
getMintingPolicySymbol :: ClosedTerm PMintingPolicy -> CurrencySymbol
|
getMintingPolicySymbol :: ClosedTerm PMintingPolicy -> CurrencySymbol
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue