Bump LPE and update use sites.

This commit is contained in:
adamczykm 2022-09-24 16:22:14 +02:00
parent 45260a3ea5
commit 3142ace0ff
19 changed files with 104 additions and 149 deletions

View file

@ -103,6 +103,7 @@ common deps
, generics-sop , generics-sop
, liqwid-plutarch-extra , liqwid-plutarch-extra
, plutarch , plutarch
, plutarch-extra
, plutarch-numeric , plutarch-numeric
, plutarch-safe-money , plutarch-safe-money
, plutarch-script-export , plutarch-script-export

View file

@ -48,9 +48,6 @@ deriving via
instance instance
Aeson.ToJSON Plutus.TxId Aeson.ToJSON Plutus.TxId
deriving anyclass instance Aeson.FromJSON Plutus.TxOutRef
deriving anyclass instance Aeson.ToJSON Plutus.TxOutRef
instance (Coercible a Plutus.LedgerBytes) => Aeson.ToJSON (AsBase16Bytes a) where instance (Coercible a Plutus.LedgerBytes) => Aeson.ToJSON (AsBase16Bytes a) where
toJSON = toJSON =
Aeson.String Aeson.String

View file

@ -30,10 +30,10 @@ import Plutarch.Api.V2 (
PTxOut (PTxOut), PTxOut (PTxOut),
) )
import Plutarch.Extra.AssetClass (passetClass, passetClassValueOf) import Plutarch.Extra.AssetClass (passetClass, passetClassValueOf)
import Plutarch.Extra.List (plookup) import "liqwid-plutarch-extra" Plutarch.Extra.List (plookupAssoc)
import Plutarch.Extra.ScriptContext (pisTokenSpent) import Plutarch.Extra.ScriptContext (pisTokenSpent)
import Plutarch.Extra.Sum (PSum (PSum)) import Plutarch.Extra.Sum (PSum (PSum))
import Plutarch.Extra.TermCont (pguardC, pletC, pletFieldsC, pmatchC) import "liqwid-plutarch-extra" Plutarch.Extra.TermCont (pguardC, pletC, pletFieldsC, pmatchC)
import Plutarch.Extra.Traversable (pfoldMap) import Plutarch.Extra.Traversable (pfoldMap)
import Plutarch.Extra.Value (psymbolValueOf) import Plutarch.Extra.Value (psymbolValueOf)
import PlutusLedgerApi.V1.Value (AssetClass (AssetClass)) import PlutusLedgerApi.V1.Value (AssetClass (AssetClass))
@ -83,7 +83,7 @@ authorityTokensValidIn = phoistAcyclic $
PValue value' <- pmatchC txOut.value PValue value' <- pmatchC txOut.value
PMap value <- pmatchC value' PMap value <- pmatchC value'
pure $ pure $
pmatch (plookup # pdata authorityTokenSym # value) $ \case pmatch (plookupAssoc # pfstBuiltin # psndBuiltin # pdata authorityTokenSym # value) $ \case
PJust (pfromData -> _tokenMap') -> PJust (pfromData -> _tokenMap') ->
pmatch (pfield @"credential" # address) $ \case pmatch (pfield @"credential" # address) $ \case
PPubKeyCredential _ -> PPubKeyCredential _ ->

View file

@ -14,7 +14,7 @@ import GHC.Records (HasField)
import Plutarch.Api.V1 (PCredential (PPubKeyCredential, PScriptCredential), PPubKeyHash) import Plutarch.Api.V1 (PCredential (PPubKeyCredential, PScriptCredential), PPubKeyHash)
import Plutarch.Api.V2 (PTxInInfo) import Plutarch.Api.V2 (PTxInInfo)
import Plutarch.Extra.ScriptContext (ptxSignedBy) import Plutarch.Extra.ScriptContext (ptxSignedBy)
import Plutarch.Extra.TermCont (pmatchC) import "liqwid-plutarch-extra" Plutarch.Extra.TermCont (pmatchC)
{- | Context required in order to check 'AuthorizationCredential'. {- | Context required in order to check 'AuthorizationCredential'.

View file

@ -17,7 +17,7 @@ import Plutarch.Api.V2 (
PTxOutRef, PTxOutRef,
PValidator, PValidator,
) )
import Plutarch.Extra.TermCont (pguardC, pletC, pletFieldsC, pmatchC, ptryFromC) import "liqwid-plutarch-extra" Plutarch.Extra.TermCont (pguardC, pletC, pletFieldsC, pmatchC, ptryFromC)
import Plutarch.TryFrom () import Plutarch.TryFrom ()
import PlutusLedgerApi.V1.Value (CurrencySymbol) import PlutusLedgerApi.V1.Value (CurrencySymbol)

View file

@ -39,7 +39,7 @@ import Plutarch.Extra.Maybe (
passertPJust, passertPJust,
) )
import Plutarch.Extra.ScriptContext (pfromOutputDatum, pisScriptAddress) import Plutarch.Extra.ScriptContext (pfromOutputDatum, pisScriptAddress)
import Plutarch.Extra.TermCont (pguardC, pletFieldsC) import "liqwid-plutarch-extra" Plutarch.Extra.TermCont (pguardC, pletFieldsC)
import Plutarch.Extra.Value (pvalueOf) import Plutarch.Extra.Value (pvalueOf)
import Plutarch.Lift (PConstantDecl, PLifted, PUnsafeLiftDecl) import Plutarch.Lift (PConstantDecl, PLifted, PUnsafeLiftDecl)
import PlutusLedgerApi.V1 (TxOutRef) import PlutusLedgerApi.V1 (TxOutRef)

View file

@ -32,7 +32,7 @@ import Plutarch.DataRepr (
PDataFields, PDataFields,
) )
import Plutarch.Extra.ScriptContext (pfindTxInByTxOutRef, pisPubKey) import Plutarch.Extra.ScriptContext (pfindTxInByTxOutRef, pisPubKey)
import Plutarch.Extra.TermCont (pguardC, pletC, pletFieldsC, pmatchC) import "liqwid-plutarch-extra" Plutarch.Extra.TermCont (pguardC, pletC, pletFieldsC, pmatchC)
import Plutarch.Lift (PConstantDecl, PUnsafeLiftDecl (PLifted)) import Plutarch.Lift (PConstantDecl, PUnsafeLiftDecl (PLifted))
import PlutusLedgerApi.V1.Credential (Credential) import PlutusLedgerApi.V1.Credential (Credential)
import PlutusLedgerApi.V1.Value (CurrencySymbol, Value) import PlutusLedgerApi.V1.Value (CurrencySymbol, Value)

View file

@ -49,7 +49,7 @@ import Plutarch.Extra.IsData (
EnumIsData (EnumIsData), EnumIsData (EnumIsData),
PlutusTypeEnumData, PlutusTypeEnumData,
) )
import Plutarch.Extra.TermCont (pletFieldsC) import "liqwid-plutarch-extra" Plutarch.Extra.TermCont (pletFieldsC)
import Plutarch.Lift (PConstantDecl, PUnsafeLiftDecl (PLifted)) import Plutarch.Lift (PConstantDecl, PUnsafeLiftDecl (PLifted))
import PlutusLedgerApi.V1 (TxOutRef) import PlutusLedgerApi.V1 (TxOutRef)
import PlutusLedgerApi.V1.Value (AssetClass) import PlutusLedgerApi.V1.Value (AssetClass)

