From 037080a8b9bde9e96df334583eb8a864bf8198ea Mon Sep 17 00:00:00 2001 From: Sebastian Nagel Date: Tue, 7 Jan 2025 15:15:00 +0100 Subject: [PATCH 1/5] Pin aiken flake input to a specific version --- flake.lock | 7 ++++--- flake.nix | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/flake.lock b/flake.lock index 4b1b40f14a2..4477255bf48 100644 --- a/flake.lock +++ b/flake.lock @@ -73,15 +73,16 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1735819052, - "narHash": "sha256-1Q13SKOXW89soBi+6zTHoCbfrjAatgqoD8a4/jILhdk=", + "lastModified": 1729359954, + "narHash": "sha256-cspIIuH+0LJItTz9wk6mChwEMFP3GDpI+KKg0FWM9bQ=", "owner": "aiken-lang", "repo": "aiken", - "rev": "620fe6b2997537aab655fefaf27b43e5c8ed1916", + "rev": "a7741ec286bd939784f3183420be845d22de9a25", "type": "github" }, "original": { "owner": "aiken-lang", + "ref": "v1.1.5", "repo": "aiken", "type": "github" } diff --git a/flake.nix b/flake.nix index b48684d59c4..6a54831b0cb 100644 --- a/flake.nix +++ b/flake.nix @@ -15,7 +15,7 @@ url = "github:IntersectMBO/cardano-haskell-packages?ref=repo"; flake = false; }; - aiken.url = "github:aiken-lang/aiken"; + aiken.url = "github:aiken-lang/aiken/v1.1.5"; hls = { url = "github:haskell/haskell-language-server"; flake = false; From a2dc429c976b1dc9fb7ab47cb3c95082e3547342 Mon Sep 17 00:00:00 2001 From: Sebastian Nagel Date: Tue, 7 Jan 2025 16:53:30 +0100 Subject: [PATCH 2/5] Check whether running aiken changes plutus.json This ensures the plutus blueprint in plutus.json is up-to-date. --- hydra-plutus/hydra-plutus.cabal | 2 +- hydra-plutus/test/Hydra/Plutus/GoldenSpec.hs | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/hydra-plutus/hydra-plutus.cabal b/hydra-plutus/hydra-plutus.cabal index 50fe0ac73d1..e572933a460 100644 --- a/hydra-plutus/hydra-plutus.cabal +++ b/hydra-plutus/hydra-plutus.cabal @@ -109,8 +109,8 @@ test-suite tests , lens , lens-aeson , plutus-ledger-api - , process , QuickCheck + , typed-process build-tool-depends: hspec-discover:hspec-discover diff --git a/hydra-plutus/test/Hydra/Plutus/GoldenSpec.hs b/hydra-plutus/test/Hydra/Plutus/GoldenSpec.hs index 00385640f3b..687450f8600 100644 --- a/hydra-plutus/test/Hydra/Plutus/GoldenSpec.hs +++ b/hydra-plutus/test/Hydra/Plutus/GoldenSpec.hs @@ -29,10 +29,22 @@ import Hydra.Plutus (commitValidatorScript, depositValidatorScript, initialValid import Hydra.Version (gitDescribe) import PlutusLedgerApi.V3 (serialiseCompiledCode) import PlutusLedgerApi.V3 qualified as Plutus +import System.Process.Typed (proc, runProcess_) import Test.Hspec.Golden (Golden (..)) spec :: Spec spec = do + it "Plutus blueprint is up-to-date" $ do + -- Running aiken -t compact should not change plutus.json + existing <- readFileBS "plutus.json" + runProcess_ $ proc "aiken" ["build", "-t", "compact"] + actual <- readFileBS "plutus.json" + -- Undo any changes made by aiken + writeFileBS "plutus.json" existing + when (actual /= existing) $ do + putTextLn "Plutus blueprint in plutus.json is not up-to-date. Run \"aiken -t compact\" to update it." + actual `shouldBe` existing + it "Head validator script" $ goldenScript "vHead" Head.validatorScript it "Head minting policy script" $ From 3ee3a87b94a040aa6b31356cba682b65a1ee1872 Mon Sep 17 00:00:00 2001 From: Sebastian Nagel Date: Tue, 7 Jan 2025 16:55:30 +0100 Subject: [PATCH 3/5] Regenerate plutus.json and drop golden files for aiken scripts Those are redundant and the plutus.json is the ground-truth for aiken scripts. --- hydra-plutus/plutus.json | 24 ++++++++++++++++---- hydra-plutus/scripts/mHead.plutus | 4 ++-- hydra-plutus/scripts/vCommit.plutus | 5 ---- hydra-plutus/scripts/vDeposit.plutus | 5 ---- hydra-plutus/scripts/vInitial.plutus | 5 ---- hydra-plutus/test/Hydra/Plutus/GoldenSpec.hs | 6 ----- 6 files changed, 22 insertions(+), 27 deletions(-) delete mode 100644 hydra-plutus/scripts/vCommit.plutus delete mode 100644 hydra-plutus/scripts/vDeposit.plutus delete mode 100644 hydra-plutus/scripts/vInitial.plutus diff --git a/hydra-plutus/plutus.json b/hydra-plutus/plutus.json index 4b655a90b2d..051856b6ade 100644 --- a/hydra-plutus/plutus.json +++ b/hydra-plutus/plutus.json @@ -75,16 +75,32 @@ "$ref": "#/definitions/initial~1Redeemer" } }, - "compiledCode": "590a6501010033232323232323232323223225333005323232323253323300b3001300d37540042646464a66666602c00c26464646464a66602660080022a66602e602c6ea802c5400804854ccc04cc0240044c94ccc06000404c4c94cccccc0740040500504c94ccc068c07400c4cc020004894ccc0700085401c4c94cccccc0840044ccc0240044c008c08000c060060060060060c078008054dd600080a00a180d000980b1baa00b012301437540142a666022600460266ea80104c8c8c8c8c8c8c94ccc060c024c068dd5008099802248103493031003370e6660026eacc018c06cdd5009003a4410b487964726148656164563100480044cc8c8c8c8c8c8c8c8c8c8c8c8c8c8c88c8c8c8c8c94cccccc0d40040080084c8cc080004894ccc0d00084c8c94ccc0c8cc07924103493133003371e0426eb8c058c0d4dd50040a999819191919299981a981300089811249034930350015333035302b001132533303a0011302349103493036001533303a303d001133022491034930320032323300100100622533303d00114a0264a66607466e3cdd718200010020a511330030030013040001375c60780022604692010349303600323300100100322533303b00114bd700991919299981d18181bad303d00313303f37520026600a00a00426600a00a0046eb8c0ec008c0fc008c0f40044c08924010349303600301a001330183301d0020224bd6f7b6301bac303830393039303930393039303930393039303537540582a6660646603c92103493134003375e6040606a6ea80b1300101a000153330323301e49103493033003371266e00c048004c048ccc050cc04c00894ccc0ccc090c0d4dd500089bab3010303637546020606c6ea8c0e4c0d8dd50008a5eb7bdb1812f5bded8c002a60246660286602601446eacc040c0d8dd5000a5eb7bdb1800544cc0300080145280a5014a02940cc058c94ccc0c8c0a0c0d0dd50008a60103d87a80001301d33037300f30353754601e606a6ea8c0e0c0d4dd5000a5eb80cc034dd6180c981a1baa02b0254bd6f7b6301980780491929998191811981a1baa0011301d3303730383035375400297ae013010490103493135003300d3758603260686ea80ac0044c94cccccc0e400454ccc0c4c088c0ccdd5000899299981b000803899299999981d800899299981c000804899299999981e800805005005005099299981d181e801899981300209803981e8040058059bae001303a001303a00200800800800830380013034375400200c00c00c00c00c606c0046eb0004008008c024c0bcdd50010980c2491f4661696c656420746f206465636f6465206c6f636b65645f636f6d6d69747300533302e0011300849103493132001533302e303100113232533302c301d0011300a49103493039001533302c30220011300a490103493130001323253333330360021533302e301f30303754004264a66606600200426464a66606a00200826464a66606e00200c264a66666607800200e00e00e00e264a666072607800620120106eb8004c0e4004c0e4008c0dc004c0dc008c0d4004c0c4dd500100080080080080089805a4903493131003032302f3754004605a6ea8004c0c00044c02124010349313200330080012300e302d375400264660020026eb0c034c0b0dd50119129998170008a5eb804c8c94ccc0b0c94ccc0b4c08cc0bcdd5000899b8f02a375c606660606ea8004528180a18179baa3014302f37540042660620046600800800226600800800260640046060002600200244464646464a6660600042a666060006294400400454ccc0bc0044c06124103493037001533302f0021301849010349303800132323232533302f30203031375400826466038921034930340053330303371e6eccc034c0ccdd50009bae300d303337540062a66606066ebcc060c0ccdd5000980c18199baa003133300b00b00400214a02940c0d4c0c8dd50020a503035005303300430330023031001375860600046eb0c0bcc0c0004cc0b4dd3801198169ba70014bd701119198008008019129998160008a6103d87a800013232533302a3375e6024605a6ea80080144c054cc0bc0092f5c02660080080026060004605c0024605460560024a660480022c44646600200200644a666052002297ae013302a3003302b00133002002302c001233300a00148810048810022323300100100322533302700114bd700998141ba63003302900133002002302a00122232333001001004003222533302800210011333003003302b00233004001375660540044464666002002006004444a66604c004200226466600800860540066644646600200200a44a66605600226605866ec0dd48021ba60034bd6f7b630099191919299981599b90008002133030337606ea4020dd30038028a99981599b8f008002132533302c301d302e375400226606266ec0dd4804981918179baa001004100432533302c533303000114a22940530103d87a80001301733031374c00297ae03233300100100800222253330320021001132333004004303600333223233001001005225333037001133038337606ea4010dd4001a5eb7bdb1804c8c8c8c94ccc0dccdc800400109981e19bb037520106ea001c01454ccc0dccdc7804001099299981c1814981d1baa00113303d337606ea4024c0f8c0ecdd5000802080219299981c18148008a60103d87a8000130233303d375000297ae03370000e00226607866ec0dd48011ba800133006006003375a60720066eb8c0dc008c0ec008c0e4004dd718188009bad30320013034002133030337606ea4008dd3000998030030019bab302d003375c6056004605e004605a0026eb8c094004dd598130009814001118119812181200091299980e9809980f9baa002100113756604660406ea8008c004004894ccc07c0045200013370090011980100118110009180f8009bac301e301b375402044464a6660366022603a6ea8004520001375a6042603c6ea8004c94ccc06cc044c074dd50008a6103d87a80001323300100137566044603e6ea8008894ccc084004530103d87a80001323232325333021337220100042a66604266e3c0200084c030cc098dd4000a5eb80530103d87a8000133006006003375a60460066eb8c084008c094008c08c004cc01000c00888c8cc00400400c894ccc078004530103d87a8000132323232533301e3372200e0042a66603c66e3c01c0084c024cc08cdd3000a5eb80530103d87a8000133006006003375660400066eb8c078008c088008c080004dd2a400044a66602c00229444c00c00894cc054004588c064c068c068c068c068004dd7180b980a1baa0041533012491054c36323b3500162225333013300430153754006264a666030002004264a66666603a00200600600600626464a66603600200a264a66666604000200c00c00c264a66603a60400062a01000e6eb4004018c074004c07400cdd7000980d000980b1baa003001370e9000111919800800801911980180098010010068068068069809980a001180900098071baa002370e90010b1807980800118070009807001180600098041baa00114984d958dd70008a998012481054c35383b3500165734ae7155ceaab9e5573eae815d0aba257489811e581c3e5a776bcee213e3dfd15806952a10ac5590e3e97d09d62eb99266b20001", - "hash": "00a6ddbc130ab92f5b7cb8d1ccd8d79eca5bfe25f6843c07b62841f0" + "parameters": [ + { + "title": "commit_validator", + "schema": { + "$ref": "#/definitions/ScriptHash" + } + } + ], + "compiledCode": "590a420101003232323232323232323223225333005323232323253323300b3001300d37540042646464a66666602c00c26464646464a66602660080022a66602e602c6ea802c5400804854ccc04cc0240044c94ccc06000404c4c94cccccc0740040500504c94ccc068c07400c4cc020004894ccc0700085401c4c94cccccc0840044ccc0240044c008c08000c060060060060060c078008054dd600080a00a180d000980b1baa00b012301437540142a666022600460266ea80104c8c8c8c8c8c8c94ccc060c024c068dd500809980224903493031003370e6660026eacc018c06cdd5009003a4410b487964726148656164563100480044cc8c8c8c8c8c8c8c8c8c8c8c8c8c8c88c8c8c8c8c94cccccc0d40040080084c8cc080004894ccc0d00084c8c94ccc0c8cc07924103493133003371e0426eb8c058c0d4dd50040a999819191919299981a981300089811249034930350015333035302b001132533303a0011302349103493036001533303a303d001133022491034930320032323300100100622533303d00114a0264a66607466e3cdd718200010020a511330030030013040001375c60780022604692010349303600323300100100322533303b00114bd700991919299981d18181bad303d00313303f37520026600a00a00426600a00a0046eb8c0ec008c0fc008c0f40044c08924010349303600301a001330183301d0020224bd6f7b6301bac303830393039303930393039303930393039303537540582a6660646603c92103493134003375e6040606a6ea80b1300101a000153330323301e49103493033003371266e00c048004c048ccc050cc04c00894ccc0ccc090c0d4dd500089bab3010303637546020606c6ea8c0e4c0d8dd50008a5eb7bdb1812f5bded8c002a60246660286602601446eacc040c0d8dd5000a5eb7bdb1800544cc0300080145280a5014a02940cc058c94ccc0c8c0a0c0d0dd50008a60103d87a80001301d33037300f30353754601e606a6ea8c0e0c0d4dd5000a5eb80cc034dd6180c981a1baa02b0254bd6f7b6301980780491929998191811981a1baa0011301d3303730383035375400297ae013010490103493135003300d3758603260686ea80ac0044c94cccccc0e400454ccc0c4c088c0ccdd5000899299981b000803899299999981d800899299981c000804899299999981e800805005005005099299981d181e801899981300209803981e8040058059bae001303a001303a00200800800800830380013034375400200c00c00c00c00c606c0046eb0004008008c024c0bcdd50010980c2491f4661696c656420746f206465636f6465206c6f636b65645f636f6d6d69747300533302e0011300849103493132001533302e303100113232533302c301d0011300a49103493039001533302c30220011300a490103493130001323253333330360021533302e301f30303754004264a66606600200426464a66606a00200826464a66606e00200c264a66666607800200e00e00e00e264a666072607800620120106eb8004c0e4004c0e4008c0dc004c0dc008c0d4004c0c4dd500100080080080080089805a4903493131003032302f3754004605a6ea8004c0c00044c02124010349313200330080012300e302d375400264660020026eb0c034c0b0dd50119129998170008a5eb804c8c94ccc0b0c94ccc0b4c08cc0bcdd5000899b8f02a375c606660606ea8004528180a18179baa3014302f37540042660620046600800800226600800800260640046060002600200244464646464a6660600042a666060006294400400454ccc0bc0044c06124103493037001533302f0021301849010349303800132323232533302f30203031375400826466038921034930340053330303371e6eccc034c0ccdd50009bae300d303337540062a66606066ebcc060c0ccdd5000980c18199baa003133300b00b00400214a02940c0d4c0c8dd50020a503035005303300430330023031001375860600046eb0c0bcc0c0004cc0b4dd3801198169ba70014bd701119198008008019129998160008a6103d87a800013232533302a3375e6024605a6ea80080144c054cc0bc0092f5c02660080080026060004605c0024605460560024a660480022c44646600200200644a666052002297ae013302a3003302b00133002002302c001233300a00148810048810022323300100100322533302700114bd700998141ba63003302900133002002302a00122232333001001004003222533302800210011333003003302b00233004001375660540044464666002002006004444a66604c004200226466600800860540066644646600200200a44a66605600226605866ec0dd48021ba60034bd6f7b630099191919299981599b90008002133030337606ea4020dd30038028a99981599b8f008002132533302c301d302e375400226606266ec0dd4804981918179baa001004100432533302c533303000114a22940530103d87a80001301733031374c00297ae03233300100100800222253330320021001132333004004303600333223233001001005225333037001133038337606ea4010dd4001a5eb7bdb1804c8c8c8c94ccc0dccdc800400109981e19bb037520106ea001c01454ccc0dccdc7804001099299981c1814981d1baa00113303d337606ea4024c0f8c0ecdd5000802080219299981c18148008a60103d87a8000130233303d375000297ae03370000e00226607866ec0dd48011ba800133006006003375a60720066eb8c0dc008c0ec008c0e4004dd718188009bad30320013034002133030337606ea4008dd3000998030030019bab302d003375c6056004605e004605a0026eb8c094004dd598130009814001118119812181200091299980e9809980f9baa002100113756604660406ea8008c004004894ccc07c0045200013370090011980100118110009180f8009bac301e301b375402044464a6660366022603a6ea8004520001375a6042603c6ea8004c94ccc06cc044c074dd50008a6103d87a80001323300100137566044603e6ea8008894ccc084004530103d87a80001323232325333021337220100042a66604266e3c0200084c030cc098dd4000a5eb80530103d87a8000133006006003375a60460066eb8c084008c094008c08c004cc01000c00888c8cc00400400c894ccc078004530103d87a8000132323232533301e3372200e0042a66603c66e3c01c0084c024cc08cdd3000a5eb80530103d87a8000133006006003375660400066eb8c078008c088008c080004dd2a400044a66602c00229444c00c00894cc054004588c064c068c068c068c068004dd7180b980a1baa0041533012491054c36323b3500162225333013300430153754006264a666030002004264a66666603a00200600600600626464a66603600200a264a66666604000200c00c00c264a66603a60400062a01000e6eb4004018c074004c07400cdd7000980d000980b1baa003001370e9000111919800800801911980180098010010068068068069809980a001180900098071baa002370e90010b1807980800118070009807001180600098041baa00114984d958dd70008a998012481054c35383b3500165734ae7155ceaab9e5573eae815d0aba257481", + "hash": "ffb8a8453c9db1c1668fc412e1f7fdbea230a2328dfc19ef325418b3" }, { "title": "initial.initial.else", "redeemer": { "schema": {} }, - "compiledCode": "590a6501010033232323232323232323223225333005323232323253323300b3001300d37540042646464a66666602c00c26464646464a66602660080022a66602e602c6ea802c5400804854ccc04cc0240044c94ccc06000404c4c94cccccc0740040500504c94ccc068c07400c4cc020004894ccc0700085401c4c94cccccc0840044ccc0240044c008c08000c060060060060060c078008054dd600080a00a180d000980b1baa00b012301437540142a666022600460266ea80104c8c8c8c8c8c8c94ccc060c024c068dd5008099802248103493031003370e6660026eacc018c06cdd5009003a4410b487964726148656164563100480044cc8c8c8c8c8c8c8c8c8c8c8c8c8c8c88c8c8c8c8c94cccccc0d40040080084c8cc080004894ccc0d00084c8c94ccc0c8cc07924103493133003371e0426eb8c058c0d4dd50040a999819191919299981a981300089811249034930350015333035302b001132533303a0011302349103493036001533303a303d001133022491034930320032323300100100622533303d00114a0264a66607466e3cdd718200010020a511330030030013040001375c60780022604692010349303600323300100100322533303b00114bd700991919299981d18181bad303d00313303f37520026600a00a00426600a00a0046eb8c0ec008c0fc008c0f40044c08924010349303600301a001330183301d0020224bd6f7b6301bac303830393039303930393039303930393039303537540582a6660646603c92103493134003375e6040606a6ea80b1300101a000153330323301e49103493033003371266e00c048004c048ccc050cc04c00894ccc0ccc090c0d4dd500089bab3010303637546020606c6ea8c0e4c0d8dd50008a5eb7bdb1812f5bded8c002a60246660286602601446eacc040c0d8dd5000a5eb7bdb1800544cc0300080145280a5014a02940cc058c94ccc0c8c0a0c0d0dd50008a60103d87a80001301d33037300f30353754601e606a6ea8c0e0c0d4dd5000a5eb80cc034dd6180c981a1baa02b0254bd6f7b6301980780491929998191811981a1baa0011301d3303730383035375400297ae013010490103493135003300d3758603260686ea80ac0044c94cccccc0e400454ccc0c4c088c0ccdd5000899299981b000803899299999981d800899299981c000804899299999981e800805005005005099299981d181e801899981300209803981e8040058059bae001303a001303a00200800800800830380013034375400200c00c00c00c00c606c0046eb0004008008c024c0bcdd50010980c2491f4661696c656420746f206465636f6465206c6f636b65645f636f6d6d69747300533302e0011300849103493132001533302e303100113232533302c301d0011300a49103493039001533302c30220011300a490103493130001323253333330360021533302e301f30303754004264a66606600200426464a66606a00200826464a66606e00200c264a66666607800200e00e00e00e264a666072607800620120106eb8004c0e4004c0e4008c0dc004c0dc008c0d4004c0c4dd500100080080080080089805a4903493131003032302f3754004605a6ea8004c0c00044c02124010349313200330080012300e302d375400264660020026eb0c034c0b0dd50119129998170008a5eb804c8c94ccc0b0c94ccc0b4c08cc0bcdd5000899b8f02a375c606660606ea8004528180a18179baa3014302f37540042660620046600800800226600800800260640046060002600200244464646464a6660600042a666060006294400400454ccc0bc0044c06124103493037001533302f0021301849010349303800132323232533302f30203031375400826466038921034930340053330303371e6eccc034c0ccdd50009bae300d303337540062a66606066ebcc060c0ccdd5000980c18199baa003133300b00b00400214a02940c0d4c0c8dd50020a503035005303300430330023031001375860600046eb0c0bcc0c0004cc0b4dd3801198169ba70014bd701119198008008019129998160008a6103d87a800013232533302a3375e6024605a6ea80080144c054cc0bc0092f5c02660080080026060004605c0024605460560024a660480022c44646600200200644a666052002297ae013302a3003302b00133002002302c001233300a00148810048810022323300100100322533302700114bd700998141ba63003302900133002002302a00122232333001001004003222533302800210011333003003302b00233004001375660540044464666002002006004444a66604c004200226466600800860540066644646600200200a44a66605600226605866ec0dd48021ba60034bd6f7b630099191919299981599b90008002133030337606ea4020dd30038028a99981599b8f008002132533302c301d302e375400226606266ec0dd4804981918179baa001004100432533302c533303000114a22940530103d87a80001301733031374c00297ae03233300100100800222253330320021001132333004004303600333223233001001005225333037001133038337606ea4010dd4001a5eb7bdb1804c8c8c8c94ccc0dccdc800400109981e19bb037520106ea001c01454ccc0dccdc7804001099299981c1814981d1baa00113303d337606ea4024c0f8c0ecdd5000802080219299981c18148008a60103d87a8000130233303d375000297ae03370000e00226607866ec0dd48011ba800133006006003375a60720066eb8c0dc008c0ec008c0e4004dd718188009bad30320013034002133030337606ea4008dd3000998030030019bab302d003375c6056004605e004605a0026eb8c094004dd598130009814001118119812181200091299980e9809980f9baa002100113756604660406ea8008c004004894ccc07c0045200013370090011980100118110009180f8009bac301e301b375402044464a6660366022603a6ea8004520001375a6042603c6ea8004c94ccc06cc044c074dd50008a6103d87a80001323300100137566044603e6ea8008894ccc084004530103d87a80001323232325333021337220100042a66604266e3c0200084c030cc098dd4000a5eb80530103d87a8000133006006003375a60460066eb8c084008c094008c08c004cc01000c00888c8cc00400400c894ccc078004530103d87a8000132323232533301e3372200e0042a66603c66e3c01c0084c024cc08cdd3000a5eb80530103d87a8000133006006003375660400066eb8c078008c088008c080004dd2a400044a66602c00229444c00c00894cc054004588c064c068c068c068c068004dd7180b980a1baa0041533012491054c36323b3500162225333013300430153754006264a666030002004264a66666603a00200600600600626464a66603600200a264a66666604000200c00c00c264a66603a60400062a01000e6eb4004018c074004c07400cdd7000980d000980b1baa003001370e9000111919800800801911980180098010010068068068069809980a001180900098071baa002370e90010b1807980800118070009807001180600098041baa00114984d958dd70008a998012481054c35383b3500165734ae7155ceaab9e5573eae815d0aba257489811e581c3e5a776bcee213e3dfd15806952a10ac5590e3e97d09d62eb99266b20001", - "hash": "00a6ddbc130ab92f5b7cb8d1ccd8d79eca5bfe25f6843c07b62841f0" + "parameters": [ + { + "title": "commit_validator", + "schema": { + "$ref": "#/definitions/ScriptHash" + } + } + ], + "compiledCode": "590a420101003232323232323232323223225333005323232323253323300b3001300d37540042646464a66666602c00c26464646464a66602660080022a66602e602c6ea802c5400804854ccc04cc0240044c94ccc06000404c4c94cccccc0740040500504c94ccc068c07400c4cc020004894ccc0700085401c4c94cccccc0840044ccc0240044c008c08000c060060060060060c078008054dd600080a00a180d000980b1baa00b012301437540142a666022600460266ea80104c8c8c8c8c8c8c94ccc060c024c068dd500809980224903493031003370e6660026eacc018c06cdd5009003a4410b487964726148656164563100480044cc8c8c8c8c8c8c8c8c8c8c8c8c8c8c88c8c8c8c8c94cccccc0d40040080084c8cc080004894ccc0d00084c8c94ccc0c8cc07924103493133003371e0426eb8c058c0d4dd50040a999819191919299981a981300089811249034930350015333035302b001132533303a0011302349103493036001533303a303d001133022491034930320032323300100100622533303d00114a0264a66607466e3cdd718200010020a511330030030013040001375c60780022604692010349303600323300100100322533303b00114bd700991919299981d18181bad303d00313303f37520026600a00a00426600a00a0046eb8c0ec008c0fc008c0f40044c08924010349303600301a001330183301d0020224bd6f7b6301bac303830393039303930393039303930393039303537540582a6660646603c92103493134003375e6040606a6ea80b1300101a000153330323301e49103493033003371266e00c048004c048ccc050cc04c00894ccc0ccc090c0d4dd500089bab3010303637546020606c6ea8c0e4c0d8dd50008a5eb7bdb1812f5bded8c002a60246660286602601446eacc040c0d8dd5000a5eb7bdb1800544cc0300080145280a5014a02940cc058c94ccc0c8c0a0c0d0dd50008a60103d87a80001301d33037300f30353754601e606a6ea8c0e0c0d4dd5000a5eb80cc034dd6180c981a1baa02b0254bd6f7b6301980780491929998191811981a1baa0011301d3303730383035375400297ae013010490103493135003300d3758603260686ea80ac0044c94cccccc0e400454ccc0c4c088c0ccdd5000899299981b000803899299999981d800899299981c000804899299999981e800805005005005099299981d181e801899981300209803981e8040058059bae001303a001303a00200800800800830380013034375400200c00c00c00c00c606c0046eb0004008008c024c0bcdd50010980c2491f4661696c656420746f206465636f6465206c6f636b65645f636f6d6d69747300533302e0011300849103493132001533302e303100113232533302c301d0011300a49103493039001533302c30220011300a490103493130001323253333330360021533302e301f30303754004264a66606600200426464a66606a00200826464a66606e00200c264a66666607800200e00e00e00e264a666072607800620120106eb8004c0e4004c0e4008c0dc004c0dc008c0d4004c0c4dd500100080080080080089805a4903493131003032302f3754004605a6ea8004c0c00044c02124010349313200330080012300e302d375400264660020026eb0c034c0b0dd50119129998170008a5eb804c8c94ccc0b0c94ccc0b4c08cc0bcdd5000899b8f02a375c606660606ea8004528180a18179baa3014302f37540042660620046600800800226600800800260640046060002600200244464646464a6660600042a666060006294400400454ccc0bc0044c06124103493037001533302f0021301849010349303800132323232533302f30203031375400826466038921034930340053330303371e6eccc034c0ccdd50009bae300d303337540062a66606066ebcc060c0ccdd5000980c18199baa003133300b00b00400214a02940c0d4c0c8dd50020a503035005303300430330023031001375860600046eb0c0bcc0c0004cc0b4dd3801198169ba70014bd701119198008008019129998160008a6103d87a800013232533302a3375e6024605a6ea80080144c054cc0bc0092f5c02660080080026060004605c0024605460560024a660480022c44646600200200644a666052002297ae013302a3003302b00133002002302c001233300a00148810048810022323300100100322533302700114bd700998141ba63003302900133002002302a00122232333001001004003222533302800210011333003003302b00233004001375660540044464666002002006004444a66604c004200226466600800860540066644646600200200a44a66605600226605866ec0dd48021ba60034bd6f7b630099191919299981599b90008002133030337606ea4020dd30038028a99981599b8f008002132533302c301d302e375400226606266ec0dd4804981918179baa001004100432533302c533303000114a22940530103d87a80001301733031374c00297ae03233300100100800222253330320021001132333004004303600333223233001001005225333037001133038337606ea4010dd4001a5eb7bdb1804c8c8c8c94ccc0dccdc800400109981e19bb037520106ea001c01454ccc0dccdc7804001099299981c1814981d1baa00113303d337606ea4024c0f8c0ecdd5000802080219299981c18148008a60103d87a8000130233303d375000297ae03370000e00226607866ec0dd48011ba800133006006003375a60720066eb8c0dc008c0ec008c0e4004dd718188009bad30320013034002133030337606ea4008dd3000998030030019bab302d003375c6056004605e004605a0026eb8c094004dd598130009814001118119812181200091299980e9809980f9baa002100113756604660406ea8008c004004894ccc07c0045200013370090011980100118110009180f8009bac301e301b375402044464a6660366022603a6ea8004520001375a6042603c6ea8004c94ccc06cc044c074dd50008a6103d87a80001323300100137566044603e6ea8008894ccc084004530103d87a80001323232325333021337220100042a66604266e3c0200084c030cc098dd4000a5eb80530103d87a8000133006006003375a60460066eb8c084008c094008c08c004cc01000c00888c8cc00400400c894ccc078004530103d87a8000132323232533301e3372200e0042a66603c66e3c01c0084c024cc08cdd3000a5eb80530103d87a8000133006006003375660400066eb8c078008c088008c080004dd2a400044a66602c00229444c00c00894cc054004588c064c068c068c068c068004dd7180b980a1baa0041533012491054c36323b3500162225333013300430153754006264a666030002004264a66666603a00200600600600626464a66603600200a264a66666604000200c00c00c264a66603a60400062a01000e6eb4004018c074004c07400cdd7000980d000980b1baa003001370e9000111919800800801911980180098010010068068068069809980a001180900098071baa002370e90010b1807980800118070009807001180600098041baa00114984d958dd70008a998012481054c35383b3500165734ae7155ceaab9e5573eae815d0aba257481", + "hash": "ffb8a8453c9db1c1668fc412e1f7fdbea230a2328dfc19ef325418b3" } ], "definitions": { diff --git a/hydra-plutus/scripts/mHead.plutus b/hydra-plutus/scripts/mHead.plutus index 726c84d70e5..0f41e297e5e 100644 --- a/hydra-plutus/scripts/mHead.plutus +++ b/hydra-plutus/scripts/mHead.plutus @@ -1,5 +1,5 @@ { "type": "PlutusScriptV3", - "description": "hydra-mHead-0.19.0-533-g6cb0345d5", - "cborHex": "5915b55915b20101003332323232323232323232323232323232323232323232222232930010029114800c8940364b264b264646464aa666ae68004460042264aa666ae680044600022604804666e1d20020033370e90000011aab9e00235573a0026ea801226602a921034d303600593330132232333573400300080119b8f002001301400130169001911001a426604244b200318004886400a44b264666ae6800600100233710002900044c01800e30020003180122666664644444a65266038921034d303100323302822590018c00a442b2b320112290049119199ab9a0018004008cdc7802001119008914802488c8ccd5cd000c00200466e1c00c0048c009180044c0100040013302722590018c002443003900291001260080024a800c8888888888888888041323232323215933021491034d30320032333573400300080119b8732593330202232333573400300080119b8f002001500630235007909801000c5200019199119118010009817912c800c400e4432005223300800130060032400644004900191000a0024466e0000800605233700a00290014564cc0852401034d3033003323223002001302d22590018c00a4432005223255333573400222604c00422600e00866e3c00801c50059500391000a2b2b2660429201034d30340032333573400300080119b8750013300b11223223002001302e22590018801c884cc018008c010004a0091330262593330202232333573400300080119b8f002001500600190ac800c4c0b52401034d303800910c8014896400e2b264666ae680060010023370e002900146001130314901034d3038004884c0cd2401034d30380011302c4901034d3037002802460048ac9981312c800c5409242b260520032133024491034d31320032333573400300080119b8f001500889816a49034d31320048540946605844b2003180048860072005220024c0100043300c00a5006899810a49034d3035005932333573400300080119b8f9500291100194016264b3200322900b9119199ab9a0018004008cdc7802001119001914805c88c8ccd5cd000c00200466e1c00c0048c0092a005222002460048c00918012300246004195001911000856654006440048a811c8564cccccc09c004c8c8c8c888c94c94ccd5cd00108ac9999aab9f0032801140060026ae840126ae88010800486400644b26010005215933335573e00450022800c004d5d0801cd5d1001900090c800c8964cc03403800a42b26666aae7c008a00450018009aba10039aba20032001219001912c981c80148564cccd55cf801140088c8ca002004357440086ae8400e001215933333303c001223255333573400222b26666aae7c008a00450018009aba10039aba20032001219001912c982080148564cccd55cf801140088c8ca002004357440086ae8400e0012159301d00190c00600200700123002460048c0088c008230023370e900000114008a0045002280148600300500b803c00e00244c0392644c0352644c0312622601293226010931130054991300449889800a4c113001498c88c954ccd5cd00088ac9999aab9f00528011191940040086ae8801cd5d0803400242b26666660640024464aa666ae680044564cccd55cf80114008a003001357420073574400640024320032259303700290ac9999aab9f0022801140060026ae8400e6ae8800c800486400644b266026028005215933335573e00450022800c004d5d0801cd5d1001900090c800c8964c05800a42b26666aae7c008a00450018009aba10039aba20032001219001912c980e80148564cccd55cf801140088c8ca002004357440086ae8400e0012159304500190c00600201f00b803c00e002460048c009180111801230022300246004460048c0088c008230023370e900000114008a004500228014860030070012260089322600693044c00d263370e9001002991192a999ab9a001115933335573e00a5002232328008010d5d10039aba100680048564cccccc0c800488c954ccd5cd00088ac9999aab9f0022801140060026ae8400e6ae8800c800486400644b2606e005215933335573e00450022800c004d5d0801cd5d1001900090c800c8964cc04c05000a42b26666aae7c008a00450018009aba10039aba20032001219001912c980b00148564cccd55cf80114008a003001357420073574400640024320032259301d00290ac9999aab9f0022801140060026ae8400e6ae8800c800486400644b26042005215933335573e00450022800c004d5d0801cd5d1001900090c800c8964c12c00a42b26666aae7c008a00450018009aba10039aba20032001219001912c982780148564cccd55cf80114008a003001357420073574400640024320032259305300290ac9999aab9f0022801140060026ae8400e6ae8800c800486400644b26605e0ae005215933335573e0045002232328008010d5d10021aba100380048564c0cc00643001800811c07e037017809c03e017007801c0048c0091801230022300246004460048c0088c009180111801230022300246004460048c0088c009180111801230022300208c008cdc3a40000045002280114008a00521800c0040048980224c89801a4c113003498cdc3a400800a464aa666ae680044600300208c008cdc3a400c00866e1d2000002233333302b001223255333573400222b26666aae7c008a004464650010021aba20043574200700090ac9804000c860020028c009180104600466e1d2000002280114008a0045002232233333302c0012280114008008a0045002302e2233335573e00250018000964c010d5d080148564c010d5d1001c8600300300280091801226500230033574400480012c9814000c860020028c008466666605000245002280114008a002002280114008a004500228014856400642a04b1502491110c00400a0033300f11223223002001303222590018801c884cc018008c01000400690a812a260549201034d30390048540902b26601200ca00713028491034d313100910ac800c400a44260589201034d31310004cc0a089640063000910c00e400a44002980200086601000ca004260360051801064006444006233550012233700002900124000446604444b200318004884c966400e444520092290029400a464aa666ae68004460030010068038230023371e00201c2430030018012200230040014800c888888888888888803801401201000230050068a4d1500c48940364a01922500d928060646464646464464646464aa666ae6800444ca0026646464464646464aa666ae6800444c8c8c8c8c8c8c8c8c8c8c8c8c8ca0026605a0286ae840426605a0286ae8403a6605a02a6ae840366eb4d5d08064ccc079d7280b1aba100b9981680f9aba100a99980f010bad357420133353232122323232325533357340022300132323232553335734002230013300c00a35742005300b357426ae8800822608e08c66e1d200000235573c0046aae74004dd51aba1002991919192a999ab9a00111800998060051aba100298059aba1357440041130470463370e90000011aab9e00235573a0026ea8d5d09aba200208982182119b8748000008d55cf0011aab9d0013754002464646464aa666ae68004460042264aa666ae680044600022608408266e1d20020033370e90000011aab9e00235573a0026ea800488c8c8c8c954ccd5cd00088c00844c954ccd5cd00088c004c01cd5d0801844c954ccd5cd00088c01044c10c108cdc3a400800866e1d20020033370e90000011aab9e00235573a0026ea8005d69aba100899816bae3574200f33301e23232323255333573400223003375c6ae840082264aa666ae680044601260506ae8400c2264aa666ae680044600e60506ae840102264aa666ae68004460026eb4d5d0802cc09cd5d09aba200508992a999ab9a0011180598149aba100608992a999ab9a001118029bad3574200f3027357426ae8801c22608a08866e1d200a0073370e900400319b8748018014cdc3a400800866e1d20020033370e90000011aab9e00235573a0026ea80040a8d5d08034ccc079d70151aba10059bae3574200933301e0203301e02c232323232553335734002230021132553335734002230041132553335734002230001130420413370e900200219b874800800ccdc3a40000046aae78008d55ce8009baa001357420073302d01d357420053302b75a6ae8400666056eb4d5d09aba20011aba2001357440026ae88004d5d10009aba2001357440026ae88004d5d10009aba2001357440026ae88004d5d10009aba20013574400422605a05866e1d200000235573c0046aae74004dd50009191919192a999ab9a0011180098099aba100298031aba13574400411302c02b3370e90000011aab9e00235573a0026ea80048c8c8c8c954ccd5cd0008899194004c8c8c8c954ccd5cd00088c004c05cd5d08014cc0848c8c8c8c954ccd5cd00088c004c070d5d0801044c954ccd5cd0008899400cdd69aba10049bad35742003375a6ae84d5d10008d5d100188981b81b19b874800800ccdc3a40000046aae78008d55ce8009baa001357426ae8800822606206066e1d200000235573c0046aae74004dd51aba10049998083ae5008357420053232323255333573400223000113255333573400223005375c6ae8400c2264aa666ae68004460066ae8401022606606466e1d20040043370e900100199b8748000008d55cf0011aab9d00137546ae840066603aeb8d5d09aba20011aba20013574400422605605466e1d200000235573c0046aae74004dd50008998043ae75a6ae8400e6ae8400664646464aa666ae68004460066eb8d5d0801044c954ccd5cd00088c024c044d5d0801ccc068064d5d09aba200308992a999ab9a0011180398089aba100408992a999ab9a001118009bad3574200b3010357426ae880142264aa666ae680044601660246ae840182264aa666ae680044600a6eb4d5d0803cc040d5d09aba200708981701699b874802801ccdc3a401000c66e1d20060053370e900200219b874800800ccdc3a40000046aae78008d55ce8009baa357426ae880046ae8800844c09008ccdc3a40000046aae78008d55ce8009baa0012323232325533357340022265001375a6ae8400e60146ae8400664646464aa666ae6800444ca012660320346ae8400e6ae8400666032eb8d5d09aba20011aba20021132553335734002230013301901a357420073232323255333573400223001375a6ae8400a6eb4d5d09aba200208981681619b8748000008d55cf0011aab9d00137546ae84d5d1001844c954ccd5cd00088c02cccc034041d69aba10049980d3ae357426ae880102264aa666ae680044600e660360386ae840142264aa666ae6800444c8ca01a6603c03e6ae84022660400286ae8400a666022028eb4d5d0800e4c8c8c8c954ccd5cd00088c004dd69aba10029bad357426ae8800822606406266e1d200000235573c0046aae74004dd51aba135744003223301c0020010d5d10009aba20061132553335734002230053301d01e3574200f323232325533357340022266042eb8d5d080108981881819b8748000008d55cf0011aab9d00137546ae84d5d1003844c954ccd5cd00088c00844c0b80b4cdc3a401801066e1d200a0073370e900400319b8748018014cdc3a400800866e1d20020033370e90000011aab9e00235573a0026ea8d5d09aba20011aba20021130230223370e90000011aab9e00235573a0026ea800488c88c008dd58009810111999aab9f0012800119400e002600c6aae74006600a6aae7800530043574400635742005000322323232325533357340022300d3008357420053301275a6ae84d5d1001044c954ccd5cd00088c04cc024d5d0801ccc04dd69aba135744006113255333573400223003300a357420093008357426ae880102264aa666ae6800444ca01660186ae8401a60146ae840066eb4d5d09aba20011aba2005113255333573400223009300c3574200d375a6ae84d5d1003044c954ccd5cd00088c054c034d5d0803844c954ccd5cd00088c044c038d5d08044dd69aba135744010113255333573400223005375c6ae840266eb8d5d09aba200908992a999ab9a001118039bae35742015375a6ae84d5d1005044c954ccd5cd00088c004c044d5d0805cc044d5d09aba200b08992a999ab9a0011180798091aba100c08981601599b8748050030cdc3a402401666e1d201000a3370e900700499b8748030020cdc3a401400e66e1d20080063370e900300299b8748010010cdc3a400400666e1d200000235573c0046aae74004dd5000991191919192a999ab9a001118009bae35742004113255333573400223005300735742006113255333573400223003375c6ae8401260106ae84d5d1002044c09008ccdc3a400800866e1d20020033370e90000011aab9e00235573a0026ea80048c8c8c8c954ccd5cd00088c004c01cd5d0801044c954ccd5cd00088c00844c954ccd5cd00088c01044c08c088cdc3a400800866e1d20020033370e90000011aab9e00235573a0026ea80048c8c8c8c954ccd5cd00088c004c018d5d0801044c954ccd5cd00088c00cc01cd5d0801844c954ccd5cd00088c014dd71aba100408981101099b8748010010cdc3a400400666e1d200000235573c0046aae74004dd50009191919192a999ab9a001118009bae35742004113255333573400223003375c6ae8400c22604003e66e1d20020033370e90000011aab9e00235573a0026ea80048c8c8c8c954ccd5cd00088c004dd71aba10029bad357426ae8800822603c03a66e1d200000235573c0046aae74004dd5000980a911192a999ab9a001113018490103505433001132553335734002226600a66e0405c010cdc080b80188994004cdc2002800ccdc20020008cc01801000ccdc400100b19b8700101530142223255333573400222006226600800466e1800c008cdc380080a098092481035054350020012232323232553335734002230021132553335734002230013007357420061130170163370e900000199b8748008008d55cf0011aab9d0013754002464646464aa666ae68004460026eb8d5d08014dd69aba1357440041130140133370e90000011aab9e00235573a0026ea80048c88c008dd60009808111999aab9f00128001400cc010d5d08014c00cd5d10012000601c44b200318014886400a4464aa666ae6800444c8ccd5cd000c00200466e1c00920021130070043371e00491010b487964726148656164563100088c88c008004c03c89640063002910c80148964cc02000801e300100144c01800c1914800c88a400644a00f2001912803c9401a44a00f2500604c98cd5ce249024c6800800112c800c6001133573800500214800c8888888888888888030260109201034d31320013007491034d30390013006491034d31300023223002001300722590018c002442b2600a005130040018c00823333330020012280114008a004500228008008888888ccccccd5d2003119198039aab9d00135573c0026ea801c8c014dd5803918021bac00723003375a00e460046eb801e0009000249035054310023263357380030002323001001230022330020020014891c00a6ddbc130ab92f5b7cb8d1ccd8d79eca5bfe25f6843c07b62841f00048811c5350e9d521552ebfd9e846fd70c3b801f716fc14296134ec0fb71e970001" + "description": "hydra-mHead-0.19.0-606-g6a0f3e38e5", + "cborHex": "5915b55915b20101003332323232323232323232323232323232323232323232222232930010029114800c8940364b264b264646464aa666ae68004460042264aa666ae680044600022604804666e1d20020033370e90000011aab9e00235573a0026ea801226602a921034d303600593330132232333573400300080119b8f002001301400130169001911001a426604244b200318004886400a44b264666ae6800600100233710002900044c01800e30020003180122666664644444a65266038921034d303100323302822590018c00a442b2b320112290049119199ab9a0018004008cdc7802001119008914802488c8ccd5cd000c00200466e1c00c0048c009180044c0100040013302722590018c002443003900291001260080024a800c8888888888888888041323232323215933021491034d30320032333573400300080119b8732593330202232333573400300080119b8f002001500630235007909801000c5200019199119118010009817912c800c400e4432005223300800130060032400644004900191000a0024466e0000800605233700a00290014564cc0852401034d3033003323223002001302d22590018c00a4432005223255333573400222604c00422600e00866e3c00801c50059500391000a2b2b2660429201034d30340032333573400300080119b8750013300b11223223002001302e22590018801c884cc018008c010004a0091330262593330202232333573400300080119b8f002001500600190ac800c4c0b52401034d303800910c8014896400e2b264666ae680060010023370e002900146001130314901034d3038004884c0cd2401034d30380011302c4901034d3037002802460048ac9981312c800c5409242b260520032133024491034d31320032333573400300080119b8f001500889816a49034d31320048540946605844b2003180048860072005220024c0100043300c00a5006899810a49034d3035005932333573400300080119b8f9500291100194016264b3200322900b9119199ab9a0018004008cdc7802001119001914805c88c8ccd5cd000c00200466e1c00c0048c0092a005222002460048c00918012300246004195001911000856654006440048a811c8564cccccc09c004c8c8c8c888c94c94ccd5cd00108ac9999aab9f0032801140060026ae840126ae88010800486400644b26010005215933335573e00450022800c004d5d0801cd5d1001900090c800c8964cc03403800a42b26666aae7c008a00450018009aba10039aba20032001219001912c981c80148564cccd55cf801140088c8ca002004357440086ae8400e001215933333303c001223255333573400222b26666aae7c008a00450018009aba10039aba20032001219001912c982080148564cccd55cf801140088c8ca002004357440086ae8400e0012159301d00190c00600200700123002460048c0088c008230023370e900000114008a0045002280148600300500b803c00e00244c0392644c0352644c0312622601293226010931130054991300449889800a4c113001498c88c954ccd5cd00088ac9999aab9f00528011191940040086ae8801cd5d0803400242b26666660640024464aa666ae680044564cccd55cf80114008a003001357420073574400640024320032259303700290ac9999aab9f0022801140060026ae8400e6ae8800c800486400644b266026028005215933335573e00450022800c004d5d0801cd5d1001900090c800c8964c05800a42b26666aae7c008a00450018009aba10039aba20032001219001912c980e80148564cccd55cf801140088c8ca002004357440086ae8400e0012159304500190c00600201f00b803c00e002460048c009180111801230022300246004460048c0088c008230023370e900000114008a004500228014860030070012260089322600693044c00d263370e9001002991192a999ab9a001115933335573e00a5002232328008010d5d10039aba100680048564cccccc0c800488c954ccd5cd00088ac9999aab9f0022801140060026ae8400e6ae8800c800486400644b2606e005215933335573e00450022800c004d5d0801cd5d1001900090c800c8964cc04c05000a42b26666aae7c008a00450018009aba10039aba20032001219001912c980b00148564cccd55cf80114008a003001357420073574400640024320032259301d00290ac9999aab9f0022801140060026ae8400e6ae8800c800486400644b26042005215933335573e00450022800c004d5d0801cd5d1001900090c800c8964c12c00a42b26666aae7c008a00450018009aba10039aba20032001219001912c982780148564cccd55cf80114008a003001357420073574400640024320032259305300290ac9999aab9f0022801140060026ae8400e6ae8800c800486400644b26605e0ae005215933335573e0045002232328008010d5d10021aba100380048564c0cc00643001800811c07e037017809c03e017007801c0048c0091801230022300246004460048c0088c009180111801230022300246004460048c0088c009180111801230022300208c008cdc3a40000045002280114008a00521800c0040048980224c89801a4c113003498cdc3a400800a464aa666ae680044600300208c008cdc3a400c00866e1d2000002233333302b001223255333573400222b26666aae7c008a004464650010021aba20043574200700090ac9804000c860020028c009180104600466e1d2000002280114008a0045002232233333302c0012280114008008a0045002302e2233335573e00250018000964c010d5d080148564c010d5d1001c8600300300280091801226500230033574400480012c9814000c860020028c008466666605000245002280114008a002002280114008a004500228014856400642a04b1502491110c00400a0033300f11223223002001303222590018801c884cc018008c01000400690a812a260549201034d30390048540902b26601200ca00713028491034d313100910ac800c400a44260589201034d31310004cc0a089640063000910c00e400a44002980200086601000ca004260360051801064006444006233550012233700002900124000446604444b200318004884c966400e444520092290029400a464aa666ae68004460030010068038230023371e00201c2430030018012200230040014800c888888888888888803801401201000230050068a4d1500c48940364a01922500d928060646464646464464646464aa666ae6800444ca0026646464464646464aa666ae6800444c8c8c8c8c8c8c8c8c8c8c8c8c8ca0026605a0286ae840426605a0286ae8403a6605a02a6ae840366eb4d5d08064ccc079d7280b1aba100b9981680f9aba100a99980f010bad357420133353232122323232325533357340022300132323232553335734002230013300c00a35742005300b357426ae8800822608e08c66e1d200000235573c0046aae74004dd51aba1002991919192a999ab9a00111800998060051aba100298059aba1357440041130470463370e90000011aab9e00235573a0026ea8d5d09aba200208982182119b8748000008d55cf0011aab9d0013754002464646464aa666ae68004460042264aa666ae680044600022608408266e1d20020033370e90000011aab9e00235573a0026ea800488c8c8c8c954ccd5cd00088c00844c954ccd5cd00088c004c01cd5d0801844c954ccd5cd00088c01044c10c108cdc3a400800866e1d20020033370e90000011aab9e00235573a0026ea8005d69aba100899816bae3574200f33301e23232323255333573400223003375c6ae840082264aa666ae680044601260506ae8400c2264aa666ae680044600e60506ae840102264aa666ae68004460026eb4d5d0802cc09cd5d09aba200508992a999ab9a0011180598149aba100608992a999ab9a001118029bad3574200f3027357426ae8801c22608a08866e1d200a0073370e900400319b8748018014cdc3a400800866e1d20020033370e90000011aab9e00235573a0026ea80040a8d5d08034ccc079d70151aba10059bae3574200933301e0203301e02c232323232553335734002230021132553335734002230041132553335734002230001130420413370e900200219b874800800ccdc3a40000046aae78008d55ce8009baa001357420073302d01d357420053302b75a6ae8400666056eb4d5d09aba20011aba2001357440026ae88004d5d10009aba2001357440026ae88004d5d10009aba2001357440026ae88004d5d10009aba20013574400422605a05866e1d200000235573c0046aae74004dd50009191919192a999ab9a0011180098099aba100298031aba13574400411302c02b3370e90000011aab9e00235573a0026ea80048c8c8c8c954ccd5cd0008899194004c8c8c8c954ccd5cd00088c004c05cd5d08014cc0848c8c8c8c954ccd5cd00088c004c070d5d0801044c954ccd5cd0008899400cdd69aba10049bad35742003375a6ae84d5d10008d5d100188981b81b19b874800800ccdc3a40000046aae78008d55ce8009baa001357426ae8800822606206066e1d200000235573c0046aae74004dd51aba10049998083ae5008357420053232323255333573400223000113255333573400223005375c6ae8400c2264aa666ae68004460066ae8401022606606466e1d20040043370e900100199b8748000008d55cf0011aab9d00137546ae840066603aeb8d5d09aba20011aba20013574400422605605466e1d200000235573c0046aae74004dd50008998043ae75a6ae8400e6ae8400664646464aa666ae68004460066eb8d5d0801044c954ccd5cd00088c024c044d5d0801ccc068064d5d09aba200308992a999ab9a0011180398089aba100408992a999ab9a001118009bad3574200b3010357426ae880142264aa666ae680044601660246ae840182264aa666ae680044600a6eb4d5d0803cc040d5d09aba200708981701699b874802801ccdc3a401000c66e1d20060053370e900200219b874800800ccdc3a40000046aae78008d55ce8009baa357426ae880046ae8800844c09008ccdc3a40000046aae78008d55ce8009baa0012323232325533357340022265001375a6ae8400e60146ae8400664646464aa666ae6800444ca012660320346ae8400e6ae8400666032eb8d5d09aba20011aba20021132553335734002230013301901a357420073232323255333573400223001375a6ae8400a6eb4d5d09aba200208981681619b8748000008d55cf0011aab9d00137546ae84d5d1001844c954ccd5cd00088c02cccc034041d69aba10049980d3ae357426ae880102264aa666ae680044600e660360386ae840142264aa666ae6800444c8ca01a6603c03e6ae84022660400286ae8400a666022028eb4d5d0800e4c8c8c8c954ccd5cd00088c004dd69aba10029bad357426ae8800822606406266e1d200000235573c0046aae74004dd51aba135744003223301c0020010d5d10009aba20061132553335734002230053301d01e3574200f323232325533357340022266042eb8d5d080108981881819b8748000008d55cf0011aab9d00137546ae84d5d1003844c954ccd5cd00088c00844c0b80b4cdc3a401801066e1d200a0073370e900400319b8748018014cdc3a400800866e1d20020033370e90000011aab9e00235573a0026ea8d5d09aba20011aba20021130230223370e90000011aab9e00235573a0026ea800488c88c008dd58009810111999aab9f0012800119400e002600c6aae74006600a6aae7800530043574400635742005000322323232325533357340022300d3008357420053301275a6ae84d5d1001044c954ccd5cd00088c04cc024d5d0801ccc04dd69aba135744006113255333573400223003300a357420093008357426ae880102264aa666ae6800444ca01660186ae8401a60146ae840066eb4d5d09aba20011aba2005113255333573400223009300c3574200d375a6ae84d5d1003044c954ccd5cd00088c054c034d5d0803844c954ccd5cd00088c044c038d5d08044dd69aba135744010113255333573400223005375c6ae840266eb8d5d09aba200908992a999ab9a001118039bae35742015375a6ae84d5d1005044c954ccd5cd00088c004c044d5d0805cc044d5d09aba200b08992a999ab9a0011180798091aba100c08981601599b8748050030cdc3a402401666e1d201000a3370e900700499b8748030020cdc3a401400e66e1d20080063370e900300299b8748010010cdc3a400400666e1d200000235573c0046aae74004dd5000991191919192a999ab9a001118009bae35742004113255333573400223005300735742006113255333573400223003375c6ae8401260106ae84d5d1002044c09008ccdc3a400800866e1d20020033370e90000011aab9e00235573a0026ea80048c8c8c8c954ccd5cd00088c004c01cd5d0801044c954ccd5cd00088c00844c954ccd5cd00088c01044c08c088cdc3a400800866e1d20020033370e90000011aab9e00235573a0026ea80048c8c8c8c954ccd5cd00088c004c018d5d0801044c954ccd5cd00088c00cc01cd5d0801844c954ccd5cd00088c014dd71aba100408981101099b8748010010cdc3a400400666e1d200000235573c0046aae74004dd50009191919192a999ab9a001118009bae35742004113255333573400223003375c6ae8400c22604003e66e1d20020033370e90000011aab9e00235573a0026ea80048c8c8c8c954ccd5cd00088c004dd71aba10029bad357426ae8800822603c03a66e1d200000235573c0046aae74004dd5000980a911192a999ab9a001113018490103505433001132553335734002226600a66e0405c010cdc080b80188994004cdc2002800ccdc20020008cc01801000ccdc400100b19b8700101530142223255333573400222006226600800466e1800c008cdc380080a098092481035054350020012232323232553335734002230021132553335734002230013007357420061130170163370e900000199b8748008008d55cf0011aab9d0013754002464646464aa666ae68004460026eb8d5d08014dd69aba1357440041130140133370e90000011aab9e00235573a0026ea80048c88c008dd60009808111999aab9f00128001400cc010d5d08014c00cd5d10012000601c44b200318014886400a4464aa666ae6800444c8ccd5cd000c00200466e1c00920021130070043371e00491010b487964726148656164563100088c88c008004c03c89640063002910c80148964cc02000801e300100144c01800c1914800c88a400644a00f2001912803c9401a44a00f2500604c98cd5ce249024c6800800112c800c6001133573800500214800c8888888888888888030260109201034d31320013007491034d30390013006491034d31300023223002001300722590018c002442b2600a005130040018c00823333330020012280114008a004500228008008888888ccccccd5d2003119198039aab9d00135573c0026ea801c8c014dd5803918021bac00723003375a00e460046eb801e0009000249035054310023263357380030002323001001230022330020020014891cffb8a8453c9db1c1668fc412e1f7fdbea230a2328dfc19ef325418b30048811c5350e9d521552ebfd9e846fd70c3b801f716fc14296134ec0fb71e970001" } diff --git a/hydra-plutus/scripts/vCommit.plutus b/hydra-plutus/scripts/vCommit.plutus deleted file mode 100644 index d790a5df3b2..00000000000 --- a/hydra-plutus/scripts/vCommit.plutus +++ /dev/null @@ -1,5 +0,0 @@ -{ - "type": "PlutusScriptV3", - "description": "hydra-vCommit-0.19.0-524-g017dc82b8", - "cborHex": "5902af5902ac010100323232323232323232322533300332323232325332330093001300b37540042646464a66666602800c2646464a66601e60060022a66602660246ea80245400803854ccc03cc01c00454ccc04cc048dd50048a80100700718081baa0081533300d3001300f37540042646464646464a6660266016602a6ea80344cc00cc01130103d87980003370e6660026eacc064c068c068c068c068c058dd50079bae30053016375400c91010b487964726148656164563100480044c94ccc050c020c058dd50008998021802a6103d87a8000300c333002375660346036602e6ea8c068c05cdd50009bae30063017375400e9110b4879647261486561645631001533015491054c35373b39001632533301800114c103d87a80001300333019301a0014bd701bac30053016375401e44464a66602c601c60306ea8004520001375a603860326ea8004c94ccc058c038c060dd50008a6103d87a8000132330010013756603a60346ea8008894ccc070004530103d87a8000132323232533301c337220100042a66603866e3c0200084c02ccc084dd4000a5eb80530103d87a8000133006006003375a603c0066eb8c070008c080008c078004c8cc004004010894ccc06c0045300103d87a8000132323232533301b337220100042a66603666e3c0200084c028cc080dd3000a5eb80530103d87a80001330060060033756603a0066eb8c06c008c07c008c074004dd2a400044a666024002294454cc04c0085894ccc040c010c048dd50008a4903433031001491034330320023015301630160013013301037540042a6601c9201054c34373b350016370e900000580580580598089809001180800098061baa002370e90010b1806980700118060009806001180500098031baa00114984d95854cc0092401054c34333b3500165734ae7155ceaab9e5573eae815d0aba257481" -} diff --git a/hydra-plutus/scripts/vDeposit.plutus b/hydra-plutus/scripts/vDeposit.plutus deleted file mode 100644 index 4adbc24314b..00000000000 --- a/hydra-plutus/scripts/vDeposit.plutus +++ /dev/null @@ -1,5 +0,0 @@ -{ - "type": "PlutusScriptV3", - "description": "hydra-vDeposit-0.19.0-524-g017dc82b8", - "cborHex": "59045b590458010100323232323232323232322533300332323232325332330093001300b37540042646464a66666602800c2646464a66601e6006002264a66602800201e264a666666032002020020020020264a66602c60320062a00a0226eb8004c058004c048dd50048a9998079803800899299980a000807899299999980c800808008008099299980b180c8018a8028089bad00101030160013012375401201c60206ea802054ccc034c004c03cdd5001099191919191929998099803980a9baa00d13253330143300430054c103d87e80003371e6eb8c00cc05cdd50038008998021802a60103d87980003322325333017300f30193754002266e24dd6980e980d1baa00100213300730084c103d87a80004a0600a60326ea8c010c064dd50011803180b9baa010375a6004602e6ea801c5281bae30193016375401a264a66602866008600a980103d87c80003322325333017300f30193754002266e20008dd6980e980d1baa00113300730084c103d87b80004a0600a60326ea8c014c064dd50011803180b9baa010375a6004602e6ea801c4c8c8c8c8cc020c02530103d87d80003371e646e48004ccc00ccc008ccc004004dd61802180d9baa01400523766002911002233714004002646e48004ccc00ccc008c8cc004004dd61802980e1baa00c22533301e00114bd70099911919800800801912999811000899811801a5eb804c8c94ccc080cdd79991192999811980d98129baa001133225333025337100040022980103d879800015333025337100020042980103d87b800014c103d87a8000375a6022604c6ea800cdd6980898131baa002100133225333024337200040022980103d8798000153330243371e0040022980103d87a800014c103d87b8000375c6022604a6ea8008dd7180898129baa001300f3023375400a601e60466ea800930103d8798000133025005003133025002330040040013026002302400133002002302100130200012375c600e60386ea80052201002233714004002444a66603466e24005200014bd700a99980f0010a5eb804cc07cc080008ccc00c00cc084008cdc0000a400244646600200200644a66603c002297ae013301f37526006604000266004004604200244464666002002008006444a66603e004200226660060066044004660080026eb8c0840088c06cc070c0700045281bad30193016375401a4603260340024603000244a666024002294454cc04c008528119299980898028008a490344303100153330113009001149010344303200153330113370e90020008a490344303300153330113370e90030008a490344303400153330113370e90040008a49034430350014910344303600301237540024602a602c602c602c602c602c602c602c002602660206ea800854cc039241054c35353b350016370e900000580580580598089809001180800098061baa002370e90010b1806980700118060009806001180500098031baa00114984d95854cc0092401054c35313b3500165734ae7155ceaab9e5573eae815d0aba257481" -} diff --git a/hydra-plutus/scripts/vInitial.plutus b/hydra-plutus/scripts/vInitial.plutus deleted file mode 100644 index 23e652c2789..00000000000 --- a/hydra-plutus/scripts/vInitial.plutus +++ /dev/null @@ -1,5 +0,0 @@ -{ - "type": "PlutusScriptV3", - "description": "hydra-vInitial-0.19.0-524-g017dc82b8", - "cborHex": "590a68590a6501010033232323232323232323223225333005323232323253323300b3001300d37540042646464a66666602c00c26464646464a66602660080022a66602e602c6ea802c5400804854ccc04cc0240044c94ccc06000404c4c94cccccc0740040500504c94ccc068c07400c4cc020004894ccc0700085401c4c94cccccc0840044ccc0240044c008c08000c060060060060060c078008054dd600080a00a180d000980b1baa00b012301437540142a666022600460266ea80104c8c8c8c8c8c8c94ccc060c024c068dd5008099802248103493031003370e6660026eacc018c06cdd5009003a4410b487964726148656164563100480044cc8c8c8c8c8c8c8c8c8c8c8c8c8c8c88c8c8c8c8c94cccccc0d40040080084c8cc080004894ccc0d00084c8c94ccc0c8cc07924103493133003371e0426eb8c058c0d4dd50040a999819191919299981a981300089811249034930350015333035302b001132533303a0011302349103493036001533303a303d001133022491034930320032323300100100622533303d00114a0264a66607466e3cdd718200010020a511330030030013040001375c60780022604692010349303600323300100100322533303b00114bd700991919299981d18181bad303d00313303f37520026600a00a00426600a00a0046eb8c0ec008c0fc008c0f40044c08924010349303600301a001330183301d0020224bd6f7b6301bac303830393039303930393039303930393039303537540582a6660646603c92103493134003375e6040606a6ea80b1300101a000153330323301e49103493033003371266e00c048004c048ccc050cc04c00894ccc0ccc090c0d4dd500089bab3010303637546020606c6ea8c0e4c0d8dd50008a5eb7bdb1812f5bded8c002a60246660286602601446eacc040c0d8dd5000a5eb7bdb1800544cc0300080145280a5014a02940cc058c94ccc0c8c0a0c0d0dd50008a60103d87a80001301d33037300f30353754601e606a6ea8c0e0c0d4dd5000a5eb80cc034dd6180c981a1baa02b0254bd6f7b6301980780491929998191811981a1baa0011301d3303730383035375400297ae013010490103493135003300d3758603260686ea80ac0044c94cccccc0e400454ccc0c4c088c0ccdd5000899299981b000803899299999981d800899299981c000804899299999981e800805005005005099299981d181e801899981300209803981e8040058059bae001303a001303a00200800800800830380013034375400200c00c00c00c00c606c0046eb0004008008c024c0bcdd50010980c2491f4661696c656420746f206465636f6465206c6f636b65645f636f6d6d69747300533302e0011300849103493132001533302e303100113232533302c301d0011300a49103493039001533302c30220011300a490103493130001323253333330360021533302e301f30303754004264a66606600200426464a66606a00200826464a66606e00200c264a66666607800200e00e00e00e264a666072607800620120106eb8004c0e4004c0e4008c0dc004c0dc008c0d4004c0c4dd500100080080080080089805a4903493131003032302f3754004605a6ea8004c0c00044c02124010349313200330080012300e302d375400264660020026eb0c034c0b0dd50119129998170008a5eb804c8c94ccc0b0c94ccc0b4c08cc0bcdd5000899b8f02a375c606660606ea8004528180a18179baa3014302f37540042660620046600800800226600800800260640046060002600200244464646464a6660600042a666060006294400400454ccc0bc0044c06124103493037001533302f0021301849010349303800132323232533302f30203031375400826466038921034930340053330303371e6eccc034c0ccdd50009bae300d303337540062a66606066ebcc060c0ccdd5000980c18199baa003133300b00b00400214a02940c0d4c0c8dd50020a503035005303300430330023031001375860600046eb0c0bcc0c0004cc0b4dd3801198169ba70014bd701119198008008019129998160008a6103d87a800013232533302a3375e6024605a6ea80080144c054cc0bc0092f5c02660080080026060004605c0024605460560024a660480022c44646600200200644a666052002297ae013302a3003302b00133002002302c001233300a00148810048810022323300100100322533302700114bd700998141ba63003302900133002002302a00122232333001001004003222533302800210011333003003302b00233004001375660540044464666002002006004444a66604c004200226466600800860540066644646600200200a44a66605600226605866ec0dd48021ba60034bd6f7b630099191919299981599b90008002133030337606ea4020dd30038028a99981599b8f008002132533302c301d302e375400226606266ec0dd4804981918179baa001004100432533302c533303000114a22940530103d87a80001301733031374c00297ae03233300100100800222253330320021001132333004004303600333223233001001005225333037001133038337606ea4010dd4001a5eb7bdb1804c8c8c8c94ccc0dccdc800400109981e19bb037520106ea001c01454ccc0dccdc7804001099299981c1814981d1baa00113303d337606ea4024c0f8c0ecdd5000802080219299981c18148008a60103d87a8000130233303d375000297ae03370000e00226607866ec0dd48011ba800133006006003375a60720066eb8c0dc008c0ec008c0e4004dd718188009bad30320013034002133030337606ea4008dd3000998030030019bab302d003375c6056004605e004605a0026eb8c094004dd598130009814001118119812181200091299980e9809980f9baa002100113756604660406ea8008c004004894ccc07c0045200013370090011980100118110009180f8009bac301e301b375402044464a6660366022603a6ea8004520001375a6042603c6ea8004c94ccc06cc044c074dd50008a6103d87a80001323300100137566044603e6ea8008894ccc084004530103d87a80001323232325333021337220100042a66604266e3c0200084c030cc098dd4000a5eb80530103d87a8000133006006003375a60460066eb8c084008c094008c08c004cc01000c00888c8cc00400400c894ccc078004530103d87a8000132323232533301e3372200e0042a66603c66e3c01c0084c024cc08cdd3000a5eb80530103d87a8000133006006003375660400066eb8c078008c088008c080004dd2a400044a66602c00229444c00c00894cc054004588c064c068c068c068c068004dd7180b980a1baa0041533012491054c36323b3500162225333013300430153754006264a666030002004264a66666603a00200600600600626464a66603600200a264a66666604000200c00c00c264a66603a60400062a01000e6eb4004018c074004c07400cdd7000980d000980b1baa003001370e9000111919800800801911980180098010010068068068069809980a001180900098071baa002370e90010b1807980800118070009807001180600098041baa00114984d958dd70008a998012481054c35383b3500165734ae7155ceaab9e5573eae815d0aba257489811e581c3e5a776bcee213e3dfd15806952a10ac5590e3e97d09d62eb99266b20001" -} diff --git a/hydra-plutus/test/Hydra/Plutus/GoldenSpec.hs b/hydra-plutus/test/Hydra/Plutus/GoldenSpec.hs index 687450f8600..e6a4db624e6 100644 --- a/hydra-plutus/test/Hydra/Plutus/GoldenSpec.hs +++ b/hydra-plutus/test/Hydra/Plutus/GoldenSpec.hs @@ -49,12 +49,6 @@ spec = do goldenScript "vHead" Head.validatorScript it "Head minting policy script" $ goldenScript "mHead" (serialiseCompiledCode HeadTokens.unappliedMintingPolicy) - it "Deposit validator script" $ - goldenScript "vDeposit" depositValidatorScript - it "Initial validator script" $ - goldenScript "vInitial" initialValidatorScript - it "Commit validator script" $ - goldenScript "vCommit" commitValidatorScript -- | Write a golden script on first run and ensure it stays the same on -- subsequent runs. From 0b8c4e09130619b0849f408fbf13dc277f3d8bfe Mon Sep 17 00:00:00 2001 From: Sebastian Nagel Date: Wed, 8 Jan 2025 09:25:09 +0100 Subject: [PATCH 4/5] Bump explicitly to aiken 1.1.9 and regenerate scripts --- flake.lock | 8 +++--- flake.nix | 2 +- hydra-plutus/plutus.json | 26 ++++++++++---------- hydra-plutus/scripts/mHead.plutus | 2 +- hydra-plutus/test/Hydra/Plutus/GoldenSpec.hs | 10 +++++--- 5 files changed, 25 insertions(+), 23 deletions(-) diff --git a/flake.lock b/flake.lock index 4477255bf48..f72483a22d6 100644 --- a/flake.lock +++ b/flake.lock @@ -73,16 +73,16 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1729359954, - "narHash": "sha256-cspIIuH+0LJItTz9wk6mChwEMFP3GDpI+KKg0FWM9bQ=", + "lastModified": 1734104652, + "narHash": "sha256-Zu7t6DmQ9A7prv9ybhDgVPVisM0Dnf5CAXIXJHHEBGs=", "owner": "aiken-lang", "repo": "aiken", - "rev": "a7741ec286bd939784f3183420be845d22de9a25", + "rev": "22172069f891237d39379471477835c1fe54650f", "type": "github" }, "original": { "owner": "aiken-lang", - "ref": "v1.1.5", + "ref": "v1.1.9", "repo": "aiken", "type": "github" } diff --git a/flake.nix b/flake.nix index 6a54831b0cb..223fa00e240 100644 --- a/flake.nix +++ b/flake.nix @@ -15,7 +15,7 @@ url = "github:IntersectMBO/cardano-haskell-packages?ref=repo"; flake = false; }; - aiken.url = "github:aiken-lang/aiken/v1.1.5"; + aiken.url = "github:aiken-lang/aiken/v1.1.9"; hls = { url = "github:haskell/haskell-language-server"; flake = false; diff --git a/hydra-plutus/plutus.json b/hydra-plutus/plutus.json index 051856b6ade..96ec2dfdf68 100644 --- a/hydra-plutus/plutus.json +++ b/hydra-plutus/plutus.json @@ -6,7 +6,7 @@ "plutusVersion": "v3", "compiler": { "name": "Aiken", - "version": "v1.1.5+a7741ec" + "version": "v1.1.9+2217206" }, "license": "Apache-2.0" }, @@ -25,16 +25,16 @@ "$ref": "#/definitions/commit~1Redeemer" } }, - "compiledCode": "5902ac010100323232323232323232322533300332323232325332330093001300b37540042646464a66666602800c2646464a66601e60060022a66602660246ea80245400803854ccc03cc01c00454ccc04cc048dd50048a80100700718081baa0081533300d3001300f37540042646464646464a6660266016602a6ea80344cc00cc01130103d87980003370e6660026eacc064c068c068c068c068c058dd50079bae30053016375400c91010b487964726148656164563100480044c94ccc050c020c058dd50008998021802a6103d87a8000300c333002375660346036602e6ea8c068c05cdd50009bae30063017375400e9110b4879647261486561645631001533015491054c35373b39001632533301800114c103d87a80001300333019301a0014bd701bac30053016375401e44464a66602c601c60306ea8004520001375a603860326ea8004c94ccc058c038c060dd50008a6103d87a8000132330010013756603a60346ea8008894ccc070004530103d87a8000132323232533301c337220100042a66603866e3c0200084c02ccc084dd4000a5eb80530103d87a8000133006006003375a603c0066eb8c070008c080008c078004c8cc004004010894ccc06c0045300103d87a8000132323232533301b337220100042a66603666e3c0200084c028cc080dd3000a5eb80530103d87a80001330060060033756603a0066eb8c06c008c07c008c074004dd2a400044a666024002294454cc04c0085894ccc040c010c048dd50008a4903433031001491034330320023015301630160013013301037540042a6601c9201054c34373b350016370e900000580580580598089809001180800098061baa002370e90010b1806980700118060009806001180500098031baa00114984d95854cc0092401054c34333b3500165734ae7155ceaab9e5573eae815d0aba257481", - "hash": "3e5a776bcee213e3dfd15806952a10ac5590e3e97d09d62eb99266b2" + "compiledCode": "5902aa010100323232323232323232322533300332323232325332330093001300b37540042646644a66666602800c2646464a66601e60060022a66602660246ea802400803854ccc03cc01c00454ccc04cc048dd500480100700718081baa0081533300d3001300f37540042646464646464a6660266016602a6ea80344cc010c01530103d87980003370e6660026eacc064c068c068c068c068c058dd50071bae30033016375400c91010b487964726148656164563100480044c94ccc050c020c058dd5000899802980326103d87a8000300c333002375660346036602e6ea8c068c05cdd50009bae30043017375400e9110b4879647261486561645631001533015491054c35373b39001632533301800114c103d87a80001300333019301a0014bd701bac30033016375401c44464a66602c601c60306ea8004520001375a603860326ea8004c94ccc058c038c060dd50008a6103d87a8000132330010013756603a60346ea8008894ccc070004530103d87a8000132333222533301c337220100062a66603866e3c02000c4c02ccc084dd400125eb80530103d87a8000133006006001375c60360026eb4c070004c080008c078004c8cc004004010894ccc06c0045300103d87a8000132333222533301b337220100062a66603666e3c02000c4c028cc080dd300125eb80530103d87a8000133006006001375c60340026eacc06c004c07c008c074004dd2a40004602e6030603000244a666022002294454cc0480085894ccc03cc00cc044dd50008a490343303100149103433032003013301037540042a6601c9201054c34373b350016370e900000580580580598080009808180880098061baa002370e90010b1806980700198060011805801180580098031baa00114984d95854cc0092401054c34333b3500165734ae7155ceaab9e5573eae815d0aba257481", + "hash": "61458bc2f297fff3cc5df6ac7ab57cefd87763b0b7bd722146a1035c" }, { "title": "commit.commit.else", "redeemer": { "schema": {} }, - "compiledCode": "5902ac010100323232323232323232322533300332323232325332330093001300b37540042646464a66666602800c2646464a66601e60060022a66602660246ea80245400803854ccc03cc01c00454ccc04cc048dd50048a80100700718081baa0081533300d3001300f37540042646464646464a6660266016602a6ea80344cc00cc01130103d87980003370e6660026eacc064c068c068c068c068c058dd50079bae30053016375400c91010b487964726148656164563100480044c94ccc050c020c058dd50008998021802a6103d87a8000300c333002375660346036602e6ea8c068c05cdd50009bae30063017375400e9110b4879647261486561645631001533015491054c35373b39001632533301800114c103d87a80001300333019301a0014bd701bac30053016375401e44464a66602c601c60306ea8004520001375a603860326ea8004c94ccc058c038c060dd50008a6103d87a8000132330010013756603a60346ea8008894ccc070004530103d87a8000132323232533301c337220100042a66603866e3c0200084c02ccc084dd4000a5eb80530103d87a8000133006006003375a603c0066eb8c070008c080008c078004c8cc004004010894ccc06c0045300103d87a8000132323232533301b337220100042a66603666e3c0200084c028cc080dd3000a5eb80530103d87a80001330060060033756603a0066eb8c06c008c07c008c074004dd2a400044a666024002294454cc04c0085894ccc040c010c048dd50008a4903433031001491034330320023015301630160013013301037540042a6601c9201054c34373b350016370e900000580580580598089809001180800098061baa002370e90010b1806980700118060009806001180500098031baa00114984d95854cc0092401054c34333b3500165734ae7155ceaab9e5573eae815d0aba257481", - "hash": "3e5a776bcee213e3dfd15806952a10ac5590e3e97d09d62eb99266b2" + "compiledCode": "5902aa010100323232323232323232322533300332323232325332330093001300b37540042646644a66666602800c2646464a66601e60060022a66602660246ea802400803854ccc03cc01c00454ccc04cc048dd500480100700718081baa0081533300d3001300f37540042646464646464a6660266016602a6ea80344cc010c01530103d87980003370e6660026eacc064c068c068c068c068c058dd50071bae30033016375400c91010b487964726148656164563100480044c94ccc050c020c058dd5000899802980326103d87a8000300c333002375660346036602e6ea8c068c05cdd50009bae30043017375400e9110b4879647261486561645631001533015491054c35373b39001632533301800114c103d87a80001300333019301a0014bd701bac30033016375401c44464a66602c601c60306ea8004520001375a603860326ea8004c94ccc058c038c060dd50008a6103d87a8000132330010013756603a60346ea8008894ccc070004530103d87a8000132333222533301c337220100062a66603866e3c02000c4c02ccc084dd400125eb80530103d87a8000133006006001375c60360026eb4c070004c080008c078004c8cc004004010894ccc06c0045300103d87a8000132333222533301b337220100062a66603666e3c02000c4c028cc080dd300125eb80530103d87a8000133006006001375c60340026eacc06c004c07c008c074004dd2a40004602e6030603000244a666022002294454cc0480085894ccc03cc00cc044dd50008a490343303100149103433032003013301037540042a6601c9201054c34373b350016370e900000580580580598080009808180880098061baa002370e90010b1806980700198060011805801180580098031baa00114984d95854cc0092401054c34333b3500165734ae7155ceaab9e5573eae815d0aba257481", + "hash": "61458bc2f297fff3cc5df6ac7ab57cefd87763b0b7bd722146a1035c" }, { "title": "deposit.deposit.spend", @@ -50,16 +50,16 @@ "$ref": "#/definitions/deposit~1Redeemer" } }, - "compiledCode": "590458010100323232323232323232322533300332323232325332330093001300b37540042646464a66666602800c2646464a66601e6006002264a66602800201e264a666666032002020020020020264a66602c60320062a00a0226eb8004c058004c048dd50048a9998079803800899299980a000807899299999980c800808008008099299980b180c8018a8028089bad00101030160013012375401201c60206ea802054ccc034c004c03cdd5001099191919191929998099803980a9baa00d13253330143300430054c103d87e80003371e6eb8c00cc05cdd50038008998021802a60103d87980003322325333017300f30193754002266e24dd6980e980d1baa00100213300730084c103d87a80004a0600a60326ea8c010c064dd50011803180b9baa010375a6004602e6ea801c5281bae30193016375401a264a66602866008600a980103d87c80003322325333017300f30193754002266e20008dd6980e980d1baa00113300730084c103d87b80004a0600a60326ea8c014c064dd50011803180b9baa010375a6004602e6ea801c4c8c8c8c8cc020c02530103d87d80003371e646e48004ccc00ccc008ccc004004dd61802180d9baa01400523766002911002233714004002646e48004ccc00ccc008c8cc004004dd61802980e1baa00c22533301e00114bd70099911919800800801912999811000899811801a5eb804c8c94ccc080cdd79991192999811980d98129baa001133225333025337100040022980103d879800015333025337100020042980103d87b800014c103d87a8000375a6022604c6ea800cdd6980898131baa002100133225333024337200040022980103d8798000153330243371e0040022980103d87a800014c103d87b8000375c6022604a6ea8008dd7180898129baa001300f3023375400a601e60466ea800930103d8798000133025005003133025002330040040013026002302400133002002302100130200012375c600e60386ea80052201002233714004002444a66603466e24005200014bd700a99980f0010a5eb804cc07cc080008ccc00c00cc084008cdc0000a400244646600200200644a66603c002297ae013301f37526006604000266004004604200244464666002002008006444a66603e004200226660060066044004660080026eb8c0840088c06cc070c0700045281bad30193016375401a4603260340024603000244a666024002294454cc04c008528119299980898028008a490344303100153330113009001149010344303200153330113370e90020008a490344303300153330113370e90030008a490344303400153330113370e90040008a49034430350014910344303600301237540024602a602c602c602c602c602c602c602c002602660206ea800854cc039241054c35353b350016370e900000580580580598089809001180800098061baa002370e90010b1806980700118060009806001180500098031baa00114984d95854cc0092401054c35313b3500165734ae7155ceaab9e5573eae815d0aba257481", - "hash": "de09cec5f84eedaf64186cb52ba4ee6e74e6fc368af25b90d457f352" + "compiledCode": "59044b010100323232323232323232322533300332323232325332330093001300b37540042646644a66666602800c2646464a66601e6006002264a66602800201e264a666666032002020020020020264a66602c603200600a0226eb8004c058004c048dd50048a9998079803800899299980a000807899299999980c800808008008099299980b180c8018028089bad00101030160013012375401201c60206ea802054ccc034c004c03cdd5001099191919191929998099803980a9baa00d153330133300330044c103d87e80003371e6eb8c008c058dd50031bae30193016375401a2660066008980103d87980003322325333016300e30183754002266e24dd6980e180c9baa00100213300630074c103d87a80004a0600860306ea8c00cc060dd50011802980b1baa00e375a6002602c6ea8018528099299980a198021802a6103d87c80003322325333017300f30193754002266e20008dd6980e980d1baa00113300730084c103d87b80004a0600a60326ea8c014c064dd50011803180b9baa00f375a6004602e6ea801c4c8c8c8c8cc020c02530103d87d80003371e6e48ccc00ccc008ccc004004dd61802180d9baa0130052376600291010022337140040026e48ccc00ccc008c8cc004004dd61802980e1baa00c22533301e00114bd700991919800800998020021811801912999810800899811001a5eb804cc894ccc07ccdd79991192999811180d18121baa00113322533302433710004002298103d879800015333024337100020042980103d87b800014c103d87a8000375a6020604a6ea800cdd6980818129baa002100133225333023337200040022980103d8798000153330233371e0040022980103d87a800014c103d87b8000375c602060486ea8008dd7180818121baa001300e3022375400a601c60446ea800930103d8798000133024005003133024002330040040013023001302400130200012375c600e60386ea8005221002233714004002444a66603466e24005200014bd700a99980f0010a5eb804cc07cc080008ccc00c00cc084008cdc0000a400244646600200200644a66603c002297ae013301f37526006604000266004004604200244464666002002008006444a66603e004200226660060066044004660080026eb8c0840088c06cc070c0700045281bad30193016375401a4603260340024603000244a666024002294454cc04c008528119299980898028008a490344303100153330113009001149010344303200153330113370e90020008a490344303300153330113370e90030008a490344303400153330113370e90040008a49034430350014910344303600301237540024602a602c602c602c602c602c602c602c002602660206ea800854cc039241054c35353b350016370e900000580580580598080009808180880098061baa002370e90010b1806980700198060011805801180580098031baa00114984d95854cc0092401054c35313b3500165734ae7155ceaab9e5573eae815d0aba257481", + "hash": "ae01dade3a9c346d5c93ae3ce339412b90a0b8f83f94ec6baa24e30c" }, { "title": "deposit.deposit.else", "redeemer": { "schema": {} }, - "compiledCode": "590458010100323232323232323232322533300332323232325332330093001300b37540042646464a66666602800c2646464a66601e6006002264a66602800201e264a666666032002020020020020264a66602c60320062a00a0226eb8004c058004c048dd50048a9998079803800899299980a000807899299999980c800808008008099299980b180c8018a8028089bad00101030160013012375401201c60206ea802054ccc034c004c03cdd5001099191919191929998099803980a9baa00d13253330143300430054c103d87e80003371e6eb8c00cc05cdd50038008998021802a60103d87980003322325333017300f30193754002266e24dd6980e980d1baa00100213300730084c103d87a80004a0600a60326ea8c010c064dd50011803180b9baa010375a6004602e6ea801c5281bae30193016375401a264a66602866008600a980103d87c80003322325333017300f30193754002266e20008dd6980e980d1baa00113300730084c103d87b80004a0600a60326ea8c014c064dd50011803180b9baa010375a6004602e6ea801c4c8c8c8c8cc020c02530103d87d80003371e646e48004ccc00ccc008ccc004004dd61802180d9baa01400523766002911002233714004002646e48004ccc00ccc008c8cc004004dd61802980e1baa00c22533301e00114bd70099911919800800801912999811000899811801a5eb804c8c94ccc080cdd79991192999811980d98129baa001133225333025337100040022980103d879800015333025337100020042980103d87b800014c103d87a8000375a6022604c6ea800cdd6980898131baa002100133225333024337200040022980103d8798000153330243371e0040022980103d87a800014c103d87b8000375c6022604a6ea8008dd7180898129baa001300f3023375400a601e60466ea800930103d8798000133025005003133025002330040040013026002302400133002002302100130200012375c600e60386ea80052201002233714004002444a66603466e24005200014bd700a99980f0010a5eb804cc07cc080008ccc00c00cc084008cdc0000a400244646600200200644a66603c002297ae013301f37526006604000266004004604200244464666002002008006444a66603e004200226660060066044004660080026eb8c0840088c06cc070c0700045281bad30193016375401a4603260340024603000244a666024002294454cc04c008528119299980898028008a490344303100153330113009001149010344303200153330113370e90020008a490344303300153330113370e90030008a490344303400153330113370e90040008a49034430350014910344303600301237540024602a602c602c602c602c602c602c602c002602660206ea800854cc039241054c35353b350016370e900000580580580598089809001180800098061baa002370e90010b1806980700118060009806001180500098031baa00114984d95854cc0092401054c35313b3500165734ae7155ceaab9e5573eae815d0aba257481", - "hash": "de09cec5f84eedaf64186cb52ba4ee6e74e6fc368af25b90d457f352" + "compiledCode": "59044b010100323232323232323232322533300332323232325332330093001300b37540042646644a66666602800c2646464a66601e6006002264a66602800201e264a666666032002020020020020264a66602c603200600a0226eb8004c058004c048dd50048a9998079803800899299980a000807899299999980c800808008008099299980b180c8018028089bad00101030160013012375401201c60206ea802054ccc034c004c03cdd5001099191919191929998099803980a9baa00d153330133300330044c103d87e80003371e6eb8c008c058dd50031bae30193016375401a2660066008980103d87980003322325333016300e30183754002266e24dd6980e180c9baa00100213300630074c103d87a80004a0600860306ea8c00cc060dd50011802980b1baa00e375a6002602c6ea8018528099299980a198021802a6103d87c80003322325333017300f30193754002266e20008dd6980e980d1baa00113300730084c103d87b80004a0600a60326ea8c014c064dd50011803180b9baa00f375a6004602e6ea801c4c8c8c8c8cc020c02530103d87d80003371e6e48ccc00ccc008ccc004004dd61802180d9baa0130052376600291010022337140040026e48ccc00ccc008c8cc004004dd61802980e1baa00c22533301e00114bd700991919800800998020021811801912999810800899811001a5eb804cc894ccc07ccdd79991192999811180d18121baa00113322533302433710004002298103d879800015333024337100020042980103d87b800014c103d87a8000375a6020604a6ea800cdd6980818129baa002100133225333023337200040022980103d8798000153330233371e0040022980103d87a800014c103d87b8000375c602060486ea8008dd7180818121baa001300e3022375400a601c60446ea800930103d8798000133024005003133024002330040040013023001302400130200012375c600e60386ea8005221002233714004002444a66603466e24005200014bd700a99980f0010a5eb804cc07cc080008ccc00c00cc084008cdc0000a400244646600200200644a66603c002297ae013301f37526006604000266004004604200244464666002002008006444a66603e004200226660060066044004660080026eb8c0840088c06cc070c0700045281bad30193016375401a4603260340024603000244a666024002294454cc04c008528119299980898028008a490344303100153330113009001149010344303200153330113370e90020008a490344303300153330113370e90030008a490344303400153330113370e90040008a49034430350014910344303600301237540024602a602c602c602c602c602c602c602c002602660206ea800854cc039241054c35353b350016370e900000580580580598080009808180880098061baa002370e90010b1806980700198060011805801180580098031baa00114984d95854cc0092401054c35313b3500165734ae7155ceaab9e5573eae815d0aba257481", + "hash": "ae01dade3a9c346d5c93ae3ce339412b90a0b8f83f94ec6baa24e30c" }, { "title": "initial.initial.spend", @@ -83,8 +83,8 @@ } } ], - "compiledCode": "590a420101003232323232323232323223225333005323232323253323300b3001300d37540042646464a66666602c00c26464646464a66602660080022a66602e602c6ea802c5400804854ccc04cc0240044c94ccc06000404c4c94cccccc0740040500504c94ccc068c07400c4cc020004894ccc0700085401c4c94cccccc0840044ccc0240044c008c08000c060060060060060c078008054dd600080a00a180d000980b1baa00b012301437540142a666022600460266ea80104c8c8c8c8c8c8c94ccc060c024c068dd500809980224903493031003370e6660026eacc018c06cdd5009003a4410b487964726148656164563100480044cc8c8c8c8c8c8c8c8c8c8c8c8c8c8c88c8c8c8c8c94cccccc0d40040080084c8cc080004894ccc0d00084c8c94ccc0c8cc07924103493133003371e0426eb8c058c0d4dd50040a999819191919299981a981300089811249034930350015333035302b001132533303a0011302349103493036001533303a303d001133022491034930320032323300100100622533303d00114a0264a66607466e3cdd718200010020a511330030030013040001375c60780022604692010349303600323300100100322533303b00114bd700991919299981d18181bad303d00313303f37520026600a00a00426600a00a0046eb8c0ec008c0fc008c0f40044c08924010349303600301a001330183301d0020224bd6f7b6301bac303830393039303930393039303930393039303537540582a6660646603c92103493134003375e6040606a6ea80b1300101a000153330323301e49103493033003371266e00c048004c048ccc050cc04c00894ccc0ccc090c0d4dd500089bab3010303637546020606c6ea8c0e4c0d8dd50008a5eb7bdb1812f5bded8c002a60246660286602601446eacc040c0d8dd5000a5eb7bdb1800544cc0300080145280a5014a02940cc058c94ccc0c8c0a0c0d0dd50008a60103d87a80001301d33037300f30353754601e606a6ea8c0e0c0d4dd5000a5eb80cc034dd6180c981a1baa02b0254bd6f7b6301980780491929998191811981a1baa0011301d3303730383035375400297ae013010490103493135003300d3758603260686ea80ac0044c94cccccc0e400454ccc0c4c088c0ccdd5000899299981b000803899299999981d800899299981c000804899299999981e800805005005005099299981d181e801899981300209803981e8040058059bae001303a001303a00200800800800830380013034375400200c00c00c00c00c606c0046eb0004008008c024c0bcdd50010980c2491f4661696c656420746f206465636f6465206c6f636b65645f636f6d6d69747300533302e0011300849103493132001533302e303100113232533302c301d0011300a49103493039001533302c30220011300a490103493130001323253333330360021533302e301f30303754004264a66606600200426464a66606a00200826464a66606e00200c264a66666607800200e00e00e00e264a666072607800620120106eb8004c0e4004c0e4008c0dc004c0dc008c0d4004c0c4dd500100080080080080089805a4903493131003032302f3754004605a6ea8004c0c00044c02124010349313200330080012300e302d375400264660020026eb0c034c0b0dd50119129998170008a5eb804c8c94ccc0b0c94ccc0b4c08cc0bcdd5000899b8f02a375c606660606ea8004528180a18179baa3014302f37540042660620046600800800226600800800260640046060002600200244464646464a6660600042a666060006294400400454ccc0bc0044c06124103493037001533302f0021301849010349303800132323232533302f30203031375400826466038921034930340053330303371e6eccc034c0ccdd50009bae300d303337540062a66606066ebcc060c0ccdd5000980c18199baa003133300b00b00400214a02940c0d4c0c8dd50020a503035005303300430330023031001375860600046eb0c0bcc0c0004cc0b4dd3801198169ba70014bd701119198008008019129998160008a6103d87a800013232533302a3375e6024605a6ea80080144c054cc0bc0092f5c02660080080026060004605c0024605460560024a660480022c44646600200200644a666052002297ae013302a3003302b00133002002302c001233300a00148810048810022323300100100322533302700114bd700998141ba63003302900133002002302a00122232333001001004003222533302800210011333003003302b00233004001375660540044464666002002006004444a66604c004200226466600800860540066644646600200200a44a66605600226605866ec0dd48021ba60034bd6f7b630099191919299981599b90008002133030337606ea4020dd30038028a99981599b8f008002132533302c301d302e375400226606266ec0dd4804981918179baa001004100432533302c533303000114a22940530103d87a80001301733031374c00297ae03233300100100800222253330320021001132333004004303600333223233001001005225333037001133038337606ea4010dd4001a5eb7bdb1804c8c8c8c94ccc0dccdc800400109981e19bb037520106ea001c01454ccc0dccdc7804001099299981c1814981d1baa00113303d337606ea4024c0f8c0ecdd5000802080219299981c18148008a60103d87a8000130233303d375000297ae03370000e00226607866ec0dd48011ba800133006006003375a60720066eb8c0dc008c0ec008c0e4004dd718188009bad30320013034002133030337606ea4008dd3000998030030019bab302d003375c6056004605e004605a0026eb8c094004dd598130009814001118119812181200091299980e9809980f9baa002100113756604660406ea8008c004004894ccc07c0045200013370090011980100118110009180f8009bac301e301b375402044464a6660366022603a6ea8004520001375a6042603c6ea8004c94ccc06cc044c074dd50008a6103d87a80001323300100137566044603e6ea8008894ccc084004530103d87a80001323232325333021337220100042a66604266e3c0200084c030cc098dd4000a5eb80530103d87a8000133006006003375a60460066eb8c084008c094008c08c004cc01000c00888c8cc00400400c894ccc078004530103d87a8000132323232533301e3372200e0042a66603c66e3c01c0084c024cc08cdd3000a5eb80530103d87a8000133006006003375660400066eb8c078008c088008c080004dd2a400044a66602c00229444c00c00894cc054004588c064c068c068c068c068004dd7180b980a1baa0041533012491054c36323b3500162225333013300430153754006264a666030002004264a66666603a00200600600600626464a66603600200a264a66666604000200c00c00c264a66603a60400062a01000e6eb4004018c074004c07400cdd7000980d000980b1baa003001370e9000111919800800801911980180098010010068068068069809980a001180900098071baa002370e90010b1807980800118070009807001180600098041baa00114984d958dd70008a998012481054c35383b3500165734ae7155ceaab9e5573eae815d0aba257481", - "hash": "ffb8a8453c9db1c1668fc412e1f7fdbea230a2328dfc19ef325418b3" + "compiledCode": "590a360101003232323232323232323223225333005323232323253323300b3001300d37540042646644a66666602c00c26464646464a66602660080022a66602e602c6ea802c00804854ccc04cc0240044c94ccc06000404c4c94cccccc0740040500504c94ccc068c07400c4cc020004894ccc07000801c4c94cccccc0840044ccc0240044c008c08000c060060060060060c078008054dd600080a00a180d000980b1baa00b012301437540142a666022600460266ea80104c8c8c8c8c8c8c94ccc060c024c068dd500809980224903493031003370e6660026eacc018c06cdd5008803a4410b487964726148656164563100480044c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c94cccccc0d00040080084c8cc07c004894ccc0cc0084c8c94ccc0c4cc07524103493133003371e0406eb8c050c0d0dd50040a999818991919299981a181280089810a49034930350015333034302a00113232533303a0010021533303a303d0011323302349010349303200323300100100722533303d00114a026644a66607666e3c0080145288998020020009bae303f0013040001375c6078002004646600200200844a666076002297ae0132333222533303b303100213304037520066600c00c00226600c00c0026eb8c0e8004dd6981d800981f801181e80089810a4903493036001302149103493036003018001330163301c0020214bd6f7b6301bac303730383038303830383038303830383038303437540542a6660626603a92103493134003375e603e60686ea80a9300101a000153330313301d49103493033003371266e00c040004c040ccc048cc04400894ccc0c8c08cc0d0dd500089bab300e30353754601c606a6ea8c0e0c0d4dd50008a5eb7bdb1812f5bded8c002660206660246602201246eacc038c0d4dd5000a5eb7bdb18004c4cc0280080145280a5014a02940cc050c94ccc0c4c09cc0ccdd50008a60103d87a80001301c33036300d30343754601a60686ea8c0dcc0d0dd5000a5eb80cc02cdd6180b98199baa0290244bd6f7b6301980680b9192999818981118199baa0011301c3303630373034375400297ae01300e490103493135003300b3758602e60666ea80a40044c94cccccc0e000454ccc0c0c084c0c8dd5000899299981a800803899299999981d000899299981b800804899299999981e000805005005005099299981c981e001899981280209803981e0040058059bae0013039001303900200800800800830370013033375400200c00c00c00c00c606a0046eb0004008008c01cc0b8dd50010980ba491f4661696c656420746f206465636f6465206c6f636b65645f636f6d6d697473003232533302f0010021533302f303200113232533302d301e0011300a490103493039001533302d30230011300a490103493130001323253333330370021533302f302030313754004264a66606800200426464a66606c00200826464a66607000200c264a66666607a00200e00e00e00e264a666074607a00620120106eb8004c0e8004c0e8008c0e0004c0e0008c0d8004c0c8dd500100080080080080089805a490349313100303330303754004605c6ea8004c0c4004008cc0200088c038c0b8dd5000898032481034931320032330010013758601860586ea8088894ccc0b800452f5c026644a66605864a66605a6046605e6ea80044cdc78151bae3033303037540022940c04cc0bcdd5180998179baa002133031002330040040011330040040013030001303100130010012223232533302f0011533302f37586062606400429444c061240103493037001325333030001130194901034930380013333222253330303021303237540082646603a921034930340053330313371e6eccc034c0d0dd50009bae300d303437540062a66606266ebcc060c0d0dd5000980c181a1baa003133300b00b00400214a02940c0d8c0ccdd50020a5030320023033002303200130330013758606260640046eb0c0c0004cc0b8dd3801198171ba70014bd701119198008008019129998168008a6103d87a800013322533302b3375e6024605c6ea80080144c058cc0c00092f5c0266008008002605e00260600024605660580024a6604a0022c44646600200200644a666054002297ae013302b3003302c00133002002302d001233300b00148810048810022323300100100322533302800114bd700998149ba63003302a00133002002302b00122232333001001004003222533302900210011333003003302c00233004001375660560044464666002002006004444a66604e0042002264664466600c00c605a00a646600200200a44a66605800226605a66ec0dd48021ba60034bd6f7b630099199911299981619b90008003133031337606ea4020dd30038028a99981619b8f008003132533302d301e302f375400226606466ec0dd4804981998181baa001002100232533302d533303100114a22940530103d87a80001301833032374c00297ae03233300100100800322253330330021001132332233300600630390053233001001005225333038001133039337606ea4010dd4001a5eb7bdb1804c8ccc8894ccc0e0cdc800400189981e99bb037520106ea001c01454ccc0e0cdc7804001899299981c9815181d9baa00113303e337606ea4024c0fcc0f0dd5000801080119299981c98150008a60103d87a8000130243303e375000297ae03370000e00426607a66ec0dd48019ba800233006006001375c606e0026eb4c0e0004c0f0008c0e8004dd718190009bad30330013035002133031337606ea400cdd3001198030030009bae302b001375660580026060004605c0026eb8c098004dd598138009814801118121812981280091299980f180a18101baa002100113756604860426ea8008c004004894ccc080004520001337009001198010011811800918100009bac301e301b375402044464a6660366022603a6ea8004520001375a6042603c6ea8004c94ccc06cc044c074dd50008a6103d87a80001323300100137566044603e6ea8008894ccc084004530103d87a80001323332225333021337220100062a66604266e3c02000c4c030cc098dd400125eb80530103d87a8000133006006001375c60400026eb4c084004c094008c08c004cc01000c00888c8cc00400400c894ccc078004530103d87a8000132333222533301e3372200e0062a66603c66e3c01c00c4c024cc08cdd300125eb80530103d87a8000133006006001375c603a0026eacc078004c088008c080004dd2a400044a66602c00229444c00c00894cc054004588c064c068c068c068c068004dd7180b980a1baa0041533012491054c36323b3500162225333013300430153754006264a666030002004264a66666603a00200600600600626464a66603600200a264a66666604000200c00c00c264a66603a604000601000e6eb4004018c074004c07400cdd7000980d000980b1baa003001370e90001119198008008019119801800980100100680680680698090009809180980098071baa002370e90010b1807980800198070011806801180680098041baa00114984d958dd70008a998012481054c35383b3500165734ae7155ceaab9e5573eae815d0aba257481", + "hash": "e8b53932e4a43630bed3893f186fe9e8a8391f45d951af082a726e4b" }, { "title": "initial.initial.else", @@ -99,8 +99,8 @@ } } ], - "compiledCode": "590a420101003232323232323232323223225333005323232323253323300b3001300d37540042646464a66666602c00c26464646464a66602660080022a66602e602c6ea802c5400804854ccc04cc0240044c94ccc06000404c4c94cccccc0740040500504c94ccc068c07400c4cc020004894ccc0700085401c4c94cccccc0840044ccc0240044c008c08000c060060060060060c078008054dd600080a00a180d000980b1baa00b012301437540142a666022600460266ea80104c8c8c8c8c8c8c94ccc060c024c068dd500809980224903493031003370e6660026eacc018c06cdd5009003a4410b487964726148656164563100480044cc8c8c8c8c8c8c8c8c8c8c8c8c8c8c88c8c8c8c8c94cccccc0d40040080084c8cc080004894ccc0d00084c8c94ccc0c8cc07924103493133003371e0426eb8c058c0d4dd50040a999819191919299981a981300089811249034930350015333035302b001132533303a0011302349103493036001533303a303d001133022491034930320032323300100100622533303d00114a0264a66607466e3cdd718200010020a511330030030013040001375c60780022604692010349303600323300100100322533303b00114bd700991919299981d18181bad303d00313303f37520026600a00a00426600a00a0046eb8c0ec008c0fc008c0f40044c08924010349303600301a001330183301d0020224bd6f7b6301bac303830393039303930393039303930393039303537540582a6660646603c92103493134003375e6040606a6ea80b1300101a000153330323301e49103493033003371266e00c048004c048ccc050cc04c00894ccc0ccc090c0d4dd500089bab3010303637546020606c6ea8c0e4c0d8dd50008a5eb7bdb1812f5bded8c002a60246660286602601446eacc040c0d8dd5000a5eb7bdb1800544cc0300080145280a5014a02940cc058c94ccc0c8c0a0c0d0dd50008a60103d87a80001301d33037300f30353754601e606a6ea8c0e0c0d4dd5000a5eb80cc034dd6180c981a1baa02b0254bd6f7b6301980780491929998191811981a1baa0011301d3303730383035375400297ae013010490103493135003300d3758603260686ea80ac0044c94cccccc0e400454ccc0c4c088c0ccdd5000899299981b000803899299999981d800899299981c000804899299999981e800805005005005099299981d181e801899981300209803981e8040058059bae001303a001303a00200800800800830380013034375400200c00c00c00c00c606c0046eb0004008008c024c0bcdd50010980c2491f4661696c656420746f206465636f6465206c6f636b65645f636f6d6d69747300533302e0011300849103493132001533302e303100113232533302c301d0011300a49103493039001533302c30220011300a490103493130001323253333330360021533302e301f30303754004264a66606600200426464a66606a00200826464a66606e00200c264a66666607800200e00e00e00e264a666072607800620120106eb8004c0e4004c0e4008c0dc004c0dc008c0d4004c0c4dd500100080080080080089805a4903493131003032302f3754004605a6ea8004c0c00044c02124010349313200330080012300e302d375400264660020026eb0c034c0b0dd50119129998170008a5eb804c8c94ccc0b0c94ccc0b4c08cc0bcdd5000899b8f02a375c606660606ea8004528180a18179baa3014302f37540042660620046600800800226600800800260640046060002600200244464646464a6660600042a666060006294400400454ccc0bc0044c06124103493037001533302f0021301849010349303800132323232533302f30203031375400826466038921034930340053330303371e6eccc034c0ccdd50009bae300d303337540062a66606066ebcc060c0ccdd5000980c18199baa003133300b00b00400214a02940c0d4c0c8dd50020a503035005303300430330023031001375860600046eb0c0bcc0c0004cc0b4dd3801198169ba70014bd701119198008008019129998160008a6103d87a800013232533302a3375e6024605a6ea80080144c054cc0bc0092f5c02660080080026060004605c0024605460560024a660480022c44646600200200644a666052002297ae013302a3003302b00133002002302c001233300a00148810048810022323300100100322533302700114bd700998141ba63003302900133002002302a00122232333001001004003222533302800210011333003003302b00233004001375660540044464666002002006004444a66604c004200226466600800860540066644646600200200a44a66605600226605866ec0dd48021ba60034bd6f7b630099191919299981599b90008002133030337606ea4020dd30038028a99981599b8f008002132533302c301d302e375400226606266ec0dd4804981918179baa001004100432533302c533303000114a22940530103d87a80001301733031374c00297ae03233300100100800222253330320021001132333004004303600333223233001001005225333037001133038337606ea4010dd4001a5eb7bdb1804c8c8c8c94ccc0dccdc800400109981e19bb037520106ea001c01454ccc0dccdc7804001099299981c1814981d1baa00113303d337606ea4024c0f8c0ecdd5000802080219299981c18148008a60103d87a8000130233303d375000297ae03370000e00226607866ec0dd48011ba800133006006003375a60720066eb8c0dc008c0ec008c0e4004dd718188009bad30320013034002133030337606ea4008dd3000998030030019bab302d003375c6056004605e004605a0026eb8c094004dd598130009814001118119812181200091299980e9809980f9baa002100113756604660406ea8008c004004894ccc07c0045200013370090011980100118110009180f8009bac301e301b375402044464a6660366022603a6ea8004520001375a6042603c6ea8004c94ccc06cc044c074dd50008a6103d87a80001323300100137566044603e6ea8008894ccc084004530103d87a80001323232325333021337220100042a66604266e3c0200084c030cc098dd4000a5eb80530103d87a8000133006006003375a60460066eb8c084008c094008c08c004cc01000c00888c8cc00400400c894ccc078004530103d87a8000132323232533301e3372200e0042a66603c66e3c01c0084c024cc08cdd3000a5eb80530103d87a8000133006006003375660400066eb8c078008c088008c080004dd2a400044a66602c00229444c00c00894cc054004588c064c068c068c068c068004dd7180b980a1baa0041533012491054c36323b3500162225333013300430153754006264a666030002004264a66666603a00200600600600626464a66603600200a264a66666604000200c00c00c264a66603a60400062a01000e6eb4004018c074004c07400cdd7000980d000980b1baa003001370e9000111919800800801911980180098010010068068068069809980a001180900098071baa002370e90010b1807980800118070009807001180600098041baa00114984d958dd70008a998012481054c35383b3500165734ae7155ceaab9e5573eae815d0aba257481", - "hash": "ffb8a8453c9db1c1668fc412e1f7fdbea230a2328dfc19ef325418b3" + "compiledCode": "590a360101003232323232323232323223225333005323232323253323300b3001300d37540042646644a66666602c00c26464646464a66602660080022a66602e602c6ea802c00804854ccc04cc0240044c94ccc06000404c4c94cccccc0740040500504c94ccc068c07400c4cc020004894ccc07000801c4c94cccccc0840044ccc0240044c008c08000c060060060060060c078008054dd600080a00a180d000980b1baa00b012301437540142a666022600460266ea80104c8c8c8c8c8c8c94ccc060c024c068dd500809980224903493031003370e6660026eacc018c06cdd5008803a4410b487964726148656164563100480044c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c94cccccc0d00040080084c8cc07c004894ccc0cc0084c8c94ccc0c4cc07524103493133003371e0406eb8c050c0d0dd50040a999818991919299981a181280089810a49034930350015333034302a00113232533303a0010021533303a303d0011323302349010349303200323300100100722533303d00114a026644a66607666e3c0080145288998020020009bae303f0013040001375c6078002004646600200200844a666076002297ae0132333222533303b303100213304037520066600c00c00226600c00c0026eb8c0e8004dd6981d800981f801181e80089810a4903493036001302149103493036003018001330163301c0020214bd6f7b6301bac303730383038303830383038303830383038303437540542a6660626603a92103493134003375e603e60686ea80a9300101a000153330313301d49103493033003371266e00c040004c040ccc048cc04400894ccc0c8c08cc0d0dd500089bab300e30353754601c606a6ea8c0e0c0d4dd50008a5eb7bdb1812f5bded8c002660206660246602201246eacc038c0d4dd5000a5eb7bdb18004c4cc0280080145280a5014a02940cc050c94ccc0c4c09cc0ccdd50008a60103d87a80001301c33036300d30343754601a60686ea8c0dcc0d0dd5000a5eb80cc02cdd6180b98199baa0290244bd6f7b6301980680b9192999818981118199baa0011301c3303630373034375400297ae01300e490103493135003300b3758602e60666ea80a40044c94cccccc0e000454ccc0c0c084c0c8dd5000899299981a800803899299999981d000899299981b800804899299999981e000805005005005099299981c981e001899981280209803981e0040058059bae0013039001303900200800800800830370013033375400200c00c00c00c00c606a0046eb0004008008c01cc0b8dd50010980ba491f4661696c656420746f206465636f6465206c6f636b65645f636f6d6d697473003232533302f0010021533302f303200113232533302d301e0011300a490103493039001533302d30230011300a490103493130001323253333330370021533302f302030313754004264a66606800200426464a66606c00200826464a66607000200c264a66666607a00200e00e00e00e264a666074607a00620120106eb8004c0e8004c0e8008c0e0004c0e0008c0d8004c0c8dd500100080080080080089805a490349313100303330303754004605c6ea8004c0c4004008cc0200088c038c0b8dd5000898032481034931320032330010013758601860586ea8088894ccc0b800452f5c026644a66605864a66605a6046605e6ea80044cdc78151bae3033303037540022940c04cc0bcdd5180998179baa002133031002330040040011330040040013030001303100130010012223232533302f0011533302f37586062606400429444c061240103493037001325333030001130194901034930380013333222253330303021303237540082646603a921034930340053330313371e6eccc034c0d0dd50009bae300d303437540062a66606266ebcc060c0d0dd5000980c181a1baa003133300b00b00400214a02940c0d8c0ccdd50020a5030320023033002303200130330013758606260640046eb0c0c0004cc0b8dd3801198171ba70014bd701119198008008019129998168008a6103d87a800013322533302b3375e6024605c6ea80080144c058cc0c00092f5c0266008008002605e00260600024605660580024a6604a0022c44646600200200644a666054002297ae013302b3003302c00133002002302d001233300b00148810048810022323300100100322533302800114bd700998149ba63003302a00133002002302b00122232333001001004003222533302900210011333003003302c00233004001375660560044464666002002006004444a66604e0042002264664466600c00c605a00a646600200200a44a66605800226605a66ec0dd48021ba60034bd6f7b630099199911299981619b90008003133031337606ea4020dd30038028a99981619b8f008003132533302d301e302f375400226606466ec0dd4804981998181baa001002100232533302d533303100114a22940530103d87a80001301833032374c00297ae03233300100100800322253330330021001132332233300600630390053233001001005225333038001133039337606ea4010dd4001a5eb7bdb1804c8ccc8894ccc0e0cdc800400189981e99bb037520106ea001c01454ccc0e0cdc7804001899299981c9815181d9baa00113303e337606ea4024c0fcc0f0dd5000801080119299981c98150008a60103d87a8000130243303e375000297ae03370000e00426607a66ec0dd48019ba800233006006001375c606e0026eb4c0e0004c0f0008c0e8004dd718190009bad30330013035002133031337606ea400cdd3001198030030009bae302b001375660580026060004605c0026eb8c098004dd598138009814801118121812981280091299980f180a18101baa002100113756604860426ea8008c004004894ccc080004520001337009001198010011811800918100009bac301e301b375402044464a6660366022603a6ea8004520001375a6042603c6ea8004c94ccc06cc044c074dd50008a6103d87a80001323300100137566044603e6ea8008894ccc084004530103d87a80001323332225333021337220100062a66604266e3c02000c4c030cc098dd400125eb80530103d87a8000133006006001375c60400026eb4c084004c094008c08c004cc01000c00888c8cc00400400c894ccc078004530103d87a8000132333222533301e3372200e0062a66603c66e3c01c00c4c024cc08cdd300125eb80530103d87a8000133006006001375c603a0026eacc078004c088008c080004dd2a400044a66602c00229444c00c00894cc054004588c064c068c068c068c068004dd7180b980a1baa0041533012491054c36323b3500162225333013300430153754006264a666030002004264a66666603a00200600600600626464a66603600200a264a66666604000200c00c00c264a66603a604000601000e6eb4004018c074004c07400cdd7000980d000980b1baa003001370e90001119198008008019119801800980100100680680680698090009809180980098071baa002370e90010b1807980800198070011806801180680098041baa00114984d958dd70008a998012481054c35383b3500165734ae7155ceaab9e5573eae815d0aba257481", + "hash": "e8b53932e4a43630bed3893f186fe9e8a8391f45d951af082a726e4b" } ], "definitions": { diff --git a/hydra-plutus/scripts/mHead.plutus b/hydra-plutus/scripts/mHead.plutus index 0f41e297e5e..fc6dce55bb3 100644 --- a/hydra-plutus/scripts/mHead.plutus +++ b/hydra-plutus/scripts/mHead.plutus @@ -1,5 +1,5 @@ { "type": "PlutusScriptV3", "description": "hydra-mHead-0.19.0-606-g6a0f3e38e5", - "cborHex": "5915b55915b20101003332323232323232323232323232323232323232323232222232930010029114800c8940364b264b264646464aa666ae68004460042264aa666ae680044600022604804666e1d20020033370e90000011aab9e00235573a0026ea801226602a921034d303600593330132232333573400300080119b8f002001301400130169001911001a426604244b200318004886400a44b264666ae6800600100233710002900044c01800e30020003180122666664644444a65266038921034d303100323302822590018c00a442b2b320112290049119199ab9a0018004008cdc7802001119008914802488c8ccd5cd000c00200466e1c00c0048c009180044c0100040013302722590018c002443003900291001260080024a800c8888888888888888041323232323215933021491034d30320032333573400300080119b8732593330202232333573400300080119b8f002001500630235007909801000c5200019199119118010009817912c800c400e4432005223300800130060032400644004900191000a0024466e0000800605233700a00290014564cc0852401034d3033003323223002001302d22590018c00a4432005223255333573400222604c00422600e00866e3c00801c50059500391000a2b2b2660429201034d30340032333573400300080119b8750013300b11223223002001302e22590018801c884cc018008c010004a0091330262593330202232333573400300080119b8f002001500600190ac800c4c0b52401034d303800910c8014896400e2b264666ae680060010023370e002900146001130314901034d3038004884c0cd2401034d30380011302c4901034d3037002802460048ac9981312c800c5409242b260520032133024491034d31320032333573400300080119b8f001500889816a49034d31320048540946605844b2003180048860072005220024c0100043300c00a5006899810a49034d3035005932333573400300080119b8f9500291100194016264b3200322900b9119199ab9a0018004008cdc7802001119001914805c88c8ccd5cd000c00200466e1c00c0048c0092a005222002460048c00918012300246004195001911000856654006440048a811c8564cccccc09c004c8c8c8c888c94c94ccd5cd00108ac9999aab9f0032801140060026ae840126ae88010800486400644b26010005215933335573e00450022800c004d5d0801cd5d1001900090c800c8964cc03403800a42b26666aae7c008a00450018009aba10039aba20032001219001912c981c80148564cccd55cf801140088c8ca002004357440086ae8400e001215933333303c001223255333573400222b26666aae7c008a00450018009aba10039aba20032001219001912c982080148564cccd55cf801140088c8ca002004357440086ae8400e0012159301d00190c00600200700123002460048c0088c008230023370e900000114008a0045002280148600300500b803c00e00244c0392644c0352644c0312622601293226010931130054991300449889800a4c113001498c88c954ccd5cd00088ac9999aab9f00528011191940040086ae8801cd5d0803400242b26666660640024464aa666ae680044564cccd55cf80114008a003001357420073574400640024320032259303700290ac9999aab9f0022801140060026ae8400e6ae8800c800486400644b266026028005215933335573e00450022800c004d5d0801cd5d1001900090c800c8964c05800a42b26666aae7c008a00450018009aba10039aba20032001219001912c980e80148564cccd55cf801140088c8ca002004357440086ae8400e0012159304500190c00600201f00b803c00e002460048c009180111801230022300246004460048c0088c008230023370e900000114008a004500228014860030070012260089322600693044c00d263370e9001002991192a999ab9a001115933335573e00a5002232328008010d5d10039aba100680048564cccccc0c800488c954ccd5cd00088ac9999aab9f0022801140060026ae8400e6ae8800c800486400644b2606e005215933335573e00450022800c004d5d0801cd5d1001900090c800c8964cc04c05000a42b26666aae7c008a00450018009aba10039aba20032001219001912c980b00148564cccd55cf80114008a003001357420073574400640024320032259301d00290ac9999aab9f0022801140060026ae8400e6ae8800c800486400644b26042005215933335573e00450022800c004d5d0801cd5d1001900090c800c8964c12c00a42b26666aae7c008a00450018009aba10039aba20032001219001912c982780148564cccd55cf80114008a003001357420073574400640024320032259305300290ac9999aab9f0022801140060026ae8400e6ae8800c800486400644b26605e0ae005215933335573e0045002232328008010d5d10021aba100380048564c0cc00643001800811c07e037017809c03e017007801c0048c0091801230022300246004460048c0088c009180111801230022300246004460048c0088c009180111801230022300208c008cdc3a40000045002280114008a00521800c0040048980224c89801a4c113003498cdc3a400800a464aa666ae680044600300208c008cdc3a400c00866e1d2000002233333302b001223255333573400222b26666aae7c008a004464650010021aba20043574200700090ac9804000c860020028c009180104600466e1d2000002280114008a0045002232233333302c0012280114008008a0045002302e2233335573e00250018000964c010d5d080148564c010d5d1001c8600300300280091801226500230033574400480012c9814000c860020028c008466666605000245002280114008a002002280114008a004500228014856400642a04b1502491110c00400a0033300f11223223002001303222590018801c884cc018008c01000400690a812a260549201034d30390048540902b26601200ca00713028491034d313100910ac800c400a44260589201034d31310004cc0a089640063000910c00e400a44002980200086601000ca004260360051801064006444006233550012233700002900124000446604444b200318004884c966400e444520092290029400a464aa666ae68004460030010068038230023371e00201c2430030018012200230040014800c888888888888888803801401201000230050068a4d1500c48940364a01922500d928060646464646464464646464aa666ae6800444ca0026646464464646464aa666ae6800444c8c8c8c8c8c8c8c8c8c8c8c8c8ca0026605a0286ae840426605a0286ae8403a6605a02a6ae840366eb4d5d08064ccc079d7280b1aba100b9981680f9aba100a99980f010bad357420133353232122323232325533357340022300132323232553335734002230013300c00a35742005300b357426ae8800822608e08c66e1d200000235573c0046aae74004dd51aba1002991919192a999ab9a00111800998060051aba100298059aba1357440041130470463370e90000011aab9e00235573a0026ea8d5d09aba200208982182119b8748000008d55cf0011aab9d0013754002464646464aa666ae68004460042264aa666ae680044600022608408266e1d20020033370e90000011aab9e00235573a0026ea800488c8c8c8c954ccd5cd00088c00844c954ccd5cd00088c004c01cd5d0801844c954ccd5cd00088c01044c10c108cdc3a400800866e1d20020033370e90000011aab9e00235573a0026ea8005d69aba100899816bae3574200f33301e23232323255333573400223003375c6ae840082264aa666ae680044601260506ae8400c2264aa666ae680044600e60506ae840102264aa666ae68004460026eb4d5d0802cc09cd5d09aba200508992a999ab9a0011180598149aba100608992a999ab9a001118029bad3574200f3027357426ae8801c22608a08866e1d200a0073370e900400319b8748018014cdc3a400800866e1d20020033370e90000011aab9e00235573a0026ea80040a8d5d08034ccc079d70151aba10059bae3574200933301e0203301e02c232323232553335734002230021132553335734002230041132553335734002230001130420413370e900200219b874800800ccdc3a40000046aae78008d55ce8009baa001357420073302d01d357420053302b75a6ae8400666056eb4d5d09aba20011aba2001357440026ae88004d5d10009aba2001357440026ae88004d5d10009aba2001357440026ae88004d5d10009aba20013574400422605a05866e1d200000235573c0046aae74004dd50009191919192a999ab9a0011180098099aba100298031aba13574400411302c02b3370e90000011aab9e00235573a0026ea80048c8c8c8c954ccd5cd0008899194004c8c8c8c954ccd5cd00088c004c05cd5d08014cc0848c8c8c8c954ccd5cd00088c004c070d5d0801044c954ccd5cd0008899400cdd69aba10049bad35742003375a6ae84d5d10008d5d100188981b81b19b874800800ccdc3a40000046aae78008d55ce8009baa001357426ae8800822606206066e1d200000235573c0046aae74004dd51aba10049998083ae5008357420053232323255333573400223000113255333573400223005375c6ae8400c2264aa666ae68004460066ae8401022606606466e1d20040043370e900100199b8748000008d55cf0011aab9d00137546ae840066603aeb8d5d09aba20011aba20013574400422605605466e1d200000235573c0046aae74004dd50008998043ae75a6ae8400e6ae8400664646464aa666ae68004460066eb8d5d0801044c954ccd5cd00088c024c044d5d0801ccc068064d5d09aba200308992a999ab9a0011180398089aba100408992a999ab9a001118009bad3574200b3010357426ae880142264aa666ae680044601660246ae840182264aa666ae680044600a6eb4d5d0803cc040d5d09aba200708981701699b874802801ccdc3a401000c66e1d20060053370e900200219b874800800ccdc3a40000046aae78008d55ce8009baa357426ae880046ae8800844c09008ccdc3a40000046aae78008d55ce8009baa0012323232325533357340022265001375a6ae8400e60146ae8400664646464aa666ae6800444ca012660320346ae8400e6ae8400666032eb8d5d09aba20011aba20021132553335734002230013301901a357420073232323255333573400223001375a6ae8400a6eb4d5d09aba200208981681619b8748000008d55cf0011aab9d00137546ae84d5d1001844c954ccd5cd00088c02cccc034041d69aba10049980d3ae357426ae880102264aa666ae680044600e660360386ae840142264aa666ae6800444c8ca01a6603c03e6ae84022660400286ae8400a666022028eb4d5d0800e4c8c8c8c954ccd5cd00088c004dd69aba10029bad357426ae8800822606406266e1d200000235573c0046aae74004dd51aba135744003223301c0020010d5d10009aba20061132553335734002230053301d01e3574200f323232325533357340022266042eb8d5d080108981881819b8748000008d55cf0011aab9d00137546ae84d5d1003844c954ccd5cd00088c00844c0b80b4cdc3a401801066e1d200a0073370e900400319b8748018014cdc3a400800866e1d20020033370e90000011aab9e00235573a0026ea8d5d09aba20011aba20021130230223370e90000011aab9e00235573a0026ea800488c88c008dd58009810111999aab9f0012800119400e002600c6aae74006600a6aae7800530043574400635742005000322323232325533357340022300d3008357420053301275a6ae84d5d1001044c954ccd5cd00088c04cc024d5d0801ccc04dd69aba135744006113255333573400223003300a357420093008357426ae880102264aa666ae6800444ca01660186ae8401a60146ae840066eb4d5d09aba20011aba2005113255333573400223009300c3574200d375a6ae84d5d1003044c954ccd5cd00088c054c034d5d0803844c954ccd5cd00088c044c038d5d08044dd69aba135744010113255333573400223005375c6ae840266eb8d5d09aba200908992a999ab9a001118039bae35742015375a6ae84d5d1005044c954ccd5cd00088c004c044d5d0805cc044d5d09aba200b08992a999ab9a0011180798091aba100c08981601599b8748050030cdc3a402401666e1d201000a3370e900700499b8748030020cdc3a401400e66e1d20080063370e900300299b8748010010cdc3a400400666e1d200000235573c0046aae74004dd5000991191919192a999ab9a001118009bae35742004113255333573400223005300735742006113255333573400223003375c6ae8401260106ae84d5d1002044c09008ccdc3a400800866e1d20020033370e90000011aab9e00235573a0026ea80048c8c8c8c954ccd5cd00088c004c01cd5d0801044c954ccd5cd00088c00844c954ccd5cd00088c01044c08c088cdc3a400800866e1d20020033370e90000011aab9e00235573a0026ea80048c8c8c8c954ccd5cd00088c004c018d5d0801044c954ccd5cd00088c00cc01cd5d0801844c954ccd5cd00088c014dd71aba100408981101099b8748010010cdc3a400400666e1d200000235573c0046aae74004dd50009191919192a999ab9a001118009bae35742004113255333573400223003375c6ae8400c22604003e66e1d20020033370e90000011aab9e00235573a0026ea80048c8c8c8c954ccd5cd00088c004dd71aba10029bad357426ae8800822603c03a66e1d200000235573c0046aae74004dd5000980a911192a999ab9a001113018490103505433001132553335734002226600a66e0405c010cdc080b80188994004cdc2002800ccdc20020008cc01801000ccdc400100b19b8700101530142223255333573400222006226600800466e1800c008cdc380080a098092481035054350020012232323232553335734002230021132553335734002230013007357420061130170163370e900000199b8748008008d55cf0011aab9d0013754002464646464aa666ae68004460026eb8d5d08014dd69aba1357440041130140133370e90000011aab9e00235573a0026ea80048c88c008dd60009808111999aab9f00128001400cc010d5d08014c00cd5d10012000601c44b200318014886400a4464aa666ae6800444c8ccd5cd000c00200466e1c00920021130070043371e00491010b487964726148656164563100088c88c008004c03c89640063002910c80148964cc02000801e300100144c01800c1914800c88a400644a00f2001912803c9401a44a00f2500604c98cd5ce249024c6800800112c800c6001133573800500214800c8888888888888888030260109201034d31320013007491034d30390013006491034d31300023223002001300722590018c002442b2600a005130040018c00823333330020012280114008a004500228008008888888ccccccd5d2003119198039aab9d00135573c0026ea801c8c014dd5803918021bac00723003375a00e460046eb801e0009000249035054310023263357380030002323001001230022330020020014891cffb8a8453c9db1c1668fc412e1f7fdbea230a2328dfc19ef325418b30048811c5350e9d521552ebfd9e846fd70c3b801f716fc14296134ec0fb71e970001" + "cborHex": "5915b55915b20101003332323232323232323232323232323232323232323232222232930010029114800c8940364b264b264646464aa666ae68004460042264aa666ae680044600022604804666e1d20020033370e90000011aab9e00235573a0026ea801226602a921034d303600593330132232333573400300080119b8f002001301400130169001911001a426604244b200318004886400a44b264666ae6800600100233710002900044c01800e30020003180122666664644444a65266038921034d303100323302822590018c00a442b2b320112290049119199ab9a0018004008cdc7802001119008914802488c8ccd5cd000c00200466e1c00c0048c009180044c0100040013302722590018c002443003900291001260080024a800c8888888888888888041323232323215933021491034d30320032333573400300080119b8732593330202232333573400300080119b8f002001500630235007909801000c5200019199119118010009817912c800c400e4432005223300800130060032400644004900191000a0024466e0000800605233700a00290014564cc0852401034d3033003323223002001302d22590018c00a4432005223255333573400222604c00422600e00866e3c00801c50059500391000a2b2b2660429201034d30340032333573400300080119b8750013300b11223223002001302e22590018801c884cc018008c010004a0091330262593330202232333573400300080119b8f002001500600190ac800c4c0b52401034d303800910c8014896400e2b264666ae680060010023370e002900146001130314901034d3038004884c0cd2401034d30380011302c4901034d3037002802460048ac9981312c800c5409242b260520032133024491034d31320032333573400300080119b8f001500889816a49034d31320048540946605844b2003180048860072005220024c0100043300c00a5006899810a49034d3035005932333573400300080119b8f9500291100194016264b3200322900b9119199ab9a0018004008cdc7802001119001914805c88c8ccd5cd000c00200466e1c00c0048c0092a005222002460048c00918012300246004195001911000856654006440048a811c8564cccccc09c004c8c8c8c888c94c94ccd5cd00108ac9999aab9f0032801140060026ae840126ae88010800486400644b26010005215933335573e00450022800c004d5d0801cd5d1001900090c800c8964cc03403800a42b26666aae7c008a00450018009aba10039aba20032001219001912c981c80148564cccd55cf801140088c8ca002004357440086ae8400e001215933333303c001223255333573400222b26666aae7c008a00450018009aba10039aba20032001219001912c982080148564cccd55cf801140088c8ca002004357440086ae8400e0012159301d00190c00600200700123002460048c0088c008230023370e900000114008a0045002280148600300500b803c00e00244c0392644c0352644c0312622601293226010931130054991300449889800a4c113001498c88c954ccd5cd00088ac9999aab9f00528011191940040086ae8801cd5d0803400242b26666660640024464aa666ae680044564cccd55cf80114008a003001357420073574400640024320032259303700290ac9999aab9f0022801140060026ae8400e6ae8800c800486400644b266026028005215933335573e00450022800c004d5d0801cd5d1001900090c800c8964c05800a42b26666aae7c008a00450018009aba10039aba20032001219001912c980e80148564cccd55cf801140088c8ca002004357440086ae8400e0012159304500190c00600201f00b803c00e002460048c009180111801230022300246004460048c0088c008230023370e900000114008a004500228014860030070012260089322600693044c00d263370e9001002991192a999ab9a001115933335573e00a5002232328008010d5d10039aba100680048564cccccc0c800488c954ccd5cd00088ac9999aab9f0022801140060026ae8400e6ae8800c800486400644b2606e005215933335573e00450022800c004d5d0801cd5d1001900090c800c8964cc04c05000a42b26666aae7c008a00450018009aba10039aba20032001219001912c980b00148564cccd55cf80114008a003001357420073574400640024320032259301d00290ac9999aab9f0022801140060026ae8400e6ae8800c800486400644b26042005215933335573e00450022800c004d5d0801cd5d1001900090c800c8964c12c00a42b26666aae7c008a00450018009aba10039aba20032001219001912c982780148564cccd55cf80114008a003001357420073574400640024320032259305300290ac9999aab9f0022801140060026ae8400e6ae8800c800486400644b26605e0ae005215933335573e0045002232328008010d5d10021aba100380048564c0cc00643001800811c07e037017809c03e017007801c0048c0091801230022300246004460048c0088c009180111801230022300246004460048c0088c009180111801230022300208c008cdc3a40000045002280114008a00521800c0040048980224c89801a4c113003498cdc3a400800a464aa666ae680044600300208c008cdc3a400c00866e1d2000002233333302b001223255333573400222b26666aae7c008a004464650010021aba20043574200700090ac9804000c860020028c009180104600466e1d2000002280114008a0045002232233333302c0012280114008008a0045002302e2233335573e00250018000964c010d5d080148564c010d5d1001c8600300300280091801226500230033574400480012c9814000c860020028c008466666605000245002280114008a002002280114008a004500228014856400642a04b1502491110c00400a0033300f11223223002001303222590018801c884cc018008c01000400690a812a260549201034d30390048540902b26601200ca00713028491034d313100910ac800c400a44260589201034d31310004cc0a089640063000910c00e400a44002980200086601000ca004260360051801064006444006233550012233700002900124000446604444b200318004884c966400e444520092290029400a464aa666ae68004460030010068038230023371e00201c2430030018012200230040014800c888888888888888803801401201000230050068a4d1500c48940364a01922500d928060646464646464464646464aa666ae6800444ca0026646464464646464aa666ae6800444c8c8c8c8c8c8c8c8c8c8c8c8c8ca0026605a0286ae840426605a0286ae8403a6605a02a6ae840366eb4d5d08064ccc079d7280b1aba100b9981680f9aba100a99980f010bad357420133353232122323232325533357340022300132323232553335734002230013300c00a35742005300b357426ae8800822608e08c66e1d200000235573c0046aae74004dd51aba1002991919192a999ab9a00111800998060051aba100298059aba1357440041130470463370e90000011aab9e00235573a0026ea8d5d09aba200208982182119b8748000008d55cf0011aab9d0013754002464646464aa666ae68004460042264aa666ae680044600022608408266e1d20020033370e90000011aab9e00235573a0026ea800488c8c8c8c954ccd5cd00088c00844c954ccd5cd00088c004c01cd5d0801844c954ccd5cd00088c01044c10c108cdc3a400800866e1d20020033370e90000011aab9e00235573a0026ea8005d69aba100899816bae3574200f33301e23232323255333573400223003375c6ae840082264aa666ae680044601260506ae8400c2264aa666ae680044600e60506ae840102264aa666ae68004460026eb4d5d0802cc09cd5d09aba200508992a999ab9a0011180598149aba100608992a999ab9a001118029bad3574200f3027357426ae8801c22608a08866e1d200a0073370e900400319b8748018014cdc3a400800866e1d20020033370e90000011aab9e00235573a0026ea80040a8d5d08034ccc079d70151aba10059bae3574200933301e0203301e02c232323232553335734002230021132553335734002230041132553335734002230001130420413370e900200219b874800800ccdc3a40000046aae78008d55ce8009baa001357420073302d01d357420053302b75a6ae8400666056eb4d5d09aba20011aba2001357440026ae88004d5d10009aba2001357440026ae88004d5d10009aba2001357440026ae88004d5d10009aba20013574400422605a05866e1d200000235573c0046aae74004dd50009191919192a999ab9a0011180098099aba100298031aba13574400411302c02b3370e90000011aab9e00235573a0026ea80048c8c8c8c954ccd5cd0008899194004c8c8c8c954ccd5cd00088c004c05cd5d08014cc0848c8c8c8c954ccd5cd00088c004c070d5d0801044c954ccd5cd0008899400cdd69aba10049bad35742003375a6ae84d5d10008d5d100188981b81b19b874800800ccdc3a40000046aae78008d55ce8009baa001357426ae8800822606206066e1d200000235573c0046aae74004dd51aba10049998083ae5008357420053232323255333573400223000113255333573400223005375c6ae8400c2264aa666ae68004460066ae8401022606606466e1d20040043370e900100199b8748000008d55cf0011aab9d00137546ae840066603aeb8d5d09aba20011aba20013574400422605605466e1d200000235573c0046aae74004dd50008998043ae75a6ae8400e6ae8400664646464aa666ae68004460066eb8d5d0801044c954ccd5cd00088c024c044d5d0801ccc068064d5d09aba200308992a999ab9a0011180398089aba100408992a999ab9a001118009bad3574200b3010357426ae880142264aa666ae680044601660246ae840182264aa666ae680044600a6eb4d5d0803cc040d5d09aba200708981701699b874802801ccdc3a401000c66e1d20060053370e900200219b874800800ccdc3a40000046aae78008d55ce8009baa357426ae880046ae8800844c09008ccdc3a40000046aae78008d55ce8009baa0012323232325533357340022265001375a6ae8400e60146ae8400664646464aa666ae6800444ca012660320346ae8400e6ae8400666032eb8d5d09aba20011aba20021132553335734002230013301901a357420073232323255333573400223001375a6ae8400a6eb4d5d09aba200208981681619b8748000008d55cf0011aab9d00137546ae84d5d1001844c954ccd5cd00088c02cccc034041d69aba10049980d3ae357426ae880102264aa666ae680044600e660360386ae840142264aa666ae6800444c8ca01a6603c03e6ae84022660400286ae8400a666022028eb4d5d0800e4c8c8c8c954ccd5cd00088c004dd69aba10029bad357426ae8800822606406266e1d200000235573c0046aae74004dd51aba135744003223301c0020010d5d10009aba20061132553335734002230053301d01e3574200f323232325533357340022266042eb8d5d080108981881819b8748000008d55cf0011aab9d00137546ae84d5d1003844c954ccd5cd00088c00844c0b80b4cdc3a401801066e1d200a0073370e900400319b8748018014cdc3a400800866e1d20020033370e90000011aab9e00235573a0026ea8d5d09aba20011aba20021130230223370e90000011aab9e00235573a0026ea800488c88c008dd58009810111999aab9f0012800119400e002600c6aae74006600a6aae7800530043574400635742005000322323232325533357340022300d3008357420053301275a6ae84d5d1001044c954ccd5cd00088c04cc024d5d0801ccc04dd69aba135744006113255333573400223003300a357420093008357426ae880102264aa666ae6800444ca01660186ae8401a60146ae840066eb4d5d09aba20011aba2005113255333573400223009300c3574200d375a6ae84d5d1003044c954ccd5cd00088c054c034d5d0803844c954ccd5cd00088c044c038d5d08044dd69aba135744010113255333573400223005375c6ae840266eb8d5d09aba200908992a999ab9a001118039bae35742015375a6ae84d5d1005044c954ccd5cd00088c004c044d5d0805cc044d5d09aba200b08992a999ab9a0011180798091aba100c08981601599b8748050030cdc3a402401666e1d201000a3370e900700499b8748030020cdc3a401400e66e1d20080063370e900300299b8748010010cdc3a400400666e1d200000235573c0046aae74004dd5000991191919192a999ab9a001118009bae35742004113255333573400223005300735742006113255333573400223003375c6ae8401260106ae84d5d1002044c09008ccdc3a400800866e1d20020033370e90000011aab9e00235573a0026ea80048c8c8c8c954ccd5cd00088c004c01cd5d0801044c954ccd5cd00088c00844c954ccd5cd00088c01044c08c088cdc3a400800866e1d20020033370e90000011aab9e00235573a0026ea80048c8c8c8c954ccd5cd00088c004c018d5d0801044c954ccd5cd00088c00cc01cd5d0801844c954ccd5cd00088c014dd71aba100408981101099b8748010010cdc3a400400666e1d200000235573c0046aae74004dd50009191919192a999ab9a001118009bae35742004113255333573400223003375c6ae8400c22604003e66e1d20020033370e90000011aab9e00235573a0026ea80048c8c8c8c954ccd5cd00088c004dd71aba10029bad357426ae8800822603c03a66e1d200000235573c0046aae74004dd5000980a911192a999ab9a001113018490103505433001132553335734002226600a66e0405c010cdc080b80188994004cdc2002800ccdc20020008cc01801000ccdc400100b19b8700101530142223255333573400222006226600800466e1800c008cdc380080a098092481035054350020012232323232553335734002230021132553335734002230013007357420061130170163370e900000199b8748008008d55cf0011aab9d0013754002464646464aa666ae68004460026eb8d5d08014dd69aba1357440041130140133370e90000011aab9e00235573a0026ea80048c88c008dd60009808111999aab9f00128001400cc010d5d08014c00cd5d10012000601c44b200318014886400a4464aa666ae6800444c8ccd5cd000c00200466e1c00920021130070043371e00491010b487964726148656164563100088c88c008004c03c89640063002910c80148964cc02000801e300100144c01800c1914800c88a400644a00f2001912803c9401a44a00f2500604c98cd5ce249024c6800800112c800c6001133573800500214800c8888888888888888030260109201034d31320013007491034d30390013006491034d31300023223002001300722590018c002442b2600a005130040018c00823333330020012280114008a004500228008008888888ccccccd5d2003119198039aab9d00135573c0026ea801c8c014dd5803918021bac00723003375a00e460046eb801e0009000249035054310023263357380030002323001001230022330020020014891ce8b53932e4a43630bed3893f186fe9e8a8391f45d951af082a726e4b0048811c5350e9d521552ebfd9e846fd70c3b801f716fc14296134ec0fb71e970001" } diff --git a/hydra-plutus/test/Hydra/Plutus/GoldenSpec.hs b/hydra-plutus/test/Hydra/Plutus/GoldenSpec.hs index e6a4db624e6..3c89aa54c55 100644 --- a/hydra-plutus/test/Hydra/Plutus/GoldenSpec.hs +++ b/hydra-plutus/test/Hydra/Plutus/GoldenSpec.hs @@ -25,24 +25,26 @@ import Hydra.Cardano.Api ( ) import Hydra.Contract.Head qualified as Head import Hydra.Contract.HeadTokens qualified as HeadTokens -import Hydra.Plutus (commitValidatorScript, depositValidatorScript, initialValidatorScript) import Hydra.Version (gitDescribe) import PlutusLedgerApi.V3 (serialiseCompiledCode) import PlutusLedgerApi.V3 qualified as Plutus -import System.Process.Typed (proc, runProcess_) +import System.Process.Typed (runProcess_, shell) import Test.Hspec.Golden (Golden (..)) +aikenBuildCommand :: String +aikenBuildCommand = "aiken build -t compact" + spec :: Spec spec = do it "Plutus blueprint is up-to-date" $ do -- Running aiken -t compact should not change plutus.json existing <- readFileBS "plutus.json" - runProcess_ $ proc "aiken" ["build", "-t", "compact"] + runProcess_ $ shell aikenBuildCommand actual <- readFileBS "plutus.json" -- Undo any changes made by aiken writeFileBS "plutus.json" existing when (actual /= existing) $ do - putTextLn "Plutus blueprint in plutus.json is not up-to-date. Run \"aiken -t compact\" to update it." + putTextLn $ "Plutus blueprint in plutus.json is not up-to-date. Run " <> show aikenBuildCommand <> " to update it." actual `shouldBe` existing it "Head validator script" $ From 14f92f4a83369b7e35aad06ec960a39ebbeb5c91 Mon Sep 17 00:00:00 2001 From: Sebastian Nagel Date: Wed, 8 Jan 2025 12:03:08 +0100 Subject: [PATCH 5/5] Apply commit script hash to initial validator This allows to keep aiken script parameterized in the plutus.json --- hydra-plutus/scripts/mHead.plutus | 2 +- hydra-plutus/src/Hydra/Plutus.hs | 68 +++++++++++++++++++------------ 2 files changed, 43 insertions(+), 27 deletions(-) diff --git a/hydra-plutus/scripts/mHead.plutus b/hydra-plutus/scripts/mHead.plutus index fc6dce55bb3..77f0221c9f9 100644 --- a/hydra-plutus/scripts/mHead.plutus +++ b/hydra-plutus/scripts/mHead.plutus @@ -1,5 +1,5 @@ { "type": "PlutusScriptV3", "description": "hydra-mHead-0.19.0-606-g6a0f3e38e5", - "cborHex": "5915b55915b20101003332323232323232323232323232323232323232323232222232930010029114800c8940364b264b264646464aa666ae68004460042264aa666ae680044600022604804666e1d20020033370e90000011aab9e00235573a0026ea801226602a921034d303600593330132232333573400300080119b8f002001301400130169001911001a426604244b200318004886400a44b264666ae6800600100233710002900044c01800e30020003180122666664644444a65266038921034d303100323302822590018c00a442b2b320112290049119199ab9a0018004008cdc7802001119008914802488c8ccd5cd000c00200466e1c00c0048c009180044c0100040013302722590018c002443003900291001260080024a800c8888888888888888041323232323215933021491034d30320032333573400300080119b8732593330202232333573400300080119b8f002001500630235007909801000c5200019199119118010009817912c800c400e4432005223300800130060032400644004900191000a0024466e0000800605233700a00290014564cc0852401034d3033003323223002001302d22590018c00a4432005223255333573400222604c00422600e00866e3c00801c50059500391000a2b2b2660429201034d30340032333573400300080119b8750013300b11223223002001302e22590018801c884cc018008c010004a0091330262593330202232333573400300080119b8f002001500600190ac800c4c0b52401034d303800910c8014896400e2b264666ae680060010023370e002900146001130314901034d3038004884c0cd2401034d30380011302c4901034d3037002802460048ac9981312c800c5409242b260520032133024491034d31320032333573400300080119b8f001500889816a49034d31320048540946605844b2003180048860072005220024c0100043300c00a5006899810a49034d3035005932333573400300080119b8f9500291100194016264b3200322900b9119199ab9a0018004008cdc7802001119001914805c88c8ccd5cd000c00200466e1c00c0048c0092a005222002460048c00918012300246004195001911000856654006440048a811c8564cccccc09c004c8c8c8c888c94c94ccd5cd00108ac9999aab9f0032801140060026ae840126ae88010800486400644b26010005215933335573e00450022800c004d5d0801cd5d1001900090c800c8964cc03403800a42b26666aae7c008a00450018009aba10039aba20032001219001912c981c80148564cccd55cf801140088c8ca002004357440086ae8400e001215933333303c001223255333573400222b26666aae7c008a00450018009aba10039aba20032001219001912c982080148564cccd55cf801140088c8ca002004357440086ae8400e0012159301d00190c00600200700123002460048c0088c008230023370e900000114008a0045002280148600300500b803c00e00244c0392644c0352644c0312622601293226010931130054991300449889800a4c113001498c88c954ccd5cd00088ac9999aab9f00528011191940040086ae8801cd5d0803400242b26666660640024464aa666ae680044564cccd55cf80114008a003001357420073574400640024320032259303700290ac9999aab9f0022801140060026ae8400e6ae8800c800486400644b266026028005215933335573e00450022800c004d5d0801cd5d1001900090c800c8964c05800a42b26666aae7c008a00450018009aba10039aba20032001219001912c980e80148564cccd55cf801140088c8ca002004357440086ae8400e0012159304500190c00600201f00b803c00e002460048c009180111801230022300246004460048c0088c008230023370e900000114008a004500228014860030070012260089322600693044c00d263370e9001002991192a999ab9a001115933335573e00a5002232328008010d5d10039aba100680048564cccccc0c800488c954ccd5cd00088ac9999aab9f0022801140060026ae8400e6ae8800c800486400644b2606e005215933335573e00450022800c004d5d0801cd5d1001900090c800c8964cc04c05000a42b26666aae7c008a00450018009aba10039aba20032001219001912c980b00148564cccd55cf80114008a003001357420073574400640024320032259301d00290ac9999aab9f0022801140060026ae8400e6ae8800c800486400644b26042005215933335573e00450022800c004d5d0801cd5d1001900090c800c8964c12c00a42b26666aae7c008a00450018009aba10039aba20032001219001912c982780148564cccd55cf80114008a003001357420073574400640024320032259305300290ac9999aab9f0022801140060026ae8400e6ae8800c800486400644b26605e0ae005215933335573e0045002232328008010d5d10021aba100380048564c0cc00643001800811c07e037017809c03e017007801c0048c0091801230022300246004460048c0088c009180111801230022300246004460048c0088c009180111801230022300208c008cdc3a40000045002280114008a00521800c0040048980224c89801a4c113003498cdc3a400800a464aa666ae680044600300208c008cdc3a400c00866e1d2000002233333302b001223255333573400222b26666aae7c008a004464650010021aba20043574200700090ac9804000c860020028c009180104600466e1d2000002280114008a0045002232233333302c0012280114008008a0045002302e2233335573e00250018000964c010d5d080148564c010d5d1001c8600300300280091801226500230033574400480012c9814000c860020028c008466666605000245002280114008a002002280114008a004500228014856400642a04b1502491110c00400a0033300f11223223002001303222590018801c884cc018008c01000400690a812a260549201034d30390048540902b26601200ca00713028491034d313100910ac800c400a44260589201034d31310004cc0a089640063000910c00e400a44002980200086601000ca004260360051801064006444006233550012233700002900124000446604444b200318004884c966400e444520092290029400a464aa666ae68004460030010068038230023371e00201c2430030018012200230040014800c888888888888888803801401201000230050068a4d1500c48940364a01922500d928060646464646464464646464aa666ae6800444ca0026646464464646464aa666ae6800444c8c8c8c8c8c8c8c8c8c8c8c8c8ca0026605a0286ae840426605a0286ae8403a6605a02a6ae840366eb4d5d08064ccc079d7280b1aba100b9981680f9aba100a99980f010bad357420133353232122323232325533357340022300132323232553335734002230013300c00a35742005300b357426ae8800822608e08c66e1d200000235573c0046aae74004dd51aba1002991919192a999ab9a00111800998060051aba100298059aba1357440041130470463370e90000011aab9e00235573a0026ea8d5d09aba200208982182119b8748000008d55cf0011aab9d0013754002464646464aa666ae68004460042264aa666ae680044600022608408266e1d20020033370e90000011aab9e00235573a0026ea800488c8c8c8c954ccd5cd00088c00844c954ccd5cd00088c004c01cd5d0801844c954ccd5cd00088c01044c10c108cdc3a400800866e1d20020033370e90000011aab9e00235573a0026ea8005d69aba100899816bae3574200f33301e23232323255333573400223003375c6ae840082264aa666ae680044601260506ae8400c2264aa666ae680044600e60506ae840102264aa666ae68004460026eb4d5d0802cc09cd5d09aba200508992a999ab9a0011180598149aba100608992a999ab9a001118029bad3574200f3027357426ae8801c22608a08866e1d200a0073370e900400319b8748018014cdc3a400800866e1d20020033370e90000011aab9e00235573a0026ea80040a8d5d08034ccc079d70151aba10059bae3574200933301e0203301e02c232323232553335734002230021132553335734002230041132553335734002230001130420413370e900200219b874800800ccdc3a40000046aae78008d55ce8009baa001357420073302d01d357420053302b75a6ae8400666056eb4d5d09aba20011aba2001357440026ae88004d5d10009aba2001357440026ae88004d5d10009aba2001357440026ae88004d5d10009aba20013574400422605a05866e1d200000235573c0046aae74004dd50009191919192a999ab9a0011180098099aba100298031aba13574400411302c02b3370e90000011aab9e00235573a0026ea80048c8c8c8c954ccd5cd0008899194004c8c8c8c954ccd5cd00088c004c05cd5d08014cc0848c8c8c8c954ccd5cd00088c004c070d5d0801044c954ccd5cd0008899400cdd69aba10049bad35742003375a6ae84d5d10008d5d100188981b81b19b874800800ccdc3a40000046aae78008d55ce8009baa001357426ae8800822606206066e1d200000235573c0046aae74004dd51aba10049998083ae5008357420053232323255333573400223000113255333573400223005375c6ae8400c2264aa666ae68004460066ae8401022606606466e1d20040043370e900100199b8748000008d55cf0011aab9d00137546ae840066603aeb8d5d09aba20011aba20013574400422605605466e1d200000235573c0046aae74004dd50008998043ae75a6ae8400e6ae8400664646464aa666ae68004460066eb8d5d0801044c954ccd5cd00088c024c044d5d0801ccc068064d5d09aba200308992a999ab9a0011180398089aba100408992a999ab9a001118009bad3574200b3010357426ae880142264aa666ae680044601660246ae840182264aa666ae680044600a6eb4d5d0803cc040d5d09aba200708981701699b874802801ccdc3a401000c66e1d20060053370e900200219b874800800ccdc3a40000046aae78008d55ce8009baa357426ae880046ae8800844c09008ccdc3a40000046aae78008d55ce8009baa0012323232325533357340022265001375a6ae8400e60146ae8400664646464aa666ae6800444ca012660320346ae8400e6ae8400666032eb8d5d09aba20011aba20021132553335734002230013301901a357420073232323255333573400223001375a6ae8400a6eb4d5d09aba200208981681619b8748000008d55cf0011aab9d00137546ae84d5d1001844c954ccd5cd00088c02cccc034041d69aba10049980d3ae357426ae880102264aa666ae680044600e660360386ae840142264aa666ae6800444c8ca01a6603c03e6ae84022660400286ae8400a666022028eb4d5d0800e4c8c8c8c954ccd5cd00088c004dd69aba10029bad357426ae8800822606406266e1d200000235573c0046aae74004dd51aba135744003223301c0020010d5d10009aba20061132553335734002230053301d01e3574200f323232325533357340022266042eb8d5d080108981881819b8748000008d55cf0011aab9d00137546ae84d5d1003844c954ccd5cd00088c00844c0b80b4cdc3a401801066e1d200a0073370e900400319b8748018014cdc3a400800866e1d20020033370e90000011aab9e00235573a0026ea8d5d09aba20011aba20021130230223370e90000011aab9e00235573a0026ea800488c88c008dd58009810111999aab9f0012800119400e002600c6aae74006600a6aae7800530043574400635742005000322323232325533357340022300d3008357420053301275a6ae84d5d1001044c954ccd5cd00088c04cc024d5d0801ccc04dd69aba135744006113255333573400223003300a357420093008357426ae880102264aa666ae6800444ca01660186ae8401a60146ae840066eb4d5d09aba20011aba2005113255333573400223009300c3574200d375a6ae84d5d1003044c954ccd5cd00088c054c034d5d0803844c954ccd5cd00088c044c038d5d08044dd69aba135744010113255333573400223005375c6ae840266eb8d5d09aba200908992a999ab9a001118039bae35742015375a6ae84d5d1005044c954ccd5cd00088c004c044d5d0805cc044d5d09aba200b08992a999ab9a0011180798091aba100c08981601599b8748050030cdc3a402401666e1d201000a3370e900700499b8748030020cdc3a401400e66e1d20080063370e900300299b8748010010cdc3a400400666e1d200000235573c0046aae74004dd5000991191919192a999ab9a001118009bae35742004113255333573400223005300735742006113255333573400223003375c6ae8401260106ae84d5d1002044c09008ccdc3a400800866e1d20020033370e90000011aab9e00235573a0026ea80048c8c8c8c954ccd5cd00088c004c01cd5d0801044c954ccd5cd00088c00844c954ccd5cd00088c01044c08c088cdc3a400800866e1d20020033370e90000011aab9e00235573a0026ea80048c8c8c8c954ccd5cd00088c004c018d5d0801044c954ccd5cd00088c00cc01cd5d0801844c954ccd5cd00088c014dd71aba100408981101099b8748010010cdc3a400400666e1d200000235573c0046aae74004dd50009191919192a999ab9a001118009bae35742004113255333573400223003375c6ae8400c22604003e66e1d20020033370e90000011aab9e00235573a0026ea80048c8c8c8c954ccd5cd00088c004dd71aba10029bad357426ae8800822603c03a66e1d200000235573c0046aae74004dd5000980a911192a999ab9a001113018490103505433001132553335734002226600a66e0405c010cdc080b80188994004cdc2002800ccdc20020008cc01801000ccdc400100b19b8700101530142223255333573400222006226600800466e1800c008cdc380080a098092481035054350020012232323232553335734002230021132553335734002230013007357420061130170163370e900000199b8748008008d55cf0011aab9d0013754002464646464aa666ae68004460026eb8d5d08014dd69aba1357440041130140133370e90000011aab9e00235573a0026ea80048c88c008dd60009808111999aab9f00128001400cc010d5d08014c00cd5d10012000601c44b200318014886400a4464aa666ae6800444c8ccd5cd000c00200466e1c00920021130070043371e00491010b487964726148656164563100088c88c008004c03c89640063002910c80148964cc02000801e300100144c01800c1914800c88a400644a00f2001912803c9401a44a00f2500604c98cd5ce249024c6800800112c800c6001133573800500214800c8888888888888888030260109201034d31320013007491034d30390013006491034d31300023223002001300722590018c002442b2600a005130040018c00823333330020012280114008a004500228008008888888ccccccd5d2003119198039aab9d00135573c0026ea801c8c014dd5803918021bac00723003375a00e460046eb801e0009000249035054310023263357380030002323001001230022330020020014891ce8b53932e4a43630bed3893f186fe9e8a8391f45d951af082a726e4b0048811c5350e9d521552ebfd9e846fd70c3b801f716fc14296134ec0fb71e970001" + "cborHex": "5915b55915b20101003332323232323232323232323232323232323232323232222232930010029114800c8940364b264b264646464aa666ae68004460042264aa666ae680044600022604804666e1d20020033370e90000011aab9e00235573a0026ea801226602a921034d303600593330132232333573400300080119b8f002001301400130169001911001a426604244b200318004886400a44b264666ae6800600100233710002900044c01800e30020003180122666664644444a65266038921034d303100323302822590018c00a442b2b320112290049119199ab9a0018004008cdc7802001119008914802488c8ccd5cd000c00200466e1c00c0048c009180044c0100040013302722590018c002443003900291001260080024a800c8888888888888888041323232323215933021491034d30320032333573400300080119b8732593330202232333573400300080119b8f002001500630235007909801000c5200019199119118010009817912c800c400e4432005223300800130060032400644004900191000a0024466e0000800605233700a00290014564cc0852401034d3033003323223002001302d22590018c00a4432005223255333573400222604c00422600e00866e3c00801c50059500391000a2b2b2660429201034d30340032333573400300080119b8750013300b11223223002001302e22590018801c884cc018008c010004a0091330262593330202232333573400300080119b8f002001500600190ac800c4c0b52401034d303800910c8014896400e2b264666ae680060010023370e002900146001130314901034d3038004884c0cd2401034d30380011302c4901034d3037002802460048ac9981312c800c5409242b260520032133024491034d31320032333573400300080119b8f001500889816a49034d31320048540946605844b2003180048860072005220024c0100043300c00a5006899810a49034d3035005932333573400300080119b8f9500291100194016264b3200322900b9119199ab9a0018004008cdc7802001119001914805c88c8ccd5cd000c00200466e1c00c0048c0092a005222002460048c00918012300246004195001911000856654006440048a811c8564cccccc09c004c8c8c8c888c94c94ccd5cd00108ac9999aab9f0032801140060026ae840126ae88010800486400644b26010005215933335573e00450022800c004d5d0801cd5d1001900090c800c8964cc03403800a42b26666aae7c008a00450018009aba10039aba20032001219001912c981c80148564cccd55cf801140088c8ca002004357440086ae8400e001215933333303c001223255333573400222b26666aae7c008a00450018009aba10039aba20032001219001912c982080148564cccd55cf801140088c8ca002004357440086ae8400e0012159301d00190c00600200700123002460048c0088c008230023370e900000114008a0045002280148600300500b803c00e00244c0392644c0352644c0312622601293226010931130054991300449889800a4c113001498c88c954ccd5cd00088ac9999aab9f00528011191940040086ae8801cd5d0803400242b26666660640024464aa666ae680044564cccd55cf80114008a003001357420073574400640024320032259303700290ac9999aab9f0022801140060026ae8400e6ae8800c800486400644b266026028005215933335573e00450022800c004d5d0801cd5d1001900090c800c8964c05800a42b26666aae7c008a00450018009aba10039aba20032001219001912c980e80148564cccd55cf801140088c8ca002004357440086ae8400e0012159304500190c00600201f00b803c00e002460048c009180111801230022300246004460048c0088c008230023370e900000114008a004500228014860030070012260089322600693044c00d263370e9001002991192a999ab9a001115933335573e00a5002232328008010d5d10039aba100680048564cccccc0c800488c954ccd5cd00088ac9999aab9f0022801140060026ae8400e6ae8800c800486400644b2606e005215933335573e00450022800c004d5d0801cd5d1001900090c800c8964cc04c05000a42b26666aae7c008a00450018009aba10039aba20032001219001912c980b00148564cccd55cf80114008a003001357420073574400640024320032259301d00290ac9999aab9f0022801140060026ae8400e6ae8800c800486400644b26042005215933335573e00450022800c004d5d0801cd5d1001900090c800c8964c12c00a42b26666aae7c008a00450018009aba10039aba20032001219001912c982780148564cccd55cf80114008a003001357420073574400640024320032259305300290ac9999aab9f0022801140060026ae8400e6ae8800c800486400644b26605e0ae005215933335573e0045002232328008010d5d10021aba100380048564c0cc00643001800811c07e037017809c03e017007801c0048c0091801230022300246004460048c0088c009180111801230022300246004460048c0088c009180111801230022300208c008cdc3a40000045002280114008a00521800c0040048980224c89801a4c113003498cdc3a400800a464aa666ae680044600300208c008cdc3a400c00866e1d2000002233333302b001223255333573400222b26666aae7c008a004464650010021aba20043574200700090ac9804000c860020028c009180104600466e1d2000002280114008a0045002232233333302c0012280114008008a0045002302e2233335573e00250018000964c010d5d080148564c010d5d1001c8600300300280091801226500230033574400480012c9814000c860020028c008466666605000245002280114008a002002280114008a004500228014856400642a04b1502491110c00400a0033300f11223223002001303222590018801c884cc018008c01000400690a812a260549201034d30390048540902b26601200ca00713028491034d313100910ac800c400a44260589201034d31310004cc0a089640063000910c00e400a44002980200086601000ca004260360051801064006444006233550012233700002900124000446604444b200318004884c966400e444520092290029400a464aa666ae68004460030010068038230023371e00201c2430030018012200230040014800c888888888888888803801401201000230050068a4d1500c48940364a01922500d928060646464646464464646464aa666ae6800444ca0026646464464646464aa666ae6800444c8c8c8c8c8c8c8c8c8c8c8c8c8ca0026605a0286ae840426605a0286ae8403a6605a02a6ae840366eb4d5d08064ccc079d7280b1aba100b9981680f9aba100a99980f010bad357420133353232122323232325533357340022300132323232553335734002230013300c00a35742005300b357426ae8800822608e08c66e1d200000235573c0046aae74004dd51aba1002991919192a999ab9a00111800998060051aba100298059aba1357440041130470463370e90000011aab9e00235573a0026ea8d5d09aba200208982182119b8748000008d55cf0011aab9d0013754002464646464aa666ae68004460042264aa666ae680044600022608408266e1d20020033370e90000011aab9e00235573a0026ea800488c8c8c8c954ccd5cd00088c00844c954ccd5cd00088c004c01cd5d0801844c954ccd5cd00088c01044c10c108cdc3a400800866e1d20020033370e90000011aab9e00235573a0026ea8005d69aba100899816bae3574200f33301e23232323255333573400223003375c6ae840082264aa666ae680044601260506ae8400c2264aa666ae680044600e60506ae840102264aa666ae68004460026eb4d5d0802cc09cd5d09aba200508992a999ab9a0011180598149aba100608992a999ab9a001118029bad3574200f3027357426ae8801c22608a08866e1d200a0073370e900400319b8748018014cdc3a400800866e1d20020033370e90000011aab9e00235573a0026ea80040a8d5d08034ccc079d70151aba10059bae3574200933301e0203301e02c232323232553335734002230021132553335734002230041132553335734002230001130420413370e900200219b874800800ccdc3a40000046aae78008d55ce8009baa001357420073302d01d357420053302b75a6ae8400666056eb4d5d09aba20011aba2001357440026ae88004d5d10009aba2001357440026ae88004d5d10009aba2001357440026ae88004d5d10009aba20013574400422605a05866e1d200000235573c0046aae74004dd50009191919192a999ab9a0011180098099aba100298031aba13574400411302c02b3370e90000011aab9e00235573a0026ea80048c8c8c8c954ccd5cd0008899194004c8c8c8c954ccd5cd00088c004c05cd5d08014cc0848c8c8c8c954ccd5cd00088c004c070d5d0801044c954ccd5cd0008899400cdd69aba10049bad35742003375a6ae84d5d10008d5d100188981b81b19b874800800ccdc3a40000046aae78008d55ce8009baa001357426ae8800822606206066e1d200000235573c0046aae74004dd51aba10049998083ae5008357420053232323255333573400223000113255333573400223005375c6ae8400c2264aa666ae68004460066ae8401022606606466e1d20040043370e900100199b8748000008d55cf0011aab9d00137546ae840066603aeb8d5d09aba20011aba20013574400422605605466e1d200000235573c0046aae74004dd50008998043ae75a6ae8400e6ae8400664646464aa666ae68004460066eb8d5d0801044c954ccd5cd00088c024c044d5d0801ccc068064d5d09aba200308992a999ab9a0011180398089aba100408992a999ab9a001118009bad3574200b3010357426ae880142264aa666ae680044601660246ae840182264aa666ae680044600a6eb4d5d0803cc040d5d09aba200708981701699b874802801ccdc3a401000c66e1d20060053370e900200219b874800800ccdc3a40000046aae78008d55ce8009baa357426ae880046ae8800844c09008ccdc3a40000046aae78008d55ce8009baa0012323232325533357340022265001375a6ae8400e60146ae8400664646464aa666ae6800444ca012660320346ae8400e6ae8400666032eb8d5d09aba20011aba20021132553335734002230013301901a357420073232323255333573400223001375a6ae8400a6eb4d5d09aba200208981681619b8748000008d55cf0011aab9d00137546ae84d5d1001844c954ccd5cd00088c02cccc034041d69aba10049980d3ae357426ae880102264aa666ae680044600e660360386ae840142264aa666ae6800444c8ca01a6603c03e6ae84022660400286ae8400a666022028eb4d5d0800e4c8c8c8c954ccd5cd00088c004dd69aba10029bad357426ae8800822606406266e1d200000235573c0046aae74004dd51aba135744003223301c0020010d5d10009aba20061132553335734002230053301d01e3574200f323232325533357340022266042eb8d5d080108981881819b8748000008d55cf0011aab9d00137546ae84d5d1003844c954ccd5cd00088c00844c0b80b4cdc3a401801066e1d200a0073370e900400319b8748018014cdc3a400800866e1d20020033370e90000011aab9e00235573a0026ea8d5d09aba20011aba20021130230223370e90000011aab9e00235573a0026ea800488c88c008dd58009810111999aab9f0012800119400e002600c6aae74006600a6aae7800530043574400635742005000322323232325533357340022300d3008357420053301275a6ae84d5d1001044c954ccd5cd00088c04cc024d5d0801ccc04dd69aba135744006113255333573400223003300a357420093008357426ae880102264aa666ae6800444ca01660186ae8401a60146ae840066eb4d5d09aba20011aba2005113255333573400223009300c3574200d375a6ae84d5d1003044c954ccd5cd00088c054c034d5d0803844c954ccd5cd00088c044c038d5d08044dd69aba135744010113255333573400223005375c6ae840266eb8d5d09aba200908992a999ab9a001118039bae35742015375a6ae84d5d1005044c954ccd5cd00088c004c044d5d0805cc044d5d09aba200b08992a999ab9a0011180798091aba100c08981601599b8748050030cdc3a402401666e1d201000a3370e900700499b8748030020cdc3a401400e66e1d20080063370e900300299b8748010010cdc3a400400666e1d200000235573c0046aae74004dd5000991191919192a999ab9a001118009bae35742004113255333573400223005300735742006113255333573400223003375c6ae8401260106ae84d5d1002044c09008ccdc3a400800866e1d20020033370e90000011aab9e00235573a0026ea80048c8c8c8c954ccd5cd00088c004c01cd5d0801044c954ccd5cd00088c00844c954ccd5cd00088c01044c08c088cdc3a400800866e1d20020033370e90000011aab9e00235573a0026ea80048c8c8c8c954ccd5cd00088c004c018d5d0801044c954ccd5cd00088c00cc01cd5d0801844c954ccd5cd00088c014dd71aba100408981101099b8748010010cdc3a400400666e1d200000235573c0046aae74004dd50009191919192a999ab9a001118009bae35742004113255333573400223003375c6ae8400c22604003e66e1d20020033370e90000011aab9e00235573a0026ea80048c8c8c8c954ccd5cd00088c004dd71aba10029bad357426ae8800822603c03a66e1d200000235573c0046aae74004dd5000980a911192a999ab9a001113018490103505433001132553335734002226600a66e0405c010cdc080b80188994004cdc2002800ccdc20020008cc01801000ccdc400100b19b8700101530142223255333573400222006226600800466e1800c008cdc380080a098092481035054350020012232323232553335734002230021132553335734002230013007357420061130170163370e900000199b8748008008d55cf0011aab9d0013754002464646464aa666ae68004460026eb8d5d08014dd69aba1357440041130140133370e90000011aab9e00235573a0026ea80048c88c008dd60009808111999aab9f00128001400cc010d5d08014c00cd5d10012000601c44b200318014886400a4464aa666ae6800444c8ccd5cd000c00200466e1c00920021130070043371e00491010b487964726148656164563100088c88c008004c03c89640063002910c80148964cc02000801e300100144c01800c1914800c88a400644a00f2001912803c9401a44a00f2500604c98cd5ce249024c6800800112c800c6001133573800500214800c8888888888888888030260109201034d31320013007491034d30390013006491034d31300023223002001300722590018c002442b2600a005130040018c00823333330020012280114008a004500228008008888888ccccccd5d2003119198039aab9d00135573c0026ea801c8c014dd5803918021bac00723003375a00e460046eb801e0009000249035054310023263357380030002323001001230022330020020014891cc8a101a5c8ac4816b0dceb59ce31fc2258e387de828f02961d2f20450048811c5350e9d521552ebfd9e846fd70c3b801f716fc14296134ec0fb71e970001" } diff --git a/hydra-plutus/src/Hydra/Plutus.hs b/hydra-plutus/src/Hydra/Plutus.hs index 956384a4fcc..abb45ba9010 100644 --- a/hydra-plutus/src/Hydra/Plutus.hs +++ b/hydra-plutus/src/Hydra/Plutus.hs @@ -1,6 +1,12 @@ {-# LANGUAGE TemplateHaskell #-} -- | Module to load and provide the Hydra scripts. +-- +-- The plutus blueprint in 'plutus.json' is embedded in the binary and serves as +-- the ground truth for validator scripts and hashes. +-- +-- XXX: We are using a hardcoded indices to access validators in plutus.json. +-- This is fragile and depends on the validator names not changing. module Hydra.Plutus where import Hydra.Prelude @@ -10,44 +16,54 @@ import Data.Aeson qualified as Aeson import Data.Aeson.Lens (key, nth, _String) import Data.ByteString.Base16 qualified as Base16 import Data.FileEmbed (embedFile, makeRelativeToProject) -import PlutusLedgerApi.Common (SerialisedScript) +import PlutusCore.Core (plcVersion110) +import PlutusCore.MkPlc qualified as UPLC +import PlutusLedgerApi.Common (SerialisedScript, serialiseUPLC, toBuiltin, toData, uncheckedDeserialiseUPLC) +import PlutusLedgerApi.V3 (ScriptHash (..)) +import UntypedPlutusCore qualified as UPLC --- | Loads the "plutus.json" blueprint and provides the decoded JSON. +-- | Loads the embedded "plutus.json" blueprint and provides the decoded JSON. blueprintJSON :: Aeson.Value blueprintJSON = case Aeson.decodeStrict $(makeRelativeToProject "./plutus.json" >>= embedFile) of Nothing -> error "Invalid blueprint: plutus.json" Just value -> value --- | Access the commit validator script from the 'blueprintJSON'. +-- | Get the commit validator by decoding it from 'blueprintJSON'. commitValidatorScript :: SerialisedScript commitValidatorScript = - case Base16.decode commitBase16Bytes of - Left e -> error $ "Failed to decode commit validator: " <> show e - Right bytes -> toShort bytes - where - commitBase16Bytes = encodeUtf8 base16Text - -- NOTE: we are using a hardcoded index to access the commit validator. - -- This is fragile and will raise problems when we move another plutus validator - -- to Aiken. - -- Reference: https://github.com/cardano-foundation/CIPs/tree/master/CIP-0057 - base16Text = blueprintJSON ^. key "validators" . nth 0 . key "compiledCode" . _String - --- | Access the initial validator script from the 'blueprintJSON'. + toShort . Base16.decodeLenient . encodeUtf8 $ + blueprintJSON ^. key "validators" . nth 0 . key "compiledCode" . _String + +-- | Get the commit validator hash from 'blueprintJSON'. +commitValidatorScriptHash :: ScriptHash +commitValidatorScriptHash = + ScriptHash . toBuiltin . Base16.decodeLenient . encodeUtf8 $ + blueprintJSON ^. key "validators" . nth 0 . key "hash" . _String + +-- | Get the initial validator by decoding the parameterized initial validator +-- from the 'blueprintJSON' and applying the 'commitValidatorScriptHash' to it. initialValidatorScript :: SerialisedScript initialValidatorScript = - case Base16.decode base16Bytes of - Left e -> error $ "Failed to decode initial validator: " <> show e - Right bytes -> toShort bytes + serialiseUPLC appliedProgram where - base16Bytes = encodeUtf8 initialBase16Text - initialBase16Text = blueprintJSON ^. key "validators" . nth 4 . key "compiledCode" . _String + appliedProgram = case unappliedProgram `UPLC.applyProgram` argumentProgram of + Left e -> error $ "Failed to applyProgram: " <> show e + Right x -> x + + unappliedProgram = uncheckedDeserialiseUPLC unappliedScript + argumentProgram = + UPLC.Program () plcVersion110 $ + UPLC.mkConstant () $ + toData commitValidatorScriptHash + + unappliedScript = + toShort . Base16.decodeLenient . encodeUtf8 $ + blueprintJSON ^. key "validators" . nth 4 . key "compiledCode" . _String + +-- | Get the deposit validator by decoding it from 'blueprintJSON'. depositValidatorScript :: SerialisedScript depositValidatorScript = - case Base16.decode depositBase16Bytes of - Left e -> error $ "Failed to decode commit validator: " <> show e - Right bytes -> toShort bytes - where - depositBase16Bytes = encodeUtf8 depositBase16Text - depositBase16Text = blueprintJSON ^. key "validators" . nth 2 . key "compiledCode" . _String + toShort . Base16.decodeLenient . encodeUtf8 $ + blueprintJSON ^. key "validators" . nth 2 . key "compiledCode" . _String