1
1
module HydraAuctionOnchain.Scripts
2
2
( auctionMetadataValidatorScript
3
3
, auctionMetadataValidatorUntyped
4
+ , standingBidValidatorScript
5
+ , standingBidValidatorUntyped
4
6
, writeScript
5
7
) where
6
8
7
9
import Data.Text (Text )
8
10
import Data.Text qualified as T (unpack )
11
+ import HydraAuctionOnchain.Types.AuctionTerms (PAuctionTerms )
9
12
import HydraAuctionOnchain.Validators.AuctionMetadata (auctionMetadataValidator )
13
+ import HydraAuctionOnchain.Validators.StandingBid (standingBidValidator )
10
14
import Plutarch (Config (Config ), Script , TracingMode (DoTracingAndBinds ), compile )
11
- import Plutarch.Api.V2 (PValidator )
15
+ import Plutarch.Api.V2 (PCurrencySymbol , PValidator )
12
16
import Plutarch.Unsafe (punsafeCoerce )
13
17
import Ply.Plutarch.TypedWriter (TypedWriter , writeTypedScript )
14
18
19
+ --------------------------------------------------------------------------------
20
+ -- AuctionMetadata
21
+ --------------------------------------------------------------------------------
22
+
15
23
auctionMetadataValidatorUntyped :: ClosedTerm PValidator
16
24
auctionMetadataValidatorUntyped =
17
25
phoistAcyclic $ plam $ \ datum redeemer ctx ->
@@ -24,6 +32,24 @@ auctionMetadataValidatorUntyped =
24
32
auctionMetadataValidatorScript :: Script
25
33
auctionMetadataValidatorScript = compileScript auctionMetadataValidatorUntyped
26
34
35
+ --------------------------------------------------------------------------------
36
+ -- StandingBid
37
+ --------------------------------------------------------------------------------
38
+
39
+ standingBidValidatorUntyped :: ClosedTerm (PCurrencySymbol :--> PAuctionTerms :--> PValidator )
40
+ standingBidValidatorUntyped =
41
+ phoistAcyclic $ plam $ \ auctionCs auctionTerms datum redeemer ctx ->
42
+ popaque $
43
+ standingBidValidator
44
+ # auctionCs
45
+ # auctionTerms
46
+ # punsafeCoerce datum
47
+ # punsafeCoerce redeemer
48
+ # ctx
49
+
50
+ standingBidValidatorScript :: Script
51
+ standingBidValidatorScript = compileScript standingBidValidatorUntyped
52
+
27
53
config :: Config
28
54
config = Config DoTracingAndBinds
29
55
0 commit comments