Skip to content

Commit b19c1f2

Browse files
authored
Update auction validator examples to use Plutus Core version 1.1.0 (#7274)
1 parent 6b47fe9 commit b19c1f2

File tree

2 files changed

+23
-20
lines changed

2 files changed

+23
-20
lines changed

doc/docusaurus/static/code/AuctionMintingPolicy.hs

Lines changed: 21 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
44
{-# LANGUAGE ImportQualifiedPost #-}
55
{-# LANGUAGE MultiParamTypeClasses #-}
6+
{-# LANGUAGE NoImplicitPrelude #-}
67
{-# LANGUAGE OverloadedStrings #-}
78
{-# LANGUAGE PatternSynonyms #-}
89
{-# LANGUAGE ScopedTypeVariables #-}
@@ -18,16 +19,17 @@
1819
{-# OPTIONS_GHC -fno-unbox-small-strict-fields #-}
1920
{-# OPTIONS_GHC -fno-unbox-strict-fields #-}
2021
{-# OPTIONS_GHC -fplugin PlutusTx.Plugin #-}
21-
{-# OPTIONS_GHC -fplugin-opt PlutusTx.Plugin:target-version=1.0.0 #-}
22+
{-# OPTIONS_GHC -fplugin-opt PlutusTx.Plugin:target-version=1.1.0 #-}
2223

2324
module AuctionMintingPolicy where
2425

25-
import PlutusCore.Version (plcVersion100)
26-
import PlutusLedgerApi.V1.Value (flattenValue)
27-
import PlutusLedgerApi.V2 (PubKeyHash, ScriptContext (..), TxInfo (..))
28-
import PlutusLedgerApi.V2.Contexts (ownCurrencySymbol, txSignedBy)
2926
import PlutusTx
30-
import PlutusTx.Prelude qualified as PlutusTx
27+
import PlutusTx.Prelude
28+
29+
import PlutusCore.Version (plcVersion110)
30+
import PlutusLedgerApi.V1.Value (flattenValue)
31+
import PlutusLedgerApi.V3 (PubKeyHash, ScriptContext (..), TxInfo (..), mintValueMinted)
32+
import PlutusLedgerApi.V3.Contexts (ownCurrencySymbol, txSignedBy)
3133

3234
-- BLOCK1
3335
type AuctionMintingParams = PubKeyHash
@@ -39,32 +41,33 @@ auctionTypedMintingPolicy ::
3941
ScriptContext ->
4042
Bool
4143
auctionTypedMintingPolicy pkh _redeemer ctx =
42-
txSignedBy txInfo pkh PlutusTx.&& mintedExactlyOneToken
44+
txSignedBy txInfo pkh && mintedExactlyOneToken
4345
where
4446
txInfo = scriptContextTxInfo ctx
45-
mintedExactlyOneToken = case flattenValue (txInfoMint txInfo) of
46-
[(currencySymbol, _tokenName, quantity)] ->
47-
currencySymbol PlutusTx.== ownCurrencySymbol ctx PlutusTx.&& quantity PlutusTx.== 1
48-
_ -> False
47+
mintedExactlyOneToken =
48+
case flattenValue (mintValueMinted (txInfoMint txInfo)) of
49+
[(currencySymbol, _tokenName, quantity)] ->
50+
currencySymbol == ownCurrencySymbol ctx && quantity == 1
51+
_ -> False
4952
-- BLOCK2
5053
{-# INLINEABLE auctionTypedMintingPolicy #-}
5154

5255
auctionUntypedMintingPolicy ::
5356
AuctionMintingParams ->
5457
BuiltinData ->
5558
BuiltinData ->
56-
PlutusTx.BuiltinUnit
59+
BuiltinUnit
5760
auctionUntypedMintingPolicy pkh redeemer ctx =
58-
PlutusTx.check
61+
check
5962
( auctionTypedMintingPolicy
6063
pkh
61-
(PlutusTx.unsafeFromBuiltinData redeemer)
62-
(PlutusTx.unsafeFromBuiltinData ctx)
64+
(unsafeFromBuiltinData redeemer)
65+
(unsafeFromBuiltinData ctx)
6366
)
6467

6568
auctionMintingPolicyScript ::
6669
AuctionMintingParams ->
67-
CompiledCode (BuiltinData -> BuiltinData -> PlutusTx.BuiltinUnit)
70+
CompiledCode (BuiltinData -> BuiltinData -> BuiltinUnit)
6871
auctionMintingPolicyScript pkh =
69-
$$(PlutusTx.compile [||auctionUntypedMintingPolicy||])
70-
`PlutusTx.unsafeApplyCode` PlutusTx.liftCode plcVersion100 pkh
72+
$$(compile [||auctionUntypedMintingPolicy||])
73+
`unsafeApplyCode` liftCode plcVersion110 pkh

doc/docusaurus/static/code/AuctionValidator.hs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,15 @@
2424
{-# OPTIONS_GHC -fno-unbox-small-strict-fields #-}
2525
{-# OPTIONS_GHC -fno-unbox-strict-fields #-}
2626
{-# OPTIONS_GHC -fplugin PlutusTx.Plugin #-}
27+
{-# OPTIONS_GHC -fplugin-opt PlutusTx.Plugin:target-version=1.1.0 #-}
2728

2829
module AuctionValidator where
2930

3031
import GHC.Generics (Generic)
3132

3233
import PlutusTx.Prelude
3334

34-
import PlutusLedgerApi.V1 (lovelaceValueOf, valueOf)
35-
import PlutusLedgerApi.V1.Address (toPubKeyHash)
35+
import PlutusLedgerApi.V1 (lovelaceValueOf, toPubKeyHash, valueOf)
3636
import PlutusLedgerApi.V1.Interval (contains)
3737
import PlutusLedgerApi.V3 (CurrencySymbol, Datum (Datum, getDatum), Lovelace,
3838
OutputDatum (NoOutputDatum, OutputDatum, OutputDatumHash), POSIXTime,

0 commit comments

Comments
 (0)