View file

@ -64,9 +64,10 @@ import Plutarch.Api.V2 (
) )
import Plutarch.Extra.AssetClass (passetClass, passetClassValueOf) import Plutarch.Extra.AssetClass (passetClass, passetClassValueOf)
import Plutarch.Extra.Field (pletAll, pletAllC) import Plutarch.Extra.Field (pletAll, pletAllC)
import Plutarch.Extra.List (pfirstJust, pmapMaybe, pmsort) import "liqwid-plutarch-extra" Plutarch.Extra.List (pfindJust, pmapMaybe)
import Plutarch.Extra.Map (pkeys, ptryLookup) import Plutarch.Extra.Map (pkeys, ptryLookup)
import Plutarch.Extra.Maybe (passertPJust, pjust, pmaybe, pmaybeData, pnothing) import Plutarch.Extra.Maybe (passertPJust, pjust, pmaybe, pmaybeData, pnothing)
import Plutarch.Extra.Ord (psort)
import Plutarch.Extra.Record (mkRecordConstr, (.&), (.=)) import Plutarch.Extra.Record (mkRecordConstr, (.&), (.=))
import Plutarch.Extra.ScriptContext ( import Plutarch.Extra.ScriptContext (
pfindTxInByTxOutRef, pfindTxInByTxOutRef,
@ -76,7 +77,7 @@ import Plutarch.Extra.ScriptContext (
pscriptHashFromAddress, pscriptHashFromAddress,
pvalueSpent, pvalueSpent,
) )
import Plutarch.Extra.TermCont ( import "liqwid-plutarch-extra" Plutarch.Extra.TermCont (
pguardC, pguardC,
pletC, pletC,
pletFieldsC, pletFieldsC,
@ -145,7 +146,7 @@ governorPolicy initialSpend =
let governorOutputDatum = let governorOutputDatum =
passertPJust # "Governor output should present" passertPJust # "Governor output should present"
#$ pfirstJust #$ pfindJust
# plam # plam
( flip (pletFields @'["value", "datum"]) $ \txOutF -> ( flip (pletFields @'["value", "datum"]) $ \txOutF ->
let isGovernorUTxO = let isGovernorUTxO =
@ -298,7 +299,7 @@ governorValidator as =
pletC $ pletC $
passertPJust passertPJust
# "Own output should present" # "Own output should present"
#$ pfirstJust #$ pfindJust
# plam # plam
( flip pletAll $ \outputF -> ( flip pletAll $ \outputF ->
let gstSymbol = pconstant $ governorSTSymbol as let gstSymbol = pconstant $ governorSTSymbol as
@ -412,7 +413,7 @@ governorValidator as =
let stakeInputDatum = let stakeInputDatum =
passertPJust # "Stake input should present" passertPJust # "Stake input should present"
#$ pfirstJust #$ pfindJust
# plam ((getStakeDatum #) . (pfield @"resolved" #)) # plam ((getStakeDatum #) . (pfield @"resolved" #))
# pfromData txInfoF.inputs # pfromData txInfoF.inputs
@ -435,7 +436,7 @@ governorValidator as =
let proposalOutputDatum = let proposalOutputDatum =
passertPJust # "Proposal output should present" passertPJust # "Proposal output should present"
#$ pfirstJust #$ pfindJust
# getProposalDatum # getProposalDatum
# pfromData txInfoF.outputs # pfromData txInfoF.outputs
@ -472,7 +473,7 @@ governorValidator as =
let stakeOutputDatum = let stakeOutputDatum =
passertPJust # "Output stake should be presented" passertPJust # "Output stake should be presented"
#$ pfirstJust #$ pfindJust
# getStakeDatum # getStakeDatum
# pfromData txInfoF.outputs # pfromData txInfoF.outputs
@ -507,7 +508,7 @@ governorValidator as =
let proposalInputDatum = let proposalInputDatum =
passertPJust # "Proposal input not found" passertPJust # "Proposal input not found"
#$ pfirstJust #$ pfindJust
# plam ((getProposalDatum #) . (pfield @"resolved" #)) # plam ((getProposalDatum #) . (pfield @"resolved" #))
# pfromData txInfoF.inputs # pfromData txInfoF.inputs
@ -584,7 +585,7 @@ governorValidator as =
-- The sorted hashes of all the GAT receivers. -- The sorted hashes of all the GAT receivers.
actualReceivers = actualReceivers =
pmsort psort
#$ pmapMaybe #$ pmapMaybe
# getReceiverScriptHash # getReceiverScriptHash
# pfromData txInfoF.outputs # pfromData txInfoF.outputs

View file

@ -78,10 +78,10 @@ import Plutarch.Extra.IsData (
PlutusTypeEnumData, PlutusTypeEnumData,
ProductIsData (ProductIsData), ProductIsData (ProductIsData),
) )
import Plutarch.Extra.List (pfirstJust) import "liqwid-plutarch-extra" Plutarch.Extra.List (pfindJust)
import Plutarch.Extra.Map qualified as PM import Plutarch.Extra.Map qualified as PM
import Plutarch.Extra.Maybe (pfromJust) import Plutarch.Extra.Maybe (pfromJust)
import Plutarch.Extra.TermCont (pguardC, pletC, pmatchC) import "liqwid-plutarch-extra" Plutarch.Extra.TermCont (pguardC, pletC, pmatchC)
import Plutarch.Lift ( import Plutarch.Lift (
DerivePConstantViaNewtype (DerivePConstantViaNewtype), DerivePConstantViaNewtype (DerivePConstantViaNewtype),
PConstantDecl, PConstantDecl,
@ -941,7 +941,7 @@ pneutralOption = phoistAcyclic $
(PAssocMap.pnull # el) (PAssocMap.pnull # el)
(pcon $ PJust rt) (pcon $ PJust rt)
(pcon PNothing) (pcon PNothing)
in pfromJust #$ pfirstJust # f # l in pfromJust #$ pfindJust # f # l
{- | Return true if the thresholds are valid. {- | Return true if the thresholds are valid.

View file

@ -40,7 +40,6 @@ import Agora.Stake (
) )
import Agora.Utils ( import Agora.Utils (
plistEqualsBy, plistEqualsBy,
pltAsData,
) )
import Plutarch.Api.V1 (PCredential) import Plutarch.Api.V1 (PCredential)
import Plutarch.Api.V1.AssocMap (plookup) import Plutarch.Api.V1.AssocMap (plookup)
@ -57,7 +56,7 @@ import Plutarch.Extra.AssetClass (passetClass, passetClassValueOf)
import Plutarch.Extra.Category (PCategory (pidentity), PSemigroupoid ((#>>>))) import Plutarch.Extra.Category (PCategory (pidentity), PSemigroupoid ((#>>>)))
import Plutarch.Extra.Comonad (pextract) import Plutarch.Extra.Comonad (pextract)
import Plutarch.Extra.Field (pletAll, pletAllC) import Plutarch.Extra.Field (pletAll, pletAllC)
import Plutarch.Extra.List (pfirstJust, pisUniq', pmergeBy, pmsort) import "liqwid-plutarch-extra" Plutarch.Extra.List (pfindJust)
import Plutarch.Extra.Map (pupdate) import Plutarch.Extra.Map (pupdate)
import Plutarch.Extra.Maybe ( import Plutarch.Extra.Maybe (
passertPJust, passertPJust,
@ -66,6 +65,7 @@ import Plutarch.Extra.Maybe (
pmaybe, pmaybe,
pnothing, pnothing,
) )
import Plutarch.Extra.Ord (pallUnique, pfromOrdBy, psort, ptryMergeBy)
import Plutarch.Extra.Record (mkRecordConstr, (.&), (.=)) import Plutarch.Extra.Record (mkRecordConstr, (.&), (.=))
import Plutarch.Extra.ScriptContext ( import Plutarch.Extra.ScriptContext (
pfindTxInByTxOutRef, pfindTxInByTxOutRef,
@ -73,7 +73,7 @@ import Plutarch.Extra.ScriptContext (
pisTokenSpent, pisTokenSpent,
ptryFromOutputDatum, ptryFromOutputDatum,
) )
import Plutarch.Extra.TermCont ( import "liqwid-plutarch-extra" Plutarch.Extra.TermCont (
pguardC, pguardC,
pletC, pletC,
pletFieldsC, pletFieldsC,
@ -262,7 +262,7 @@ proposalValidator as maximumCosigners =
pletC $ pletC $
passertPJust passertPJust
# "Own output should be present" # "Own output should be present"
#$ pfirstJust #$ pfindJust
# plam # plam
( flip pletAll $ \outputF -> ( flip pletAll $ \outputF ->
let pstSymbol = pconstant $ proposalSTSymbol as let pstSymbol = pconstant $ proposalSTSymbol as
@ -366,7 +366,7 @@ proposalValidator as maximumCosigners =
\ctxF -> \ctxF ->
pcon $ pcon $
ctxF ctxF
{ orderedOwners = pmsort # ctxF.orderedOwners { orderedOwners = psort # ctxF.orderedOwners
} }
initialCtx = pcon $ PWitnessMultipleStakeContext 0 pnil initialCtx = pcon $ PWitnessMultipleStakeContext 0 pnil
@ -396,13 +396,13 @@ proposalValidator as maximumCosigners =
((PSpendSingleStakeContext :--> PUnit) :--> PUnit) <- ((PSpendSingleStakeContext :--> PUnit) :--> PUnit) <-
pletC $ pletC $
let stakeInput = let stakeInput =
passertPJust # "Stake input should present" #$ pfirstJust passertPJust # "Stake input should present" #$ pfindJust
# ((pfield @"resolved" @_ @PTxInInfo) #>>> getStakeDatum) # ((pfield @"resolved" @_ @PTxInInfo) #>>> getStakeDatum)
# txInfoF.inputs # txInfoF.inputs
stakeOutput = stakeOutput =
passertPJust # "Stake output should present" passertPJust # "Stake output should present"
#$ pfirstJust # getStakeDatum # txInfoF.outputs #$ pfindJust # getStakeDatum # txInfoF.outputs
ctx = pcon $ PSpendSingleStakeContext stakeInput stakeOutput ctx = pcon $ PSpendSingleStakeContext stakeInput stakeOutput
in plam (# ctx) in plam (# ctx)
@ -437,15 +437,16 @@ proposalValidator as maximumCosigners =
-- signatures will be ordered. -- signatures will be ordered.
updatedSigs <- updatedSigs <-
pletC $ pletC $
pmergeBy # pltAsData ptryMergeBy # (pfromOrdBy # plam pfromData)
# newSigs # newSigs
# proposalInputDatumF.cosigners # proposalInputDatumF.cosigners
pguardC "Less cosigners than maximum limit" $ pguardC "Less cosigners than maximum limit" $
plength # updatedSigs #< pconstant maximumCosigners plength # updatedSigs #< pconstant maximumCosigners
pguardC "Cosigners are unique" $ -- assuming sigs are sorted
pisUniq' # updatedSigs PJust cosUnique <- pmatchC $ pallUnique #$ pmap # plam pfromData # updatedSigs
pguardC "Cosigners are unique" cosUnique
pguardC "All new cosigners are witnessed by their Stake datums" $ pguardC "All new cosigners are witnessed by their Stake datums" $
-- Also, this ensures that the cosigners field in the output -- Also, this ensures that the cosigners field in the output

View file

@ -47,7 +47,7 @@ import Plutarch.DataRepr (
import Plutarch.Extra.Applicative (PApply (pliftA2)) import Plutarch.Extra.Applicative (PApply (pliftA2))
import Plutarch.Extra.Field (pletAll, pletAllC) import Plutarch.Extra.Field (pletAll, pletAllC)
import Plutarch.Extra.Maybe (pjust, pmaybe, pnothing) import Plutarch.Extra.Maybe (pjust, pmaybe, pnothing)
import Plutarch.Extra.TermCont (pmatchC) import "liqwid-plutarch-extra" Plutarch.Extra.TermCont (pmatchC)
import Plutarch.Extra.Time ( import Plutarch.Extra.Time (
PCurrentTime (PCurrentTime), PCurrentTime (PCurrentTime),
pisCurrentTimeWithin, pisCurrentTimeWithin,

View file

@ -65,7 +65,6 @@ import Plutarch.Extra.IsData (
PlutusTypeDataList, PlutusTypeDataList,
ProductIsData (ProductIsData), ProductIsData (ProductIsData),
) )
import Plutarch.Extra.List (pnotNull)
import Plutarch.Extra.Sum (PSum (PSum)) import Plutarch.Extra.Sum (PSum (PSum))
import Plutarch.Extra.Traversable (pfoldMap) import Plutarch.Extra.Traversable (pfoldMap)
import Plutarch.Lift (PConstantDecl, PUnsafeLiftDecl (PLifted)) import Plutarch.Lift (PConstantDecl, PUnsafeLiftDecl (PLifted))
@ -376,7 +375,7 @@ deriving via
pstakeLocked :: forall (s :: S). Term s (PStakeDatum :--> PBool) pstakeLocked :: forall (s :: S). Term s (PStakeDatum :--> PBool)
pstakeLocked = phoistAcyclic $ pstakeLocked = phoistAcyclic $
plam $ \stakeDatum -> plam $ \stakeDatum ->
pnotNull #$ pfield @"lockedBy" @(PBuiltinList _) # pto stakeDatum pnot #$ pnull #$ pfield @"lockedBy" @(PBuiltinList _) # pto stakeDatum
{- | Get the number of *alive* proposals that were created by the given stake. {- | Get the number of *alive* proposals that were created by the given stake.

View file

@ -32,7 +32,7 @@ import Plutarch.Api.V2 (PMaybeData)
import Plutarch.Extra.Field (pletAllC) import Plutarch.Extra.Field (pletAllC)
import Plutarch.Extra.Maybe (pdjust, pdnothing, pmaybeData) import Plutarch.Extra.Maybe (pdjust, pdnothing, pmaybeData)
import Plutarch.Extra.Record (mkRecordConstr, (.&), (.=)) import Plutarch.Extra.Record (mkRecordConstr, (.&), (.=))
import Plutarch.Extra.TermCont (pguardC, pletC, pmatchC) import "liqwid-plutarch-extra" Plutarch.Extra.TermCont (pguardC, pletC, pmatchC)
import Plutarch.Extra.Value (pgeqByClass, pgeqByClass') import Plutarch.Extra.Value (pgeqByClass, pgeqByClass')
import Plutarch.Numeric.Additive (AdditiveMonoid (zero), AdditiveSemigroup ((+))) import Plutarch.Numeric.Additive (AdditiveMonoid (zero), AdditiveSemigroup ((+)))
import Plutarch.SafeMoney (pdiscreteValue) import Plutarch.SafeMoney (pdiscreteValue)

View file

@ -76,7 +76,7 @@ import Plutarch.Extra.AssetClass (
) )
import Plutarch.Extra.Bind (PBind ((#>>=))) import Plutarch.Extra.Bind (PBind ((#>>=)))
import Plutarch.Extra.Field (pletAllC) import Plutarch.Extra.Field (pletAllC)
import Plutarch.Extra.List (pfirstJust) import "liqwid-plutarch-extra" Plutarch.Extra.List (pfindJust)
import Plutarch.Extra.Maybe ( import Plutarch.Extra.Maybe (
passertPJust, passertPJust,
pjust, pjust,
@ -89,7 +89,7 @@ import Plutarch.Extra.ScriptContext (
pfromOutputDatum, pfromOutputDatum,
pvalueSpent, pvalueSpent,
) )
import Plutarch.Extra.TermCont ( import "liqwid-plutarch-extra" Plutarch.Extra.TermCont (
pguardC, pguardC,
pletC, pletC,
pletFieldsC, pletFieldsC,
@ -324,7 +324,7 @@ mkStakeValidator
let -- Look for the output stake. let -- Look for the output stake.
stakeOutput = stakeOutput =
pfirstJust pfindJust
# plam # plam
( \output -> unTermCont $ do ( \output -> unTermCont $ do
outputF <- outputF <-
@ -409,7 +409,7 @@ mkStakeValidator
(pjust # ref) (pjust # ref)
pnothing pnothing
proposalRef = pfirstJust # f # txInfoF.inputs proposalRef = pfindJust # f # txInfoF.inputs
in pif pstMinted (pcon PNewProposal) $ in pif pstMinted (pcon PNewProposal) $
pmaybe pmaybe
# pcon PNoProposal # pcon PNoProposal

View file

@ -15,7 +15,7 @@ module Agora.Treasury (
import Agora.AuthorityToken (singleAuthorityTokenBurned) import Agora.AuthorityToken (singleAuthorityTokenBurned)
import Plutarch.Api.V1.Value (PValue) import Plutarch.Api.V1.Value (PValue)
import Plutarch.Api.V2 (PScriptPurpose (PSpending), PValidator) import Plutarch.Api.V2 (PScriptPurpose (PSpending), PValidator)
import Plutarch.Extra.TermCont (pguardC, pletC, pletFieldsC, pmatchC) import "liqwid-plutarch-extra" Plutarch.Extra.TermCont (pguardC, pletC, pletFieldsC, pmatchC)
import Plutarch.TryFrom () import Plutarch.TryFrom ()
import PlutusLedgerApi.V1.Value (CurrencySymbol) import PlutusLedgerApi.V1.Value (CurrencySymbol)

View file

@ -26,7 +26,7 @@ module Agora.Utils (
import Plutarch.Api.V1 (PPOSIXTime, PTokenName, PValidatorHash) import Plutarch.Api.V1 (PPOSIXTime, PTokenName, PValidatorHash)
import Plutarch.Api.V2 (PScriptHash) import Plutarch.Api.V2 (PScriptHash)
import Plutarch.Extra.TermCont (pmatchC) import "liqwid-plutarch-extra" Plutarch.Extra.TermCont (pmatchC)
import Plutarch.Extra.Time (PCurrentTime (PCurrentTime)) import Plutarch.Extra.Time (PCurrentTime (PCurrentTime))
import Plutarch.List (puncons) import Plutarch.List (puncons)
import Plutarch.Unsafe (punsafeCoerce) import Plutarch.Unsafe (punsafeCoerce)

165
flake.lock generated
View file

@ -7106,11 +7106,11 @@
"nixpkgs-2205": "nixpkgs-2205_8" "nixpkgs-2205": "nixpkgs-2205_8"
}, },
"locked": { "locked": {
"lastModified": 1660314706, "lastModified": 1660580223,
"narHash": "sha256-RpFZJXYHAZZ5TNdxTfcHw39Uz7uQ+nSn/yYHweyL4qA=", "narHash": "sha256-r1i92rrUjSBdnQZpHLxeCAtVGMHYqKQHm05mzddIte8=",
"owner": "Liqwid-Labs", "owner": "Liqwid-Labs",
"repo": "liqwid-nix", "repo": "liqwid-nix",
"rev": "a103351651ecb17aef96d94419baf43cc7a1fc93", "rev": "fa1eeba35b37ac2551a00798dffdf053879699c3",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -7156,11 +7156,11 @@
"plutarch-quickcheck": "plutarch-quickcheck" "plutarch-quickcheck": "plutarch-quickcheck"
}, },
"locked": { "locked": {
"lastModified": 1662479424, "lastModified": 1663768725,
"narHash": "sha256-961woBkTSZn0gV070cI96U7I1a1nuWcXYh+ivRtqbRU=", "narHash": "sha256-Wz1gerQdn5jE60yiah6v2U4ODjMS53HpY81UMtml43o=",
"owner": "Liqwid-Labs", "owner": "Liqwid-Labs",
"repo": "liqwid-plutarch-extra", "repo": "liqwid-plutarch-extra",
"rev": "37365afb68c1241df6ea026cb9a69185fd8f1781", "rev": "2bb728876b0e7f92636758f87608ad98a4b935b5",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -7212,11 +7212,11 @@
"plutarch-quickcheck": "plutarch-quickcheck_3" "plutarch-quickcheck": "plutarch-quickcheck_3"
}, },
"locked": { "locked": {
"lastModified": 1661992545, "lastModified": 1663707854,
"narHash": "sha256-9kHddGZu1LgrIn1lb6DFo5vbIw5bywWrb3EDn/LrU08=", "narHash": "sha256-7RPYWixfoVJuUyIHu3Bo+bqv35oXNjWge062UIPvWOA=",
"owner": "Liqwid-Labs", "owner": "Liqwid-Labs",
"repo": "liqwid-plutarch-extra", "repo": "liqwid-plutarch-extra",
"rev": "fb573f7e4754abd0c280e979c51db495d9517e67", "rev": "60207f6812a79f4b9ce0b3a22e5db4fa2981ec02",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -9221,11 +9221,11 @@
}, },
"nixpkgs-latest": { "nixpkgs-latest": {
"locked": { "locked": {
"lastModified": 1660672087, "lastModified": 1663696179,
"narHash": "sha256-uX5EkXd93LRccal7P/U97PPzLUQF32RySyg48CjgeIA=", "narHash": "sha256-vjsfJKxW+z2t2RrYJ9gs71m48kX97+p+fpCHVmH3xxc=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "ce7b4fd5a67118b869abe57803ccd7e7a4ff6a28", "rev": "d4717ad12898f9c36f9b9538da0ca9df175ee05e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -9348,11 +9348,11 @@
}, },
"nixpkgs-latest_17": { "nixpkgs-latest_17": {
"locked": { "locked": {
"lastModified": 1660672087, "lastModified": 1663696179,
"narHash": "sha256-uX5EkXd93LRccal7P/U97PPzLUQF32RySyg48CjgeIA=", "narHash": "sha256-vjsfJKxW+z2t2RrYJ9gs71m48kX97+p+fpCHVmH3xxc=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "ce7b4fd5a67118b869abe57803ccd7e7a4ff6a28", "rev": "d4717ad12898f9c36f9b9538da0ca9df175ee05e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -11362,11 +11362,11 @@
"secp256k1-haskell": "secp256k1-haskell" "secp256k1-haskell": "secp256k1-haskell"
}, },
"locked": { "locked": {
"lastModified": 1660670400, "lastModified": 1663242420,
"narHash": "sha256-EoPMfaFCXzcHIiUYprCR51yxLb5mlsfuIJ29adBeyEU=", "narHash": "sha256-r6UVl3pBdJnectz8NDUexh3rY/4XcEqd9ILU+m/jVH8=",
"owner": "Plutonomicon", "owner": "Plutonomicon",
"repo": "plutarch-plutus", "repo": "plutarch-plutus",
"rev": "f0805033ec7ad83643ba3c90902673ba6e5b90c3", "rev": "67d38e6e14b762eb5a48b884bb96f89687d1a62d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -11413,11 +11413,11 @@
"plutarch": "plutarch_2" "plutarch": "plutarch_2"
}, },
"locked": { "locked": {
"lastModified": 1660709756, "lastModified": 1663679353,
"narHash": "sha256-L9S9UYtpeTVGFmKNj8c/H3i17Jx8asCiW43xblN5nBo=", "narHash": "sha256-CK+hgOoU9qARRnaUlxlh9ZBWb0G6d8F0VslAbXd8mIM=",
"owner": "Liqwid-Labs", "owner": "Liqwid-Labs",
"repo": "plutarch-context-builder", "repo": "plutarch-context-builder",
"rev": "cc91cd134ce01e280df3b0ce09a25ede54dbf9b6", "rev": "3bc59acb11264c4fa43c95fa615a4dbf69e0f981",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -11460,11 +11460,11 @@
"plutarch": "plutarch_6" "plutarch": "plutarch_6"
}, },
"locked": { "locked": {
"lastModified": 1663071373, "lastModified": 1663679353,
"narHash": "sha256-/qchzXZUDAjdD3efD53QVwiqk/o6MFQT4IDyndE06ec=", "narHash": "sha256-CK+hgOoU9qARRnaUlxlh9ZBWb0G6d8F0VslAbXd8mIM=",
"owner": "Liqwid-Labs", "owner": "Liqwid-Labs",
"repo": "plutarch-context-builder", "repo": "plutarch-context-builder",
"rev": "ad1ff6d1714dcdee75d7ce3f772960048fd2b07f", "rev": "3bc59acb11264c4fa43c95fa615a4dbf69e0f981",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -11517,11 +11517,11 @@
"plutarch": "plutarch_10" "plutarch": "plutarch_10"
}, },
"locked": { "locked": {
"lastModified": 1660709756, "lastModified": 1663679353,
"narHash": "sha256-L9S9UYtpeTVGFmKNj8c/H3i17Jx8asCiW43xblN5nBo=", "narHash": "sha256-CK+hgOoU9qARRnaUlxlh9ZBWb0G6d8F0VslAbXd8mIM=",
"owner": "Liqwid-Labs", "owner": "Liqwid-Labs",
"repo": "plutarch-context-builder", "repo": "plutarch-context-builder",
"rev": "cc91cd134ce01e280df3b0ce09a25ede54dbf9b6", "rev": "3bc59acb11264c4fa43c95fa615a4dbf69e0f981",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -11569,11 +11569,11 @@
"plutarch": "plutarch_3" "plutarch": "plutarch_3"
}, },
"locked": { "locked": {
"lastModified": 1659450964, "lastModified": 1661989108,
"narHash": "sha256-jkxeMZ5ZjEl94MG5jWC+ogeh8m5sCpR7FX2Srtedvc4=", "narHash": "sha256-4oNo5hjyo7oRJiyNC9k16Z2u1ZkyyrbdFJEvBsDtfCQ=",
"owner": "liqwid-labs", "owner": "liqwid-labs",
"repo": "plutarch-numeric", "repo": "plutarch-numeric",
"rev": "65a1a5dec3836cf4e3c793bf780a4ee84b0a9331", "rev": "031a524347f6b5bda46f744e8a32aa05fb9d902e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -11616,11 +11616,11 @@
"plutarch": "plutarch_7" "plutarch": "plutarch_7"
}, },
"locked": { "locked": {
"lastModified": 1659450964, "lastModified": 1661989108,
"narHash": "sha256-jkxeMZ5ZjEl94MG5jWC+ogeh8m5sCpR7FX2Srtedvc4=", "narHash": "sha256-4oNo5hjyo7oRJiyNC9k16Z2u1ZkyyrbdFJEvBsDtfCQ=",
"owner": "Liqwid-Labs", "owner": "Liqwid-Labs",
"repo": "plutarch-numeric", "repo": "plutarch-numeric",
"rev": "65a1a5dec3836cf4e3c793bf780a4ee84b0a9331", "rev": "031a524347f6b5bda46f744e8a32aa05fb9d902e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -11673,11 +11673,11 @@
"plutarch": "plutarch_11" "plutarch": "plutarch_11"
}, },
"locked": { "locked": {
"lastModified": 1659450964, "lastModified": 1661989108,
"narHash": "sha256-jkxeMZ5ZjEl94MG5jWC+ogeh8m5sCpR7FX2Srtedvc4=", "narHash": "sha256-4oNo5hjyo7oRJiyNC9k16Z2u1ZkyyrbdFJEvBsDtfCQ=",
"owner": "liqwid-labs", "owner": "liqwid-labs",
"repo": "plutarch-numeric", "repo": "plutarch-numeric",
"rev": "65a1a5dec3836cf4e3c793bf780a4ee84b0a9331", "rev": "031a524347f6b5bda46f744e8a32aa05fb9d902e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -11725,11 +11725,11 @@
"plutarch": "plutarch_14" "plutarch": "plutarch_14"
}, },
"locked": { "locked": {
"lastModified": 1659450964, "lastModified": 1661989108,
"narHash": "sha256-jkxeMZ5ZjEl94MG5jWC+ogeh8m5sCpR7FX2Srtedvc4=", "narHash": "sha256-4oNo5hjyo7oRJiyNC9k16Z2u1ZkyyrbdFJEvBsDtfCQ=",
"owner": "Liqwid-Labs", "owner": "Liqwid-Labs",
"repo": "plutarch-numeric", "repo": "plutarch-numeric",
"rev": "65a1a5dec3836cf4e3c793bf780a4ee84b0a9331", "rev": "031a524347f6b5bda46f744e8a32aa05fb9d902e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -11778,11 +11778,11 @@
"plutarch": "plutarch_4" "plutarch": "plutarch_4"
}, },
"locked": { "locked": {
"lastModified": 1660591493, "lastModified": 1662396899,
"narHash": "sha256-kKku1VDx+KI/+uCAVJITmSpjYEQUEUyFYXulzqRCJQc=", "narHash": "sha256-viJ8K/KiIIIZNFMPwTaMCFL0f8Z0NtTtTylvK52ZBfc=",
"owner": "liqwid-labs", "owner": "liqwid-labs",
"repo": "plutarch-quickcheck", "repo": "plutarch-quickcheck",
"rev": "6388a7b3312273e80026b8ba6daee7504347b00f", "rev": "e68e42f3522e47bd0f2a4dd408adf04ba37e11d3",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -11883,11 +11883,11 @@
"plutarch": "plutarch_12" "plutarch": "plutarch_12"
}, },
"locked": { "locked": {
"lastModified": 1660591493, "lastModified": 1662396899,
"narHash": "sha256-kKku1VDx+KI/+uCAVJITmSpjYEQUEUyFYXulzqRCJQc=", "narHash": "sha256-viJ8K/KiIIIZNFMPwTaMCFL0f8Z0NtTtTylvK52ZBfc=",
"owner": "liqwid-labs", "owner": "liqwid-labs",
"repo": "plutarch-quickcheck", "repo": "plutarch-quickcheck",
"rev": "6388a7b3312273e80026b8ba6daee7504347b00f", "rev": "e68e42f3522e47bd0f2a4dd408adf04ba37e11d3",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -11932,11 +11932,11 @@
"plutarch-numeric": "plutarch-numeric_4" "plutarch-numeric": "plutarch-numeric_4"
}, },
"locked": { "locked": {
"lastModified": 1662130349, "lastModified": 1663761210,
"narHash": "sha256-htwVesPYmr4YPpe8Sfs65U1hueSJAy1IEFiLpEETdSQ=", "narHash": "sha256-Ht6knGBmVOaKqCyolOFrZ5QTBHUmZwF8CP13iFmhKdk=",
"owner": "Liqwid-Labs", "owner": "Liqwid-Labs",
"repo": "plutarch-safe-money", "repo": "plutarch-safe-money",
"rev": "3a4a0301b74478fcc476d0d9b0c1d8718fea6703", "rev": "a8e987609c56c2f8d9426d9d2356eb9325286770",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -11979,17 +11979,17 @@
"plutarch": "plutarch_15" "plutarch": "plutarch_15"
}, },
"locked": { "locked": {
"lastModified": 1663152896, "lastModified": 1664028810,
"narHash": "sha256-0iDaw3x2I+AgTGFGQw1CCKh930qnH7tcAudrfgJzyPo=", "narHash": "sha256-thMEO1P/ciHjnMFyL0bla781TG5C/nB5EEtebb3Boik=",
"owner": "Liqwid-Labs", "owner": "Liqwid-Labs",
"repo": "plutarch-script-export", "repo": "plutarch-script-export",
"rev": "0d0fce14175503550b45d3194c6beebab651f352", "rev": "4f0da58ba67cdcfe5c7d97e6e27dc00dfb71e657",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "Liqwid-Labs", "owner": "Liqwid-Labs",
"ref": "main",
"repo": "plutarch-script-export", "repo": "plutarch-script-export",
"rev": "4f0da58ba67cdcfe5c7d97e6e27dc00dfb71e657",
"type": "github" "type": "github"
} }
}, },
@ -12163,11 +12163,11 @@
"secp256k1-haskell": "secp256k1-haskell_13" "secp256k1-haskell": "secp256k1-haskell_13"
}, },
"locked": { "locked": {
"lastModified": 1661965997, "lastModified": 1663242420,
"narHash": "sha256-BFWpV7mpYoCCovyyUh5hraenjLI2bIaUS6oSKrNE2e4=", "narHash": "sha256-r6UVl3pBdJnectz8NDUexh3rY/4XcEqd9ILU+m/jVH8=",
"owner": "Plutonomicon", "owner": "Plutonomicon",
"repo": "plutarch-plutus", "repo": "plutarch-plutus",
"rev": "a8888d9a42cd2cdc6bcc6a4399aaa27ff5266798", "rev": "67d38e6e14b762eb5a48b884bb96f89687d1a62d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -12250,49 +12250,6 @@
"protolude": "protolude_15", "protolude": "protolude_15",
"secp256k1-haskell": "secp256k1-haskell_15" "secp256k1-haskell": "secp256k1-haskell_15"
}, },
"locked": {
"lastModified": 1659381657,
"narHash": "sha256-W0EWY0DV2idbIeqtJnShVHQ83exME8TK2GYQGbVpz8A=",
"owner": "Plutonomicon",
"repo": "plutarch-plutus",
"rev": "45b7c77a9ee9bd6c7dc25ddebcc3d12c58c4c3a2",
"type": "github"
},
"original": {
"owner": "Plutonomicon",
"ref": "staging",
"repo": "plutarch-plutus",
"type": "github"
}
},
"plutarch_16": {
"inputs": {
"cardano-base": "cardano-base_16",
"cardano-crypto": "cardano-crypto_16",
"cardano-prelude": "cardano-prelude_16",
"emanote": [
"plutarch-script-export",
"plutarch",
"haskell-nix",
"nixpkgs-unstable"
],
"flat": "flat_16",
"haskell-language-server": "haskell-language-server_31",
"haskell-nix": "haskell-nix_31",
"haskell-nix-extra-hackage": "haskell-nix-extra-hackage_16",
"hercules-ci-effects": "hercules-ci-effects_16",
"iohk-nix": "iohk-nix_31",
"nixpkgs": [
"plutarch-script-export",
"plutarch",
"haskell-nix",
"nixpkgs-unstable"
],
"nixpkgs-latest": "nixpkgs-latest_32",
"plutus": "plutus_16",
"protolude": "protolude_16",
"secp256k1-haskell": "secp256k1-haskell_16"
},
"locked": { "locked": {
"lastModified": 1660670400, "lastModified": 1660670400,
"narHash": "sha256-EoPMfaFCXzcHIiUYprCR51yxLb5mlsfuIJ29adBeyEU=", "narHash": "sha256-EoPMfaFCXzcHIiUYprCR51yxLb5mlsfuIJ29adBeyEU=",
@ -12470,11 +12427,11 @@
"secp256k1-haskell": "secp256k1-haskell_5" "secp256k1-haskell": "secp256k1-haskell_5"
}, },
"locked": { "locked": {
"lastModified": 1661965997, "lastModified": 1663242420,
"narHash": "sha256-BFWpV7mpYoCCovyyUh5hraenjLI2bIaUS6oSKrNE2e4=", "narHash": "sha256-r6UVl3pBdJnectz8NDUexh3rY/4XcEqd9ILU+m/jVH8=",
"owner": "Plutonomicon", "owner": "Plutonomicon",
"repo": "plutarch-plutus", "repo": "plutarch-plutus",
"rev": "a8888d9a42cd2cdc6bcc6a4399aaa27ff5266798", "rev": "67d38e6e14b762eb5a48b884bb96f89687d1a62d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -12644,11 +12601,11 @@
"secp256k1-haskell": "secp256k1-haskell_9" "secp256k1-haskell": "secp256k1-haskell_9"
}, },
"locked": { "locked": {
"lastModified": 1660670400, "lastModified": 1663242420,
"narHash": "sha256-EoPMfaFCXzcHIiUYprCR51yxLb5mlsfuIJ29adBeyEU=", "narHash": "sha256-r6UVl3pBdJnectz8NDUexh3rY/4XcEqd9ILU+m/jVH8=",
"owner": "Plutonomicon", "owner": "Plutonomicon",
"repo": "plutarch-plutus", "repo": "plutarch-plutus",
"rev": "f0805033ec7ad83643ba3c90902673ba6e5b90c3", "rev": "67d38e6e14b762eb5a48b884bb96f89687d1a62d",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -34,8 +34,7 @@
plutarch-context-builder.url = plutarch-context-builder.url =
"github:Liqwid-Labs/plutarch-context-builder?ref=main"; "github:Liqwid-Labs/plutarch-context-builder?ref=main";
plutarch-script-export.url = plutarch-script-export.url =
"github:Liqwid-Labs/plutarch-script-export?ref=main"; "github:Liqwid-Labs/plutarch-script-export?rev=4f0da58ba67cdcfe5c7d97e6e27dc00dfb71e657";
liqwid-nix.url = "github:Liqwid-Labs/liqwid-nix?ref=main"; liqwid-nix.url = "github:Liqwid-Labs/liqwid-nix?ref=main";
}; };