@@ -111,6 +111,7 @@ module GeniusYield.Types.Script (
111
111
112
112
-- * Script
113
113
GYScript ,
114
+ scriptHash ,
114
115
hashScript ,
115
116
scriptVersion ,
116
117
validatorToScript ,
@@ -191,18 +192,12 @@ import Web.HttpApiData qualified as Web
191
192
-- Validator
192
193
-------------------------------------------------------------------------------
193
194
194
- newtype GYValidator v = GYValidator (GYScript v )
195
- deriving (Eq , Ord , Show )
196
-
197
- deriving newtype instance GEq GYValidator
198
- deriving newtype instance GCompare GYValidator
199
-
200
- instance GShow GYValidator where
201
- gshowsPrec = showsPrec
195
+ {-# DEPRECATED GYValidator "Use GYScript." #-}
196
+ type GYValidator v = GYScript v
202
197
203
198
-- FIXME: Seeing inclusion of CIP-69, we should likely get rid of all these different types of scripts and just have one type of script.
204
199
-- To make it use BuiltinUnit.
205
- validatorFromPlutus :: forall v . SingPlutusVersionI v => PlutusTx. CompiledCode ( PlutusTx. BuiltinData -> PlutusTx. BuiltinData -> PlutusTx. BuiltinData -> () ) -> GYValidator v
200
+ validatorFromPlutus :: forall v a . SingPlutusVersionI v => PlutusTx. CompiledCode a -> GYValidator v
206
201
validatorFromPlutus = coerce (scriptFromPlutus @ v )
207
202
208
203
validatorFromSerialisedScript :: forall v . SingPlutusVersionI v => Plutus. SerialisedScript -> GYValidator v
@@ -221,7 +216,7 @@ validatorFromApi :: forall v. SingPlutusVersionI v => Api.PlutusScript (PlutusVe
221
216
validatorFromApi = coerce (scriptFromApi @ v )
222
217
223
218
validatorHash :: GYValidator v -> GYValidatorHash
224
- validatorHash = coerce scriptApiHash
219
+ validatorHash = coerce scriptHash
225
220
226
221
validatorPlutusHash :: GYValidator v -> PlutusV1. ScriptHash
227
222
validatorPlutusHash = coerce scriptPlutusHash
@@ -238,8 +233,8 @@ validatorToApiPlutusScriptWitness ::
238
233
Api. ScriptRedeemer ->
239
234
Api. ExecutionUnits ->
240
235
Api. ScriptWitness Api. WitCtxTxIn ApiEra
241
- validatorToApiPlutusScriptWitness ( GYValidator s) =
242
- scriptToApiPlutusScriptWitness s
236
+ validatorToApiPlutusScriptWitness =
237
+ scriptToApiPlutusScriptWitness
243
238
244
239
-- | Writes a validator to a file.
245
240
writeValidator :: FilePath -> GYValidator v -> IO ()
@@ -249,50 +244,6 @@ writeValidator file = writeScriptCore "Validator" file . coerce
249
244
readValidator :: SingPlutusVersionI v => FilePath -> IO (GYValidator v )
250
245
readValidator = coerce readScript
251
246
252
- newtype GYValidatorHash = GYValidatorHash Api. ScriptHash
253
- deriving stock (Show , Eq , Ord )
254
-
255
- {- |
256
-
257
- >>> "cabdd19b58d4299fde05b53c2c0baf978bf9ade734b490fc0cc8b7d0" :: GYValidatorHash
258
- GYValidatorHash "cabdd19b58d4299fde05b53c2c0baf978bf9ade734b490fc0cc8b7d0"
259
- -}
260
- instance IsString GYValidatorHash where
261
- fromString = GYValidatorHash . fromString
262
-
263
- {- |
264
-
265
- >>> printf "%s" ("cabdd19b58d4299fde05b53c2c0baf978bf9ade734b490fc0cc8b7d0" :: GYValidatorHash)
266
- cabdd19b58d4299fde05b53c2c0baf978bf9ade734b490fc0cc8b7d0
267
- -}
268
- instance Printf. PrintfArg GYValidatorHash where
269
- formatArg (GYValidatorHash h) = formatArg $ init $ tail $ show h
270
-
271
- validatorHashToPlutus :: GYValidatorHash -> PlutusV1. ScriptHash
272
- validatorHashToPlutus = apiHashToPlutus . validatorHashToApi
273
-
274
- validatorHashToApi :: GYValidatorHash -> Api. ScriptHash
275
- validatorHashToApi = coerce
276
-
277
- validatorHashFromApi :: Api. ScriptHash -> GYValidatorHash
278
- validatorHashFromApi = coerce
279
-
280
- {- |
281
-
282
- >>> validatorHashFromPlutus "cabdd19b58d4299fde05b53c2c0baf978bf9ade734b490fc0cc8b7d0"
283
- Right (GYValidatorHash "cabdd19b58d4299fde05b53c2c0baf978bf9ade734b490fc0cc8b7d0")
284
-
285
- >>> validatorHashFromPlutus "cabdd19b58d4299fde05b53c2c0baf978bf9ade734b490fc0cc8b7"
286
- Left (DeserialiseRawBytesError {ptceTag = "validatorHashFromPlutus: cabdd19b58d4299fde05b53c2c0baf978bf9ade734b490fc0cc8b7, error: SerialiseAsRawBytesError {unSerialiseAsRawBytesError = \"Unable to deserialise ScriptHash\"}"})
287
- -}
288
- validatorHashFromPlutus :: PlutusV1. ScriptHash -> Either PlutusToCardanoError GYValidatorHash
289
- validatorHashFromPlutus vh@ (PlutusV1. ScriptHash ibs) =
290
- bimap
291
- (\ e -> DeserialiseRawBytesError $ Text. pack $ " validatorHashFromPlutus: " <> show vh <> " , error: " <> show e)
292
- validatorHashFromApi
293
- $ Api. deserialiseFromRawBytes Api. AsScriptHash
294
- $ PlutusTx. fromBuiltin ibs
295
-
296
247
-------------------------------------------------------------------------------
297
248
-- Minting Policy
298
249
-------------------------------------------------------------------------------
@@ -684,6 +635,10 @@ instance GShow GYScript where
684
635
685
636
-- In implementation we cache the api representation and hashes.
686
637
638
+ scriptHash :: GYScript v -> GYScriptHash
639
+ scriptHash = hashScript
640
+
641
+ {-# DEPRECATED hashScript "Use scriptHash." #-}
687
642
hashScript :: GYScript v -> GYScriptHash
688
643
hashScript = scriptApiHash >>> scriptHashFromApi
689
644
0 commit comments