@@ -22,7 +22,7 @@ import Cardano.Proto.Aux (
2222import Control.Lens ((&) , (.~) , (^.) )
2323import Control.Monad (guard , when )
2424import Coop.Pab.Aux (Trx (Trx ), currencyValue , datumFromTxOut , datumFromTxOutOrFail , deplAuthCs , deplAuthMp , deplCertCs , deplCertVAddress , deplFsCs , deplFsVAddress , deplFsVHash , findOutsAt , findOutsAt' , findOutsAtHolding' , findOutsAtHoldingCurrency , findOutsAtHoldingCurrency' , hasCurrency , hashTxInputs , interval' , minUtxoAdaValue , mkMintOneShotTrx , submitTrx , submitTrx' , toDatum , toRedeemer )
25- import Coop.Types (AuthBatchId , AuthDeployment (AuthDeployment , ad'authMp , ad'authorityAc , ad'certMp , ad'certV ), AuthMpParams (AuthMpParams ), AuthMpRedeemer (AuthMpBurn , AuthMpMint ), AuthParams (AuthParams , ap'authTokenCs , ap'certTokenCs ), CertDatum (CertDatum , cert'id , cert'validity ), CertMpParams (CertMpParams ), CertMpRedeemer (CertMpBurn , CertMpMint ), CoopDeployment (CoopDeployment , cd'auth , cd'fsMp , cd'fsV ), CoopPlutus (cp'fsV , cp'mkAuthMp , cp'mkCertMp , cp'mkFsMp , cp'mkOneShotMp ), CoopState (CoopState ), FactStatementId , FsDatum (FsDatum , fd'fsId , fs'gcAfter , fs'submitter ), FsMpParams (FsMpParams ), FsMpRedeemer (FsMpBurn , FsMpMint ), cp'certV )
25+ import Coop.Types (AuthBatchId , AuthDeployment (AuthDeployment , ad'authPolicy , ad'authorityAsset , ad'certPolicy , ad'certValidator ), AuthMpParams (AuthMpParams ), AuthMpRedeemer (AuthMpBurn , AuthMpMint ), AuthParams (AuthParams , ap'authTokenCs , ap'certTokenCs ), CertDatum (CertDatum , cert'id , cert'validity ), CertMpParams (CertMpParams ), CertMpRedeemer (CertMpBurn , CertMpMint ), CoopDeployment (CoopDeployment , cd'auth , cd'fsPolicy , cd'fsValidator ), CoopPlutus (cp'fsV , cp'mkAuthMp , cp'mkCertMp , cp'mkFsMp , cp'mkOneShotMp ), CoopState (CoopState ), FactStatementId , FsDatum (FsDatum , fd'fsId , fs'gcAfter , fs'submitter ), FsMpParams (FsMpParams ), FsMpRedeemer (FsMpBurn , FsMpMint ), cp'certV )
2626import Data.Bool (bool )
2727import Data.Foldable (toList )
2828import Data.List (nub , partition )
@@ -103,32 +103,37 @@ deployCoop coopPlutus aaWallet atLeastAaQ aaQToMint = do
103103mkAuthDeployment :: CoopPlutus -> AssetClass -> Integer -> AuthDeployment
104104mkAuthDeployment coopPlutus aaAc atLeastAaQ =
105105 let authMpParams = AuthMpParams aaAc atLeastAaQ
106- certMpParams = CertMpParams aaAc atLeastAaQ (mkValidatorAddress certV)
106+ certMpParams = CertMpParams aaAc atLeastAaQ certAddr
107107 certV = Validator $ cp'certV coopPlutus
108+ certAddr = mkValidatorAddress certV
108109 certMp = MintingPolicy $ applyArguments (cp'mkCertMp coopPlutus) [toData certMpParams]
110+ certSym = scriptCurrencySymbol certMp
109111 authMp = MintingPolicy $ applyArguments (cp'mkAuthMp coopPlutus) [toData authMpParams]
110- in AuthDeployment aaAc certV certMp authMp
112+ authSym = scriptCurrencySymbol authMp
113+ in AuthDeployment aaAc certV certAddr certMp certSym authMp authSym
111114
112115mkCoopDeployment :: CoopPlutus -> AssetClass -> AuthDeployment -> CoopDeployment
113116mkCoopDeployment coopPlutus coopAc authDeployment =
114117 let fsV = Validator (cp'fsV coopPlutus)
118+ fsAddr = mkValidatorAddress fsV
115119 fsMp =
116120 MintingPolicy $
117121 applyArguments
118122 (cp'mkFsMp coopPlutus)
119123 [ toData
120124 ( FsMpParams
121125 coopAc
122- (mkValidatorAddress fsV)
126+ fsAddr
123127 (authParamsFromDeployment authDeployment)
124128 )
125129 ]
126- in CoopDeployment coopAc fsMp fsV authDeployment
130+ fsSym = scriptCurrencySymbol fsMp
131+ in CoopDeployment coopAc fsMp fsSym fsV fsAddr authDeployment
127132 where
128133 authParamsFromDeployment ad =
129134 AuthParams
130- { ap'authTokenCs = scriptCurrencySymbol (ad'authMp ad)
131- , ap'certTokenCs = scriptCurrencySymbol (ad'certMp ad)
135+ { ap'authTokenCs = scriptCurrencySymbol (ad'authPolicy ad)
136+ , ap'certTokenCs = scriptCurrencySymbol (ad'certPolicy ad)
132137 }
133138
134139mintCertRedeemers :: CoopPlutus -> Integer -> Contract w s Text AssetClass
@@ -152,8 +157,8 @@ mintCertRedeemers coopPlutus q = do
152157
153158mkMintCertTrx :: CoopDeployment -> PaymentPubKeyHash -> AssetClass -> POSIXTimeRange -> Map TxOutRef ChainIndexTxOut -> (Trx i o a , AssetClass )
154159mkMintCertTrx coopDeployment self redeemerAc validityInterval aaOuts =
155- let certMp = (ad'certMp . cd'auth) coopDeployment
156- certV = (ad'certV . cd'auth) coopDeployment
160+ let certMp = (ad'certPolicy . cd'auth) coopDeployment
161+ certV = (ad'certValidator . cd'auth) coopDeployment
157162 certVAddr = validatorHash certV
158163 aaOrefs = Map. keys aaOuts
159164 certId = hashTxInputs aaOuts
@@ -204,8 +209,8 @@ burnCerts coopDeployment certRdmrAc = do
204209 when (null obsoleteCertOuts) (throwError " burnCerts: There should be some obsolete $CERT inputs" )
205210
206211 (now, _) <- currentNodeClientTimeRange
207- let certMp = (ad'certMp . cd'auth) coopDeployment
208- certV = (ad'certV . cd'auth) coopDeployment
212+ let certMp = (ad'certPolicy . cd'auth) coopDeployment
213+ certV = (ad'certValidator . cd'auth) coopDeployment
209214 certRdmdrOrefs = Map. keys certRdmrOuts
210215 certOrefs = Map. keys obsoleteCertOuts
211216 certVal = foldMap (\ out -> inv $ currencyValue (out ^. ciTxOutValue) certCs) (toList obsoleteCertOuts)
@@ -311,7 +316,7 @@ mintAuthAndCert coopDeployment authWallets nAuthTokensPerWallet certRdmrAc from
311316
312317mkBurnAuthsTrx :: CoopDeployment -> PaymentPubKeyHash -> Map TxOutRef ChainIndexTxOut -> Trx i o a
313318mkBurnAuthsTrx coopDeployment self authOuts = do
314- let authMp = (ad'authMp . cd'auth) coopDeployment
319+ let authMp = (ad'authPolicy . cd'auth) coopDeployment
315320 authCs = scriptCurrencySymbol authMp
316321 authOrefs = Map. keys authOuts
317322 authVal = foldMap (\ out -> inv $ currencyValue (out ^. ciTxOutValue) authCs) (toList authOuts)
@@ -339,10 +344,10 @@ getState coopDeployment = do
339344 let logI m = logInfo @ String (" getState: " <> m)
340345 logI " Starting"
341346
342- let certVAddr = mkValidatorAddress . ad'certV . cd'auth $ coopDeployment
343- certCs = scriptCurrencySymbol . ad'certMp . cd'auth $ coopDeployment
344- fsVAddr = mkValidatorAddress . cd'fsV $ coopDeployment
345- fsCs = scriptCurrencySymbol . cd'fsMp $ coopDeployment
347+ let certVAddr = mkValidatorAddress . ad'certValidator . cd'auth $ coopDeployment
348+ certCs = scriptCurrencySymbol . ad'certPolicy . cd'auth $ coopDeployment
349+ fsVAddr = mkValidatorAddress . cd'fsValidator $ coopDeployment
350+ fsCs = scriptCurrencySymbol . cd'fsPolicy $ coopDeployment
346351
347352 certOuts <- findOutsAtHoldingCurrency certVAddr certCs
348353 fsOuts <- findOutsAtHoldingCurrency fsVAddr fsCs
@@ -372,19 +377,19 @@ findOutsAtCertV coopDeployment p = do
372377
373378 logI " Starting"
374379
375- let certVAddr = (mkValidatorAddress . ad'certV . cd'auth) coopDeployment
380+ let certVAddr = (mkValidatorAddress . ad'certValidator . cd'auth) coopDeployment
376381 findOutsAt @ CertDatum
377382 certVAddr
378383 (maybe False . p)
379384
380385findOutsAtCertVWithCERT :: CoopDeployment -> Contract w s Text (Map TxOutRef ChainIndexTxOut )
381- findOutsAtCertVWithCERT coopDeployment = findOutsAtCertV coopDeployment (\ v _ -> hasCurrency v ((scriptCurrencySymbol . ad'certMp . cd'auth) coopDeployment))
386+ findOutsAtCertVWithCERT coopDeployment = findOutsAtCertV coopDeployment (\ v _ -> hasCurrency v ((scriptCurrencySymbol . ad'certPolicy . cd'auth) coopDeployment))
382387
383388findOutsAtHoldingAa :: PaymentPubKeyHash -> CoopDeployment -> Contract w s Text (Map TxOutRef ChainIndexTxOut )
384389findOutsAtHoldingAa wallet coopDeployment = do
385390 let logI m = logInfo @ String (" findOutsAtHoldingAa: " <> m)
386391 logI " Starting"
387- let aaAc = (ad'authorityAc . cd'auth) coopDeployment
392+ let aaAc = (ad'authorityAsset . cd'auth) coopDeployment
388393 found <- findOutsAtHolding' wallet aaAc
389394 logI " Finished"
390395 return found
@@ -567,8 +572,8 @@ mkMintFsTrx ::
567572 (Value , PaymentPubKeyHash ) ->
568573 Trx i o a
569574mkMintFsTrx coopDeployment now minutes publishingSpec (feeVal, feeCollectorPpkh) = do
570- let fsMp = cd'fsMp coopDeployment
571- fsV = cd'fsV coopDeployment
575+ let fsMp = cd'fsPolicy coopDeployment
576+ fsV = cd'fsValidator coopDeployment
572577 fsVHash = deplFsVHash coopDeployment
573578 fsCs = deplFsCs coopDeployment
574579 authCs = deplAuthCs coopDeployment
@@ -702,8 +707,8 @@ runGcFsTx coopDeployment submit req = do
702707
703708mkGcFsTrx :: CoopDeployment -> PaymentPubKeyHash -> [((TxOutRef , ChainIndexTxOut ), FsDatum )] -> POSIXTime -> Trx i o a
704709mkGcFsTrx coopDeployment submitterPkh fsOutsWithDatum now = do
705- let fsMp = cd'fsMp coopDeployment
706- fsV = cd'fsV coopDeployment
710+ let fsMp = cd'fsPolicy coopDeployment
711+ fsV = cd'fsValidator coopDeployment
707712 fsCs = deplFsCs coopDeployment
708713
709714 totalFsValToBurn =
0 commit comments