diff --git a/hydra-cardano-api/src/Hydra/Cardano/Api.hs b/hydra-cardano-api/src/Hydra/Cardano/Api.hs index 08074d9f456..8251a4c497e 100644 --- a/hydra-cardano-api/src/Hydra/Cardano/Api.hs +++ b/hydra-cardano-api/src/Hydra/Cardano/Api.hs @@ -11,7 +11,7 @@ -- also get rid of era witnesses. -- -- NOTE: This module also uses the **latest plutus version** available --- (currently 'PlutusScriptV2'). So make sure that you give it a plutus script +-- (currently 'PlutusScriptV3'). So make sure that you give it a plutus script -- of the right version (e.g. when compiling and serializing plutus-tx). module Hydra.Cardano.Api ( -- * Common type-alias @@ -230,7 +230,7 @@ pattern ShelleyKeyWitness{shelleyKeyWitness} <- -- ** PlutusScript -type PlutusScript = Cardano.Api.PlutusScript PlutusScriptV2 +type PlutusScript = Cardano.Api.PlutusScript PlutusScriptV3 {-# COMPLETE PlutusScriptSerialised #-} pattern PlutusScriptSerialised :: ShortByteString -> PlutusScript @@ -242,7 +242,7 @@ pattern PlutusScriptSerialised{plutusScriptSerialised} <- -- ** Script -type Script = Cardano.Api.Script PlutusScriptV2 +type Script = Cardano.Api.Script PlutusScriptV3 {-# COMPLETE PlutusScript #-} pattern PlutusScript :: PlutusScript -> Script @@ -250,7 +250,7 @@ pattern PlutusScript{plutusScript} <- Cardano.Api.Shelley.PlutusScript _ plutusScript where PlutusScript = - Cardano.Api.Shelley.PlutusScript PlutusScriptV2 + Cardano.Api.Shelley.PlutusScript PlutusScriptV3 -- ** ScriptInEra @@ -258,7 +258,7 @@ type ScriptInEra = Cardano.Api.ScriptInEra Era -- ** ScriptLanguage -type ScriptLanguage = Cardano.Api.ScriptLanguage PlutusScriptV2 +type ScriptLanguage = Cardano.Api.ScriptLanguage PlutusScriptV3 {-# COMPLETE PlutusScriptLanguage #-} pattern PlutusScriptLanguage :: ScriptLanguage @@ -266,7 +266,7 @@ pattern PlutusScriptLanguage <- Cardano.Api.Shelley.PlutusScriptLanguage _ where PlutusScriptLanguage = - Cardano.Api.Shelley.PlutusScriptLanguage PlutusScriptV2 + Cardano.Api.Shelley.PlutusScriptLanguage PlutusScriptV3 -- ** ScriptWitness @@ -287,7 +287,7 @@ pattern PlutusScriptWitness } <- Cardano.Api.PlutusScriptWitness _ - PlutusScriptV2 + PlutusScriptV3 (PScript plutusScriptWitnessScript) plutusScriptWitnessDatum plutusScriptWitnessRedeemer @@ -296,7 +296,7 @@ pattern PlutusScriptWitness PlutusScriptWitness = Cardano.Api.PlutusScriptWitness scriptLanguageInEra - PlutusScriptV2 + PlutusScriptV3 . PScript -- ** Tx diff --git a/hydra-cardano-api/src/Hydra/Cardano/Api/AddressInEra.hs b/hydra-cardano-api/src/Hydra/Cardano/Api/AddressInEra.hs index 4c9571c505b..cdf2219e9f1 100644 --- a/hydra-cardano-api/src/Hydra/Cardano/Api/AddressInEra.hs +++ b/hydra-cardano-api/src/Hydra/Cardano/Api/AddressInEra.hs @@ -9,13 +9,13 @@ import Cardano.Ledger.Credential qualified as Ledger import Cardano.Ledger.Hashes qualified as Ledger import Cardano.Ledger.Keys qualified as Ledger import Hydra.Cardano.Api.Network (Network) -import PlutusLedgerApi.V2 ( +import PlutusLedgerApi.V3 ( Address (..), Credential (..), StakingCredential (StakingHash, StakingPtr), fromBuiltin, ) -import PlutusLedgerApi.V2 qualified as Plutus +import PlutusLedgerApi.V3 qualified as Plutus -- * Extras diff --git a/hydra-cardano-api/src/Hydra/Cardano/Api/Hash.hs b/hydra-cardano-api/src/Hydra/Cardano/Api/Hash.hs index c65af934b9b..d0cf74f01a1 100644 --- a/hydra-cardano-api/src/Hydra/Cardano/Api/Hash.hs +++ b/hydra-cardano-api/src/Hydra/Cardano/Api/Hash.hs @@ -7,7 +7,7 @@ import Cardano.Ledger.Plutus.TxInfo (transKeyHash) import Cardano.Ledger.SafeHash (unsafeMakeSafeHash) import Cardano.Ledger.Shelley.Scripts qualified as Ledger import Data.ByteString qualified as BS -import PlutusLedgerApi.V2 qualified as Plutus +import PlutusLedgerApi.V3 qualified as Plutus -- * Type conversions diff --git a/hydra-cardano-api/src/Hydra/Cardano/Api/PolicyId.hs b/hydra-cardano-api/src/Hydra/Cardano/Api/PolicyId.hs index 0e9b19c2b21..d4a0b8a5088 100644 --- a/hydra-cardano-api/src/Hydra/Cardano/Api/PolicyId.hs +++ b/hydra-cardano-api/src/Hydra/Cardano/Api/PolicyId.hs @@ -8,7 +8,7 @@ import Cardano.Ledger.Alonzo.Plutus.TxInfo qualified as Ledger import Cardano.Ledger.Hashes qualified as Ledger import Cardano.Ledger.Mary.Value qualified as Ledger import Hydra.Cardano.Api.ScriptHash () -import PlutusLedgerApi.V2 (CurrencySymbol, fromBuiltin, unCurrencySymbol) +import PlutusLedgerApi.V3 (CurrencySymbol, fromBuiltin, unCurrencySymbol) -- * Orphans diff --git a/hydra-cardano-api/src/Hydra/Cardano/Api/ReferenceScript.hs b/hydra-cardano-api/src/Hydra/Cardano/Api/ReferenceScript.hs index e856aad7d33..71fc9739642 100644 --- a/hydra-cardano-api/src/Hydra/Cardano/Api/ReferenceScript.hs +++ b/hydra-cardano-api/src/Hydra/Cardano/Api/ReferenceScript.hs @@ -3,7 +3,7 @@ module Hydra.Cardano.Api.ReferenceScript where import Hydra.Cardano.Api.Prelude import Hydra.Cardano.Api.PlutusScript (fromPlutusScript) -import PlutusLedgerApi.V2 qualified as Plutus +import PlutusLedgerApi.V3 qualified as Plutus -- | Construct a 'ReferenceScript' from any given Plutus script. -- diff --git a/hydra-cardano-api/src/Hydra/Cardano/Api/ScriptData.hs b/hydra-cardano-api/src/Hydra/Cardano/Api/ScriptData.hs index 40410d7a9eb..653addc62ba 100644 --- a/hydra-cardano-api/src/Hydra/Cardano/Api/ScriptData.hs +++ b/hydra-cardano-api/src/Hydra/Cardano/Api/ScriptData.hs @@ -13,7 +13,7 @@ import Data.Aeson (Value (String), withText) import Data.ByteString qualified as BS import Data.ByteString.Base16 qualified as Base16 import Data.Map qualified as Map -import PlutusLedgerApi.V2 qualified as Plutus +import PlutusLedgerApi.V3 qualified as Plutus import Test.QuickCheck (arbitrarySizedNatural, choose, oneof, scale, sized, vector) -- * Extras diff --git a/hydra-cardano-api/src/Hydra/Cardano/Api/TxBody.hs b/hydra-cardano-api/src/Hydra/Cardano/Api/TxBody.hs index c04c9e5743b..5e6284fadb0 100644 --- a/hydra-cardano-api/src/Hydra/Cardano/Api/TxBody.hs +++ b/hydra-cardano-api/src/Hydra/Cardano/Api/TxBody.hs @@ -18,7 +18,7 @@ import Data.Map qualified as Map import Hydra.Cardano.Api.PlutusScript (fromLedgerScript) import Hydra.Cardano.Api.PolicyId (toLedgerPolicyID, toLedgerScriptHash) import Hydra.Cardano.Api.TxIn (toLedgerTxIn) -import PlutusLedgerApi.V2 qualified as Plutus +import PlutusLedgerApi.V3 qualified as Plutus -- | Find and deserialise from 'ScriptData', a redeemer from the transaction -- associated to the given input. diff --git a/hydra-cardano-api/src/Hydra/Cardano/Api/TxIn.hs b/hydra-cardano-api/src/Hydra/Cardano/Api/TxIn.hs index d2eda5c3026..fca294d7480 100644 --- a/hydra-cardano-api/src/Hydra/Cardano/Api/TxIn.hs +++ b/hydra-cardano-api/src/Hydra/Cardano/Api/TxIn.hs @@ -4,13 +4,14 @@ module Hydra.Cardano.Api.TxIn where import Hydra.Cardano.Api.Prelude +import Cardano.Ledger.BaseTypes (txIxToInt) import Cardano.Ledger.BaseTypes qualified as Ledger import Cardano.Ledger.Binary qualified as Ledger -import Cardano.Ledger.Plutus (transTxIn) +import Cardano.Ledger.Plutus (transSafeHash) import Cardano.Ledger.TxIn qualified as Ledger import Data.ByteString qualified as BS import Data.Set qualified as Set -import PlutusLedgerApi.V2 qualified as Plutus +import PlutusLedgerApi.V3 qualified as Plutus import Test.QuickCheck (choose, vectorOf) -- * Extras @@ -54,7 +55,11 @@ fromPlutusTxOutRef (Plutus.TxOutRef (Plutus.TxId bytes) ix) = -- | Convert a cardano-api 'TxIn' into a plutus 'TxOutRef'. toPlutusTxOutRef :: TxIn -> Plutus.TxOutRef -toPlutusTxOutRef = transTxIn . toLedgerTxIn +toPlutusTxOutRef txIn = + -- XXX: The upstream 'transTxIn' works only with the the PlutusV1 type, so we + -- needed to vendor its definition here. + let (Ledger.TxIn (Ledger.TxId safe) txIx) = toLedgerTxIn txIn + in Plutus.TxOutRef (Plutus.TxId $ transSafeHash safe) (toInteger $ txIxToInt txIx) -- * Arbitrary values diff --git a/hydra-cardano-api/src/Hydra/Cardano/Api/TxOut.hs b/hydra-cardano-api/src/Hydra/Cardano/Api/TxOut.hs index b81d85dec16..e806b422b02 100644 --- a/hydra-cardano-api/src/Hydra/Cardano/Api/TxOut.hs +++ b/hydra-cardano-api/src/Hydra/Cardano/Api/TxOut.hs @@ -14,8 +14,8 @@ import Hydra.Cardano.Api.Hash (unsafeScriptDataHashFromBytes) import Hydra.Cardano.Api.Network (Network) import Hydra.Cardano.Api.ScriptData (toScriptData) import Hydra.Cardano.Api.Value (fromPlutusValue, minUTxOValue) -import PlutusLedgerApi.V2 (OutputDatum (..), fromBuiltin) -import PlutusLedgerApi.V2 qualified as Plutus +import PlutusLedgerApi.V3 (OutputDatum (..), fromBuiltin) +import PlutusLedgerApi.V3 qualified as Plutus -- * Extras diff --git a/hydra-cardano-api/src/Hydra/Cardano/Api/Value.hs b/hydra-cardano-api/src/Hydra/Cardano/Api/Value.hs index c1e03eac4d5..cbef38ea1c8 100644 --- a/hydra-cardano-api/src/Hydra/Cardano/Api/Value.hs +++ b/hydra-cardano-api/src/Hydra/Cardano/Api/Value.hs @@ -10,8 +10,8 @@ import Data.Word (Word64) import Hydra.Cardano.Api.CtxUTxO (ToUTxOContext (..)) import Hydra.Cardano.Api.PolicyId (fromPlutusCurrencySymbol) import PlutusLedgerApi.V1.Value (flattenValue) -import PlutusLedgerApi.V2 (adaSymbol, adaToken, fromBuiltin, unTokenName) -import PlutusLedgerApi.V2 qualified as Plutus +import PlutusLedgerApi.V3 (adaSymbol, adaToken, fromBuiltin, unTokenName) +import PlutusLedgerApi.V3 qualified as Plutus -- * Extras diff --git a/hydra-cluster/config/protocol-parameters.json b/hydra-cluster/config/protocol-parameters.json index 81027d9f3b9..179d01250d5 100644 --- a/hydra-cluster/config/protocol-parameters.json +++ b/hydra-cluster/config/protocol-parameters.json @@ -352,7 +352,260 @@ 38887044, 32947, 10 - ] + ], + "PlutusV3": [ + 100788, + 420, + 1, + 1, + 1000, + 173, + 0, + 1, + 1000, + 59957, + 4, + 1, + 11183, + 32, + 201305, + 8356, + 4, + 16000, + 100, + 16000, + 100, + 16000, + 100, + 16000, + 100, + 16000, + 100, + 16000, + 100, + 100, + 100, + 16000, + 100, + 94375, + 32, + 132994, + 32, + 61462, + 4, + 72010, + 178, + 0, + 1, + 22151, + 32, + 91189, + 769, + 4, + 2, + 85848, + 123203, + 7305, + -900, + 1716, + 549, + 57, + 85848, + 0, + 1, + 1, + 1000, + 42921, + 4, + 2, + 24548, + 29498, + 38, + 1, + 898148, + 27279, + 1, + 51775, + 558, + 1, + 39184, + 1000, + 60594, + 1, + 141895, + 32, + 83150, + 32, + 15299, + 32, + 76049, + 1, + 13169, + 4, + 22100, + 10, + 28999, + 74, + 1, + 28999, + 74, + 1, + 43285, + 552, + 1, + 44749, + 541, + 1, + 33852, + 32, + 68246, + 32, + 72362, + 32, + 7243, + 32, + 7391, + 32, + 11546, + 32, + 85848, + 123203, + 7305, + -900, + 1716, + 549, + 57, + 85848, + 0, + 1, + 90434, + 519, + 0, + 1, + 74433, + 32, + 85848, + 123203, + 7305, + -900, + 1716, + 549, + 57, + 85848, + 0, + 1, + 1, + 85848, + 123203, + 7305, + -900, + 1716, + 549, + 57, + 85848, + 0, + 1, + 955506, + 213312, + 0, + 2, + 270652, + 22588, + 4, + 1457325, + 64566, + 4, + 20467, + 1, + 4, + 0, + 141992, + 32, + 100788, + 420, + 1, + 1, + 81663, + 32, + 59498, + 32, + 20142, + 32, + 24588, + 32, + 20744, + 32, + 25933, + 32, + 24623, + 32, + 43053543, + 10, + 53384111, + 14333, + 10, + 43574283, + 26308, + 10, + 16000, + 100, + 16000, + 100, + 962335, + 18, + 2780678, + 6, + 442008, + 1, + 52538055, + 3756, + 18, + 267929, + 18, + 76433006, + 8868, + 18, + 52948122, + 18, + 1995836, + 36, + 3227919, + 12, + 901022, + 1, + 166917843, + 4307, + 36, + 284546, + 36, + 158221314, + 26549, + 36, + 74698472, + 36, + 333849714, + 1, + 254006273, + 72, + 2174038, + 72, + 2261318, + 64571, + 4, + 207616, + 8310, + 4, + 1293828, + 28716, + 63, + 0, + 1, + 1006041, + 43623, + 251, + 0, + 1 + ] }, "maxBlockBodySize": 90112, "maxBlockExecutionUnits": { diff --git a/hydra-node/bench/tx-cost/TxCost.hs b/hydra-node/bench/tx-cost/TxCost.hs index 9c040601959..ee415d94fd0 100644 --- a/hydra-node/bench/tx-cost/TxCost.hs +++ b/hydra-node/bench/tx-cost/TxCost.hs @@ -64,7 +64,7 @@ import Hydra.Ledger.Cardano.Evaluate ( import Hydra.Ledger.Cardano.Time (slotNoFromUTCTime) import Hydra.Plutus.Orphans () import Hydra.Snapshot (genConfirmedSnapshot) -import PlutusLedgerApi.V2 (toBuiltinData) +import PlutusLedgerApi.V3 (toBuiltinData) import PlutusTx.Builtins (lengthOfByteString, serialiseData) import Test.QuickCheck (generate) diff --git a/hydra-node/src/Hydra/Chain/Direct.hs b/hydra-node/src/Hydra/Chain/Direct.hs index 99a3354ee82..cffd6bb4b18 100644 --- a/hydra-node/src/Hydra/Chain/Direct.hs +++ b/hydra-node/src/Hydra/Chain/Direct.hs @@ -45,7 +45,6 @@ import Hydra.Cardano.Api ( connectToLocalNode, getTxBody, getTxId, - toLedgerTx, toLedgerUTxO, pattern Block, ) diff --git a/hydra-node/src/Hydra/Chain/Direct/Tx.hs b/hydra-node/src/Hydra/Chain/Direct/Tx.hs index 0b0f3d8004f..6407eeed85b 100644 --- a/hydra-node/src/Hydra/Chain/Direct/Tx.hs +++ b/hydra-node/src/Hydra/Chain/Direct/Tx.hs @@ -78,8 +78,8 @@ import Hydra.Party (Party, partyFromChain, partyToChain) import Hydra.Plutus.Extras (posixFromUTCTime, posixToUTCTime) import Hydra.Plutus.Orphans () import Hydra.Snapshot (ConfirmedSnapshot (..), Snapshot (..), SnapshotNumber, SnapshotVersion, fromChainSnapshotNumber, fromChainSnapshotVersion, getSnapshot) -import PlutusLedgerApi.V2 (CurrencySymbol (CurrencySymbol), fromBuiltin, getPubKeyHash, toBuiltin) -import PlutusLedgerApi.V2 qualified as Plutus +import PlutusLedgerApi.V3 (CurrencySymbol (CurrencySymbol), fromBuiltin, getPubKeyHash, toBuiltin) +import PlutusLedgerApi.V3 qualified as Plutus import Test.QuickCheck (vectorOf) -- | Needed on-chain data to create Head transactions. diff --git a/hydra-node/src/Hydra/Crypto.hs b/hydra-node/src/Hydra/Crypto.hs index 568a58c8192..b03561a4f1d 100644 --- a/hydra-node/src/Hydra/Crypto.hs +++ b/hydra-node/src/Hydra/Crypto.hs @@ -61,7 +61,7 @@ import Hydra.Cardano.Api ( serialiseToRawBytesHexText, ) import Hydra.Contract.HeadState qualified as OnChain -import PlutusLedgerApi.V2 qualified as Plutus +import PlutusLedgerApi.V3 qualified as Plutus import Test.QuickCheck (vectorOf) import Test.QuickCheck.Instances.ByteString () import Text.Show (Show (..)) diff --git a/hydra-node/src/Hydra/Ledger/Cardano.hs b/hydra-node/src/Hydra/Ledger/Cardano.hs index a0a582e46f6..e7721a02a48 100644 --- a/hydra-node/src/Hydra/Ledger/Cardano.hs +++ b/hydra-node/src/Hydra/Ledger/Cardano.hs @@ -39,7 +39,7 @@ import Formatting.Buildable (build) import Hydra.Cardano.Api.UTxO qualified as Api import Hydra.Contract.Head qualified as Head import Hydra.Ledger (ChainSlot (..), IsTx (..), Ledger (..), ValidationError (..)) -import PlutusLedgerApi.V2 (fromBuiltin) +import PlutusLedgerApi.V3 (fromBuiltin) import Test.Cardano.Ledger.Conway.Arbitrary () import Test.QuickCheck ( choose, diff --git a/hydra-node/src/Hydra/Ledger/Cardano/Evaluate.hs b/hydra-node/src/Hydra/Ledger/Cardano/Evaluate.hs index 525ce9006e3..e823e4021ba 100644 --- a/hydra-node/src/Hydra/Ledger/Cardano/Evaluate.hs +++ b/hydra-node/src/Hydra/Ledger/Cardano/Evaluate.hs @@ -23,17 +23,8 @@ import Cardano.Ledger.Api (CoinPerByte (..), ppCoinsPerUTxOByteL, ppCostModelsL, import Cardano.Ledger.BaseTypes (BoundedRational (boundRational), ProtVer (..), getVersion, natVersion) import Cardano.Ledger.Coin (Coin (Coin)) import Cardano.Ledger.Core (PParams, ppMaxTxSizeL) -import Cardano.Ledger.Plutus ( - LegacyPlutusArgs (..), - PlutusArgs (..), - PlutusLanguage (decodePlutusRunnable), - PlutusRunnable (..), - PlutusWithContext (..), - SLanguage (..), - isLanguage, - unPlutusV2Args, - ) -import Cardano.Ledger.Plutus.Language (Language (PlutusV2)) +import Cardano.Ledger.Plutus (LegacyPlutusArgs (..), PlutusArgs (..), PlutusLanguage (decodePlutusRunnable), PlutusRunnable (..), PlutusWithContext (..), SLanguage (..), isLanguage, unPlutusV2Args) +import Cardano.Ledger.Plutus.Language (Language (PlutusV3)) import Cardano.Ledger.Val (Val ((<+>)), (<×>)) import Cardano.Slotting.EpochInfo (EpochInfo, fixedEpochInfo) import Cardano.Slotting.Slot (EpochNo (EpochNo), EpochSize (EpochSize), SlotNo (SlotNo)) @@ -292,8 +283,8 @@ pparams = { prSteps = fromJust $ boundRational $ 721 % 10000000 , prMem = fromJust $ boundRational $ 577 % 10000 } - & ppProtocolVersionL .~ ProtVer{pvMajor = natVersion @8, pvMinor = 0} - & ppCostModelsL .~ mkCostModels (Map.fromList [(PlutusV2, plutusV2CostModel)]) + & ppProtocolVersionL .~ ProtVer{pvMajor = natVersion @9, pvMinor = 0} + & ppCostModelsL .~ mkCostModels (Map.fromList [(PlutusV3, plutusV3CostModel)]) maxTxSize :: Natural maxTxSize = 16384 @@ -448,184 +439,260 @@ genPointInTimeAfter deadline = do -- ** Plutus cost model fixtures -- | Current (2023-08-04) mainnet PlutusV2 cost model. -plutusV2CostModel :: CostModel -plutusV2CostModel = +plutusV3CostModel :: CostModel +plutusV3CostModel = either (error . show) id $ mkCostModel - PlutusV2 - [ 205665 - , 812 + PlutusV3 + [ 100788 + , 420 , 1 , 1 , 1000 - , 571 + , 173 , 0 , 1 , 1000 - , 24177 + , 59957 , 4 , 1 - , 1000 + , 11183 , 32 - , 117366 - , 10475 + , 201305 + , 8356 , 4 - , 23000 + , 16000 , 100 - , 23000 + , 16000 , 100 - , 23000 + , 16000 , 100 - , 23000 + , 16000 , 100 - , 23000 + , 16000 , 100 - , 23000 + , 16000 , 100 , 100 , 100 - , 23000 + , 16000 , 100 - , 19537 + , 94375 , 32 - , 175354 + , 132994 , 32 - , 46417 + , 61462 , 4 - , 221973 - , 511 + , 72010 + , 178 , 0 , 1 - , 89141 + , 22151 , 32 - , 497525 - , 14068 + , 91189 + , 769 , 4 , 2 - , 196500 - , 453240 - , 220 + , 85848 + , 123203 + , 7305 + , -900 + , 1716 + , 549 + , 57 + , 85848 , 0 , 1 , 1 , 1000 - , 28662 + , 42921 , 4 , 2 - , 245000 - , 216773 - , 62 + , 24548 + , 29498 + , 38 , 1 - , 1060367 - , 12586 + , 898148 + , 27279 , 1 - , 208512 - , 421 + , 51775 + , 558 , 1 - , 187000 + , 39184 , 1000 - , 52998 + , 60594 , 1 - , 80436 + , 141895 , 32 - , 43249 + , 83150 , 32 - , 1000 + , 15299 , 32 - , 80556 + , 76049 , 1 - , 57667 + , 13169 , 4 - , 1000 + , 22100 , 10 - , 197145 - , 156 + , 28999 + , 74 , 1 - , 197145 - , 156 + , 28999 + , 74 , 1 - , 204924 - , 473 + , 43285 + , 552 , 1 - , 208896 - , 511 + , 44749 + , 541 , 1 - , 52467 + , 33852 , 32 - , 64832 + , 68246 , 32 - , 65493 + , 72362 , 32 - , 22558 + , 7243 , 32 - , 16563 + , 7391 , 32 - , 76511 + , 11546 , 32 - , 196500 - , 453240 - , 220 + , 85848 + , 123203 + , 7305 + , -900 + , 1716 + , 549 + , 57 + , 85848 , 0 , 1 - , 1 - , 69522 - , 11687 + , 90434 + , 519 , 0 , 1 - , 60091 + , 74433 , 32 - , 196500 - , 453240 - , 220 + , 85848 + , 123203 + , 7305 + , -900 + , 1716 + , 549 + , 57 + , 85848 , 0 , 1 , 1 - , 196500 - , 453240 - , 220 + , 85848 + , 123203 + , 7305 + , -900 + , 1716 + , 549 + , 57 + , 85848 , 0 , 1 - , 1 - , 1159724 - , 392670 + , 955506 + , 213312 , 0 , 2 - , 806990 - , 30482 + , 270652 + , 22588 , 4 - , 1927926 - , 82523 + , 1457325 + , 64566 , 4 - , 265318 - , 0 + , 20467 + , 1 , 4 , 0 - , 85931 + , 141992 , 32 - , 205665 - , 812 + , 100788 + , 420 , 1 , 1 - , 41182 + , 81663 , 32 - , 212342 + , 59498 , 32 - , 31220 + , 20142 , 32 - , 32696 + , 24588 , 32 - , 43357 + , 20744 , 32 - , 32247 + , 25933 , 32 - , 38314 + , 24623 , 32 - , 35892428 + , 43053543 , 10 - , 57996947 - , 18975 + , 53384111 + , 14333 , 10 - , 38887044 - , 32947 + , 43574283 + , 26308 , 10 + , 16000 + , 100 + , 16000 + , 100 + , 962335 + , 18 + , 2780678 + , 6 + , 442008 + , 1 + , 52538055 + , 3756 + , 18 + , 267929 + , 18 + , 76433006 + , 8868 + , 18 + , 52948122 + , 18 + , 1995836 + , 36 + , 3227919 + , 12 + , 901022 + , 1 + , 166917843 + , 4307 + , 36 + , 284546 + , 36 + , 158221314 + , 26549 + , 36 + , 74698472 + , 36 + , 333849714 + , 1 + , 254006273 + , 72 + , 2174038 + , 72 + , 2261318 + , 64571 + , 4 + , 207616 + , 8310 + , 4 + , 1293828 + , 28716 + , 63 + , 0 + , 1 + , 1006041 + , 43623 + , 251 + , 0 + , 1 ] diff --git a/hydra-node/src/Hydra/Snapshot.hs b/hydra-node/src/Hydra/Snapshot.hs index 4505f0b6b9d..03fe5eb78bc 100644 --- a/hydra-node/src/Hydra/Snapshot.hs +++ b/hydra-node/src/Hydra/Snapshot.hs @@ -15,7 +15,7 @@ import Hydra.Contract.HeadState qualified as Onchain import Hydra.Crypto (HydraKey, MultiSignature, aggregate, sign) import Hydra.HeadId (HeadId) import Hydra.Ledger (IsTx (..)) -import PlutusLedgerApi.V2 (toBuiltin, toData) +import PlutusLedgerApi.V3 (toBuiltin, toData) import Test.QuickCheck (frequency, suchThat) import Test.QuickCheck.Instances.Natural () diff --git a/hydra-node/test/Hydra/Chain/Direct/Contract/Close/CloseInitial.hs b/hydra-node/test/Hydra/Chain/Direct/Contract/Close/CloseInitial.hs index 84af4e24759..f1191c7f5b3 100644 --- a/hydra-node/test/Hydra/Chain/Direct/Contract/Close/CloseInitial.hs +++ b/hydra-node/test/Hydra/Chain/Direct/Contract/Close/CloseInitial.hs @@ -31,7 +31,7 @@ import Hydra.Ledger (hashUTxO) import Hydra.Plutus.Extras (posixFromUTCTime) import Hydra.Plutus.Orphans () import Hydra.Snapshot (ConfirmedSnapshot (..), SnapshotNumber, SnapshotVersion) -import PlutusLedgerApi.V2 (POSIXTime, toBuiltin) +import PlutusLedgerApi.V3 (POSIXTime, toBuiltin) import Test.QuickCheck (oneof, suchThat) import Test.QuickCheck.Instances () diff --git a/hydra-node/test/Hydra/Chain/Direct/Contract/Close/CloseUnused.hs b/hydra-node/test/Hydra/Chain/Direct/Contract/Close/CloseUnused.hs index 7cc49f52eb9..ee99647ac90 100644 --- a/hydra-node/test/Hydra/Chain/Direct/Contract/Close/CloseUnused.hs +++ b/hydra-node/test/Hydra/Chain/Direct/Contract/Close/CloseUnused.hs @@ -56,7 +56,7 @@ import Hydra.Plutus.Orphans () import Hydra.Snapshot (Snapshot (..)) import Hydra.Snapshot qualified as Snapshot import PlutusLedgerApi.V1.Time (DiffMilliSeconds (..), fromMilliSeconds) -import PlutusLedgerApi.V2 (POSIXTime, PubKeyHash (PubKeyHash), toBuiltin) +import PlutusLedgerApi.V3 (POSIXTime, PubKeyHash (PubKeyHash), toBuiltin) import Test.QuickCheck (arbitrarySizedNatural, choose, elements, listOf1, oneof, resize, suchThat) import Test.QuickCheck.Instances () diff --git a/hydra-node/test/Hydra/Chain/Direct/Contract/Close/CloseUsed.hs b/hydra-node/test/Hydra/Chain/Direct/Contract/Close/CloseUsed.hs index 6f65d189abf..78dbfea0bbb 100644 --- a/hydra-node/test/Hydra/Chain/Direct/Contract/Close/CloseUsed.hs +++ b/hydra-node/test/Hydra/Chain/Direct/Contract/Close/CloseUsed.hs @@ -59,7 +59,7 @@ import Hydra.Plutus.Extras (posixFromUTCTime) import Hydra.Plutus.Orphans () import Hydra.Snapshot (ConfirmedSnapshot, Snapshot (..), SnapshotNumber, SnapshotVersion, getSnapshot, signatures) import PlutusLedgerApi.V1.Time (DiffMilliSeconds (..), fromMilliSeconds) -import PlutusLedgerApi.V2 (POSIXTime, PubKeyHash (PubKeyHash), toBuiltin) +import PlutusLedgerApi.V3 (POSIXTime, PubKeyHash (PubKeyHash), toBuiltin) import Test.QuickCheck (arbitrarySizedNatural, choose, elements, listOf1, oneof, suchThat) import Test.QuickCheck.Instances () diff --git a/hydra-node/test/Hydra/Chain/Direct/Contract/Close/Healthy.hs b/hydra-node/test/Hydra/Chain/Direct/Contract/Close/Healthy.hs index b5d1c49b737..2ff3ec8e5e0 100644 --- a/hydra-node/test/Hydra/Chain/Direct/Contract/Close/Healthy.hs +++ b/hydra-node/test/Hydra/Chain/Direct/Contract/Close/Healthy.hs @@ -21,7 +21,7 @@ import Hydra.Ledger.Cardano.Evaluate (genValidityBoundsFromContestationPeriod) import Hydra.Party (Party, deriveParty, partyToChain) import Hydra.Plutus.Orphans () import Hydra.Snapshot (ConfirmedSnapshot (..), Snapshot) -import PlutusLedgerApi.V2 (BuiltinByteString, toBuiltin) +import PlutusLedgerApi.V3 (BuiltinByteString, toBuiltin) import Test.Hydra.Fixture (aliceSk, bobSk, carolSk, genForParty) import Test.QuickCheck (elements) import Test.QuickCheck.Instances () diff --git a/hydra-node/test/Hydra/Chain/Direct/Contract/Contest/ContestCurrent.hs b/hydra-node/test/Hydra/Chain/Direct/Contract/Contest/ContestCurrent.hs index c3f735f65e2..978e3e00fb1 100644 --- a/hydra-node/test/Hydra/Chain/Direct/Contract/Contest/ContestCurrent.hs +++ b/hydra-node/test/Hydra/Chain/Direct/Contract/Contest/ContestCurrent.hs @@ -49,8 +49,8 @@ import Hydra.Party (Party, deriveParty, partyToChain) import Hydra.Plutus.Extras (posixFromUTCTime) import Hydra.Plutus.Orphans () import Hydra.Snapshot (Snapshot (..), SnapshotNumber, SnapshotVersion) -import PlutusLedgerApi.V2 (BuiltinByteString, toBuiltin) -import PlutusLedgerApi.V2 qualified as Plutus +import PlutusLedgerApi.V3 (BuiltinByteString, toBuiltin) +import PlutusLedgerApi.V3 qualified as Plutus import Test.Hydra.Fixture (aliceSk, bobSk, carolSk, genForParty) import Test.QuickCheck (arbitrarySizedNatural, elements, listOf, listOf1, oneof, resize, suchThat, vectorOf) import Test.QuickCheck.Gen (choose) diff --git a/hydra-node/test/Hydra/Chain/Direct/Contract/Mutation.hs b/hydra-node/test/Hydra/Chain/Direct/Contract/Mutation.hs index 774a9737c0c..3e86e3510d3 100644 --- a/hydra-node/test/Hydra/Chain/Direct/Contract/Mutation.hs +++ b/hydra-node/test/Hydra/Chain/Direct/Contract/Mutation.hs @@ -156,8 +156,8 @@ import Hydra.Ledger.Cardano (genKeyPair, genOutput) import Hydra.Ledger.Cardano.Evaluate (evaluateTx) import Hydra.Plutus.Orphans () import Hydra.Prelude hiding (label) -import PlutusLedgerApi.V2 (CurrencySymbol, POSIXTime, toData) -import PlutusLedgerApi.V2 qualified as Plutus +import PlutusLedgerApi.V3 (CurrencySymbol, POSIXTime, toData) +import PlutusLedgerApi.V3 qualified as Plutus import System.Directory.Internal.Prelude qualified as Prelude import Test.Hydra.Prelude import Test.QuickCheck ( diff --git a/hydra-node/test/Hydra/Chain/Direct/ContractSpec.hs b/hydra-node/test/Hydra/Chain/Direct/ContractSpec.hs index cc2bbee4015..e0ed75cedac 100644 --- a/hydra-node/test/Hydra/Chain/Direct/ContractSpec.hs +++ b/hydra-node/test/Hydra/Chain/Direct/ContractSpec.hs @@ -50,7 +50,7 @@ import Hydra.Ledger.Simple (SimpleTx) import Hydra.Party (deriveParty, partyToChain) import Hydra.Plutus.Orphans () import Hydra.Snapshot (Snapshot (..)) -import PlutusLedgerApi.V2 (fromBuiltin, toBuiltin) +import PlutusLedgerApi.V3 (fromBuiltin, toBuiltin) import Test.QuickCheck ( Property, conjoin, diff --git a/hydra-node/test/Hydra/Chain/Direct/StateSpec.hs b/hydra-node/test/Hydra/Chain/Direct/StateSpec.hs index 772eb36d4b0..98a04a23165 100644 --- a/hydra-node/test/Hydra/Chain/Direct/StateSpec.hs +++ b/hydra-node/test/Hydra/Chain/Direct/StateSpec.hs @@ -114,7 +114,7 @@ import Hydra.Ledger.Cardano.Time (slotNoFromUTCTime) import Hydra.Snapshot (ConfirmedSnapshot (InitialSnapshot, initialUTxO)) import Hydra.Snapshot qualified as Snapshot import PlutusLedgerApi.Test.Examples qualified as Plutus -import PlutusLedgerApi.V2 qualified as Plutus +import PlutusLedgerApi.V3 qualified as Plutus import Test.Aeson.GenericSpecs (roundtripAndGoldenSpecs) import Test.QuickCheck ( Property, diff --git a/hydra-plutus-extras/src/Hydra/Plutus/Extras.hs b/hydra-plutus-extras/src/Hydra/Plutus/Extras.hs index 3ac01ce0b38..81a181b97c3 100644 --- a/hydra-plutus-extras/src/Hydra/Plutus/Extras.hs +++ b/hydra-plutus-extras/src/Hydra/Plutus/Extras.hs @@ -17,7 +17,7 @@ import Cardano.Api ( ) import Cardano.Api.Shelley (PlutusScript (PlutusScriptSerialised)) import PlutusLedgerApi.Common (SerialisedScript) -import PlutusLedgerApi.V2 (ScriptHash (..)) +import PlutusLedgerApi.V3 (ScriptHash (..)) import PlutusTx (BuiltinData, UnsafeFromData (..)) import PlutusTx.Prelude (BuiltinUnit, check, toBuiltin) diff --git a/hydra-plutus-extras/src/Hydra/Plutus/Orphans.hs b/hydra-plutus-extras/src/Hydra/Plutus/Orphans.hs index 95a9faeaec0..bf4d2514fa0 100644 --- a/hydra-plutus-extras/src/Hydra/Plutus/Orphans.hs +++ b/hydra-plutus-extras/src/Hydra/Plutus/Orphans.hs @@ -10,7 +10,7 @@ import Data.Aeson (object, withObject, (.:), (.=)) import Data.Aeson qualified as Aeson import Data.ByteString qualified as BS import Data.ByteString.Base16 qualified as Base16 -import PlutusLedgerApi.V2 (CurrencySymbol, POSIXTime (..), PubKeyHash (..), TokenName, TxId (..), TxOutRef (..), UpperBound, Value, upperBound) +import PlutusLedgerApi.V3 (CurrencySymbol, POSIXTime (..), PubKeyHash (..), TokenName, TxId (..), TxOutRef (..), UpperBound, Value, upperBound) import PlutusTx.AssocMap qualified as AssocMap import PlutusTx.Prelude (BuiltinByteString, Eq, fromBuiltin, toBuiltin) import Test.QuickCheck (choose, vectorOf) diff --git a/hydra-plutus/exe/inspect-script/Main.hs b/hydra-plutus/exe/inspect-script/Main.hs index eba50d7a565..ba9964061cd 100644 --- a/hydra-plutus/exe/inspect-script/Main.hs +++ b/hydra-plutus/exe/inspect-script/Main.hs @@ -15,7 +15,7 @@ import Hydra.Contract.Head as Head import Hydra.Contract.HeadState as Head import Hydra.Contract.HeadTokens qualified as HeadTokens import Hydra.Contract.Initial as Initial -import PlutusLedgerApi.V2 (Data, SerialisedScript, toData) +import PlutusLedgerApi.V3 (Data, SerialisedScript, toData) import PlutusTx (getPlc) import PlutusTx.Code (CompiledCode) import Prettyprinter (defaultLayoutOptions, layoutPretty) diff --git a/hydra-plutus/scripts/mHead.plutus b/hydra-plutus/scripts/mHead.plutus index df389baa4e9..eadcb647f7a 100644 --- a/hydra-plutus/scripts/mHead.plutus +++ b/hydra-plutus/scripts/mHead.plutus @@ -1,5 +1,5 @@ { - "type": "PlutusScriptV2", - "description": "hydra-mHead-0.17.0-373-g7a77b71e5", - "cborHex": "5911c65911c30100003332323233223322323233223232323232323232323232222225335325335323232325335333573400203a0382244002264a66a666ae6800407807444880084c07d24103505431003370e900100199b8748000008d55cf0011aab9d0013754006266014921034d30360053353330082232333573400203803666e3c008004c024004c02cd40048800884cc074894cd40044070884d4008894cd4c8ccd5cd00081081019b88001480004c01800c407c004406054cc8d4cc02d241034d303100323301e225335001101c22153353500a2235004223253353335734002048046264666ae68004094090cdc3802001081199b8f004002101f130040010013301d225335001101a22133501b350022200230040013500122222222222200c15332323232323235330114901034d30320032333573400204204066e1cc94cd4ccc04088c8ccd5cd00081201199b8f00200150073013008213002001148000c8cc88c88c008004c098894cd4004400c884d400888cc020004c01800cc00488008c004880048cc00488cdc0001000a400066e0000520021325335330124901034d3033003302422533500110222213500222325335333573400205004e2602c0042600e00866e3c00801cd54014880044c94cd54cc8d4cc0512401034d30340032333573400204804666e1c010cc0184488c88c008004c0a0894cd4004400c884cc018008c0100040044cc06494cd4ccc04c88c8ccd5cd00081381319b8f002001004001215335001130264901034d303800221350022253350031533532333573400205405266e1c005200210291302a491034d303800221302c491034d30380013025491034d303700001330252253350011022221335023350022200130040010011021153353301825333500115016215335301b00121330164901034d31320032333573400204c04a66e3c0040144c0952401034d31320021501733025225335001102222133502335002220023004001001133013491034d303500533532333573400204604466e3cc01088800c0084d4c01088800888d403c88c94cd4ccd5cd000813813099199ab9a0010280273370e008004204c66e3c010008408440844084cc01803802040814018c00488800554d5400888ccd400854054854cd4cccccc06400488c94c8c8c8c8c8cd4ccd5cd0030148140a99a9999aab9f0072502323232302633027002001357440126ae840200ac84d4004894cd4c014008854cd4cccd55cf80112813919191815198158010009aba20043574200605e426a00244a66a66a01601800442a66a6666aae7c008940ac8c8c8c0b8cc0bc008004d5d10021aba10030332135001225335302b00221533533335573e0044a05e4646460640046ae88010d5d080181b90a99a9999998170009119299a999ab9a0010390381533533335573e0044a06646464606c6606e0040026ae88010d5d080181d909a80091299a99999981a0011119299a999ab9a00103f03e1533533335573e0044a0724646460780046ae88010d5d080182090a99a981b80090981d8008a81c8a81c0a81c19b8748000008940d8940d8940d8940d8854cd4cccd55cf8011281b91919181d0011aba20043574200607e42a66a6030002426072660760060022a06e2a06c2a06a2a0642a06466e1d20000022503025030250302503021303112222333300200f00b0070051300e4984c035261300c4984c02526130084984c01526130044984c00526130014988c94c8cd4ccd5cd0010158150a99a9999aab9f00925025232323028002357440166ae840280b4854cd4cccccc09000488c94cd4ccd5cd0008178170a99a9999aab9f0022502923232302c3302d002001357440086ae8400c0c484d4004894cd4c0a4008854cd4cccd55cf80112816919191818198188010009aba20043574200606a426a00244a66a66a02202400442a66a6666aae7c008940c48c8c8c0d0cc0d4008004d5d10021aba10030392135001225335301300221533533335573e0044a06a464646070660720040026ae88010d5d080181e909a80091299a980c00110a99a9999aab9f0022503923232303c002357440086ae8400c104854cd4c0dc00484c0ec48ccccc004040030020010008540e4540e0540dc540d0540cc540c0540bc540b0540ac540a0540a0cdc3a40000044a04c4a04c4a04c4a04c42604e24444600200a260049309800a4c260029311929919a999ab9a00202d02c1533533335573e0164a04e4646460540046ae88034d5d080601790a99a9999998130009119299a999ab9a0010310301533533335573e0044a05646464605c6605e0040026ae88010d5d0801819909a80091299a981580110a99a9999aab9f0022502f23232303233033002001357440086ae8400c0dc84d400488c94cd4cc00405400c854cd4cccd55cf8019281a11919181b9981c0010009aba200535742008078426a00244a66a602c00442a66a6666aae7c008940e08c8c8c0eccc0f0008004d5d10021aba10030402135001225335301b00221533533335573e0044a07846464607e660800040026ae88010d5d0801822109a80091299a980f80110a99a9999aab9f0022504023232304333044002001357440086ae8400c12084d4004894cd4c100008854cd4cccd55cf80112822119191823998240010009aba200435742006098426a00244a66a66666608a0044464a66a666ae6800414013c4c12941244c94cd4ccd5cd0008288280a99a9999aab9f0032504b23232304e0023574400a6ae8401014c854cd4c12400484c134c1340045412c5412854128cdc3a400000666e1d20020022504725047250472504721533533335573e0044a090464646096660980040026ae88010d5d0801828109a80091299a9980c82400110a99a9999aab9f0022504c23232304f002357440086ae8400c150854cd4c0b400484c13848ccccccccc004084070060050040030020010008541305412c541285411c541185410c54108540fc540f8540ec540e8540dc540d8540cc540c9404c540b8540b4540a8540a8cdc3a40000044a0504a0504a0504a05042605224444600800a260049309800a4c2600293119299a999ab9a00102e02d1302812222003150273370e900300619b8748010028cdc3a400401046666660400024464a66a666ae680040ac0a854cd4cccd55cf801128129191918140011aba20043574200605a42a66a600c00242604e0022a04a2a0482a04866e1d200000225022250222502225022233333301f001225022250212502123022001250211322322333333021001225024250230022502325023302a2233335573e002400a4a66a60086ae84008854cd4c010d5d100190981319a8148010008a812099281218019aba200202b301f02325335301c0012130200011501e3370e90000011280d9280d9280d9280d90a9999a80090a80b8a80b1111099091998008020018011980488911911801000981591299a800880191099803001180200080190a80b898112481034d3039002150162335500122337000029001240002a66a660020100062603a9201034d313100221533500110022213021491034d3131002233020225335001101d22132533535003222235004223350022502223253353335734002054052260486604a00c00e2a04666e3c00403884cd40800040084004c010004d40048888888888880284c0280084064d4004880084060c8c8c8c94cd4ccd5cd00080e00d89919191991091980080180119191919299a999ab9a001023022132323232323232323232332333233333233323332222222222221233333333333300100d00c00b00a009008007006005004003002330032323232325335333573400206c06a26644246600200600460306ae84008c018d5d09aba200213037490103505431003370e90000011aab9e00235573a0026ea8004d5d08081aba100e330030013574201a464646464a66a666ae680040d40d04c8c8c8cccc888848cccc00401401000c008c8c8c8c94cd4ccd5cd00081e01d89991091980080180118101aba10023300501f357426ae880084c0f5240103505431003370e90000011aab9e00235573a0026ea8d5d080298049aba1003323232325335333573400207807622444006264a66a666ae680040f40f04c84888c004010dd71aba10031325335333573400207c07a264244460040086ae840104c0fd24103505431003370e900200219b874800800ccdc3a40000046aae78008d55ce8009baa3574200466002eb8d5d09aba200222323232325335333573400207a0782a06c264a66a666ae680040f80f44c0e0c01cd5d08018981fa4903505431003370e900000199b8748008008d55cf0011aab9d00137540026ae88004d5d10010981b24903505431003370e90000011aab9e00235573a0026ea8004c004d5d080598009aba100a3002300275a6ae84020d5d08039aba10063300175c6ae840148c88c008dd60009819111999aab9f0012030233502f30043574200460066ae880080ccd5d08019980090009aba10022322300237560026062446666aae7c00480bc8c8cd40bccc0b4dd71aab9d001300535573c00260086ae8800cd5d08010191aba1357440026ae88004d5d10009aba2001357440026ae88004d5d10009aba2001357440026ae88004d5d10010981224903505431003370e90000011aab9e00235573a0026ea8d5d080299191919299a999ab9a001023022132122223003005375c6ae840084c94cd4ccd5cd00081201189909111180080298031aba10031325335333573400204a04826424444600400a60106ae840104c94cd4ccd5cd00081301289909111180200299191919299a999ab9a00102a029132122222223005008300d35742004264a66a666ae680040ac0a84c848888888c01c020c038d5d0801899299a999ab9a00102c02b133221222222233006009008300f357420086eb8d5d09aba20041325335333573400205a0582664424444444660040120106eb8d5d08029bae357426ae880144c94cd4ccd5cd0008170168999109111111198008048041bae3574200c6eb4d5d09aba20061325335333573400205e05c224444444008264a66a666ae680040c00bc44888888800c4c0c524103505431003370e900600419b874802801ccdc3a401000c66e1d20060053370e900200219b874800800ccdc3a40000046aae78008d55ce8009baa3574200a2604e920103505431003370e900300299b8748010010cdc3a400400666e1d200000235573c0046aae74004dd51aba13574400a464646464a66a666ae6800408c0884cc07cc8c8c8c94cd4ccd5cd00081381309bae357420042605092103505431003370e90000011aab9e00235573a0026ea8d5d08011bad357426ae880084c09124103505431003370e90000011aab9e00235573a0026ea80048c8c8c8c94cd4ccd5cd000811010899091180100198031aba10021325335333573400204604426466644424466600200a0080066eb4d5d08021bad357420026eb4d5d09aba20013574400626048920103505431003370e900100199b8748000008d55cf0011aab9d0013754002464646464a66a666ae680040840804c8488c00800cdd71aba10021325335333573400204404226424460020066eb8d5d080189811a48103505431003370e900100199b8748000008d55cf0011aab9d00137540022603a920103505431003370e90000011aab9e00235573a0026ea80045261301949103505435003015225335001101322135002223253353335734002032030264666ae68004068064cdc3801240042600e00866e3c00922010b48796472614865616456310022322300200130162253350011500e22135002225335330080020071301300113006003235001223233335002250022001250022500213263357389201024c68000152253350011011133573800402046a0024444444444440102601c921034d3132001300d491034d3039001300c491034d31300023223002001300e225335001100d2215335300500213004001100e2333333002001225005250042500425004230050012222223333333574800c4646600e6aae74004d55cf0009baa00723005375600e460086eb001c8c00cdd6803918011bae007010212230020031122001221233001003002221233001003002122002122122330010040031220021220012326335738002004240024646002002460044660040040029111c2fac819a1f4f14e29639d1414220d2a18b6abd6b8e444d88d0dda8ff0048811cbd9fad235c871fb7f837c767593018a84be3083ff80f9dab5f1c55f90001" + "type": "PlutusScriptV3", + "description": "hydra-mHead-0.18.0-0-g1ae6839e4", + "cborHex": "5915a85915a50101003332323232323232323222225953232323293232323255333573400223002113255333573400223000113015490103505431003370e900100199b8748000008d55cf0011aab9d0013755200b22200244cc009241034d303600593330012232333573400300080119b8f002001300400530039005911001a426602444b200318004886400a44b264666ae6800600100233710002900044c01800e30020003180122b266004921034d303100323301222590018c00a442b3201722900491192a999ab9a0011132333573400300080119b870040021180119b8f004002230008980200080026602244b2003180048860072005220024c01000499005911001a4444444444440188a9991919191499803a49034d30320032333573400300080119b8732593330072232333573400300080119b8f00200150063009900b911001a4260040031480006466446446004002603244b20031003910c801488cc020004c01800c90019100124006440028009119b80002001a4000337012b2a0072290028a809c8564cccccc05c00488c94c8c8c8c8c94ccd5cd00308ac9999aab9f0072801140060026ae840226ae88020800486400644b2600a005215933335573e00450022800c004d5d0801cd5d1001900090c800c8964cc02c03000a42b26666aae7c008a00450018009aba10039aba20032001219001912c981480148564cccd55cf801140088c8ca002004357440086ae8400e001215933333302c001223255333573400222b26666aae7c008a00450018009aba10039aba20032001219001912c981880148564cccd55cf801140088c8ca002004357440086ae8400e0012159301800190c00600200700123002460048c0088c008230023370e900000114008a0045002280148600300500b803c00e00244c0392644c0352644c0312622601293226010931130054991300449889800a4c1130014988c94c94ccd5cd00108ac9999aab9f00928011191940040086ae8802cd5d0805400242b26666660440024464aa666ae680044564cccd55cf80114008a003001357420073574400640024320032259302700290ac9999aab9f0022801140060026ae8400e6ae8800c800486400644b266022024005215933335573e00450022800c004d5d0801cd5d1001900090c800c8964c04c00a42b26666aae7c008a00450018009aba10039aba20032001219001912c980c00148564cccd55cf801140088c8ca002004357440086ae8400e0012159303500190c00600201f00b803c00e002460048c009180111801230022300246004460048c0088c008230023370e900000114008a004500228014860030070012260049322600293044c005262325325333573400422b26666aae7c02ca004464650010021aba200d3574201900090ac99999981200091192a999ab9a001115933335573e00450022800c004d5d0801cd5d1001900090c800c8964c0a400a42b26666aae7c008a00450018009aba10039aba20032001219001912c9980980a00148564cccd55cf80114008a003001357420073574400640024320032259301500290ac9999aab9f0022801140060026ae8400e6ae8800c800486400644b26034005215933335573e00450022800c004d5d0801cd5d1001900090c800c8964c07800a42b26666aae7c008a00450018009aba10039aba20032001219001912c981e80148564cccd55cf80114008a003001357420073574400640024320032259333333042002223255333573400223001801044c954ccd5cd00088ac9999aab9f00328011191940040086ae88014d5d0802400242b2608c00321800c0040048c009180104600466e1d20000033370e900100114008a0045002280148564cccd55cf80114008a0030013574200735744006400243200322593302b04500290ac9999aab9f00228011191940040086ae88010d5d0801c00242b2605800321800c00407e037017809c03e017007801c0048c0091801230022300246004460048c0088c009180111801230022300246004460048c0088c00918011180104600466e1d2000002280114008a004500290c00600200244c0092644c00526089800a4c464aa666ae680044600300208c008cdc3a400c01866e1d200400a3370e9001004119999980f00091192a999ab9a001115933335573e0045002232328008010d5d10021aba100380048564c01800643001001460048c008230023370e900000114008a00450022801119999980e800914008a004500228008008a004464466666603c00245002280100114008a004603c446666aae7c004a00300012c98021aba100290ac98021aba200390c0060060050012300244ca00460066ae88009000259301a00190c00400518010cdc3a40000045002280114008a005215900190a80ac5405244443001002800ccc0284488c88c008004c08089640062007221330060023004001001a42a02a8980c2481034d303900485405091100092002899192c99804a481034d3033003301822590018c00a4432005223255333573400222602e00422600e00866e3c008020900191000a264b2b266014921034d30340032333573400300080119b8795900291480145405a42b26666660340024464a6464646464a666ae680184564cccd55cf80394008a003001357420113574401040024320032259300500290ac9999aab9f0022801140060026ae8400e6ae8800c800486400644b266016018005215933335573e00450022800c004d5d0801cd5d1001900090c800c8964c0b000a42b26666aae7c008a004464650010021aba20043574200700090ac99999981780091192a999ab9a001115933335573e00450022800c004d5d0801cd5d1001900090c800c8964c0d000a42b26666aae7c008a004464650010021aba20043574200700090ac980c000c86003001003800918012300246004460041180119b8748000008a004500228011400a43001802805c01e00700122601c9322601a93226018931130094991300849889802a4c8980224c44c00526089800a4c464a64a666ae680084564cccd55cf804940088c8ca002004357440166ae8402a0012159333333025001223255333573400222b26666aae7c008a00450018009aba10039aba20032001219001912c981500148564cccd55cf80114008a0030013574200735744006400243200322593301101200290ac9999aab9f0022801140060026ae8400e6ae8800c800486400644b26026005215933335573e00450022800c004d5d0801cd5d1001900090c800c8964c06000a42b26666aae7c008a004464650010021aba20043574200700090ac981c000c8600300100f805c01e00700123002460048c0088c009180111801230022300246004460041180119b8748000008a004500228011400a4300180380091300249913001498226002931192992999ab9a002115933335573e0165002232328008010d5d10069aba100c80048564cccccc09c00488c954ccd5cd00088ac9999aab9f0022801140060026ae8400e6ae8800c800486400644b26058005215933335573e00450022800c004d5d0801cd5d1001900090c800c8964cc04c05000a42b26666aae7c008a00450018009aba10039aba20032001219001912c980a80148564cccd55cf80114008a003001357420073574400640024320032259301a00290ac9999aab9f0022801140060026ae8400e6ae8800c800486400644b2603c005215933335573e00450022800c004d5d0801cd5d1001900090c800c8964c10000a42b26666aae7c008a00450018009aba10039aba20032001219001912c99999982280111192a999ab9a00111800c0082264aa666ae680044564cccd55cf801940088c8ca0020043574400a6ae840120012159304900190c006002002460048c008230023370e900000199b8748008008a004500228011400a42b26666aae7c008a00450018009aba10039aba20032001219001912c9981582400148564cccd55cf801140088c8ca002004357440086ae8400e0012159302c00190c00600203f01b80bc04e01f00b803c00e002460048c009180111801230022300246004460048c0088c009180111801230022300246004460048c0088c008230023370e900000114008a004500228014860030010012260049322600293044c005262325533357340022300180104600466e1d200600c3370e900200519b87480080208cccccc08400488c954ccd5cd00088ac9999aab9f00228011191940040086ae88010d5d0801c00242b2600c00321800800a3002460041180119b8748000008a00450022801140088cccccc0800048a0045002280114004004500223223333330210012280114008008a004500230212233335573e00250018000964c010d5d080148564c010d5d1001c8600300300280091801226500230033574400480012c980e800c860020028c00866e1d2000002280114008a004500290ac800c8540622a02f2222180080140066601a22446446004002604644b20031003910998030011802000800d21501844c06d2401034d303900485405c9110008cc0144488c88c008004c06c896400620072213300600230040011980c912c800c6001221801c80148800530040010c006403644400689980a92c9998051119199ab9a0018004008cdc7801000802000c8564006260349201034d303800910c8014896400e2b264666ae680060010023370e0029001460011301e4901034d3038004884c0812401034d3038001130194901034d3037001980c912c800c6001221801c80148800530040010c00640364440068c009159330152590018a809c8564c060006426601a9201034d31320032333573400300080119b8f0010068980d2481034d31320048540506603244b2003180048860072005220024c0100043001900d911001a264660169201034d3035005932333573400300080119b8f9001911001801233200322200248a40464464aa666ae6800444c8ccd5cd000c00200466e1c0100084600466e3c0100088c008b20052290028a80b48564cccccc06800488c94c8c8c8c8c94ccd5cd00308ac9999aab9f0072801140060026ae840226ae88020800486400644b2600a005215933335573e00450022800c004d5d0801cd5d1001900090c800c8964cc02c03000a42b26666aae7c008a00450018009aba10039aba20032001219001912c981600148564cccd55cf801140088c8ca002004357440086ae8400e001215933333302f001223255333573400222b26666aae7c008a00450018009aba10039aba20032001219001912c981a00148564cccd55cf801140088c8ca002004357440086ae8400e0012159301800190c00600200700123002460048c0088c008230023370e900000114008a0045002280148600300500b803c00e00244c0392644c0352644c0312622601293226010931130054991300449889800a4c1130014988c94c94ccd5cd00108ac9999aab9f00928011191940040086ae8802cd5d0805400242b266666604a0024464aa666ae680044564cccd55cf80114008a003001357420073574400640024320032259302a00290ac9999aab9f0022801140060026ae8400e6ae8800c800486400644b266022024005215933335573e00450022800c004d5d0801cd5d1001900090c800c8964c04c00a42b26666aae7c008a00450018009aba10039aba20032001219001912c980c00148564cccd55cf801140088c8ca002004357440086ae8400e0012159303800190c00600201f00b803c00e002460048c009180111801230022300246004460048c0088c008230023370e900000114008a004500228014860030070012260049322600293044c005262325325333573400422b26666aae7c02ca004464650010021aba200d3574201900090ac99999981380091192a999ab9a001115933335573e00450022800c004d5d0801cd5d1001900090c800c8964c0b000a42b26666aae7c008a00450018009aba10039aba20032001219001912c9980980a00148564cccd55cf80114008a003001357420073574400640024320032259301500290ac9999aab9f0022801140060026ae8400e6ae8800c800486400644b26034005215933335573e00450022800c004d5d0801cd5d1001900090c800c8964c07800a42b26666aae7c008a00450018009aba10039aba20032001219001912c982000148564cccd55cf80114008a003001357420073574400640024320032259333333045002223255333573400223001801044c954ccd5cd00088ac9999aab9f00328011191940040086ae88014d5d0802400242b2609200321800c0040048c009180104600466e1d20000033370e900100114008a0045002280148564cccd55cf80114008a0030013574200735744006400243200322593302b04800290ac9999aab9f00228011191940040086ae88010d5d0801c00242b2605800321800c00407e037017809c03e017007801c0048c0091801230022300246004460048c0088c009180111801230022300246004460048c0088c00918011180104600466e1d2000002280114008a004500290c00600200244c0092644c00526089800a4c464aa666ae680044600300208c008cdc3a400c01866e1d200400a3370e9001004119999981080091192a999ab9a001115933335573e0045002232328008010d5d10021aba100380048564c01800643001001460048c008230023370e900000114008a004500228011199999810000914008a004500228008008a004464466666604200245002280100114008a0046042446666aae7c004a00300012c98021aba100290ac98021aba200390c0060060050012300244ca00460066ae88009000259301d00190c00400518010cdc3a40000045002280114008a005215900190a80c45405e44443001002800ccc0344488c88c008004c08c89640062007221330060023004001001a42a0308980da49034d303900485405c8c00918010c01803e300228022802c004466aa0024466e00005200248000564cc004026401e44400689809249034d313100910ac800c400a442602c9201034d313100088cc05089640063000910992cc801c888a4012452005280148c954ccd5cd00088c00600200d00704600466e3c004038486006003002440046008002900191111111111100504c010014600518010446446004002602444b200318014886400a44b26601000400f1800800a2600c006089640063000899ab9c0028010a400644444444444401029001911194801489400e400322500392801489400e4a0041326335738921024c6800800229344c03124103505435001804112c800c6005221900291192a999ab9a0011132333573400300080119b870024800844c01c010cdc780124410b48796472614865616456310004c0192401034d31320013005491034d30390013004491034d31300023223002001300522590018c002442b2600a005130040018c00823333330020012280114008a004500228008008888888ccccccd5d2003119198039aab9d00135573c0026ea801c8c014dd5803918021bac00723003375a00e460046eb801e000464c66ae7000600046460020024600446600400400291011cf7e550bb9e69508e0c83cbf17007e3a7bf08f2ced471383757424ba10048811c54f2d7379f80371d1b2bb1fec3a6fa26257d0fadf7221739368d55880001" } diff --git a/hydra-plutus/scripts/vCommit.plutus b/hydra-plutus/scripts/vCommit.plutus index fe6650bee67..accd7a4ff90 100644 --- a/hydra-plutus/scripts/vCommit.plutus +++ b/hydra-plutus/scripts/vCommit.plutus @@ -1,5 +1,5 @@ { - "type": "PlutusScriptV2", - "description": "hydra-vCommit-0.17.0-348-gd8c94a18c3", - "cborHex": "5906cc5906c9010000323233223322323232323323232322222533533300430050033232325333573466e1d2000002112200115333573466e1d200200211220021300c00b35573c0046aae74004dd50011991919191911919192999ab9a3370e90000010999109198008018011919192999ab9a3370e9000001099191919191919191919199999999999911111111111091999999999998008068060058050048040038030028020018011980e11919192999ab9a3370e900000109991091980080180118109aba10013016357426ae880044c08c088d55cf0011aab9d00137540026ae8402cd5d08051980e0091aba100933301675ca02a6ae84020ccc059d7280a9aba10073574200c6ae84014d5d08021980e3ae357420066ae84008ccc059d710009aba1001357426ae88004d5d10009aba2001357440026ae88004d5d10009aba2001357440026ae88004d5d10009aba20011301501435573c0046aae74004dd51aba10013232325333573466e1d2000002132122223003005375c6ae8400454ccd5cd19b87480080084c848888c004014c04cd5d08008a999ab9a3370e900200109909111180100298049aba100115333573466e1d20060021321222230040053232325333573466e1d2000002132122222223005008300c357420022a666ae68cdc3a400400426424444444600e01060186ae8400454ccd5cd19b87480100084cc8848888888cc018024020c030d5d08009bae357426ae8800454ccd5cd19b87480180084cc8848888888cc008024020dd71aba1001375c6ae84d5d10008a999ab9a3370e90040010999109111111198008048041bae357420026eb4d5d09aba200115333573466e1d200a00211222222200415333573466e1d200c0021122222220031301801735573c0046aae74004dd51aba10011301501435573c0046aae74004dd51aba135744002260240226aae78008d55ce8009baa0013223232325333573466e1d200000213232333322221233330010050040030023232325333573466e1d2000002133221233001003002300c35742002660140166ae84d5d10008980b80b1aab9e00235573a0026ea8d5d0801999805bae500a35742004646464a666ae68cdc3a4000004224440062a666ae68cdc3a4004004264244460020086eb8d5d08008a999ab9a3370e9002001099091118010021aba10011301701635573c0046aae74004dd51aba10013300775c6ae84d5d10009aba200135744002260240226aae78008d55ce8009baa001223232325333573466e1d2002002112200115333573466e1d20000021321223002003300535742002260240226aae78008d55ce8009baa00123232325333573466e1d200000213212230020033005357420022a666ae68cdc3a400400426466644424466600200a0080066eb4d5d08011bad357420026eb4d5d09aba2001357440022602001e6aae78008d55ce8009baa00123232325333573466e1d20000021321223002003375c6ae8400454ccd5cd19b87480080084c8488c00400cdd71aba10011300f00e35573c0046aae74004dd5000899800bae75a4464460046eac004c05088cccd55cf800900a91919a80a9991091980080180118031aab9d001300535573c00260086ae8800cd5d08010070008a4c2601292103505435003223232325333573466e1d200000213233322212333001004003002375c6ae84008c018d5d08009bae357426ae88004d5d1000898048041aab9e00235573a0026ea8004c0048c8c8c94ccd5cd19b87480000084cc8848cc00400c008c018d5d08009bae357426ae880044c02001cd55cf0011aab9d0013754002464460046eb0004c03488cccd55cf8009007119a80698021aba100230033574400400e4646464a666ae68cdc3a4000004266442466002006004646464a666ae68cdc3a400000426eb8d5d0800898048041aab9e00235573a0026ea8d5d08009bad357426ae880044c018014d55cf0011aab9d001375400292103505431003232222350032223232533500713300a49010343303100300135300900622222222222200813300a49010343303200300235533535300900622222222222200a1300b491035054380022100222220033013225335001101022135002225333573466e3c0080204c0480044c01800cc048894cd4004403c884d4008894ccd5cd19b8f0020071301200113006003235001220022253350011008133573800400e464c66ae7000400848004c01c894cd40044010884d4008894ccd5cd19b8f00200c1333573466e1d2001001009008130060033006225335001100322135002225333573466e3c00802c4ccd5cd19b874800800402001c4c01800c488008488004488008488488cc00401000d22010b4879647261486561645631002323001001230022330020020011" + "type": "PlutusScriptV3", + "description": "hydra-vCommit-0.18.0-0-g1ae6839e4", + "cborHex": "590b86590b83010000323232332233223232323232323232323232323232323232323222253353333232222350032223232533500713300a49010343303100300135300900622222222222200813300a49010343303200300235533535300900622222222222200a1301a491035054380022100222220033026225335001102222135002225333573466e3c0080204c08c0044c01800cc094894cd40044084884d4008894ccd5cd19b8f0020071302400113006003235001222003225335001101a13357380040326008006646464a666ae68cdc3a400000422440022a666ae68cdc3a40040042244004260260246aae78008d55ce8009baa0023232325333573466e1d2000002132333222123330010040030023232325333573466e1d20000021323232323232323232323333333333332222222222221233333333333300100d00c00b00a0090080070060050040030023301a23232325333573466e1d200000213322123300100300230203574200260426ae84d5d1000898128121aab9e00235573a0026ea8004d5d08059aba100a3301a01d35742012666046eb94088d5d0804199811bae50223574200e6ae84018d5d08029aba10043301a75c6ae8400cd5d0801199811bae018357420026ae84d5d10009aba2001357440026ae88004d5d10009aba2001357440026ae88004d5d10009aba2001357440022602e02c6aae78008d55ce8009baa357420046ae84004c8c8c94ccd5cd19b87480000084c84888888c01401cdd71aba100115333573466e1d2002002133221222222330020080073012357420026602a01c6ae84d5d10008a999ab9a3370e900200109909111111801803980a1aba100115333573466e1d200600213322122222233006008007375a6ae84004c8c8c94ccd5cd19b87480000084cc88488888888888cc014034030c05cd5d08009980c3ad357426ae8800454ccd5cd19b87480080084cc88488888888888cc008034030c05cd5d08009980c3ad357426ae8800454ccd5cd19b87480100084cc88488888888888cc028034030c05cd5d0800980a1aba1357440022a666ae68cdc3a400c00426466644424444444444466600c01c01a01860306ae84008c054d5d08009bad357426ae88004d5d10008a999ab9a3370e90040010999109111111111119803806806180b9aba1001375a6ae84d5d10008a999ab9a3370e90050010990911111111111800806180b9aba100115333573466e1d200c002133221222222222223300300d00c3017357420026eb4d5d09aba200115333573466e1d200e002133221222222222223300900d00c375c6ae84004dd71aba1357440022a666ae68cdc3a4020004266442444444444446601001a0186eb8d5d08009bad357426ae8800454ccd5cd19b87480480084cc88488888888888cc02c034030c05cd5d0800980b9aba1357440022a666ae68cdc3a40280042642444444444446008018602e6ae840044c068064d55cf0011aab9d00137546ae84d5d10008a999ab9a3370e9004001099091111118008039919192999ab9a3370e900000109909111801802180b9aba100115333573466e1d2002002132122230020043017357420022a666ae68cdc3a4008004264244460020086eb8d5d08008980d00c9aab9e00235573a0026ea8d5d08008a999ab9a3370e9005001099910911111198020040039bad35742002646464a666ae68cdc3a4000004264666444246660020080060046eb4d5d0801180c1aba10013232325333573466e1d20000021323332221222222233300300a0090083301d017357420046ae84004cc075d71aba1357440026ae8800454ccd5cd19b87480080084cc8848888888cc01c024020cc070058d5d08009919192999ab9a3370e90000010999109198008018011bad357420026eb4d5d09aba20011302102035573c0046aae74004dd51aba1357440022a666ae68cdc3a4008004266442444444466004012010666040036eb4d5d08009980e3ae357426ae8800454ccd5cd19b87480180084c848888888c010020cc070058d5d08008a999ab9a3370e900400109919199991110911111119998008058050048041980f00c1aba10033301901d3574200466604403aeb4d5d08009a9919192999ab9a3370e90000010998179bad357420026eb4d5d09aba20011302302235573c0046aae74004dd51aba135744002446602e0040026ae88004d5d10008a999ab9a3370e90050010999109111111198028048041980e00b1aba10013232325333573466e1d200000213301f75c6ae840044c084080d55cf0011aab9d00137546ae84d5d10008a999ab9a3370e90060010891111110030980f00e9aab9e00235573a0026ea8d5d09aba200135744002260340326aae78008d55ce8009baa357426ae880044c05c058d55cf0011aab9d00137546ae84d5d10009aba20011301301235573c0046aae74004dd50008a4c26020920103505435003223232325333573466e1d200000213233322212333001004003002375c6ae84008c018d5d08009bae357426ae88004d5d1000898088081aab9e00235573a0026ea8004c0148c8c8c94ccd5cd19b87480000084cc8848cc00400c008c02cd5d08009bae357426ae880044c04003cd55cf0011aab9d00137540026030444a666ae68cdc3800809898072481035054330015333573466e2000404c4cc00ccdc080980119b81013001132332212330010030023370800600266e10008004cc010008004c05c8894ccd5cd19b8700101210021330030013370c00400240024646464a666ae68cdc3a40000042664424660020060046eb8d5d08009bad357426ae880044c03002cd55cf0011aab9d0013754002464460046eb0004c05488cccd55cf800900a919a80a18021aba100230033574400401a644646464a666ae68cdc3a4000004264244460060086eb8d5d08008a999ab9a3370e90010010990911180080218029aba100115333573466e1d200400213322122233002005004375c6ae84004c014d5d09aba20011300b00a35573c0046aae74004dd500091919192999ab9a3370e90000010990911180180218039aba100115333573466e1d20020021122200215333573466e1d2004002112220011300a00935573c0046aae74004dd500091919192999ab9a3370e90000010999109198008018011bae357420026eb4d5d09aba20011300900835573c0046aae74004dd500091919192999ab9a3370e900000109919199991110919998008028020018011919192999ab9a3370e900000109991091980080180118051aba10013300b23232325333573466e1d20000021321223002003300e357420022a666ae68cdc3a400400426466644424466600200a0080066eb4d5d08011bad357420026eb4d5d09aba200135744002260220206aae78008d55ce8009baa001357426ae880044c034030d55cf0011aab9d00137546ae8400cccc031d728059aba10023232325333573466e1d20000021122200315333573466e1d200200213212223001004375c6ae8400454ccd5cd19b87480100084c84888c008010d5d0800898068061aab9e00235573a0026ea8d5d0800998043ae357426ae88004d5d10009aba20011300800735573c0046aae74004dd500091919192999ab9a3370e900000109909118010019bae357420022a666ae68cdc3a400400426424460020066eb8d5d0800898038031aab9e00235573a0026ea800488c8c8c94ccd5cd19b8748008008448800454ccd5cd19b87480000084c8488c00800cc014d5d0800898038031aab9e00235573a0026ea8005240103505431002326335738002008266002eb9d69119118011bab001300d2233335573e002401a46466a01a66020600c6aae74004c014d55cf00098021aba20033574200400a24002601244a66a002200a4426a00444a666ae68cdc78010068999ab9a3370e00266e0401d200200a0091300600348000c01c894cd4004400c884d4008894ccd5cd19b8f00200b1333573466e1d2002001008007130060031220021220011220021221223300100400348810b48796472614865616456310022123300100300223230010012300223300200200101" } diff --git a/hydra-plutus/scripts/vHead.plutus b/hydra-plutus/scripts/vHead.plutus index 60e4e0d3a3a..b947c9c7148 100644 --- a/hydra-plutus/scripts/vHead.plutus +++ b/hydra-plutus/scripts/vHead.plutus @@ -1,5 +1,5 @@ { - "type": "PlutusScriptV2", - "description": "hydra-vHead-0.17.0-373-g7a77b71e5", - "cborHex": "5927cf5927cc010000323233322232332232323232323322323233223232323322323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232333322223232323232323232323232323232323232323232323232323232323232323232222533532323253233335004323232323221533333350091306b49884c1b1261306b498c8c8c8c8854cd4c061402c54cd54ccd5cd19b8735303000d2222222220065005107c13357389201034831330007b153355333573466e254024d40188888888880144cd5ce2481034833310007b107c1533500123003533533300d50053333301550045006500a35303100e22222222200435303100e222222222003001107d13357389201034833390007c22300453355335535303200f2222222223350032108701108701133300e500633333016500533702a00e900128059a9819007911111111002183c800801083e883f099ab9c491034834300007d107b107b107b3232322335001153353302100f500515335533533232230020013090012253350011081012215333573466e3c0140084208044c0100054031400841f84cd5ce2481034833380007d1535500d2222222222223535005220012233553335002215333573466e24005404c4234044cd5ce2481034833320008c011506115061153355335333502b08901501733509601501a5010108c011335738921034833360008b01153355335333573466e1cc1d9405cc1dd40602300422c0454ccd5cd19b8735304001d2222222220015012108c011335738921034833340008b0115333573466e1cd4c100074888888888004cdc028092808884600899ab9c491034833350008b011533533302a330910150185014330910135304001d2222222220075011330910135304001d2222222220095013153353303c5335304d01d21350012235001222200310970135533535501b22222222222200a130730392210022222003108c01133573892010248340008b01108b01108b01108b01108b01107d107d107d13500622222222200213500522222222200713500422222222200113500322222222200913500222222222200813500122222222200621306c498884d4028894cd4ccc06cd4008888888888888020d4014888888888024d4014888888888020c854cd54ccd5cd19b8f3023335017005500135006222222222004107c13357389201034834310007b15335533553500622222222233500321333573466e3c004c0b4c8cd408803c004cd40c403d402c21804214044ccd5cd19b8748000034214042100441f04cd5ce249034834320007b1350032222222222223535005220022253335002215333573466e24004d40548888888880044cd5ce2481034834330008a01108b011507615076107b107b13500222222222222200a107a13530290062222222220021353028005222222222008135302700422222222200515355001222222222222335004130544988854cd40044008884c161261350022200213065498888c8c8c8854c8cccccd402c540048540084d4028894cc8d54ccd5cd19b8f35303100d22222001302b355001222003107c1335738921034831370007b153355333573466e1d200035303100d22222002107c1335738921034832300007b1533533301a330810135303100d2222200400a330810135303100d2222200300b330810135303100d222220050091533553353302853500322222222222233500a10930122130780013232333075077002305200135004222222222222009355001222001107c1335738921034831390007b15335533530085335303d00d213500122350012222003108701107c1335738921034831360007b153355335333573466e1cd54004888008c1b00281f01ec41f04cd5ce249034831380007b153353301f00d00913018003107b107b107b107b107b107b130063500222222222222200c107a215002215002221500315333333500a13500922533533301a3500222222222222200800700832153353301e00c0081533533078302a50013022335016306850013500322222222222200a107b13357389201034831350007a107a133004085013500222222222222200c107921306d4984c1b12621306d49884c1b526221306e498c21c0488c894cd4004400c884d4008894cd4cc11402c0044cc020c018c12400400c4cc02001c00cc22404894cd4004400c884cd421804008c010004c21804894cd40044ccc10c20805200008201221323500322350032322253353303e350052222004353040011223500122220041007153353304700d005133304c3003304b005337009001001000899982600200119983b83c8009a802911100198470091299a800880191099a845808011802000980200098428091299a800883a9109a801112999ab9a3371e00400e260d20022600c0066464646442a666666a010260d4931919191910a99a980ba8050a99aa999ab9a3371266e04d4d4d5402888888888888801488004894ccd400884004541c0541c0d4d4d5402888888888888801488008894ccd400884004541bc541bd401041ec4cd5ce2481034832320007a153355333573466e1cd4c0bc030888888888004c8d403488d4008888888888888d4d401488004894ccd400884cdc00008090a83e8a83ea802083d899ab9c491034832330007a153353301e00c5003153355333573466e1cd4c0bc030888888888019400841ec4cd5ce249034831330007a1533553335001153355333573466e1d2000500215333573466e1d200035302f00c2222222220051333573466e3cd4c0bc030888888888010d4018888880041ec1e841e841e841ec4cd5ce2481034832380007a21533533300c5006333330145004500335303000d22222222200535303000d22222222200435303000d222222222003001107c13357389201034832390007b22153355335535303100e2222222223350032108601108601133300d500733333015500533702a00890011a98188071111111110029a9818807111111111002183c000801083e083e899ab9c491034833300007c153355335535302f00c22222222233500210840122108501107b13357389201034832360007a1533553353302b5335303c00c21350012235001222200310860135533535500a22222222222200a130620282210022222003107b133573892010248340007a1333019330800135302f00c2222222220085005330800135302f00c2222222220075004330800135302f00c2222222220095003107a107a107a107a107a107a107a107a135004222220021350032222200513500222222003135001222220041306a49884c1ad2632322153353330173307e350042222200450063307e350042222200335302e00a222220033307e5003500532153355333573466e1cd4c0bc02c88888008cdc024004a00620f4266ae7124103483231000791533533300a500733333012500650033500222200235302f00b2222200130753021500135002222003153355335330265335303b00b213500122350012222003108501333071073355335500813061027221002222200330705001107a133573892010248340007913301d00b50041079107910791335014350012220015335500713060491035054390022100110781350022222200213500122222005221306c4984d4c0a4014888880144d4c0a0010888880104d400c88d40088888888888880284d40088800888c894cd54cd4ccd5cd19b87300d004300e00107407313002335500b004001107310741335738920103483132000733083012253350011074221535002223353350072222223335734666e54020cdc51bb3375200c66e28dd99ba8005337146eccdd400219b8a37666ea400cdd99ba9533500221001104700107e07d0011300600310773232325333573466e1d20000021332212330010030023232325333573466e1d20000021323232323232323232323333333333332222222222221233333333333300100d00c00b00a0090080070060050040030023306705b35742016660ce0b66ae84028cc19c178d5d0804999831bae5062357420106660c6eb94188d5d08039983382d1aba100633306305f75a6ae84014c8c8c94ccd5cd19b87480000084cc8848cc00400c008c8c8c94ccd5cd19b87480000084cc8848cc00400c008cc179d69aba1001305d357426ae880044c1b01acd55cf0011aab9d00137546ae84004c8c8c94ccd5cd19b87480000084cc8848cc00400c008cc179d69aba1001305d357426ae880044c1b01acd55cf0011aab9d00137546ae84d5d1000898348341aab9e00235573a0026ea8d5d080219833bae357420066660c60b20ac6ae84008ccc18dd702b1aba1001305d357426ae88004d5d10009aba2001357440026ae88004d5d10009aba2001357440026ae88004d5d10009aba20011305c05b35573c0046aae74004dd51aba1001304c357426ae880044c164160d55cf0011aab9d0013754006646464a666ae68cdc3a4000004224444440082a666ae68cdc3a40040042642444444600400e646464a666ae68cdc3a400000426466644424666002008006004660baeb8d5d08011bad357420026eb4d5d09aba200135744002260b60b46aae78008d55ce8009baa357420022a666ae68cdc3a40080042642444444600a00e646464a666ae68cdc3a4000004224440062a666ae68cdc3a400400426424446004008660b8eb8d5d08008a999ab9a3370e9002001099910911198008028021982e3ae357420026eb8d5d09aba20011305b05a35573c0046aae74004dd51aba100115333573466e1d2006002132122222230030073232325333573466e1d200000213212230020033305c75c6ae8400454ccd5cd19b87480080084cc88488cc00401000ccc171d71aba1001375c6ae84d5d10008982d82d1aab9e00235573a0026ea8d5d08008a999ab9a3370e9004001089111110030a999ab9a3370e9005001099910911111198008040039bad357420026eb4d5d09aba20011305805735573c0046aae74004dd50019919192999ab9a3370e9000001099191999815182b9aba10033305a05b357420046eb8d5d080098279aba1357440026ae88004d5d10008a999ab9a3370e9001001098139919192999ab9a3370e90000010991919199998191bae35742008660bc0be6ae8400cc16cd5d08011bad357420026eb8d5d09aba2001357440026ae88004d5d10008982d02c9aab9e00235573a0026ea8d5d08008a999ab9a3370e9002001098151919192999ab9a3370e900000109919191919191919999999981a9bae35742010660c40c66ae8401cc17cd5d08031bad3574200a6eb4d5d08021bae35742006660b8eb8d5d0801198313ae357420026eb4d5d09aba2001357440026ae88004d5d10009aba2001357440026ae88004d5d10008982d02c9aab9e00235573a0026ea8d5d08008a999ab9a3370e900300108148982b82b1aab9e00235573a0026ea800c40804c15124103505435003307a221122533500210782215335003107a22133507b330760040023355300812001003001120012222212333330010060050040030023078225335001148000884cdc024004600800260ee44a66a0022900011099b8048008c010004cc1d8884894ccd5cd19b890024800041d054cd400441d0884cd41d4008cd4c01848004cdc0802240040022400246a002444444444444a66a601c01020e2266ae712401035530310007030742253350011065223213500322300300130782253350011300600322135002225333573466e1d200000113006003106c22235003223500422350052253355335333500a068006005153353302a004003133068002001106a106a106b13357389210248320006a330722212225335002153350011066221067221533500310672215335330070040021333530091200100700300110691200122232330752253350011300348000884d4008894ccd5cd19b8f002009130073370201c60180022600c0060084a666ae68cdc380099b8048008c01400841904cd5ce248103483134000633070225335001148000884cdc024004600800260de44a66a00220084426a0044466e00004c01800c88c8d400c894cd4c01cd40088888888888880104c98cd5ce24902483600057232215335001153353002300b30063500522222222222200c10651335738921024835000642213263357389210248370005c307422533500110642215335330640050021067130040013070225335001106c22135002223232330782253350011003221335075002300400100230070043302d00735001222200348000c1b0894cd400441a0884cd41a4008c010004c1ac894cd4004419c884cd41a0008c0100048dc91801000983491299a800881191099b8a37666a004444466e9520003357406a0084466e952000335740601600466ae80cc0308cd40048cdd2a400066ae80c034004dd880b91119ba548008cd5d01ba80033357406ea0008cd5d01ba800137620320026ec4054cd5d01998093a95011003335740a666a004266e95200037620264266e9520043357400026ec405084cdd2a400466ae80dd48009bb101433574066014ea4004dd88099802000919a800919ba548000cd5d01ba90013762018466e9520023357406ea4004dd880611299a8009099ba548000cd5d018018009bb100c13374a90011bb100b33066221225333573466e24009200010011533500110642213353006120013370200890010008900099111999980182a1180300099980182a1199ab9a3370e900000082c02b80b00100091191911911198018010009835111299a80109802800910a99a801898040021109a80211191a80291299a998088028010a99a9980680200089980600400308320a99a9808002099806004005099801a99a98080008838099a8378038380031839911299a80088321109a80111299a980a0008998038030018a99a9980a8048010a99a9980880400089980800619983d111299a80108009109980280099a83c001001803001883409980399a839802003001983411299a800882c9109a80111299a980400089803001882e183391299a800882c1109a80111299a980380089803001882da4903505438003063225335001105422135002225333573466e1d2000001130060031057237246030602a60b400244666ae68cdc79bb3333004752a0060046eccccc011d4a801800829028899800ba923750002446446e98c008004c184894cd40044dd90029109a8011119aba0337606010004600e002600c00693191299a9802180580090a9999a8009080089801a4c44442600e9310980224c2600493119319ab9c4910248330004232253353003300a001215333350012130044984c00d26222213007498840044c00926232633573892010248330004132233333301e00122532333573466e1d20000031533533335573e0044a09446096660aa6ae8400cd5d1001822109a80091299a980400110a99a9999aab9f0022504e2304f33059357420066ae8800c12084d4004894cd4cc08c090008854cd4cccd55cf80112829118299982e9aba100335744006098426a00244a66a605400442a66a6666aae7c008941588c8c8c164008d5d10021aba1003050215335302b001213058333301500b0070030011300e4984c035261300c4984c02526130084984c01526130044984c0052613001498c894ccd5cd19b874800801054cd4cccd55cf801928259191918270011aba20053574200808a42a66a66666604600244a666ae68cdc3a40000042a66a6666aae7c004941388c13ccc164d5d08011aba20020482135001225335302600221533533335573e0044a0a4460a6660ba6ae8400cd5d1001826109a80091299a9981381400110a99a9999aab9f002250562305733061357420066ae8800c14084d4004894cd4c050008854cd4cccd55cf8011282d1182d998329aba1003357440060a8426a00244a66a606600442a66a6666aae7c008941788c8c8c184008d5d10021aba100305821533530340012130603333302100f00b0070030011505e1505d1505c1505915058150551505415051150501504d1504d2504c2504c2504c2504c21304d3009001130034984c0092613002498c894ccd5cd19b874801001054cd4cccd55cf801928259191918270011aba20053574200808a42a66a66666604600244a666ae68cdc3a40000042a66a6666aae7c004941388c13ccc164d5d08011aba20020482135001225335302600221533533335573e0044a0a4460a6660ba6ae8400cd5d1001826109a80091299a9981381400110a99a9999aab9f002250562305733061357420066ae8800c14084d4004894cd4c050008854cd4cccd55cf8011282d1182d998329aba1003357440060a8426a00244a66a606600442a66a6666aae7c008941788c17ccc1a4d5d08019aba20030582135001225335303700221533533335573e0044a0c4460c6660da6ae8400cd5d100182e109a80091299a981d00110a99a9999aab9f002250662306733071357420066ae8800c18084d4004894cd4cccccc100008894ccd5cd19b87480080084c1ad41a854ccd5cd19b874800000854cd4cccd55cf800928359191918370011aba2003357420040ca42a66a60820024260da60da0022a0d62a0d42a0d44a0d24a0d24a0d24a0d242a66a6666aae7c008941a88c1accc1d4d5d08019aba200306421350012253353303f04200221533533335573e0044a0dc4646460e20046ae88010d5d080183410a99a982280090983819999999981800f80d80b8098078058038018008a8370a8368a8360a8348a8340a8328a8320a8308a8300a82e8a82e0a82c8a82c0a82a8a82a0a8288a8280a8268a82692826128261282612826109826980600089801a4c26004930980124c4a666ae68cdc3a400c006260940102a0924a08e4a08e4a08e4a08e466666603a00244a666ae68cdc3a40000042a66a6666aae7c004941208c8c8c12c008d5d10019aba1002042215335301f00121304a00115048150471504725046250462504625046212222300400512222003222212222333300200800700600521222230010052222222221233333333300100a009008007006005004003002222221233333001006005004003002322535001223353500222222222222200a130044988854cd4cc01cd40088888010d4c02401488d400488880104c0700084c0192623263357389210348313100039223500222350032232335005233500425333573466e3c0080045400c412881288cd4010812894ccd5cd19b8f00200115003104a153350032153350022133500223350022335002233500223304b002001204d2335002204d23304b00200122204d222335004204d2225333573466e1c01800c54ccd5cd19b8700500213300f004001104f104f10481533500121048104822333573466e1c00800410c10894cd4c008004840044c98cd5ce24810248380003623500122350022222222222223333500d2011201120112330602253350011504b22135002225350022235009223355333573466e3c0100084ccd5cd19b870030010590581058130540081300a00700d5038304e22533500113002300304a2215335001100222130063007005304d22533500110492215335001100322133504c330070040023006001304c222533500210012215335003100432221533353304f00500215003133504d0023300800700115003133504a00233005001003304b2253350011005221335002223714002600800244666ae68cdc3a4004600a660060046a00244440060760744644a66aa66a600400242606e0022a06a426609a44a66a002209244264a66a6a00644a666ae68cdc3a40040022607c0042a07a4266a09800200420026008002002208c609444a66a0022a06a4426a00444a666ae68cdc78010038981d00089803001a441003047225335001148000884cdc02400460080024a66a646466666601400444a666ae68cdc3a40000042a66a6666aae7c004940d48c0d8cc100d5d08011aba200202f2135001225335300b00221533533335573e0044a07246074660886ae8400cd5d1001819909a80091299a980500110a99a9999aab9f0022503d232323040002357440086ae8400c0dc854cd4c04c00484c0fcccc04001c00c004540f4540f0540ec540e0540dc540d0540d0940cc940cc940cc940ccc0108cccccc028004894ccd5cd19b874800000854cd4cccd55cf8009281a9181b198201aba10023574400405e426a00244a66a601800442a66a6666aae7c008940e48c8c8c0f0008d5d10021aba1003033215335300f00121303b123300100400215039150381503715034150342503325033250332503330090012135001222002104122212333001004003002232233333300800122503225031002250312503130452233335573e002460640844a66a60086ae84008854cd4c010d5d100190981a19a8218010008a819099281918019aba200202b25335300300121302f0011502d2333333004001225333573466e1d20000021533533335573e0024a05e46060660746ae84008d5d1001014909a80091299a999999804801112999ab9a3370e90000010a99a9999aab9f00125034232323037002357440066ae840080b8854cd4c02800484c0d8004540d0540cc540cc940c8940c8940c8940c8854cd4cccd55cf8011281991919181b0011aba20043574200605a42a66a601400242606a660940060022a0662a0642a0622a05c2a05c4a05a4a05a4a05a4a05a466666600600244a05a4a0584a0584a0584605a002466666600400244a0584a0564a056460580024a0564444446666666ae900188c8cc01cd55ce8009aab9e001375400e4600a6eac01c8c010dd6003918019bad00723002375c00e0524a6a0024444666a004264c66ae712410248390002721001213263357389210348313000028303d225335001103922133503a3500222330370023302a23370490008008009802000899319ab9c4901034833330002023263357389210348333700020200123232325333573466e1d2000002102b15333573466e1d2002002102c1301301235573c0046aae74004dd5000911919192999ab9a3370e9000001089110010a999ab9a3370e90010010990911180180218029aba100115333573466e1d2004002112220011301301235573c0046aae74004dd500091919192999ab9a3370e90000010990911118018029bae357420022a666ae68cdc3a400400426424444600200a600e6ae8400454ccd5cd19b87480100084c848888c008014c028d5d08008a999ab9a3370e900300109909111180200298029aba10011301101035573c0046aae74004dd500091919192999ab9a3370e900000109909111111180280418049aba100115333573466e1d20020021321222222230070083009357420022a666ae68cdc3a400800426644244444446600c01201060126ae84004dd71aba1357440022a666ae68cdc3a400c0042664424444444660040120106eb8d5d08009bae357426ae8800454ccd5cd19b87480200084cc8848888888cc004024020dd71aba1001375a6ae84d5d10008a999ab9a3370e90050010891111110020a999ab9a3370e9006001089111111001898080079aab9e00235573a0026ea80048c8c8c94ccd5cd19b87480000084cc8848cc00400c008c014d5d080098039aba1357440022601e01c6aae78008d55ce8009baa00123232325333573466e1d20000021330373005357420026eb4d5d09aba20011300e00d35573c0046aae74004dd500091919192999ab9a3370e900000109bae357420022601a0186aae78008d55ce8009baa00123232325333573466e1d200000213232333322221233330010050040030023232325333573466e1d2000002133221233001003002300b35742002660180146ae84d5d1000898088081aab9e00235573a0026ea8d5d0801999805bae500a35742004646464a666ae68cdc3a4000004224440062a666ae68cdc3a4004004264244460020086eb8d5d08008a999ab9a3370e9002001099091118010021aba10011301101035573c0046aae74004dd51aba10013300975c6ae84d5d10009aba200135744002260180166aae78008d55ce8009baa00123232325333573466e1d200000213212230020033005357420022a666ae68cdc3a400400426466644424466600200a0080066eb4d5d08011bad357420026eb4d5d09aba200135744002260160146aae78008d55ce8009baa00123232325333573466e1d20000021321223002003375c6ae8400454ccd5cd19b87480080084c8488c00400cdd71aba10011300a00935573c0046aae74004dd5000911919192999ab9a3370e90010010a80e8a999ab9a3370e90000010980f18029aba10011300a00935573c0046aae74004dd5000899800bae75a4464460046eac004c0bc88cccd55cf800901611919a8161981398031aab9d001300535573c00260086ae8800cd5d080100a91919192999ab9a3370e900000109bad357420022600c00a6aae78008d55ce8009baa00149010350543100232633573800201e464460046eb0004c0a888cccd55cf8009013919a81318021aba100230033574400402046eb8004c09c894cd4004520002213370090011802000981311299a8008a400044266e0120023004001132633573892103483434000093024225335001148000884cdc0240046008002604644a66a002203e44266a0044444660220260066008002604444a66a00220244426a00444a666ae68cdc7a4410b4879647261486561645631000021333573466e1d2002001017016130060033021225335001148000884cdc0240046008002264c66ae712410348323700004132633573892103483235000031326335738921034832340000223263357389210248310000212001301b225335001101722133500222223300900b00330040012322230033009333500b00a002001301b225335001101722133501835002223301500233008233350012330094800000488cc0280080048cc0240052000001300400123223002001301a2253350011016221335017350022233014002300700130040012233700004002424460040062244002602a44a66a002202244266a0246a004446601e004666a0024601800244666a0140120040024601a002600800244666ae68cdc780100080280209911119191980c91299a800880191099a80b0011802000980100218029980c11299a800880a11099299a9a80191911801005980f11299a80088079109a80111299a99808001003880909803001899a80b00180088009802000801180b91299a800880991099a80a1a8011119198090019800804180e91299a80089aa8088019109a80111299a998078010040891119801005002098030019802000980991299a800880791099a8081a801111980680118060009802000891001091000980811299a800880611099a8069a801111980500118048009802000980791299a800880591099a8061a80111198048011aa8038009802000909111801802089091118008021109198008018011a8019110009a8011110011a800911001999180080091091919980111801111180180211801111180100211801111180080211a998020020019a801800891111998021299a800899a803003803910a99a800899a804001804910a99199a998068028018a800899980400199a8058028060010a8008999803001119a805802800800911299a800899a80419a804001801180300499110a999a998068030010a801899980400119a8058030028008a801899a80419a804001801180300091129919a80109800a4c442a64666a6601c00e0062a00226008930a80089998038011180319a806003800800919a804980199a80480200518038010910010910911980080200199111a801111a801111a802911a801112999a998058030010a999ab9a3370e00a002201c2a666ae68cdc480280088060806899805803001099805803001112999ab9a3371e004002200a2a666ae68cdc8801000880188020911001891100109110009109198008018011191800800918011198010010009" + "type": "PlutusScriptV3", + "description": "hydra-vHead-0.18.0-0-g1ae6839e4", + "cborHex": "592dcf592dcc0100003232333222323322323232323233223232332232323233223232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323333222232323232323232323232323232323232323232323232323232323232323232222533532323253233335004323232323221533333350091306d49884c1b9261306d498c8c8c8c8854cd4c061402c54cd54ccd5cd19b8735302f00d2222222220065005107e13357389201034831330007d153355333573466e254024d40188888888880144cd5ce2481034833310007d107e1533500123003533533300d50053333301550045006500a35303000e22222222200435303000e222222222003001107f13357389201034833390007e22300453355335535303100f2222222223350032108901108901133300e500633333016500533702a00e900128059a9818807911111111002183d800801083f884000899ab9c491034834300007f107d107d107d3232322335001153353302100f500515335533533232230020013092012253350011083012215333573466e3c0140084210044c010005403140084200044cd5ce2481034833380007f1535500d22222222222222223535009220012233553335002215333573466e24005405c424c044cd5ce24810348333200092011506f1506f153355335333502f08f01501b33509c01501e50141092011335738921034833360009101153355335333573466e1cc1f1406cc1f54070248042440454ccd5cd19b873530430212222222220015016109201133573892103483334000910115333573466e1cd4c10c084888888888004cdc0280b280a884900899ab9c4910348333500091011533533302e3309701501c50183309701353043021222222222007501533097013530430212222222220095017153353303f53353050021213500122350012222003109d0135533535501f222222222222222200e1307903c2210022222003109201133573892010248340009101109101109101109101109101107f107f107f13500622222222200213500522222222200713500422222222200113500322222222200913500222222222200813500122222222200621306e498884d40288894cd4ccc070d400c8888888888888888030d4018888888888024d4018888888888020c854cd54ccd5cd19b8f3023335018006500135007222222222004107f1335738921034834310007e15335533553500722222222233500321333573466e3c004c0b4c8cd408c040004cd40c4041402c22404220044ccd5cd19b87480000382200421c0441fc4cd5ce249034834320007e13500422222222222222223535009220022253335002215333573466e24004d40688888888880044cd5ce24810348343300091011092011507d1507d107e107e135003222222222222222200e107d135302800622222222200213530270052222222220081353026004222222222005153550012222222222222222335008130624988854cd40044008884c1992613500222200313067498888c8c8c8854c8cccccd402c540048540084d40288894cc8d54ccd5cd19b8f35303100e22222001302b355001222003107f1335738921034831370007e153355333573466e1d200035303100e22222002107f1335738921034832300007e1533533301b330840135303100e2222200400b330840135303100e2222200300c330840135303100e2222200500a15335533533028535004222222222222222233500e109a01221307f001323233307807a002305233508b01330860104733508b0100108c0108c01330850104635005222222222222222200d355001222001107f1335738921034831390007e15335533530095335303d00e213500122350012222003108a01107f1335738921034831360007e153355335333573466e1cd54004888008c1bc02c1fc1f841fc4cd5ce249034831380007e153353302000e00a13019004107e107e107e107e107e107e13007350032222222222222222010107d215002215002221500315333333500a135009222533533301b35003222222222222222200c00800932153353301f00d009153353307b302a50013022335017306b500135004222222222222222200e107e1335738921034831350007d107d13300508801350032222222222222222010107c21306f4984c1b92621306f49884c1bd262213070498c2240488c894cd4004400c884d4008894cd4cc11002c0044cc020c018c12000400c4cc02001c00cc22c04894cd4004400c884cd422004008c010004c22004894cd40044ccc10821005200008401221323500322350032322253353303d35005222200435303f011223500122220041007153353304600d005133304b3003304a005337009001001000899982580200119983c83d8009a802911100198480091299a800880191099a846808011802000980200098438091299a800883b9109a801112999ab9a3371e00400e260d60022600c0066464646442a666666a010260d8931919191910a99a980ba8050a99aa999ab9a3371266e04d4d4d54028888888888888888802488004894ccd400884004541c8541c8d4d4d54028888888888888888802488008894ccd400884004541c4541c5401041f44cd5ce2481034832320007c153355333573466e1cd4c0b8030888888888004c8d4034888d400c8888888888888888d4d402488004894ccd400884cdc000080b8a842008a84200a802083e899ab9c4901034832330007c153353301e00c5003153355333573466e1cd4c0b8030888888888019400841f44cd5ce249034831330007c1533553335001153355333573466e1d2000500215333573466e1d200035302e00c2222222220051333573466e3cd4c0b8030888888888010d4018888880041f41f041f041f041f44cd5ce2481034832380007c21533533300c5006333330145004500335302f00d22222222200535302f00d22222222200435302f00d222222222003001107e13357389201034832390007d22153355335535303000e2222222223350032108801108801133300d500733333015500533702a00890011a98180071111111110029a9818007111111111002183d000801083f083f899ab9c491034833300007e153355335535302e00c22222222233500210860122108701107d13357389201034832360007c1533553353302a5335303b00c21350012235001222200310880135533535500a222222222222222200e130640272210022222003107d133573892010248340007c1333019330820135302e00c2222222220085005330820135302e00c2222222220075004330820135302e00c2222222220095003107c107c107c107c107c107c107c107c135004222220021350032222200513500222222003135001222220041306c49884c1b52632322153353330173308001350042222200450063308001350042222200335302d00a2222200333080015003500532153355333573466e1cd4c0b802c88888008cdc024004a00620f8266ae71241034832310007b1533533300a500733333012500650033500222200235302e00b2222200130773020500135002222003153355335330255335303a00b213500122350012222003108701333073075355335500813063026221002222200330725001107c133573892010248340007b13301d00b5004107b107b107b13350143500122200153355007130624910350543900221001107a1350022222200213500122222005221306e4984d4c0a0014888880144d4c09c010888880104d400c888d400c88888888888888880384d400888800c88c894cd54cd4ccd5cd19b87300d004300e00107607513002335500b004001107510761335738920103483132000753085012253350011076221535002223353350072222223335734666e54020cdc51bb3375200c66e28dd99ba8005337146eccdd400219b8a37666ea400cdd99ba953350022100110460010800107f0011300600310793232325333573466e1d2000002132333222123330010040030023232325333573466e1d2000002132323232323232323232323232323333333333333333222222222222222212333333333333333300101101000f00e00d00c00b00a0090080070060050040030023306905b3574201e660d20b66ae84038cc1a4174d5d08069bad357420186660dceb94178d5d08059983482c9aba100a33306e06a75a6ae84024c8c8c94ccd5cd19b87480000084cc8848cc00400c008c8c8c94ccd5cd19b87480000084cc8848cc00400c008cc1b5d69aba1001306c357426ae880044c1cc1c8d55cf0011aab9d00137546ae84004c8c8c94ccd5cd19b87480000084cc8848cc00400c008cc1b5d69aba1001306c357426ae880044c1cc1c8d55cf0011aab9d00137546ae84d5d1000898380379aab9e00235573a0026ea8d5d080419834bae3574200e6660dc4646464a666ae68cdc3a40000042642444444600a00e6eb8d5d08008a999ab9a3370e90010010990911111180100398301aba100115333573466e1d200400213212222223003007306e357420022a666ae68cdc3a400c0042664424444446600c01000e6eb4d5d0800982e9aba1357440022a666ae68cdc3a40100042642444444600200e60bc6ae8400454ccd5cd19b87480280084cc884888888cc01002001cdd69aba1001305c357426ae880044c1c41c0d55cf0011aab9d00137540020ca6ae84018ccc1b9d70329aba1005375c6ae84010ccc1b8168cc1b81a08c8c8c94ccd5cd19b87480000084488800854ccd5cd19b87480080084488800454ccd5cd19b87480100084488800c4c1c41c0d55cf0011aab9d00137540026ae8400ccc1a4160d5d080119835bad35742002660d6eb4d5d09aba2001357440026ae88004d5d10009aba2001357440026ae88004d5d10009aba2001357440026ae88004d5d10009aba2001357440026ae880044c17c178d55cf0011aab9d00137546ae84008d5d08009919192999ab9a3370e9000001099091111118028039bae357420022a666ae68cdc3a40040042664424444446600401000e609c6ae84004cc17415cd5d09aba200115333573466e1d200400213212222223003007305c357420022a666ae68cdc3a400c0042664424444446600c01000e6eb4d5d080098259aba1357440022a666ae68cdc3a40100042642444444600200e60986ae8400454ccd5cd19b87480280084cc884888888cc01002001cdd69aba1001304a357426ae880044c17c178d55cf0011aab9d00137546ae84d5d10009aba20011305b05a35573c0046aae74004dd50019919192999ab9a3370e9000001089111110020a999ab9a3370e9001001099091111118010039919192999ab9a3370e9000001099199911091998008020018011982d3ae357420046eb4d5d08009bad357426ae88004d5d10008982e82e1aab9e00235573a0026ea8d5d08008a999ab9a3370e9002001099091111118028039919192999ab9a3370e9000001089110018a999ab9a3370e9001001099091118010021982cbae357420022a666ae68cdc3a40080042664424446600200a008660b2eb8d5d08009bae357426ae880044c174170d55cf0011aab9d00137546ae8400454ccd5cd19b87480180084c84888888c00c01cc8c8c94ccd5cd19b87480000084c8488c00800ccc165d71aba100115333573466e1d200200213322122330010040033305975c6ae84004dd71aba135744002260ba0b86aae78008d55ce8009baa357420022a666ae68cdc3a40100042244444400c2a666ae68cdc3a40140042664424444446600201000e6eb4d5d08009bad357426ae880044c168164d55cf0011aab9d0013754006646464a666ae68cdc3a4000004264646666052609a6ae8400ccc15c138d5d08011bae3574200260946ae84d5d10009aba2001357440022a666ae68cdc3a40040042604c646464a666ae68cdc3a40000042646464666660626eb8d5d08021982d8291aba10033051357420046eb4d5d08009bae357426ae88004d5d10009aba200135744002260b80b66aae78008d55ce8009baa357420022a666ae68cdc3a400800426052646464a666ae68cdc3a40000042646464646464646666666660686eb8d5d08041982f82b1aba100730553574200c6eb4d5d08029bad357420086eb8d5d080199830bae35742004660beeb8d5d08009bad357426ae88004d5d10009aba2001357440026ae88004d5d10009aba200135744002260b80b66aae78008d55ce8009baa357420022a666ae68cdc3a400c0042050260b20b06aae78008d55ce8009baa003101f13056490103505435003307c2211225335002107a2215335003107c22133507d33078004002335530081200100300112001222221233333001006005004003002307a225335001148000884cdc024004600800260f244a66a0022900011099b8048008c010004cc1e0884894ccd5cd19b890024800041d854cd400441d8884cd41dc008cd4c01848004cdc0802240040022400246a0024444444444444444a66a602401820ee266ae7124010355303100076307622533500110672232135003223003001307a2253350011300600322135002225333573466e1d200000113006003106e22235003223500422350052253355335333500a06a006005153353302900400313306a002001106c106c106d13357389210248320006c3307422122253350021533500110682210692215335003106922153353300700400213335300912001007003001106b1200122232330772253350011300348000884d4008894ccd5cd19b8f00200913007337020aa60180022600c0060084a666ae68cdc380099b8048008c01400841984cd5ce248103483134000653072225335001148000884cdc024004600800260e244a66a00220964426a0044466e00004c01800c88c8d400c8894cd4c01cd400c88888888888888880204c98cd5ce24810248360005a232215335001153353002300b300735006222222222222222201010681335738921024835000672213263357389210248370005f30772253350011067221533533067005002106a130040013072225335001106e221350022232323307a2253350011003221335077002300400100230070043302c007350012222003306f225335001106b22133506c0023004001306e225335001106a22133506b002300400123724600400260d844a66a002204644266e28dd99a801111119ba548000cd5d01a8021119ba548000cd5d0180580119aba03300c233500123374a900019aba0300d001376202e44466e9520023357406ea000ccd5d01ba80023357406ea0004dd880c8009bb1015335740666024ea5404400ccd5d02999a801099ba548000dd88099099ba548010cd5d00009bb1014213374a900119aba037520026ec4050cd5d0198053a900137620266008002466a002466e9520003357406ea4004dd8806119ba548008cd5d01ba9001376201844a66a0024266e95200033574060060026ec40304cdd2a40046ec402ccc1a4884894ccd5cd19b8900248000400454cd4004419c884cd4c01848004cdc080224004002240026444666660060ae4600c0026660060ae4666ae68cdc3a40000020b60b402c004002446464464446600600400260da444a66a0042600a002442a66a006260100084426a00844646a00a44a66a6602200a0042a66a6601a00800226601801000c20ce2a66a6020008266018010014266006a66a602000220e6266a0e400e0e600c60ec444a66a00220ce4426a00444a66a602800226600e00c0062a66a6602a0120042a66a660220100022660200186660fa444a66a00420024426600a00266a0f600400600c00620d626600e66a0ec00800c00660d644a66a00220b84426a00444a66a60100022600c00620be60d444a66a00220b64426a00444a66a600e0022600c00620bc92103505438003066225335001105722135002225333573466e1d200000113006003105a237246030602a60ba00244666ae68cdc79bb3333004752a0060046eccccc011d4a80180082a82a099800ba923750002446446e98c008004c190894cd40044dd90029109a8011119aba0337606010004600e002600c00693191299a9802180580090a9999a8009080089801a4c44442600e9310980224c2600493119319ab9c4910248330004532253353003300a001215333350012130044984c00d26222213007498840044c00926232633573892010248330004432233333301e00122532333573466e1d20000031533533335573e0044a09a4609c660b06ae8400cd5d1001823909a80091299a980400110a99a9999aab9f00225051230523305c357420066ae8800c12c84d4004894cd4cc08c090008854cd4cccd55cf8011282a9182b198301aba10033574400609e426a00244a66a605400442a66a6666aae7c008941648c8c8c170008d5d10021aba1003053215335302b00121305b333301500b0070030011300e4984c035261300c4984c02526130084984c01526130044984c0052613001498c894ccd5cd19b874800801054cd4cccd55cf801928271191918288011aba20053574200809042a66a66666604600244a666ae68cdc3a40000042a66a6666aae7c004941448c148cc170d5d08011aba200204b2135001225335302600221533533335573e0044a0aa460ac660c06ae8400cd5d1001827909a80091299a9981381400110a99a9999aab9f002250592305a33064357420066ae8800c14c84d4004894cd4c050008854cd4cccd55cf8011282e9182f198341aba1003357440060ae426a00244a66a606600442a66a6666aae7c008941848c8c8c190008d5d10021aba100305b21533530340012130633333302100f00b00700300115061150601505f1505c1505b1505815057150541505315050150502504f2504f2504f2504f2130503009001130034984c0092613002498c894ccd5cd19b874801001054cd4cccd55cf801928271191918288011aba20053574200809042a66a66666604600244a666ae68cdc3a40000042a66a6666aae7c004941448c148cc170d5d08011aba200204b2135001225335302600221533533335573e0044a0aa460ac660c06ae8400cd5d1001827909a80091299a9981381400110a99a9999aab9f002250592305a33064357420066ae8800c14c84d4004894cd4c050008854cd4cccd55cf8011282e9182f198341aba1003357440060ae426a00244a66a606600442a66a6666aae7c008941848c188cc1b0d5d08019aba200305b2135001225335303700221533533335573e0044a0ca460cc660e06ae8400cd5d100182f909a80091299a981d00110a99a9999aab9f002250692306a33074357420066ae8800c18c84d4004894cd4cccccc100008894ccd5cd19b87480080084c1b941b454ccd5cd19b874800000854cd4cccd55cf800928371191918388011aba2003357420040d042a66a60820024260e060e00022a0dc2a0da2a0da4a0d84a0d84a0d84a0d842a66a6666aae7c008941b48c1b8cc1e0d5d08019aba200306721350012253353303f04200221533533335573e0044a0e24646460e80046ae88010d5d080183590a99a982280090983999999999981800f80d80b8098078058038018008a8388a8380a8378a8360a8358a8340a8338a8320a8318a8300a82f8a82e0a82d8a82c0a82b8a82a0a8298a8280a82812827928279282792827909828180600089801a4c26004930980124c4a666ae68cdc3a400c0062609a0102a0984a0944a0944a0944a094466666603a00244a666ae68cdc3a40000042a66a6666aae7c0049412c8c8c8c138008d5d10019aba1002045215335301f00121304d0011504b1504a1504a25049250492504925049212222300400512222003222212222333300200800700600521222230010052222222221233333333300100a00900800700600500400300222222123333300100600500400300232253500122233535003222222222222222200e130054988854cd4cc020d40088888010d4c02801888d400488880104c0740084c01d2623263357389201034831310003c223500222350032232335005233500425333573466e3c0080045400c413481348cd4010813494ccd5cd19b8f00200115003104d153350032153350022133500223350022335002233500223304e00200120502335002205023304e00200122205022233500420502225333573466e1c01800c54ccd5cd19b8700500213300f00400110521052104b153350012104b104b22333573466e1c00800411811494cd4c008004840044c98cd5ce24810248380003923500122235003222222222222222233333350112201720162201720162322300201330682253350011505322135002225350022235009223355333573466e3c0100084ccd5cd19b8700300106106010601305c0081300a0072016503b305122533500113002300304d22153350011002221300630070053050225335001104c2215335001100322133504f330070040023006001304f22253350021001221533500310043222153335330520050021500313350500023300800700115003133504d00233005001003304e2253350011005221335002223714002600800244666ae68cdc3a4004600a660060046a002444400607c07a4644a66aa66a60040024260740022a07042660a044a66a002209844264a66a6a00644a666ae68cdc3a4004002260820042a0804266a09e002004200260080020022092609a44a66a0022a0704426a00444a666ae68cdc78010038981e80089803001a4500304a225335001148000884cdc02400460080024a66a646466666601400444a666ae68cdc3a40000042a66a6666aae7c004940e08c0e4cc10cd5d08011aba20020322135001225335300b00221533533335573e0044a0784607a6608e6ae8400cd5d100181b109a80091299a980500110a99a9999aab9f00225040232323043002357440086ae8400c0e8854cd4c04c00484c108ccc04001c00c00454100540fc540f8540ec540e8540dc540dc940d8940d8940d8940d8c0108cccccc028004894ccd5cd19b874800000854cd4cccd55cf8009281c1181c998219aba100235744004064426a00244a66a601800442a66a6666aae7c008940f08c8c8c0fc008d5d10021aba1003036215335300f00121303e12330010040021503c1503b1503a15037150372503625036250362503630090012135001222002104422212333001004003002232233333300800122503525034002250342503430482233335573e0024606a08a4a66a60086ae84008854cd4c010d5d100190981b99a8230010008a81a899281a98019aba200202e253353003001213032001150302333333004001225333573466e1d20000021533533335573e0024a064460666607a6ae84008d5d1001016109a80091299a980380110a99a9999aab9f00225036232323039002357440086ae8400c0c0854cd4c02800484c0e0cc13400c004540d8540d4540d0540c4540c4940c0940c0940c0940c08cccccc00c0048940c0940bc940bc940bc8c0c00048cccccc0080048940bc940b8940b88c0bc004940b8888888ccccccd5d2003119198039aab9d00135573c0026ea801c8c014dd5803918021bac00723003375a00e460046eb801c0b094d40048888ccd40084c98cd5ce24810248390002a2100121326335738921034831300002b3040225335001103c22133503d35002223303a0023302d2337049000800800980200091919192999ab9a3370e9000001099199911091998008020018011bad35742004602e6ae84004c8c8c94ccd5cd19b87480000084c8ccc88848888888ccc00c028024020cc070064d5d08011aba10013301c75c6ae84d5d10009aba200115333573466e1d20020021332212222222330070090083301b01835742002646464a666ae68cdc3a40000042664424660020060046eb4d5d08009bad357426ae880044c08007cd55cf0011aab9d00137546ae84d5d10008a999ab9a3370e900200109991091111111980100480419980f00d3ad3574200266036eb8d5d09aba200115333573466e1d20060021321222222230040083301b018357420022a666ae68cdc3a401000426464666644442444444466660020160140120106603a0346ae8400ccc06c070d5d080119981000e3ad357420026a646464a666ae68cdc3a40000042660806eb4d5d08009bad357426ae880044c088084d55cf0011aab9d00137546ae84d5d1000911980a8010009aba2001357440022a666ae68cdc3a401400426644244444446600a012010660360306ae84004c8c8c94ccd5cd19b87480000084cc079d71aba10011302001f35573c0046aae74004dd51aba1357440022a666ae68cdc3a401800422444444400c2603a0386aae78008d55ce8009baa357426ae88004d5d10008980c80c1aab9e00235573a0026ea8004c88c8c8c94ccd5cd19b87480000084cc88488888888888cc014034030c058d5d08009980bbad357426ae8800454ccd5cd19b87480080084cc88488888888888cc008034030c058d5d08009980bbad357426ae8800454ccd5cd19b87480100084cc88488888888888cc028034030c058d5d080098029aba1357440022a666ae68cdc3a400c00426466644424444444444466600c01c01a018602e6ae84008c018d5d08009bad357426ae88004d5d10008a999ab9a3370e90040010999109111111111119803806806180b1aba1001375a6ae84d5d10008a999ab9a3370e90050010990911111111111800806180b1aba100115333573466e1d200c002133221222222222223300300d00c3016357420026eb4d5d09aba200115333573466e1d200e002133221222222222223300900d00c375c6ae84004dd71aba1357440022a666ae68cdc3a4020004266442444444444446601001a0186eb8d5d08009bad357426ae8800454ccd5cd19b87480480084cc88488888888888cc02c034030c058d5d0800980b1aba1357440022a666ae68cdc3a40280042642444444444446008018602c6ae840044c064060d55cf0011aab9d0013754002644646464a666ae68cdc3a4000004264244460060086eb8d5d08008a999ab9a3370e90010010990911180080218029aba100115333573466e1d200400213322122233002005004375c6ae84004c014d5d09aba20011301901835573c0046aae74004dd500091919192999ab9a3370e900000109909111801802180a9aba100115333573466e1d20020021122200215333573466e1d2004002112220011301801735573c0046aae74004dd500091919192999ab9a3370e900000109909111801802180a1aba100115333573466e1d2002002132122230020043014357420022a666ae68cdc3a4008004264244460020086eb8d5d08008980b80b1aab9e00235573a0026ea80048c8c8c94ccd5cd19b87480000084cc8848cc00400c008c014d5d080098031aba1357440022602c02a6aae78008d55ce8009baa00123232325333573466e1d200000213303e375c6ae84004dd69aba1357440022602a0286aae78008d55ce8009baa00123232325333573466e1d200000213232333322221233330010050040030023232325333573466e1d20000021332212330010030023016357420026602e4646464a666ae68cdc3a4000004264244600400660346ae8400454ccd5cd19b87480080084c8ccc888488ccc00401401000cdd69aba1002375a6ae84004dd69aba1357440026ae880044c074070d55cf0011aab9d00137540026ae84d5d10008980c80c1aab9e00235573a0026ea8d5d080199980bbae500735742004646464a666ae68cdc3a4000004224440062a666ae68cdc3a4004004264244460020086eb8d5d08008a999ab9a3370e9002001099091118010021aba10011301901835573c0046aae74004dd51aba10013301475c6ae84d5d10009aba200135744002260280266aae78008d55ce8009baa00113301075ceb48c8c8c94ccd5cd19b87480000084dd69aba10011301201135573c0046aae74004dd500091bae00130362225333573466e1c0040444c03d241035054330015333573466e200040444cc00ccdc080880119b81011001132332212330010030023370800600266e10008004cc010008004c0d48894ccd5cd19b8700101010021330030013370c004002264c66ae71241034833330001823263357389210348333700018200123232325333573466e1d2000002102315333573466e1d200200210241300b00a35573c0046aae74004dd5000911919192999ab9a3370e9000001089110010a999ab9a3370e90010010990911180180218029aba100115333573466e1d2004002112220011300b00a35573c0046aae74004dd500091919192999ab9a3370e90000010999109198008018011bae357420026eb4d5d09aba20011300900835573c0046aae74004dd5000919118011bac001302f2233335573e0024058466a05660086ae84008c00cd5d100100a91919192999ab9a3370e900000109909118010019bae357420022a666ae68cdc3a400400426424460020066eb8d5d0800898038031aab9e00235573a0026ea800488c8c8c94ccd5cd19b87480080085406854ccd5cd19b87480000084c06cc014d5d0800898038031aab9e00235573a0026ea80052410350543100232633573800201e4464460046eac004c0ac88cccd55cf800901411919a8141981198031aab9d001300535573c00260086ae8800cd5d0801008a4000604e44a66a0022900011099b8048008c010004c098894cd4004520002213370090011802000899319ab9c49103483434000093024225335001148000884cdc0240046008002604644a66a002203e44266a0044444660220260066008002604444a66a00220244426a00444a666ae68cdc7a4410b4879647261486561645631000021333573466e1d2002001017016130060033021225335001148000884cdc0240046008002264c66ae712410348323700004132633573892103483235000031326335738921034832340000223263357389210248310000212001301b225335001101722133500222223300900b00330040012322230033009333500b00a002001301b225335001101722133501835002223301500233008233350012330094800000488cc0280080048cc0240052000001300400123223002001301a2253350011016221335017350022233014002300700130040012233700004002424460040062244002602a44a66a002202244266a0246a004446601e004666a0024601800244666a0140120040024601a002600800244666ae68cdc780100080280209911119191980c91299a800880191099a80b0011802000980100218029980c11299a800880a11099299a9a80191911801005980f11299a80088079109a80111299a99808001003880909803001899a80b00180088009802000801180b91299a800880991099a80a1a8011119198090019800804180e91299a80089aa8088019109a80111299a998078010040891119801005002098030019802000980991299a800880791099a8081a801111980680118060009802000891001091000980811299a800880611099a8069a801111980500118048009802000980791299a800880591099a8061a80111198048011aa8038009802000909111801802089091118008021109198008018011a8019110009a8011110011a800911001999180080091091919980111801111180180211801111180100211801111180080211a998020020019a801800891111998021299a800899a803003803910a99a800899a804001804910a99199a998068028018a800899980400199a8058028060010a8008999803001119a805802800800911299a800899a80419a804001801180300499110a999a998068030010a801899980400119a8058030028008a801899a80419a804001801180300091129919a80109800a4c442a64666a6601c00e0062a00226008930a80089998038011180319a806003800800919a804980199a80480200518038010910010910911980080200199111a801111a801111a802911a801112999a998058030010a999ab9a3370e00a002201c2a666ae68cdc480280088060806899805803001099805803001112999ab9a3371e004002200a2a666ae68cdc8801000880188020911001891100109110009109198008018011191800800918011198010010009" } diff --git a/hydra-plutus/scripts/vInitial.plutus b/hydra-plutus/scripts/vInitial.plutus index 8eefd92b352..1f7f22c4bcd 100644 --- a/hydra-plutus/scripts/vInitial.plutus +++ b/hydra-plutus/scripts/vInitial.plutus @@ -1,5 +1,5 @@ { - "type": "PlutusScriptV2", - "description": "hydra-vInitial-0.17.0-348-gd8c94a18c3", - "cborHex": "590ed4590ed10100003323233223322323233223232323232323232323233223232323232323232323232323232323223323232323232323222225335333004375c006646464a666ae68cdc3a400000422440042a666ae68cdc3a40040042642446002006660100126ae840044c090034d55cf0011aab9d0013754004646464a666ae68cdc3a4000004266442466002006004646464a666ae68cdc3a40000042646464646464646464646666666666664444444444442466666666666600201a01801601401201000e00c00a0080060046602a4646464a666ae68cdc3a400000426644246600200600460346ae84004c06cd5d09aba20011303501e35573c0046aae74004dd50009aba100b357420146602a02e6ae84024ccc071d7280d9aba100833301c75ca0366ae8401cd5d08031aba1005357420086602aeb8d5d08019aba100233301c75c40026ae84004d5d09aba2001357440026ae88004d5d10009aba2001357440026ae88004d5d10009aba2001357440026ae880044c09c040d55cf0011aab9d00137546ae84004c8c8c94ccd5cd19b87480000084c848888c00c014dd71aba100115333573466e1d2002002132122223001005300c357420022a666ae68cdc3a400800426424444600400a601c6ae8400454ccd5cd19b87480180084c848888c010014c8c8c94ccd5cd19b87480000084c848888888c014020c044d5d08008a999ab9a3370e900100109909111111180380418089aba100115333573466e1d20040021332212222222330060090083011357420026eb8d5d09aba200115333573466e1d2006002133221222222233002009008375c6ae84004dd71aba1357440022a666ae68cdc3a40100042664424444444660020120106eb8d5d08009bad357426ae8800454ccd5cd19b874802800844888888801054ccd5cd19b874803000844888888800c4c0a804cd55cf0011aab9d00137546ae840044c09c040d55cf0011aab9d00137546ae84d5d1000898120069aab9e00235573a0026ea800440984c0852410350543500232230023758002605e446666aae7c00480c08cd40bcc010d5d080118019aba200202023232325333573466e1d20000021330273232325333573466e1d20000021375c6ae840044c08802cd55cf0011aab9d00137546ae84004dd69aba1357440022603e0106aae78008d55ce8009baa0013223232325333573466e1d200000213232333322221233330010050040030023232325333573466e1d2000002133221233001003002300c35742002660140166ae84d5d1000898120069aab9e00235573a0026ea8d5d08019998063ae500b35742004646464a666ae68cdc3a4000004224440062a666ae68cdc3a4004004264244460020086eb8d5d08008a999ab9a3370e9002001099091118010021aba10011302400d35573c0046aae74004dd51aba10013300775c6ae84d5d10009aba2001357440022603e0106aae78008d55ce8009baa001223232325333573466e1d20020021502815333573466e1d2000002130293005357420022603e0106aae78008d55ce8009baa00123232325333573466e1d200000213212230020033005357420022a666ae68cdc3a400400426466644424466600200a0080066eb4d5d08011bad357420026eb4d5d09aba2001357440022603a00c6aae78008d55ce8009baa00123232325333573466e1d20000021321223002003375c6ae8400454ccd5cd19b87480080084c8488c00400cdd71aba10011301c00535573c0046aae74004dd5000a49035054310013300175ceb488c88c008dd58009814911999aab9f001202a23233502a3302c300635573a002600a6aae78004c010d5d10019aba100201a3323232323222322253350021330084910349303100300330093500122002323232215332353300d4910349303300323230213301a00200133301801a5004332323223002001303922533500110032213335006220023013301200230040013500122001321233001002037301801a5002323017301f3301000b0015005153353300d49010349303400302333035500135500422002153353300d490103493133003302b35500422001009153353300d491034930320032323233039225335001103622153353005002103913004001002302d00230303550062222222222220045335330362253350011502f221350022253353303100200f130340011300600350032153350011302549103493036002213500222533500315333573466e1d20020011002130294910349303600221302b491034930360013024491034930350013300d490103493134003030300e50051031103110311330352253350011035221335036325355009222222222222335300d00c210011303449103493135003039225335001150322213500222533533033002008130370041300600330040010011030153353500322350022222222222223333500d2021202120212330422253350011503b221350022253353303c002007130400041300600300d21300a30090011031153353300b006500113020491034931320022135002225335003153335002130244910349303900215335333333015001225333573466e1d20000021533533335573e0024a06246064660726ae84008d5d1001014109a80091299aa99a980c80110981a8008a81990a99a9999aab9f00225035230363303d357420066ae8800c0b084d4004894cd4cccccc0780088940e4940e0070940e0940e0854cd4cccd55cf8011281c91919181e0011aba20043574200606042a66a603e002426076246660020100080042a0722a0702a06e2a0682a0662a0602a0604a05e4a05e4a05e4a05e426a002444660740040022604a9210349313100213025490103493130002213026491034931320013500122002302e225335001102b22135002225333573466e3c00801c4c03c0044c01800c8d4004880048d4004888800c894cd4004409c4cd5ce00101311a800911111111111004111981491299a800881491099299a9a80191111a8021119a8011281612999ab9a3371e00201c2605a6606800a00c2a0584266a058002004200260080026a002444444444444014002604a44a66a00220444426a00444a666ae68cdc7a450b4879647261486561645631000021333573466e1d20010010270261300600330242233335573e0024603e04a4a66a66666600a6ae84008894ccd5cd19b874800000854cd4cccd55cf8009281091811198149aba100235744004030426a00244a66a66666601400444a666ae68cdc3a40000042a66a6666aae7c004940988c09ccc0b8d5d08011aba200201d213500122533533333300f002225333573466e1d20000021533533335573e0024a05646464605c0046ae8800cd5d080101110a99a98088009098168008a8158a8150a8151281492814928149281490a99a9999aab9f0022502a23232302d002357440086ae8400c084854cd4cccccc0440048940b0940ac940ac8c0b0004940ac84c0b0cc0a800c004540a8540a4540a0540945409494090940909409094090854cd4cccd55cf801128129191918140011aba20043574200603842a66a601600242604e24660020080042a04a2a0482a0462a0402a0404a03e4a03e4a03e4a03e42a66a60086ae8800c84c084cd40980080045407c4c9407cc00cd5d100100a919999980100091280e9280e1280e1280e1180e8009111111999999aba40062323300735573a0026aae78004dd5003918029bab00723004375800e460066eb401c8c008dd700380ba80c181011299a8008810110999802803801180200091911180199802801000981011299a800881011099a8109a80111198128011981311299a800881311099a8139a8011119815801199a80091980724000002446601e00400246601c002900018020008009802000911802199a80280a8010009119b80002001301c225335001101c22133501d3500222330210023335001230090012233350090190020012300a00130040011322223232330212253350011003221335022002300400130020043005330202253350011020221325335350032322300200b302622533500110242213500222533533010002007102713006003133502200300110013004001002301f225335001101f22133502035002223233025003300100830252253350011355012003221350022253353300f002008112223300200a004130060033004001301b225335001101b22133501c350022233020002300d0013004001301a225335001101a22133501b35002223301f002300c00130040013019225335001101922133501a35002223301e00235500a00130040013018225335001101822133501935002220013004001301722533500110152232135003223003001301b2253350011300600322135002322253335001230043300d4800000488c014cc0380080048c010cc0340052000233500113005002101b22333573466e2000800404c05084888c00c0104484888c004010c04c88d4004894cd400854cd4004404c884c01d241034930370022153350031300749103493038002213500422350042253353301437666a006444466e9520003357406a0084466e952000335740602a00466ae80cc0588cd40048cdd2a400066ae80c05c004dd880d11119ba548008cd5d01ba80033357406ea0008cd5d01ba800137620380026ec4060cd5d019980aba93301575246ea000400ccd5d02999a801099ba548000dd880b1099ba548010cd5d00009bb1017213374a900119aba037520026ec405ccd5d01980a3a9001376202c0022a66a66026008004260186603c00e00a20342034464c66ae70004008480048cd40048cdd2a400066ae80dd48009bb100523374a900119aba037520026ec4014894cd400484cdd2a400066ae80c00c004dd8802899ba548008dd8802111911ba6300200130102253350011376400a4426a0044466ae80cdd8180400118038009803001a4c446a004446a00644a666ae68cdc78020010999ab9a3370e00600201c01a201a44666ae68cdc7801000804804110919800801801109118010018891000980391299a800880391099a8040011802000980311299a8008802111909a801911801800980511299a800898030019109a801112999ab9a3370e900000089803001880589100109100089100109109119800802001910919800801801119180080091801119801001000a451c2043a9f1a685bcf491413a5f139ee42e335157c8c6bc8d9e4018669d0001" + "type": "PlutusScriptV3", + "description": "hydra-vInitial-0.18.0-0-g1ae6839e4", + "cborHex": "5913575913540100003323233223322323233223232323232323232323233223232323232323232323232323232323232323232323232323232323232322322225335333004375c006646464a666ae68cdc3a400000422440042a666ae68cdc3a400400426424460020066601a01e6ae840044c0a804cd55cf0011aab9d0013754004646464a666ae68cdc3a400000426466644424666002008006004646464a666ae68cdc3a40000042646464646464646464646666666666664444444444442466666666666600201a01801601401201000e00c00a008006004660364646464a666ae68cdc3a400000426644246600200600460426ae84004c088d5d09aba20011303c02535573c0046aae74004dd50009aba100b357420146603603c6ae84024ccc08dd728111aba100833302375ca0446ae8401cd5d08031aba10053574200866036eb8d5d08019aba100233302375c0326ae84004d5d09aba2001357440026ae88004d5d10009aba2001357440026ae88004d5d10009aba2001357440026ae880044c0b805cd55cf0011aab9d00137546ae84008d5d08009919192999ab9a3370e9000001099091111118028039bae357420022a666ae68cdc3a40040042664424444446600401000e60266ae84004cc05803cd5d09aba200115333573466e1d2004002132122222230030073015357420022a666ae68cdc3a400c0042664424444446600c01000e6eb4d5d08009919192999ab9a3370e90000010999109111111111119802806806180c1aba10013301975a6ae84d5d10008a999ab9a3370e90010010999109111111111119801006806180c1aba10013301975a6ae84d5d10008a999ab9a3370e90020010999109111111111119805006806180c1aba10013015357426ae8800454ccd5cd19b87480180084c8ccc888488888888888ccc018038034030c064d5d0801180b1aba1001375a6ae84d5d10009aba200115333573466e1d2008002133221222222222223300700d00c3018357420026eb4d5d09aba200115333573466e1d200a002132122222222222300100c3018357420022a666ae68cdc3a4018004266442444444444446600601a01860306ae84004dd69aba1357440022a666ae68cdc3a401c004266442444444444446601201a0186eb8d5d08009bae357426ae8800454ccd5cd19b87480400084cc88488888888888cc020034030dd71aba1001375a6ae84d5d10008a999ab9a3370e90090010999109111111111119805806806180c1aba10013018357426ae8800454ccd5cd19b87480500084c8488888888888c010030c060d5d08008981880d1aab9e00235573a0026ea8d5d09aba200115333573466e1d2008002132122222230010073232325333573466e1d2000002132122230030043018357420022a666ae68cdc3a40040042642444600400860306ae8400454ccd5cd19b87480100084c84888c004010dd71aba10011303101a35573c0046aae74004dd51aba100115333573466e1d200a00213322122222233004008007375a6ae84004c8c8c94ccd5cd19b87480000084c8ccc88848ccc00401000c008dd69aba1002301935742002646464a666ae68cdc3a4000004264666444244444446660060140120106603c0306ae84008d5d08009980f3ae357426ae88004d5d10008a999ab9a3370e90010010999109111111198038048041980e80b9aba10013232325333573466e1d2000002133221233001003002375a6ae84004dd69aba135744002260700426aae78008d55ce8009baa357426ae8800454ccd5cd19b87480100084cc8848888888cc008024020ccc080071d69aba10013301d75c6ae84d5d10008a999ab9a3370e90030010990911111118020041980e80b9aba100115333573466e1d2008002132323333222212222222333300100b00a0090083301f019357420066603403c6ae84008ccc088079d69aba1001353232325333573466e1d200000213304b375a6ae84004dd69aba135744002260740466aae78008d55ce8009baa357426ae8800488cc060008004d5d10009aba200115333573466e1d200a0021332212222222330050090083301d01735742002646464a666ae68cdc3a4000004266040eb8d5d08008981c0109aab9e00235573a0026ea8d5d09aba200115333573466e1d200c0021122222220061303501e35573c0046aae74004dd51aba1357440026ae880044c0c4068d55cf0011aab9d00137546ae84d5d10008981700b9aab9e00235573a0026ea8d5d09aba200135744002260540266aae78008d55ce8009baa001102c130274910350543500332323232322232225335002133008490103493031003003300935001222003323232215332353300d490103493033003232302f33028002001333026028500433232322300200130472253350011003221333500622002301330120023004001350012200132123300100204530260285002323025302d3301000b0015005153353300d49010349303400303133043500135500422002153353300d490103493133003303935500422001009153353300d491034930320032323233047225335001104422153353005002104713004001002303b002303e3550062222222222220045335330442253350011503d221350022253353303f00200f130420011300600350032153350011303349103493036002213500222533500315333573466e1d200200110021303749103493036002213039491034930360013032491034930350013300d49010349313400303e300e5005103f103f103f1330432253350011043221335044325355009222222222222335300d00c21001130424910349313500304722533500115040221350022253353304100200813045004130060033004001001103e153353500322235003222222222222333333500d2203120302203120302322300200f30512253350011504a221350022253353304b0020071304f00413006003203021300a3009001103f153353300b00650011302e4901034931320022135002225335003153335002130324910349303900215335333333023001225333573466e1d20000021533533335573e0024a07e460806608e6ae84008d5d100101b109a80091299aa99a98138011098218008a82090a99a9999aab9f00225043230443304b357420066ae8800c0e884d4004894cd4cccccc0b000889411c941180a89411894118854cd4cccd55cf801128239191918250011aba20043574200607c42a66a605a002426092246660020100080042a08e2a08c2a08a2a0842a0822a07c2a07c4a07a4a07a4a07a4a07a426a002444660900040022606692103493131002130334901034931300022130344910349313200135001222003303c225335001103922135002225333573466e3c00801c4c0700044c01800c8d4004880048d4004888800c894cd400440d44cd5ce00101a11a800911111111111004111981b91299a800881b91099299a9a80191111a8021119a8011281d12999ab9a3371e00201c260766608400a00c2a0744266a074002004200260080026a0024444444444440140026066444a666ae68cdc380080889812249035054330015333573466e200040444cc00ccdc080880119b81011001132332212330010030023370800600266e10008004cc010008004c0c88894ccd5cd19b8700101010021330030013370c00400240024646464a666ae68cdc3a40000042664424660020060046eb8d5d08009bad357426ae880044c08802cd55cf0011aab9d0013754002464460046eb0004c0c088cccd55cf8009018919a81818021aba1002300335744004042644646464a666ae68cdc3a4000004264244460060086eb8d5d08008a999ab9a3370e90010010990911180080218029aba100115333573466e1d200400213322122233002005004375c6ae84004c014d5d09aba20011302100a35573c0046aae74004dd500091919192999ab9a3370e90000010990911180180218039aba100115333573466e1d20020021122200215333573466e1d2004002112220011302000935573c0046aae74004dd500091919192999ab9a3370e90000010998139bae357420026eb4d5d09aba20011301f00835573c0046aae74004dd500091919192999ab9a3370e900000109919199991110919998008028020018011919192999ab9a3370e900000109991091980080180118051aba10013300b23232325333573466e1d20000021321223002003300e357420022a666ae68cdc3a400400426466644424466600200a0080066eb4d5d08011bad357420026eb4d5d09aba2001357440022604e0206aae78008d55ce8009baa001357426ae880044c08c030d55cf0011aab9d00137546ae8400cccc02dd728051aba10023232325333573466e1d20000021122200315333573466e1d200200213212223001004375c6ae8400454ccd5cd19b87480100084c84888c008010d5d0800898118061aab9e00235573a0026ea8d5d0800998043ae357426ae88004d5d10009aba20011301e00735573c0046aae74004dd500091919192999ab9a3370e900000109909118010019bae357420022a666ae68cdc3a400400426424460020066eb8d5d08008980e8031aab9e00235573a0026ea800488c8c8c94ccd5cd19b87480080085409854ccd5cd19b87480000084c09cc014d5d08008980e8031aab9e00235573a0026ea80052401035054310013300175ceb488c88c008dd58009814911999aab9f001202a23233502a3302c300635573a002600a6aae78004c010d5d10019aba100201a3026225335001102322135002225333573466e3d2210b4879647261486561645631000021333573466e1c004cdc0803a400405004e2600c00690001812111999aab9f0012301f025253353333330053574200444a666ae68cdc3a40000042a66a6666aae7c004940848c088cc0a4d5d08011aba2002018213500122533533333300a002225333573466e1d20000021533533335573e0024a04c4604e6605c6ae84008d5d100100e909a80091299a980700110a99a9999aab9f0022502a23232302d002357440086ae8400c084854cd4cccccc0440048940b0940ac940ac8c0b0004940ac84c0b0cc0a800c004540a8540a4540a0540945409494090940909409094090854cd4cccd55cf801128129191918140011aba20043574200603842a66a601600242604e24660020080042a04a2a0482a0462a0402a0404a03e4a03e4a03e4a03e42a66a60086ae8800c84c084cd40980080045407c4c9407cc00cd5d100100a919999980100091280e9280e1280e1280e1180e8009111111999999aba40062323300735573a0026aae78004dd5003918029bab00723004375800e460066eb401c8c008dd700380ba80c181011299a8008810110999802803801180200091911180199802801000981011299a800881011099a8109a80111198128011981311299a800881311099a8139a8011119815801199a80091980724000002446601e00400246601c002900018020008009802000911802199a80280a8010009119b80002001301c225335001101c22133501d3500222330210023335001230090012233350090190020012300a00130040011322223232330212253350011003221335022002300400130020043005330202253350011020221325335350032322300200b302622533500110242213500222533533010002007102713006003133502200300110013004001002301f225335001101f22133502035002223233025003300100830252253350011355012003221350022253353300f002008112223300200a004130060033004001301b225335001101b22133501c350022233020002300d0013004001301a225335001101a22133501b35002223301f002300c00130040013019225335001101922133501a35002223301e00235500a00130040013018225335001101822133501935002220013004001301722533500110152232135003223003001301b2253350011300600322135002322253335001230043300d4800000488c014cc0380080048c010cc0340052000233500113005002101b22333573466e2000800404c05084888c00c0104484888c004010c04c88d4004894cd400854cd4004404c884c01d241034930370022153350031300749103493038002213500422350042253353301437666a006444466e9520003357406a0084466e952000335740602a00466ae80cc0588cd40048cdd2a400066ae80c05c004dd880d11119ba548008cd5d01ba80033357406ea0008cd5d01ba800137620380026ec4060cd5d019980aba93301575246ea000400ccd5d02999a801099ba548000dd880b1099ba548010cd5d00009bb1017213374a900119aba037520026ec405ccd5d01980a3a9001376202c0022a66a66026008004260186603c00e00a20342034464c66ae70004008480048cd40048cdd2a400066ae80dd48009bb100523374a900119aba037520026ec4014894cd400484cdd2a400066ae80c00c004dd8802899ba548008dd8802111911ba6300200130102253350011376400a4426a0044466ae80cdd8180400118038009803001a4c446a004446a00644a666ae68cdc78020010999ab9a3370e00600201c01a201a44666ae68cdc7801000804804110919800801801109118010018891000980391299a800880391099a8040011802000980311299a8008802111909a801911801800980511299a800898030019109a801112999ab9a3370e900000089803001880589100109100089100109109119800802001910919800801801119180080091801119801001000a451c643b6a1b17262316c0998eb052326b14ae7156cd6c017624693ff9c90001" } diff --git a/hydra-plutus/src/Hydra/Contract.hs b/hydra-plutus/src/Hydra/Contract.hs index 7cef76a6530..1df8c5d0537 100644 --- a/hydra-plutus/src/Hydra/Contract.hs +++ b/hydra-plutus/src/Hydra/Contract.hs @@ -16,7 +16,7 @@ import Hydra.Contract.Commit qualified as Commit import Hydra.Contract.Head qualified as Head import Hydra.Contract.HeadTokens qualified as HeadTokens import Hydra.Contract.Initial qualified as Initial -import PlutusLedgerApi.V2 (TxId (..), TxOutRef (..), toBuiltin) +import PlutusLedgerApi.V3 (TxId (..), TxOutRef (..), toBuiltin) -- | Information about relevant Hydra scripts. data ScriptInfo = ScriptInfo diff --git a/hydra-plutus/src/Hydra/Contract/Commit.hs b/hydra-plutus/src/Hydra/Contract/Commit.hs index f0908534bc8..fa1c011f401 100644 --- a/hydra-plutus/src/Hydra/Contract/Commit.hs +++ b/hydra-plutus/src/Hydra/Contract/Commit.hs @@ -13,7 +13,7 @@ import PlutusTx.Prelude import Codec.Serialise (deserialiseOrFail, serialise) import Data.ByteString.Lazy (fromStrict, toStrict) -import Hydra.Cardano.Api (CtxUTxO, PlutusScriptVersion (PlutusScriptV2), fromPlutusTxOut, fromPlutusTxOutRef, toPlutusTxOut, toPlutusTxOutRef) +import Hydra.Cardano.Api (CtxUTxO, PlutusScriptVersion (PlutusScriptV3), fromPlutusTxOut, fromPlutusTxOutRef, toPlutusTxOut, toPlutusTxOutRef) import Hydra.Cardano.Api qualified as OffChain import Hydra.Cardano.Api.Network (Network) import Hydra.Contract.CommitError (CommitError (..), errorCode) @@ -21,7 +21,7 @@ import Hydra.Contract.Util (hasST, mustBurnST) import Hydra.Data.Party (Party) import Hydra.Plutus.Extras (ValidatorType, scriptValidatorHash, wrapValidator) import Hydra.ScriptContext (ScriptContext (..), TxInfo (..)) -import PlutusLedgerApi.V2 ( +import PlutusLedgerApi.V3 ( CurrencySymbol, Datum (..), Redeemer (Redeemer), @@ -117,7 +117,7 @@ validatorScript :: SerialisedScript validatorScript = serialiseCompiledCode compiledValidator validatorHash :: ScriptHash -validatorHash = scriptValidatorHash PlutusScriptV2 validatorScript +validatorHash = scriptValidatorHash PlutusScriptV3 validatorScript datum :: DatumType -> Datum datum a = Datum (toBuiltinData a) diff --git a/hydra-plutus/src/Hydra/Contract/Hash.hs b/hydra-plutus/src/Hydra/Contract/Hash.hs index f50e98af354..7e846b89cfe 100644 --- a/hydra-plutus/src/Hydra/Contract/Hash.hs +++ b/hydra-plutus/src/Hydra/Contract/Hash.hs @@ -16,7 +16,7 @@ import Hydra.Prelude qualified as Haskell import Hydra.Cardano.Api (PlutusScriptVersion (PlutusScriptV2)) import Hydra.Plutus.Extras (ValidatorType, scriptValidatorHash, wrapValidator) import PlutusLedgerApi.Common (SerialisedScript, serialiseCompiledCode) -import PlutusLedgerApi.V2 ( +import PlutusLedgerApi.V3 ( Datum (Datum), Redeemer (Redeemer), ScriptContext, diff --git a/hydra-plutus/src/Hydra/Contract/Head.hs b/hydra-plutus/src/Hydra/Contract/Head.hs index 57dd6876f9e..d00807ead85 100644 --- a/hydra-plutus/src/Hydra/Contract/Head.hs +++ b/hydra-plutus/src/Hydra/Contract/Head.hs @@ -22,8 +22,8 @@ import Hydra.Data.Party (Party (vkey)) import Hydra.Plutus.Extras (ValidatorType, scriptValidatorHash, wrapValidator) import PlutusLedgerApi.Common (SerialisedScript, serialiseCompiledCode) import PlutusLedgerApi.V1.Time (fromMilliSeconds) -import PlutusLedgerApi.V1.Value (valueOf) -import PlutusLedgerApi.V2 ( +import PlutusLedgerApi.V1.Value (lovelaceValue, valueOf) +import PlutusLedgerApi.V3 ( Address, CurrencySymbol, Datum (..), @@ -46,8 +46,9 @@ import PlutusLedgerApi.V2 ( Value (Value), adaSymbol, adaToken, + getLovelace, ) -import PlutusLedgerApi.V2.Contexts (findOwnInput) +import PlutusLedgerApi.V3.Contexts (findOwnInput) import PlutusTx (CompiledCode) import PlutusTx qualified import PlutusTx.AssocMap qualified as AssocMap @@ -167,7 +168,7 @@ checkCollectCom ctx@ScriptContext{scriptContextTxInfo = txInfo} (contestationPer -- value, we do ensure the output value is all non collected value - fees. -- This makes the script not scale badly with number of participants as it -- would commonly only be a small number of inputs/outputs to pay fees. - otherValueOut == notCollectedValueIn - txInfoFee txInfo + otherValueOut == notCollectedValueIn - lovelaceValue (txInfoFee txInfo) OpenDatum { utxoHash @@ -539,7 +540,7 @@ txOutAdaValue o = valueOf (txOutValue o) adaSymbol adaToken {-# INLINEABLE txOutAdaValue #-} txInfoAdaFee :: TxInfo -> Integer -txInfoAdaFee tx = valueOf (txInfoFee tx) adaSymbol adaToken +txInfoAdaFee tx = getLovelace $ txInfoFee tx {-# INLINEABLE txInfoAdaFee #-} makeContestationDeadline :: ContestationPeriod -> ScriptContext -> POSIXTime diff --git a/hydra-plutus/src/Hydra/Contract/HeadState.hs b/hydra-plutus/src/Hydra/Contract/HeadState.hs index ffc3682d69b..982d8b07736 100644 --- a/hydra-plutus/src/Hydra/Contract/HeadState.hs +++ b/hydra-plutus/src/Hydra/Contract/HeadState.hs @@ -9,7 +9,7 @@ import PlutusTx.Prelude import GHC.Generics (Generic) import Hydra.Data.ContestationPeriod (ContestationPeriod) import Hydra.Data.Party (Party) -import PlutusLedgerApi.V2 (CurrencySymbol, POSIXTime, PubKeyHash, TxOutRef) +import PlutusLedgerApi.V3 (CurrencySymbol, POSIXTime, PubKeyHash, TxOutRef) import PlutusTx qualified import Text.Show (Show) diff --git a/hydra-plutus/src/Hydra/Contract/HeadTokens.hs b/hydra-plutus/src/Hydra/Contract/HeadTokens.hs index 30113a3c2d7..5863297b4d2 100644 --- a/hydra-plutus/src/Hydra/Contract/HeadTokens.hs +++ b/hydra-plutus/src/Hydra/Contract/HeadTokens.hs @@ -4,9 +4,8 @@ {-# OPTIONS_GHC -fplugin-opt PlutusTx.Plugin:defer-errors #-} -- Avoid trace calls to be optimized away when inlining functions. {-# OPTIONS_GHC -fplugin-opt PlutusTx.Plugin:no-simplifier-inline #-} --- Plutus core version to compile to. In babbage era, that is Cardano protocol --- version 7 and 8, only plutus-core version 1.0.0 is available. -{-# OPTIONS_GHC -fplugin-opt PlutusTx.Plugin:target-version=1.0.0 #-} +-- Plutus core version to compile to. +{-# OPTIONS_GHC -fplugin-opt PlutusTx.Plugin:target-version=1.1.0 #-} -- | Minting policy for a single head tokens. module Hydra.Contract.HeadTokens where @@ -14,7 +13,7 @@ module Hydra.Contract.HeadTokens where import PlutusTx.Prelude import Hydra.Cardano.Api ( - PlutusScriptV2, + PlutusScriptV3, PolicyId, TxIn, fromPlutusScript, @@ -30,10 +29,9 @@ import Hydra.Contract.HeadTokensError (HeadTokensError (..), errorCode) import Hydra.Contract.Initial qualified as Initial import Hydra.Contract.MintAction (MintAction (Burn, Mint)) import Hydra.Contract.Util (hasST) -import Hydra.Plutus.Extras (MintingPolicyType, wrapMintingPolicy) import Hydra.ScriptContext (ScriptContext (..), TxInfo (txInfoInputs, txInfoMint), ownCurrencySymbol, scriptOutputsAt) -import PlutusCore.Core (plcVersion100) -import PlutusLedgerApi.V2 ( +import PlutusCore.Core (plcVersion110) +import PlutusLedgerApi.V3 ( Datum (getDatum), FromData (fromBuiltinData), OutputDatum (..), @@ -42,7 +40,9 @@ import PlutusLedgerApi.V2 ( TxInInfo (..), TxOutRef, Value (getValue), + getRedeemer, serialiseCompiledCode, + unsafeFromBuiltinData, ) import PlutusTx (CompiledCode) import PlutusTx qualified @@ -52,13 +52,14 @@ validate :: ScriptHash -> ScriptHash -> TxOutRef -> - MintAction -> ScriptContext -> Bool -validate initialValidator headValidator seedInput action context = +validate initialValidator headValidator seedInput context = case action of Mint -> validateTokensMinting initialValidator headValidator seedInput context Burn -> validateTokensBurning context + where + action = unsafeFromBuiltinData . getRedeemer $ scriptContextRedeemer context {-# INLINEABLE validate #-} -- | When minting head tokens we want to make sure that: @@ -177,18 +178,18 @@ validateTokensBurning context = Just tokenMap -> AssocMap.all (< 0) tokenMap -- | Raw minting policy code where the 'TxOutRef' is still a parameter. -unappliedMintingPolicy :: CompiledCode (TxOutRef -> MintingPolicyType) +unappliedMintingPolicy :: CompiledCode (TxOutRef -> ScriptContext -> BuiltinUnit) unappliedMintingPolicy = - $$(PlutusTx.compile [||\vInitial vHead ref -> wrapMintingPolicy (validate vInitial vHead ref)||]) - `PlutusTx.unsafeApplyCode` PlutusTx.liftCode plcVersion100 Initial.validatorHash - `PlutusTx.unsafeApplyCode` PlutusTx.liftCode plcVersion100 Head.validatorHash + $$(PlutusTx.compile [||\vInitial vHead ref ctx -> check $ validate vInitial vHead ref ctx||]) + `PlutusTx.unsafeApplyCode` PlutusTx.liftCode plcVersion110 Initial.validatorHash + `PlutusTx.unsafeApplyCode` PlutusTx.liftCode plcVersion110 Head.validatorHash -- | Get the applied head minting policy script given a seed 'TxOutRef'. mintingPolicyScript :: TxOutRef -> SerialisedScript mintingPolicyScript txOutRef = serialiseCompiledCode $ unappliedMintingPolicy - `PlutusTx.unsafeApplyCode` PlutusTx.liftCode plcVersion100 txOutRef + `PlutusTx.unsafeApplyCode` PlutusTx.liftCode plcVersion110 txOutRef -- * Create PolicyId @@ -200,4 +201,4 @@ headPolicyId = -- | Get the applied head minting policy script given a seed 'TxIn'. mkHeadTokenScript :: TxIn -> Api.PlutusScript mkHeadTokenScript = - fromPlutusScript @PlutusScriptV2 . mintingPolicyScript . toPlutusTxOutRef + fromPlutusScript @PlutusScriptV3 . mintingPolicyScript . toPlutusTxOutRef diff --git a/hydra-plutus/src/Hydra/Contract/Initial.hs b/hydra-plutus/src/Hydra/Contract/Initial.hs index df74dc4f603..311e8196cc1 100644 --- a/hydra-plutus/src/Hydra/Contract/Initial.hs +++ b/hydra-plutus/src/Hydra/Contract/Initial.hs @@ -11,7 +11,7 @@ module Hydra.Contract.Initial where import PlutusTx.Prelude -import Hydra.Cardano.Api (PlutusScriptVersion (PlutusScriptV2)) +import Hydra.Cardano.Api (PlutusScriptVersion (PlutusScriptV3)) import Hydra.Contract.Commit (Commit (..)) import Hydra.Contract.Commit qualified as Commit import Hydra.Contract.Error (errorCode) @@ -29,7 +29,7 @@ import Hydra.ScriptContext ( import PlutusCore.Core (plcVersion100) import PlutusLedgerApi.Common (SerialisedScript, serialiseCompiledCode) import PlutusLedgerApi.V1.Value (geq, isZero) -import PlutusLedgerApi.V2 ( +import PlutusLedgerApi.V3 ( CurrencySymbol, Datum (..), FromData (fromBuiltinData), @@ -187,7 +187,7 @@ validatorScript :: SerialisedScript validatorScript = serialiseCompiledCode compiledValidator validatorHash :: ScriptHash -validatorHash = scriptValidatorHash PlutusScriptV2 validatorScript +validatorHash = scriptValidatorHash PlutusScriptV3 validatorScript datum :: DatumType -> Datum datum a = Datum (toBuiltinData a) diff --git a/hydra-plutus/src/Hydra/Contract/Util.hs b/hydra-plutus/src/Hydra/Contract/Util.hs index 9dcb528a354..5e32c91a9bc 100644 --- a/hydra-plutus/src/Hydra/Contract/Util.hs +++ b/hydra-plutus/src/Hydra/Contract/Util.hs @@ -8,7 +8,7 @@ import Hydra.Contract.HeadError (HeadError (..), errorCode) import Hydra.Data.Party (Party) import Hydra.Prelude (Show) import PlutusLedgerApi.V1.Value (isZero) -import PlutusLedgerApi.V2 ( +import PlutusLedgerApi.V3 ( CurrencySymbol, TokenName (..), TxInfo (TxInfo, txInfoMint), diff --git a/hydra-plutus/src/Hydra/Data/ContestationPeriod.hs b/hydra-plutus/src/Hydra/Data/ContestationPeriod.hs index 7951e91784f..222746fb1d6 100644 --- a/hydra-plutus/src/Hydra/Data/ContestationPeriod.hs +++ b/hydra-plutus/src/Hydra/Data/ContestationPeriod.hs @@ -9,7 +9,7 @@ import PlutusTx.Prelude qualified as Plutus import Data.Ratio ((%)) import Data.Time (nominalDiffTimeToSeconds, secondsToNominalDiffTime) import PlutusLedgerApi.V1.Time (DiffMilliSeconds, fromMilliSeconds) -import PlutusLedgerApi.V2 (POSIXTime (..)) +import PlutusLedgerApi.V3 (POSIXTime (..)) import PlutusTx qualified newtype ContestationPeriod = UnsafeContestationPeriod {milliseconds :: DiffMilliSeconds} diff --git a/hydra-plutus/src/Hydra/ScriptContext.hs b/hydra-plutus/src/Hydra/ScriptContext.hs index 0564eb32a0d..2647c80a6de 100644 --- a/hydra-plutus/src/Hydra/ScriptContext.hs +++ b/hydra-plutus/src/Hydra/ScriptContext.hs @@ -7,15 +7,15 @@ -- | A custom ScriptContext and TxInfo which only "decodes" the fields we need. module Hydra.ScriptContext where -import PlutusLedgerApi.V2.Contexts hiding ( +import PlutusLedgerApi.V3.Contexts hiding ( ScriptContext, TxInfo (..), - scriptContextPurpose, + scriptContextScriptInfo, scriptContextTxInfo, ) import PlutusTx.Prelude -import PlutusLedgerApi.V2 ( +import PlutusLedgerApi.V3 ( Address (..), Credential (..), CurrencySymbol, @@ -24,7 +24,10 @@ import PlutusLedgerApi.V2 ( Map, OutputDatum, PubKeyHash, + Redeemer, ScriptHash, + TxOut (..), + TxOutRef, Value, ) import PlutusTx (makeIsDataIndexed) @@ -68,8 +71,11 @@ makeIsDataIndexed ''TxInfo [('TxInfo, 0)] data ScriptContext = ScriptContext { scriptContextTxInfo :: TxInfo -- ^ information about the transaction the currently-executing script is included in - , scriptContextPurpose :: ScriptPurpose - -- ^ the purpose of the currently-executing script + , scriptContextRedeemer :: Redeemer + -- ^ Redeemer for the currently-executing script + , scriptContextScriptInfo :: ScriptInfo + -- ^ the purpose of the currently-executing script, along with information associated + -- with the purpose } makeIsDataIndexed ''ScriptContext [('ScriptContext, 0)] @@ -94,8 +100,14 @@ valueLockedBy ptx h = -- | Find the input currently being validated. findOwnInput :: ScriptContext -> Maybe TxInInfo -findOwnInput ScriptContext{scriptContextTxInfo = TxInfo{txInfoInputs}, scriptContextPurpose = Spending txOutRef} = - find (\TxInInfo{txInInfoOutRef} -> txInInfoOutRef == txOutRef) txInfoInputs +findOwnInput + ScriptContext + { scriptContextTxInfo = TxInfo{txInfoInputs} + , scriptContextScriptInfo = SpendingScript txOutRef _ + } = + find + (\TxInInfo{txInInfoOutRef} -> txInInfoOutRef == txOutRef) + txInfoInputs findOwnInput _ = Nothing {-# INLINEABLE findOwnInput #-} @@ -112,6 +124,8 @@ findTxInByTxOutRef outRef TxInfo{txInfoInputs} = -- | The 'CurrencySymbol' of the current validator script. ownCurrencySymbol :: ScriptContext -> CurrencySymbol -ownCurrencySymbol ScriptContext{scriptContextPurpose = Minting cs} = cs -ownCurrencySymbol _ = traceError "Lh" -- "Can't get currency symbol of the current validator script" +ownCurrencySymbol ScriptContext{scriptContextScriptInfo = MintingScript cs} = cs +ownCurrencySymbol _ = + -- "Can't get currency symbol of the current validator script" + traceError "Lh" {-# INLINEABLE ownCurrencySymbol #-} diff --git a/hydra-plutus/test/Hydra/Plutus/GoldenSpec.hs b/hydra-plutus/test/Hydra/Plutus/GoldenSpec.hs index 2cf69d30eee..3d2274ce1b0 100644 --- a/hydra-plutus/test/Hydra/Plutus/GoldenSpec.hs +++ b/hydra-plutus/test/Hydra/Plutus/GoldenSpec.hs @@ -14,7 +14,7 @@ import Hydra.Prelude import Test.Hydra.Prelude import Hydra.Cardano.Api ( - AsType (AsPlutusScriptV2, AsScript), + AsType (AsPlutusScriptV3, AsScript), File (..), Script, fromPlutusScript, @@ -28,8 +28,8 @@ import Hydra.Contract.Head qualified as Head import Hydra.Contract.HeadTokens qualified as HeadTokens import Hydra.Contract.Initial qualified as Initial import Hydra.Version (gitDescribe) -import PlutusLedgerApi.V2 (serialiseCompiledCode) -import PlutusLedgerApi.V2 qualified as Plutus +import PlutusLedgerApi.V3 (serialiseCompiledCode) +import PlutusLedgerApi.V3 qualified as Plutus import Test.Hspec.Golden (Golden (..)) spec :: Spec @@ -64,4 +64,4 @@ goldenScript name plutusScript = readFromFile fp = either (die . show) pure - =<< readFileTextEnvelope (AsScript AsPlutusScriptV2) (File fp) + =<< readFileTextEnvelope (AsScript AsPlutusScriptV3) (File fp) diff --git a/hydra-test-utils/src/Test/Plutus/Validator.hs b/hydra-test-utils/src/Test/Plutus/Validator.hs index 4e5db460433..74a663e6673 100644 --- a/hydra-test-utils/src/Test/Plutus/Validator.hs +++ b/hydra-test-utils/src/Test/Plutus/Validator.hs @@ -20,7 +20,7 @@ import Cardano.Api.UTxO qualified as UTxO import Cardano.Ledger.Alonzo.Core qualified as Ledger import Cardano.Ledger.Alonzo.Scripts (CostModel, mkCostModel, mkCostModels) import Cardano.Ledger.BaseTypes (ProtVer (..), natVersion) -import Cardano.Ledger.Plutus.Language (Language (PlutusV2)) +import Cardano.Ledger.Plutus.Language (Language (PlutusV3)) import Cardano.Slotting.EpochInfo (fixedEpochInfo) import Cardano.Slotting.Slot (EpochSize (EpochSize)) import Cardano.Slotting.Time (mkSlotLength) @@ -111,7 +111,7 @@ evaluateScriptExecutionUnits validatorScript redeemer = pparams :: Ledger.PParams LedgerEra pparams = def - & Ledger.ppCostModelsL .~ mkCostModels (Map.fromList [(PlutusV2, plutusV2CostModel)]) + & Ledger.ppCostModelsL .~ mkCostModels (Map.fromList [(PlutusV3, plutusV3CostModel)]) & Ledger.ppMaxTxExUnitsL .~ toLedgerExUnits defaultMaxExecutionUnits & Ledger.ppProtocolVersionL .~ ProtVer{pvMajor = natVersion @8, pvMinor = 0} @@ -169,185 +169,261 @@ defaultDatum = () -- ** Plutus cost model fixtures --- | Current (2023-08-04) mainnet PlutusV2 cost model. -plutusV2CostModel :: CostModel -plutusV2CostModel = +-- | Current (2024-07-20) sanchonet PlutusV3 cost model. +plutusV3CostModel :: CostModel +plutusV3CostModel = either (error . show) id $ mkCostModel - PlutusV2 - [ 205665 - , 812 + PlutusV3 + [ 100788 + , 420 , 1 , 1 , 1000 - , 571 + , 173 , 0 , 1 , 1000 - , 24177 + , 59957 , 4 , 1 - , 1000 + , 11183 , 32 - , 117366 - , 10475 + , 201305 + , 8356 , 4 - , 23000 + , 16000 , 100 - , 23000 + , 16000 , 100 - , 23000 + , 16000 , 100 - , 23000 + , 16000 , 100 - , 23000 + , 16000 , 100 - , 23000 + , 16000 , 100 , 100 , 100 - , 23000 + , 16000 , 100 - , 19537 + , 94375 , 32 - , 175354 + , 132994 , 32 - , 46417 + , 61462 , 4 - , 221973 - , 511 + , 72010 + , 178 , 0 , 1 - , 89141 + , 22151 , 32 - , 497525 - , 14068 + , 91189 + , 769 , 4 , 2 - , 196500 - , 453240 - , 220 + , 85848 + , 123203 + , 7305 + , -900 + , 1716 + , 549 + , 57 + , 85848 , 0 , 1 , 1 , 1000 - , 28662 + , 42921 , 4 , 2 - , 245000 - , 216773 - , 62 + , 24548 + , 29498 + , 38 , 1 - , 1060367 - , 12586 + , 898148 + , 27279 , 1 - , 208512 - , 421 + , 51775 + , 558 , 1 - , 187000 + , 39184 , 1000 - , 52998 + , 60594 , 1 - , 80436 + , 141895 , 32 - , 43249 + , 83150 , 32 - , 1000 + , 15299 , 32 - , 80556 + , 76049 , 1 - , 57667 + , 13169 , 4 - , 1000 + , 22100 , 10 - , 197145 - , 156 + , 28999 + , 74 , 1 - , 197145 - , 156 + , 28999 + , 74 , 1 - , 204924 - , 473 + , 43285 + , 552 , 1 - , 208896 - , 511 + , 44749 + , 541 , 1 - , 52467 + , 33852 , 32 - , 64832 + , 68246 , 32 - , 65493 + , 72362 , 32 - , 22558 + , 7243 , 32 - , 16563 + , 7391 , 32 - , 76511 + , 11546 , 32 - , 196500 - , 453240 - , 220 + , 85848 + , 123203 + , 7305 + , -900 + , 1716 + , 549 + , 57 + , 85848 , 0 , 1 - , 1 - , 69522 - , 11687 + , 90434 + , 519 , 0 , 1 - , 60091 + , 74433 , 32 - , 196500 - , 453240 - , 220 + , 85848 + , 123203 + , 7305 + , -900 + , 1716 + , 549 + , 57 + , 85848 , 0 , 1 , 1 - , 196500 - , 453240 - , 220 + , 85848 + , 123203 + , 7305 + , -900 + , 1716 + , 549 + , 57 + , 85848 , 0 , 1 - , 1 - , 1159724 - , 392670 + , 955506 + , 213312 , 0 , 2 - , 806990 - , 30482 + , 270652 + , 22588 , 4 - , 1927926 - , 82523 + , 1457325 + , 64566 , 4 - , 265318 - , 0 + , 20467 + , 1 , 4 , 0 - , 85931 + , 141992 , 32 - , 205665 - , 812 + , 100788 + , 420 , 1 , 1 - , 41182 + , 81663 , 32 - , 212342 + , 59498 , 32 - , 31220 + , 20142 , 32 - , 32696 + , 24588 , 32 - , 43357 + , 20744 , 32 - , 32247 + , 25933 , 32 - , 38314 + , 24623 , 32 - , 35892428 + , 43053543 , 10 - , 57996947 - , 18975 + , 53384111 + , 14333 , 10 - , 38887044 - , 32947 + , 43574283 + , 26308 , 10 + , 16000 + , 100 + , 16000 + , 100 + , 962335 + , 18 + , 2780678 + , 6 + , 442008 + , 1 + , 52538055 + , 3756 + , 18 + , 267929 + , 18 + , 76433006 + , 8868 + , 18 + , 52948122 + , 18 + , 1995836 + , 36 + , 3227919 + , 12 + , 901022 + , 1 + , 166917843 + , 4307 + , 36 + , 284546 + , 36 + , 158221314 + , 26549 + , 36 + , 74698472 + , 36 + , 333849714 + , 1 + , 254006273 + , 72 + , 2174038 + , 72 + , 2261318 + , 64571 + , 4 + , 207616 + , 8310 + , 4 + , 1293828 + , 28716 + , 63 + , 0 + , 1 + , 1006041 + , 43623 + , 251 + , 0 + , 1 ] diff --git a/plutus-merkle-tree/bench/Validators.hs b/plutus-merkle-tree/bench/Validators.hs index 5d8eb0c7788..ddfbb1d2458 100644 --- a/plutus-merkle-tree/bench/Validators.hs +++ b/plutus-merkle-tree/bench/Validators.hs @@ -9,10 +9,9 @@ module Validators where import PlutusTx.Prelude -import Hydra.Plutus.Extras (wrapValidator) import Plutus.MerkleTree qualified as MT import PlutusLedgerApi.Common (SerialisedScript, serialiseCompiledCode) -import PlutusLedgerApi.V2 (ScriptContext) +import PlutusLedgerApi.V3 (ScriptContext (..), getRedeemer, unsafeFromBuiltinData) import PlutusTx qualified as Plutus -- | A validator for measuring cost of MT membership validation. @@ -21,9 +20,9 @@ merkleTreeMemberValidator = serialiseCompiledCode $$( Plutus.compile [|| - wrapValidator $ - \() (e, root, proof) (_ :: ScriptContext) -> - MT.member e root proof + \ScriptContext{scriptContextRedeemer} -> + let (e, root, proof) = unsafeFromBuiltinData $ getRedeemer scriptContextRedeemer + in MT.member e root proof ||] ) @@ -34,8 +33,8 @@ merkleTreeBuilderValidator = serialiseCompiledCode $$( Plutus.compile [|| - wrapValidator $ - \() (utxos, root) (_ :: ScriptContext) -> - MT.rootHash (MT.fromList utxos) == root + \ScriptContext{scriptContextRedeemer} -> + let (utxos, root) = unsafeFromBuiltinData $ getRedeemer scriptContextRedeemer + in MT.rootHash (MT.fromList utxos) == root ||] )