diff --git a/plutus-ledger-api/changelog.d/20260527_123507_yuriy.lazaryev_issue_2242_optimal_valueof.md b/plutus-ledger-api/changelog.d/20260527_123507_yuriy.lazaryev_issue_2242_optimal_valueof.md new file mode 100644 index 00000000000..a3bc3ceb4c7 --- /dev/null +++ b/plutus-ledger-api/changelog.d/20260527_123507_yuriy.lazaryev_issue_2242_optimal_valueof.md @@ -0,0 +1,3 @@ +### Changed + +- `PlutusLedgerApi.V1.Data.Value.valueOf` rewritten to walk the underlying `BuiltinList` directly via `unsafeDataAsMap` / `unsafeDataAsB` / `unsafeDataAsI` and short-circuit on the first match. The previous implementation went through `Map.lookup`, which materialised a `Maybe` only to deconstruct it immediately. Semantics are unchanged. diff --git a/plutus-ledger-api/src/PlutusLedgerApi/V1/Data/Value.hs b/plutus-ledger-api/src/PlutusLedgerApi/V1/Data/Value.hs index 12f70850204..2d868ac6134 100644 --- a/plutus-ledger-api/src/PlutusLedgerApi/V1/Data/Value.hs +++ b/plutus-ledger-api/src/PlutusLedgerApi/V1/Data/Value.hs @@ -336,11 +336,18 @@ instance MeetSemiLattice Value where {-| Get the quantity of the given currency in the 'Value'. Assumes that the underlying map doesn't contain duplicate keys. -} valueOf :: Value -> CurrencySymbol -> TokenName -> Integer -valueOf value cur tn = - withCurrencySymbol cur value 0 \tokens -> - case Map.lookup tn tokens of - Nothing -> 0 - Just v -> v +valueOf (Value mp) (CurrencySymbol curBs) (TokenName tnBs) = + goOuter (Map.toBuiltinList mp) + where + goOuter = B.caseList' 0 \hd -> + if B.equalsByteString curBs (BI.unsafeDataAsB (BI.fst hd)) + then \_ -> goInner (BI.unsafeDataAsMap (BI.snd hd)) + else goOuter + + goInner = B.caseList' 0 \hd -> + if B.equalsByteString tnBs (BI.unsafeDataAsB (BI.fst hd)) + then \_ -> BI.unsafeDataAsI (BI.snd hd) + else goInner {-# INLINEABLE valueOf #-} {-| Apply a continuation function to the token quantities of the given currency diff --git a/plutus-tx-plugin/plutus-tx-plugin.cabal b/plutus-tx-plugin/plutus-tx-plugin.cabal index ab359f994da..6404c5bcb34 100644 --- a/plutus-tx-plugin/plutus-tx-plugin.cabal +++ b/plutus-tx-plugin/plutus-tx-plugin.cabal @@ -273,6 +273,7 @@ test-suite plutus-ledger-api-plugin-test Spec.Data.MintValue.V3 Spec.Data.ScriptContext Spec.Data.Value + Spec.Data.Value.Budget Spec.Envelope Spec.MintValue.V3 Spec.ReturnUnit.V1 diff --git a/plutus-tx-plugin/test-ledger-api/Spec.hs b/plutus-tx-plugin/test-ledger-api/Spec.hs index 3c7aebe63a2..e10e1894987 100644 --- a/plutus-tx-plugin/test-ledger-api/Spec.hs +++ b/plutus-tx-plugin/test-ledger-api/Spec.hs @@ -5,6 +5,7 @@ import Spec.Data.Budget qualified import Spec.Data.MintValue.V3 qualified import Spec.Data.ScriptContext qualified import Spec.Data.Value qualified +import Spec.Data.Value.Budget qualified import Spec.Envelope qualified import Spec.MintValue.V3 qualified import Spec.ReturnUnit.V1 qualified @@ -27,6 +28,8 @@ tests = , Spec.Data.Budget.tests , Spec.Data.ScriptContext.tests , Spec.Data.Value.test_EqValue + , Spec.Data.Value.test_valueOf + , Spec.Data.Value.Budget.tests , Spec.Data.MintValue.V3.tests , Spec.Envelope.tests , Spec.ReturnUnit.V1.tests diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value.hs b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value.hs index a3809caf4df..3b321e3c516 100644 --- a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value.hs +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE BlockArguments #-} {-# LANGUAGE DataKinds #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE TemplateHaskell #-} @@ -12,9 +13,13 @@ import Prelude qualified as Haskell import PlutusLedgerApi.V1.Data.Value +import Plinth.Plugin (plinthc) import PlutusTx.Base +import PlutusTx.Builtins qualified as B +import PlutusTx.Builtins.Internal qualified as BI import PlutusTx.Code (CompiledCode, getPlc, unsafeApplyCode) import PlutusTx.Data.AssocMap qualified as AssocMap +import PlutusTx.IsData qualified as Tx import PlutusTx.Lift import PlutusTx.List qualified as List import PlutusTx.Maybe @@ -22,6 +27,7 @@ import PlutusTx.Numeric import PlutusTx.Prelude hiding (integerToByteString) import PlutusTx.Show (toDigits) import PlutusTx.TH (compile) +import PlutusTx.Test.Run.Code (evalResult, evaluateCompiledCode) import PlutusTx.Traversable qualified as Tx import PlutusCore.Builtin qualified as PLC @@ -31,12 +37,16 @@ import UntypedPlutusCore qualified as PLC import UntypedPlutusCore.Evaluation.Machine.Cek qualified as PLC import Control.Exception qualified as Haskell +import Data.ByteString qualified as BS import Data.Functor qualified as Haskell import Data.List qualified as Haskell import Data.Map qualified as Map +import PlutusLedgerApi.Test.V1.Data.Value qualified as ListToValue import Prettyprinter qualified as Pretty +import Test.QuickCheck (Arbitrary (arbitrary), forAll, (===)) import Test.Tasty import Test.Tasty.Extras +import Test.Tasty.QuickCheck (testProperty) scalingFactor :: Integer scalingFactor = 4 @@ -258,3 +268,53 @@ test_EqValue = $ [ test_EqCurrencyList "Short" currencyListOptions , test_EqCurrencyList "Long" currencyLongListOptions ] + +-- | Compiled non-builtin 'valueOf', evaluated on CEK by the property test. +compiledValueOf :: CompiledCode (Value -> CurrencySymbol -> TokenName -> Integer) +compiledValueOf = plinthc valueOf + +{-| Compiled builtin lookup: @\\bd cs tn -> lookupCoin cs tn (unsafeDataAsValue bd)@. +Used as the independent oracle in the differential property test for 'valueOf'. -} +compiledBuiltinLookup + :: CompiledCode (BI.BuiltinData -> BI.BuiltinByteString -> BI.BuiltinByteString -> Integer) +compiledBuiltinLookup = + plinthc (\bd c t -> B.lookupCoin c t (B.unsafeDataAsValue bd)) + +{-| Check that the non-builtin 'valueOf' agrees with the builtin lookup path +('unsafeDataAsValue' + 'lookupCoin') when both are evaluated on the CEK machine. -} +test_valueOf :: TestTree +test_valueOf = + testProperty "non-builtin valueOf matches builtin lookupCoin on CEK" \rawValue -> + let value = + ListToValue.listsToValue + . Haskell.sortOn fst + . Haskell.filter (Haskell.not . Haskell.null . snd) + . Haskell.map + ( Haskell.fmap + ( Haskell.sortOn fst + . Haskell.filter ((Haskell./= 0) . snd) + ) + ) + $ ListToValue.valueToLists rawValue + genBytes = Haskell.fmap BS.pack arbitrary + genKeyPair = + Haskell.liftA2 + (\bs1 bs2 -> (currencySymbol bs1, tokenName bs2)) + genBytes + genBytes + in forAll genKeyPair \(cs, tn) -> + let nonBuiltin = + evalResult + . evaluateCompiledCode + $ compiledValueOf + `unsafeApplyCode` liftCodeDef value + `unsafeApplyCode` liftCodeDef cs + `unsafeApplyCode` liftCodeDef tn + builtin = + evalResult + . evaluateCompiledCode + $ compiledBuiltinLookup + `unsafeApplyCode` liftCodeDef (Tx.toBuiltinData value) + `unsafeApplyCode` liftCodeDef (unCurrencySymbol cs) + `unsafeApplyCode` liftCodeDef (unTokenName tn) + in nonBuiltin === builtin diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget.hs b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget.hs new file mode 100644 index 00000000000..c0c53bff935 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget.hs @@ -0,0 +1,625 @@ +{-# LANGUAGE BlockArguments #-} +{-# LANGUAGE DataKinds #-} +{-# LANGUAGE OverloadedStrings #-} +{-# LANGUAGE TemplateHaskell #-} +{-# LANGUAGE NoImplicitPrelude #-} + +{-| +Budget comparison between the builtin Value lookup ('unsafeDataAsValue' + +'lookupCoin') and the pure Plutus Tx Data-backed Value API ('valueOf') +across a scaling series of Value sizes: + +* S1 — ada only (1 token). +* S3 — ada + 2 single-token policies (3 tokens total). +* S8 — ada + 7 single-token policies (8 tokens total); tuned so the builtin + vs non-builtin CPU ratio at an ada lookup lands near 1:1 — the + crossover. +* S100 — ada + 10 policies with 10 tokens each (~100 tokens). + +Currency symbols are 28 bytes and token names are 32 bytes, matching the +sizes that appear on-chain. + +Every bundle starts from a 'BuiltinData' input — the same representation a +validator receives from the ledger — so both paths are exercised on +identical lifted inputs and the only variation is how each unwraps the +'BuiltinData' before operating on it. + +The 'unValueData_S*' bundles measure 'unsafeDataAsValue' standalone, so the +conversion tax can be subtracted from the builtin column when reading the +matrix. + +See issue IntersectMBO\/plutus-private#2242. -} +module Spec.Data.Value.Budget where + +import PlutusTx.Prelude + +import PlutusLedgerApi.Test.V1.Data.Value (listsToValue) +import PlutusLedgerApi.V1.Data.Value qualified as DValue +import PlutusTx.Builtins qualified as B +import PlutusTx.Builtins.Internal qualified as BI +import PlutusTx.Code (CompiledCode, unsafeApplyCode) +import PlutusTx.IsData qualified as Tx +import PlutusTx.Lift (liftCodeDef) +import PlutusTx.TH (compile) +import PlutusTx.Test (goldenBundle) +import Test.Tasty (TestTree) +import Test.Tasty.Extras (runTestNested, testNestedGhc) + +tests :: TestTree +tests = + runTestNested ["test-ledger-api", "Spec", "Data", "Value", "Budget"] + . pure + . testNestedGhc + $ [ -- S1: ada-only. Hit on ada, plus a miss. + goldenBundle + "lookup_S1_ada_builtin" + lookupAdaBuiltin + (lookupAdaBuiltin `unsafeApplyCode` valueS1) + , goldenBundle + "lookup_S1_ada_nonbuiltin" + lookupAdaNonBuiltin + (lookupAdaNonBuiltin `unsafeApplyCode` valueS1) + , goldenBundle + "lookup_S1_miss_builtin" + lookupMissBuiltin + (lookupMissBuiltin `unsafeApplyCode` valueS1) + , goldenBundle + "lookup_S1_miss_nonbuiltin" + lookupMissNonBuiltin + (lookupMissNonBuiltin `unsafeApplyCode` valueS1) + , goldenBundle + "lookup_S1_ada_raw" + lookupAdaRaw + (lookupAdaRaw `unsafeApplyCode` valueS1) + , goldenBundle + "lookup_S1_miss_raw" + lookupMissRaw + (lookupMissRaw `unsafeApplyCode` valueS1) + , -- S3: ada + two single-token policies. + goldenBundle + "lookup_S3_ada_builtin" + lookupAdaBuiltin + (lookupAdaBuiltin `unsafeApplyCode` valueS3) + , goldenBundle + "lookup_S3_ada_nonbuiltin" + lookupAdaNonBuiltin + (lookupAdaNonBuiltin `unsafeApplyCode` valueS3) + , goldenBundle + "lookup_S3_middle_builtin" + lookupCs01Tn01Builtin + (lookupCs01Tn01Builtin `unsafeApplyCode` valueS3) + , goldenBundle + "lookup_S3_middle_nonbuiltin" + lookupCs01Tn01NonBuiltin + (lookupCs01Tn01NonBuiltin `unsafeApplyCode` valueS3) + , goldenBundle + "lookup_S3_last_builtin" + lookupCs02Tn02Builtin + (lookupCs02Tn02Builtin `unsafeApplyCode` valueS3) + , goldenBundle + "lookup_S3_last_nonbuiltin" + lookupCs02Tn02NonBuiltin + (lookupCs02Tn02NonBuiltin `unsafeApplyCode` valueS3) + , goldenBundle + "lookup_S3_miss_builtin" + lookupMissBuiltin + (lookupMissBuiltin `unsafeApplyCode` valueS3) + , goldenBundle + "lookup_S3_miss_nonbuiltin" + lookupMissNonBuiltin + (lookupMissNonBuiltin `unsafeApplyCode` valueS3) + , goldenBundle + "lookup_S3_ada_raw" + lookupAdaRaw + (lookupAdaRaw `unsafeApplyCode` valueS3) + , goldenBundle + "lookup_S3_middle_raw" + lookupCs01Tn01Raw + (lookupCs01Tn01Raw `unsafeApplyCode` valueS3) + , goldenBundle + "lookup_S3_last_raw" + lookupCs02Tn02Raw + (lookupCs02Tn02Raw `unsafeApplyCode` valueS3) + , goldenBundle + "lookup_S3_miss_raw" + lookupMissRaw + (lookupMissRaw `unsafeApplyCode` valueS3) + , -- S8: ada + 7 single-token policies. Tuned so the builtin/non-builtin + -- CPU ratio at the "ada hit" position lands near the crossover — + -- where the 'unsafeDataAsValue' traversal cost has grown to match + -- the short-circuited 'valueOf' cost for an ada lookup. + goldenBundle + "lookup_S8_ada_builtin" + lookupAdaBuiltin + (lookupAdaBuiltin `unsafeApplyCode` valueS8) + , goldenBundle + "lookup_S8_ada_nonbuiltin" + lookupAdaNonBuiltin + (lookupAdaNonBuiltin `unsafeApplyCode` valueS8) + , goldenBundle + "lookup_S8_middle_builtin" + lookupCs04Tn04Builtin + (lookupCs04Tn04Builtin `unsafeApplyCode` valueS8) + , goldenBundle + "lookup_S8_middle_nonbuiltin" + lookupCs04Tn04NonBuiltin + (lookupCs04Tn04NonBuiltin `unsafeApplyCode` valueS8) + , goldenBundle + "lookup_S8_last_builtin" + lookupCs07Tn07Builtin + (lookupCs07Tn07Builtin `unsafeApplyCode` valueS8) + , goldenBundle + "lookup_S8_last_nonbuiltin" + lookupCs07Tn07NonBuiltin + (lookupCs07Tn07NonBuiltin `unsafeApplyCode` valueS8) + , goldenBundle + "lookup_S8_miss_builtin" + lookupMissBuiltin + (lookupMissBuiltin `unsafeApplyCode` valueS8) + , goldenBundle + "lookup_S8_miss_nonbuiltin" + lookupMissNonBuiltin + (lookupMissNonBuiltin `unsafeApplyCode` valueS8) + , goldenBundle + "lookup_S8_ada_raw" + lookupAdaRaw + (lookupAdaRaw `unsafeApplyCode` valueS8) + , goldenBundle + "lookup_S8_middle_raw" + lookupCs04Tn04Raw + (lookupCs04Tn04Raw `unsafeApplyCode` valueS8) + , goldenBundle + "lookup_S8_last_raw" + lookupCs07Tn07Raw + (lookupCs07Tn07Raw `unsafeApplyCode` valueS8) + , goldenBundle + "lookup_S8_miss_raw" + lookupMissRaw + (lookupMissRaw `unsafeApplyCode` valueS8) + , -- S100: ada + 10 policies × 10 tokens each. + goldenBundle + "lookup_S100_ada_builtin" + lookupAdaBuiltin + (lookupAdaBuiltin `unsafeApplyCode` valueS100) + , goldenBundle + "lookup_S100_ada_nonbuiltin" + lookupAdaNonBuiltin + (lookupAdaNonBuiltin `unsafeApplyCode` valueS100) + , goldenBundle + "lookup_S100_middle_builtin" + lookupCs05Tn05Builtin + (lookupCs05Tn05Builtin `unsafeApplyCode` valueS100) + , goldenBundle + "lookup_S100_middle_nonbuiltin" + lookupCs05Tn05NonBuiltin + (lookupCs05Tn05NonBuiltin `unsafeApplyCode` valueS100) + , goldenBundle + "lookup_S100_last_builtin" + lookupCs10Tn10Builtin + (lookupCs10Tn10Builtin `unsafeApplyCode` valueS100) + , goldenBundle + "lookup_S100_last_nonbuiltin" + lookupCs10Tn10NonBuiltin + (lookupCs10Tn10NonBuiltin `unsafeApplyCode` valueS100) + , goldenBundle + "lookup_S100_miss_builtin" + lookupMissBuiltin + (lookupMissBuiltin `unsafeApplyCode` valueS100) + , goldenBundle + "lookup_S100_miss_nonbuiltin" + lookupMissNonBuiltin + (lookupMissNonBuiltin `unsafeApplyCode` valueS100) + , goldenBundle + "lookup_S100_ada_raw" + lookupAdaRaw + (lookupAdaRaw `unsafeApplyCode` valueS100) + , goldenBundle + "lookup_S100_middle_raw" + lookupCs05Tn05Raw + (lookupCs05Tn05Raw `unsafeApplyCode` valueS100) + , goldenBundle + "lookup_S100_last_raw" + lookupCs10Tn10Raw + (lookupCs10Tn10Raw `unsafeApplyCode` valueS100) + , goldenBundle + "lookup_S100_miss_raw" + lookupMissRaw + (lookupMissRaw `unsafeApplyCode` valueS100) + , -- Standalone 'unsafeDataAsValue' per shape. Isolates the conversion + -- tax from any downstream operation, so the per-shape unwrap + -- overhead can be read directly. + goldenBundle + "unValueData_S1" + unValueDataOnly + (unValueDataOnly `unsafeApplyCode` valueS1) + , goldenBundle + "unValueData_S3" + unValueDataOnly + (unValueDataOnly `unsafeApplyCode` valueS3) + , goldenBundle + "unValueData_S8" + unValueDataOnly + (unValueDataOnly `unsafeApplyCode` valueS8) + , goldenBundle + "unValueData_S100" + unValueDataOnly + (unValueDataOnly `unsafeApplyCode` valueS100) + ] + +-- -------------------------------------------------------------------------- +-- Raw 28-byte currency-symbol bytes. +-- -------------------------------------------------------------------------- + +bsPolicyMiss :: BuiltinByteString +bsPolicyMiss = "policy_Miss_________________" +{-# INLINEABLE bsPolicyMiss #-} + +bsPolicy01 :: BuiltinByteString +bsPolicy01 = "policy_01___________________" +{-# INLINEABLE bsPolicy01 #-} + +bsPolicy02 :: BuiltinByteString +bsPolicy02 = "policy_02___________________" +{-# INLINEABLE bsPolicy02 #-} + +bsPolicy03 :: BuiltinByteString +bsPolicy03 = "policy_03___________________" +{-# INLINEABLE bsPolicy03 #-} + +bsPolicy04 :: BuiltinByteString +bsPolicy04 = "policy_04___________________" +{-# INLINEABLE bsPolicy04 #-} + +bsPolicy05 :: BuiltinByteString +bsPolicy05 = "policy_05___________________" +{-# INLINEABLE bsPolicy05 #-} + +bsPolicy06 :: BuiltinByteString +bsPolicy06 = "policy_06___________________" +{-# INLINEABLE bsPolicy06 #-} + +bsPolicy07 :: BuiltinByteString +bsPolicy07 = "policy_07___________________" +{-# INLINEABLE bsPolicy07 #-} + +bsPolicy08 :: BuiltinByteString +bsPolicy08 = "policy_08___________________" +{-# INLINEABLE bsPolicy08 #-} + +bsPolicy09 :: BuiltinByteString +bsPolicy09 = "policy_09___________________" +{-# INLINEABLE bsPolicy09 #-} + +bsPolicy10 :: BuiltinByteString +bsPolicy10 = "policy_10___________________" +{-# INLINEABLE bsPolicy10 #-} + +-- -------------------------------------------------------------------------- +-- Raw 32-byte token-name bytes. +-- -------------------------------------------------------------------------- + +bsTokMiss :: BuiltinByteString +bsTokMiss = "token_Miss______________________" +{-# INLINEABLE bsTokMiss #-} + +bsTok01 :: BuiltinByteString +bsTok01 = "token_01________________________" +{-# INLINEABLE bsTok01 #-} + +bsTok02 :: BuiltinByteString +bsTok02 = "token_02________________________" +{-# INLINEABLE bsTok02 #-} + +bsTok03 :: BuiltinByteString +bsTok03 = "token_03________________________" +{-# INLINEABLE bsTok03 #-} + +bsTok04 :: BuiltinByteString +bsTok04 = "token_04________________________" +{-# INLINEABLE bsTok04 #-} + +bsTok05 :: BuiltinByteString +bsTok05 = "token_05________________________" +{-# INLINEABLE bsTok05 #-} + +bsTok06 :: BuiltinByteString +bsTok06 = "token_06________________________" +{-# INLINEABLE bsTok06 #-} + +bsTok07 :: BuiltinByteString +bsTok07 = "token_07________________________" +{-# INLINEABLE bsTok07 #-} + +bsTok08 :: BuiltinByteString +bsTok08 = "token_08________________________" +{-# INLINEABLE bsTok08 #-} + +bsTok09 :: BuiltinByteString +bsTok09 = "token_09________________________" +{-# INLINEABLE bsTok09 #-} + +bsTok10 :: BuiltinByteString +bsTok10 = "token_10________________________" +{-# INLINEABLE bsTok10 #-} + +-- -------------------------------------------------------------------------- +-- Typed 'CurrencySymbol' wrappers. +-- -------------------------------------------------------------------------- + +csPolicyMiss :: DValue.CurrencySymbol +csPolicyMiss = DValue.CurrencySymbol bsPolicyMiss +{-# INLINEABLE csPolicyMiss #-} + +cs01 :: DValue.CurrencySymbol +cs01 = DValue.CurrencySymbol bsPolicy01 +{-# INLINEABLE cs01 #-} + +cs02 :: DValue.CurrencySymbol +cs02 = DValue.CurrencySymbol bsPolicy02 +{-# INLINEABLE cs02 #-} + +cs03 :: DValue.CurrencySymbol +cs03 = DValue.CurrencySymbol bsPolicy03 +{-# INLINEABLE cs03 #-} + +cs04 :: DValue.CurrencySymbol +cs04 = DValue.CurrencySymbol bsPolicy04 +{-# INLINEABLE cs04 #-} + +cs05 :: DValue.CurrencySymbol +cs05 = DValue.CurrencySymbol bsPolicy05 +{-# INLINEABLE cs05 #-} + +cs06 :: DValue.CurrencySymbol +cs06 = DValue.CurrencySymbol bsPolicy06 +{-# INLINEABLE cs06 #-} + +cs07 :: DValue.CurrencySymbol +cs07 = DValue.CurrencySymbol bsPolicy07 +{-# INLINEABLE cs07 #-} + +cs08 :: DValue.CurrencySymbol +cs08 = DValue.CurrencySymbol bsPolicy08 +{-# INLINEABLE cs08 #-} + +cs09 :: DValue.CurrencySymbol +cs09 = DValue.CurrencySymbol bsPolicy09 +{-# INLINEABLE cs09 #-} + +cs10 :: DValue.CurrencySymbol +cs10 = DValue.CurrencySymbol bsPolicy10 +{-# INLINEABLE cs10 #-} + +-- -------------------------------------------------------------------------- +-- Typed 'TokenName' wrappers. +-- -------------------------------------------------------------------------- + +tnMiss :: DValue.TokenName +tnMiss = DValue.TokenName bsTokMiss +{-# INLINEABLE tnMiss #-} + +tn01 :: DValue.TokenName +tn01 = DValue.TokenName bsTok01 +{-# INLINEABLE tn01 #-} + +tn02 :: DValue.TokenName +tn02 = DValue.TokenName bsTok02 +{-# INLINEABLE tn02 #-} + +tn03 :: DValue.TokenName +tn03 = DValue.TokenName bsTok03 +{-# INLINEABLE tn03 #-} + +tn04 :: DValue.TokenName +tn04 = DValue.TokenName bsTok04 +{-# INLINEABLE tn04 #-} + +tn05 :: DValue.TokenName +tn05 = DValue.TokenName bsTok05 +{-# INLINEABLE tn05 #-} + +tn06 :: DValue.TokenName +tn06 = DValue.TokenName bsTok06 +{-# INLINEABLE tn06 #-} + +tn07 :: DValue.TokenName +tn07 = DValue.TokenName bsTok07 +{-# INLINEABLE tn07 #-} + +tn08 :: DValue.TokenName +tn08 = DValue.TokenName bsTok08 +{-# INLINEABLE tn08 #-} + +tn09 :: DValue.TokenName +tn09 = DValue.TokenName bsTok09 +{-# INLINEABLE tn09 #-} + +tn10 :: DValue.TokenName +tn10 = DValue.TokenName bsTok10 +{-# INLINEABLE tn10 #-} + +-- -------------------------------------------------------------------------- +-- Haskell-side helper tables for building S100. +-- -------------------------------------------------------------------------- + +s100Policies :: [DValue.CurrencySymbol] +s100Policies = [cs01, cs02, cs03, cs04, cs05, cs06, cs07, cs08, cs09, cs10] + +s100Tokens :: [DValue.TokenName] +s100Tokens = [tn01, tn02, tn03, tn04, tn05, tn06, tn07, tn08, tn09, tn10] + +-- -------------------------------------------------------------------------- +-- Sample Values encoded as BuiltinData. +-- -------------------------------------------------------------------------- + +valueS1 :: CompiledCode B.BuiltinData +valueS1 = liftCodeDef . Tx.toBuiltinData $ do + listsToValue [(DValue.adaSymbol, [(DValue.adaToken, 1000000)])] + +valueS3 :: CompiledCode B.BuiltinData +valueS3 = liftCodeDef . Tx.toBuiltinData $ do + listsToValue + [ (DValue.adaSymbol, [(DValue.adaToken, 1000000)]) + , (cs01, [(tn01, 42)]) + , (cs02, [(tn02, 7)]) + ] + +valueS8 :: CompiledCode B.BuiltinData +valueS8 = liftCodeDef . Tx.toBuiltinData $ do + listsToValue + [ (DValue.adaSymbol, [(DValue.adaToken, 1000000)]) + , (cs01, [(tn01, 1)]) + , (cs02, [(tn02, 1)]) + , (cs03, [(tn03, 1)]) + , (cs04, [(tn04, 1)]) + , (cs05, [(tn05, 1)]) + , (cs06, [(tn06, 1)]) + , (cs07, [(tn07, 1)]) + ] + +valueS100 :: CompiledCode B.BuiltinData +valueS100 = liftCodeDef . Tx.toBuiltinData $ do + listsToValue $ (DValue.adaSymbol, [(DValue.adaToken, 1000000)]) + : [(cs, [(tn, 1) | tn <- s100Tokens]) | cs <- s100Policies] + +-- -------------------------------------------------------------------------- +-- Compiled lookup operations. +-- +-- Each pair computes the same logical result from a BuiltinData input: +-- how many units of a given (policy, token) the value contains. +-- +-- Builtin path: BuiltinData -(unsafeDataAsValue)-> BuiltinValue +-- -(lookupCoin)-> Integer +-- Non-builtin path: BuiltinData -(unsafeFromBuiltinData)-> Value +-- -(valueOf)-> Integer +-- -------------------------------------------------------------------------- + +lookupAdaBuiltin :: CompiledCode (B.BuiltinData -> Integer) +lookupAdaBuiltin = + $$(compile [||\bd -> B.lookupCoin "" "" (B.unsafeDataAsValue bd)||]) + +lookupAdaNonBuiltin :: CompiledCode (B.BuiltinData -> Integer) +lookupAdaNonBuiltin = + $$( compile + [|| + \bd -> + DValue.valueOf (Tx.unsafeFromBuiltinData bd) DValue.adaSymbol DValue.adaToken + ||] + ) + +lookupMissBuiltin :: CompiledCode (B.BuiltinData -> Integer) +lookupMissBuiltin = + $$(compile [||\bd -> B.lookupCoin bsPolicyMiss bsTokMiss (B.unsafeDataAsValue bd)||]) + +lookupMissNonBuiltin :: CompiledCode (B.BuiltinData -> Integer) +lookupMissNonBuiltin = + $$(compile [||\bd -> DValue.valueOf (Tx.unsafeFromBuiltinData bd) csPolicyMiss tnMiss||]) + +lookupCs01Tn01Builtin :: CompiledCode (B.BuiltinData -> Integer) +lookupCs01Tn01Builtin = + $$(compile [||\bd -> B.lookupCoin bsPolicy01 bsTok01 (B.unsafeDataAsValue bd)||]) + +lookupCs01Tn01NonBuiltin :: CompiledCode (B.BuiltinData -> Integer) +lookupCs01Tn01NonBuiltin = + $$(compile [||\bd -> DValue.valueOf (Tx.unsafeFromBuiltinData bd) cs01 tn01||]) + +lookupCs02Tn02Builtin :: CompiledCode (B.BuiltinData -> Integer) +lookupCs02Tn02Builtin = + $$(compile [||\bd -> B.lookupCoin bsPolicy02 bsTok02 (B.unsafeDataAsValue bd)||]) + +lookupCs02Tn02NonBuiltin :: CompiledCode (B.BuiltinData -> Integer) +lookupCs02Tn02NonBuiltin = + $$(compile [||\bd -> DValue.valueOf (Tx.unsafeFromBuiltinData bd) cs02 tn02||]) + +lookupCs04Tn04Builtin :: CompiledCode (B.BuiltinData -> Integer) +lookupCs04Tn04Builtin = + $$(compile [||\bd -> B.lookupCoin bsPolicy04 bsTok04 (B.unsafeDataAsValue bd)||]) + +lookupCs04Tn04NonBuiltin :: CompiledCode (B.BuiltinData -> Integer) +lookupCs04Tn04NonBuiltin = + $$(compile [||\bd -> DValue.valueOf (Tx.unsafeFromBuiltinData bd) cs04 tn04||]) + +lookupCs05Tn05Builtin :: CompiledCode (B.BuiltinData -> Integer) +lookupCs05Tn05Builtin = + $$(compile [||\bd -> B.lookupCoin bsPolicy05 bsTok05 (B.unsafeDataAsValue bd)||]) + +lookupCs05Tn05NonBuiltin :: CompiledCode (B.BuiltinData -> Integer) +lookupCs05Tn05NonBuiltin = + $$(compile [||\bd -> DValue.valueOf (Tx.unsafeFromBuiltinData bd) cs05 tn05||]) + +lookupCs07Tn07Builtin :: CompiledCode (B.BuiltinData -> Integer) +lookupCs07Tn07Builtin = + $$(compile [||\bd -> B.lookupCoin bsPolicy07 bsTok07 (B.unsafeDataAsValue bd)||]) + +lookupCs07Tn07NonBuiltin :: CompiledCode (B.BuiltinData -> Integer) +lookupCs07Tn07NonBuiltin = + $$(compile [||\bd -> DValue.valueOf (Tx.unsafeFromBuiltinData bd) cs07 tn07||]) + +lookupCs10Tn10Builtin :: CompiledCode (B.BuiltinData -> Integer) +lookupCs10Tn10Builtin = + $$(compile [||\bd -> B.lookupCoin bsPolicy10 bsTok10 (B.unsafeDataAsValue bd)||]) + +lookupCs10Tn10NonBuiltin :: CompiledCode (B.BuiltinData -> Integer) +lookupCs10Tn10NonBuiltin = + $$(compile [||\bd -> DValue.valueOf (Tx.unsafeFromBuiltinData bd) cs10 tn10||]) + +-- -------------------------------------------------------------------------- +-- Raw 'BuiltinData' lookup. +-- +-- Walks the BuiltinData-encoded Value directly, taking raw BuiltinByteString +-- keys instead of CurrencySymbol / TokenName newtypes and skipping the +-- 'unsafeFromBuiltinData' tax that the typed 'valueOf' pays at the caller +-- boundary. This is what 'PlutusLedgerApi.V1.Data.Value.valueOf' would look +-- like if it operated on raw BuiltinData; included here as a separate column +-- so the SoP-conversion overhead can be read off the matrix directly. +-- -------------------------------------------------------------------------- + +valueOfRaw :: B.BuiltinByteString -> B.BuiltinByteString -> B.BuiltinData -> Integer +valueOfRaw cur tn bd = goOuter (BI.unsafeDataAsMap bd) + where + goOuter = B.caseList' 0 \hd -> + if B.equalsByteString cur (BI.unsafeDataAsB (BI.fst hd)) + then \_ -> goInner (BI.unsafeDataAsMap (BI.snd hd)) + else goOuter + + goInner = B.caseList' 0 \hd -> + if B.equalsByteString tn (BI.unsafeDataAsB (BI.fst hd)) + then \_ -> BI.unsafeDataAsI (BI.snd hd) + else goInner +{-# INLINEABLE valueOfRaw #-} + +lookupAdaRaw :: CompiledCode (B.BuiltinData -> Integer) +lookupAdaRaw = $$(compile [||\bd -> valueOfRaw "" "" bd||]) + +lookupMissRaw :: CompiledCode (B.BuiltinData -> Integer) +lookupMissRaw = $$(compile [||\bd -> valueOfRaw bsPolicyMiss bsTokMiss bd||]) + +lookupCs01Tn01Raw :: CompiledCode (B.BuiltinData -> Integer) +lookupCs01Tn01Raw = $$(compile [||\bd -> valueOfRaw bsPolicy01 bsTok01 bd||]) + +lookupCs02Tn02Raw :: CompiledCode (B.BuiltinData -> Integer) +lookupCs02Tn02Raw = $$(compile [||\bd -> valueOfRaw bsPolicy02 bsTok02 bd||]) + +lookupCs04Tn04Raw :: CompiledCode (B.BuiltinData -> Integer) +lookupCs04Tn04Raw = $$(compile [||\bd -> valueOfRaw bsPolicy04 bsTok04 bd||]) + +lookupCs05Tn05Raw :: CompiledCode (B.BuiltinData -> Integer) +lookupCs05Tn05Raw = $$(compile [||\bd -> valueOfRaw bsPolicy05 bsTok05 bd||]) + +lookupCs07Tn07Raw :: CompiledCode (B.BuiltinData -> Integer) +lookupCs07Tn07Raw = $$(compile [||\bd -> valueOfRaw bsPolicy07 bsTok07 bd||]) + +lookupCs10Tn10Raw :: CompiledCode (B.BuiltinData -> Integer) +lookupCs10Tn10Raw = $$(compile [||\bd -> valueOfRaw bsPolicy10 bsTok10 bd||]) + +-- -------------------------------------------------------------------------- +-- Standalone 'unsafeDataAsValue' measurement. +-- +-- Isolates the conversion cost from any downstream operation, so the +-- per-shape unwrap overhead can be subtracted from the builtin column +-- when reading the matrix. +-- -------------------------------------------------------------------------- + +unValueDataOnly :: CompiledCode (B.BuiltinData -> BI.BuiltinValue) +unValueDataOnly = + $$(compile [||\bd -> B.unsafeDataAsValue bd||]) diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_ada_builtin.golden.eval b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_ada_builtin.golden.eval new file mode 100644 index 00000000000..e094ba39874 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_ada_builtin.golden.eval @@ -0,0 +1,6 @@ +CPU: 22_108_153 +Memory: 3_677 +AST Size: 11 +Flat Size: 3_858 + +(con integer 1000000) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_ada_builtin.golden.pir b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_ada_builtin.golden.pir new file mode 100644 index 00000000000..3bd6dbbd83f --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_ada_builtin.golden.pir @@ -0,0 +1 @@ +\(bd : data) -> lookupCoin # # (unValueData bd) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_ada_builtin.golden.uplc b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_ada_builtin.golden.uplc new file mode 100644 index 00000000000..5d697a8b042 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_ada_builtin.golden.uplc @@ -0,0 +1 @@ +(program 1.1.0 (\bd -> case (constr 0 [#, #, (unValueData bd)]) [lookupCoin])) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_ada_nonbuiltin.golden.eval b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_ada_nonbuiltin.golden.eval new file mode 100644 index 00000000000..258934e89a7 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_ada_nonbuiltin.golden.eval @@ -0,0 +1,6 @@ +CPU: 3_771_520 +Memory: 14_884 +AST Size: 141 +Flat Size: 3_974 + +(con integer 1000000) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_ada_nonbuiltin.golden.pir b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_ada_nonbuiltin.golden.pir new file mode 100644 index 00000000000..4fda9ac3011 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_ada_nonbuiltin.golden.pir @@ -0,0 +1,53 @@ +let + !caseList' : all a r. r -> (a -> list a -> r) -> list a -> r + = /\a r -> + \(z : r) (f : a -> list a -> r) (xs : list a) -> + chooseList + {a} + {all dead. r} + xs + (/\dead -> z) + (/\dead -> f (headList {a} xs) (tailList {a} xs)) + {r} +in +letrec + ~goInner : list (pair data data) -> integer + = caseList' + {pair data data} + {integer} + 0 + (\(hd : pair data data) -> + ifThenElse + {all dead. list (pair data data) -> integer} + (equalsByteString # (unBData (fstPair {data} {data} hd))) + (/\dead -> + \(ds : list (pair data data)) -> + unIData (sndPair {data} {data} hd)) + (/\dead -> goInner) + {all dead. dead}) +in +\(bd : data) -> + let + !ds : + (\k a -> list (pair data data)) + bytestring + ((\k a -> list (pair data data)) bytestring integer) + = unMapData bd + in + letrec + !goOuter : list (pair data data) -> integer + = caseList' + {pair data data} + {integer} + 0 + (\(hd : pair data data) -> + ifThenElse + {all dead. list (pair data data) -> integer} + (equalsByteString # (unBData (fstPair {data} {data} hd))) + (/\dead -> + \(ds : list (pair data data)) -> + goInner (unMapData (sndPair {data} {data} hd))) + (/\dead -> goOuter) + {all dead. dead}) + in + goOuter ds \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_ada_nonbuiltin.golden.uplc b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_ada_nonbuiltin.golden.uplc new file mode 100644 index 00000000000..b28cad00432 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_ada_nonbuiltin.golden.uplc @@ -0,0 +1,49 @@ +(program + 1.1.0 + (case + (constr 0 + [ (force (force fstPair)) + , (force tailList) + , (force ifThenElse) + , (force (force sndPair)) + , (force headList) + , (force (force chooseList)) ]) + [ (\forced forced forced forced forced forced -> + (\caseList' -> + (\goInner bd -> + (\ds -> + (\s -> s s ds) + (\s -> + caseList' + 0 + (\hd -> + case + (constr 0 + [ (equalsByteString # (unBData (forced hd))) + , (\ds -> + force goInner (unMapData (forced hd))) + , (\x -> s s x) ]) + [forced]))) + (unMapData bd)) + ((\s -> s s (delay (\x -> x))) + (\s arg -> + delay + (caseList' + 0 + (\hd -> + force + (case + (constr 0 + [ (equalsByteString + # + (unBData (forced hd))) + , (delay (\ds -> unIData (forced hd))) + , (delay + (force (s s (delay (\x -> x))))) ]) + [forced])))))) + (\z f xs -> + force + (case + (constr 0 + [xs, (delay z), (delay (f (forced xs) (forced xs)))]) + [forced]))) ])) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_ada_raw.golden.eval b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_ada_raw.golden.eval new file mode 100644 index 00000000000..f1ae5d0ae67 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_ada_raw.golden.eval @@ -0,0 +1,6 @@ +CPU: 3_467_520 +Memory: 12_984 +AST Size: 118 +Flat Size: 3_957 + +(con integer 1000000) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_ada_raw.golden.pir b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_ada_raw.golden.pir new file mode 100644 index 00000000000..bb4807b8676 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_ada_raw.golden.pir @@ -0,0 +1,49 @@ +let + !caseList' : all a r. r -> (a -> list a -> r) -> list a -> r + = /\a r -> + \(z : r) (f : a -> list a -> r) (xs : list a) -> + chooseList + {a} + {all dead. r} + xs + (/\dead -> z) + (/\dead -> f (headList {a} xs) (tailList {a} xs)) + {r} +in +\(bd : data) -> + letrec + !goOuter : list (pair data data) -> integer + = caseList' + {pair data data} + {integer} + 0 + (\(hd : pair data data) -> + ifThenElse + {all dead. list (pair data data) -> integer} + (equalsByteString # (unBData (fstPair {data} {data} hd))) + (/\dead -> + \(ds : list (pair data data)) -> + (letrec + !goInner : list (pair data data) -> integer + = caseList' + {pair data data} + {integer} + 0 + (\(hd : pair data data) -> + ifThenElse + {all dead. list (pair data data) -> integer} + (equalsByteString + # + (unBData (fstPair {data} {data} hd))) + (/\dead -> + \(ds : list (pair data data)) -> + unIData (sndPair {data} {data} hd)) + (/\dead -> goInner) + {all dead. dead}) + in + goInner) + (unMapData (sndPair {data} {data} hd))) + (/\dead -> goOuter) + {all dead. dead}) + in + goOuter (unMapData bd) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_ada_raw.golden.uplc b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_ada_raw.golden.uplc new file mode 100644 index 00000000000..acd8ea32869 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_ada_raw.golden.uplc @@ -0,0 +1,42 @@ +(program + 1.1.0 + (case + (constr 0 + [ (force (force fstPair)) + , (force tailList) + , (force ifThenElse) + , (force (force sndPair)) + , (force headList) + , (force (force chooseList)) ]) + [ (\forced forced forced forced forced forced bd -> + (\s -> s s (unMapData bd)) + (\s -> + (\cse -> + cse + (\hd -> + case + (constr 0 + [ (equalsByteString # (unBData (forced hd))) + , (\ds -> + (\s -> s s (unMapData (forced hd))) + (\s -> + cse + (\hd -> + case + (constr 0 + [ (equalsByteString + # + (unBData (forced hd))) + , (\ds -> unIData (forced hd)) + , (\x -> s s x) ]) + [forced]))) + , (\x -> s s x) ]) + [forced])) + (\f xs -> + force + (case + (constr 0 + [ xs + , (delay 0) + , (delay (f (forced xs) (forced xs))) ]) + [forced])))) ])) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_last_builtin.golden.eval b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_last_builtin.golden.eval new file mode 100644 index 00000000000..6a016cde6ec --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_last_builtin.golden.eval @@ -0,0 +1,6 @@ +CPU: 22_108_153 +Memory: 3_677 +AST Size: 11 +Flat Size: 3_920 + +(con integer 1) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_last_builtin.golden.pir b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_last_builtin.golden.pir new file mode 100644 index 00000000000..862b0f6279d --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_last_builtin.golden.pir @@ -0,0 +1,5 @@ +\(bd : data) -> + lookupCoin + #706f6c6963795f31305f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + #746f6b656e5f31305f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unValueData bd) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_last_builtin.golden.uplc b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_last_builtin.golden.uplc new file mode 100644 index 00000000000..220ba9709c0 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_last_builtin.golden.uplc @@ -0,0 +1,9 @@ +(program + 1.1.0 + (\bd -> + case + (constr 0 + [ #706f6c6963795f31305f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + , #746f6b656e5f31305f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + , (unValueData bd) ]) + [lookupCoin])) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_last_nonbuiltin.golden.eval b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_last_nonbuiltin.golden.eval new file mode 100644 index 00000000000..fa178bafe15 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_last_nonbuiltin.golden.eval @@ -0,0 +1,6 @@ +CPU: 27_851_550 +Memory: 101_362 +AST Size: 141 +Flat Size: 4_036 + +(con integer 1) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_last_nonbuiltin.golden.pir b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_last_nonbuiltin.golden.pir new file mode 100644 index 00000000000..321d1554690 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_last_nonbuiltin.golden.pir @@ -0,0 +1,58 @@ +let + !caseList' : all a r. r -> (a -> list a -> r) -> list a -> r + = /\a r -> + \(z : r) (f : a -> list a -> r) (xs : list a) -> + chooseList + {a} + {all dead. r} + xs + (/\dead -> z) + (/\dead -> f (headList {a} xs) (tailList {a} xs)) + {r} +in +letrec + ~goInner : + list (pair data data) -> integer + = caseList' + {pair data data} + {integer} + 0 + (\(hd : pair data data) -> + ifThenElse + {all dead. list (pair data data) -> integer} + (equalsByteString + #746f6b656e5f31305f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (fstPair {data} {data} hd))) + (/\dead -> + \(ds : list (pair data data)) -> + unIData (sndPair {data} {data} hd)) + (/\dead -> goInner) + {all dead. dead}) +in +\(bd : data) -> + let + !ds : + (\k a -> list (pair data data)) + bytestring + ((\k a -> list (pair data data)) bytestring integer) + = unMapData bd + in + letrec + !goOuter : list (pair data data) -> integer + = caseList' + {pair data data} + {integer} + 0 + (\(hd : pair data data) -> + ifThenElse + {all dead. list (pair data data) -> integer} + (equalsByteString + #706f6c6963795f31305f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (fstPair {data} {data} hd))) + (/\dead -> + \(ds : list (pair data data)) -> + goInner (unMapData (sndPair {data} {data} hd))) + (/\dead -> goOuter) + {all dead. dead}) + in + goOuter ds \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_last_nonbuiltin.golden.uplc b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_last_nonbuiltin.golden.uplc new file mode 100644 index 00000000000..38840bb28c4 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_last_nonbuiltin.golden.uplc @@ -0,0 +1,60 @@ +(program + 1.1.0 + (case + (constr 0 + [ (force (force fstPair)) + , (force tailList) + , (force ifThenElse) + , (force (force sndPair)) + , (force headList) + , (force (force chooseList)) ]) + [ (\forced + forced + forced + forced + forced + forced -> + (\caseList' -> + (\goInner + bd -> + (\ds -> + (\s -> + s s ds) + (\s -> + caseList' + 0 + (\hd -> + case + (constr 0 + [ (equalsByteString + #706f6c6963795f31305f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (forced hd))) + , (\ds -> + force goInner (unMapData (forced hd))) + , (\x -> s s x) ]) + [forced]))) + (unMapData bd)) + ((\s -> + s s (delay (\x -> x))) + (\s + arg -> + delay + (caseList' + 0 + (\hd -> + force + (case + (constr 0 + [ (equalsByteString + #746f6b656e5f31305f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (forced hd))) + , (delay (\ds -> unIData (forced hd))) + , (delay + (force (s s (delay (\x -> x))))) ]) + [forced])))))) + (\z f xs -> + force + (case + (constr 0 + [xs, (delay z), (delay (f (forced xs) (forced xs)))]) + [forced]))) ])) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_last_raw.golden.eval b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_last_raw.golden.eval new file mode 100644 index 00000000000..149ac5221ea --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_last_raw.golden.eval @@ -0,0 +1,6 @@ +CPU: 26_539_550 +Memory: 93_162 +AST Size: 118 +Flat Size: 4_019 + +(con integer 1) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_last_raw.golden.pir b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_last_raw.golden.pir new file mode 100644 index 00000000000..4bc35c8705d --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_last_raw.golden.pir @@ -0,0 +1,53 @@ +let + !caseList' : all a r. r -> (a -> list a -> r) -> list a -> r + = /\a r -> + \(z : r) (f : a -> list a -> r) (xs : list a) -> + chooseList + {a} + {all dead. r} + xs + (/\dead -> z) + (/\dead -> f (headList {a} xs) (tailList {a} xs)) + {r} +in +\(bd : data) -> + letrec + !goOuter : + list (pair data data) -> integer + = caseList' + {pair data data} + {integer} + 0 + (\(hd : pair data data) -> + ifThenElse + {all dead. list (pair data data) -> integer} + (equalsByteString + #706f6c6963795f31305f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (fstPair {data} {data} hd))) + (/\dead -> + \(ds : list (pair data data)) -> + (letrec + !goInner : + list (pair data data) -> integer + = caseList' + {pair data data} + {integer} + 0 + (\(hd : pair data data) -> + ifThenElse + {all dead. list (pair data data) -> integer} + (equalsByteString + #746f6b656e5f31305f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (fstPair {data} {data} hd))) + (/\dead -> + \(ds : list (pair data data)) -> + unIData (sndPair {data} {data} hd)) + (/\dead -> goInner) + {all dead. dead}) + in + goInner) + (unMapData (sndPair {data} {data} hd))) + (/\dead -> goOuter) + {all dead. dead}) + in + goOuter (unMapData bd) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_last_raw.golden.uplc b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_last_raw.golden.uplc new file mode 100644 index 00000000000..4832d5e96a7 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_last_raw.golden.uplc @@ -0,0 +1,52 @@ +(program + 1.1.0 + (case + (constr 0 + [ (force (force fstPair)) + , (force tailList) + , (force ifThenElse) + , (force (force sndPair)) + , (force headList) + , (force (force chooseList)) ]) + [ (\forced + forced + forced + forced + forced + forced + bd -> + (\s -> + s s (unMapData bd)) + (\s -> + (\cse -> + cse + (\hd -> + case + (constr 0 + [ (equalsByteString + #706f6c6963795f31305f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (forced hd))) + , (\ds -> + (\s -> + s s (unMapData (forced hd))) + (\s -> + cse + (\hd -> + case + (constr 0 + [ (equalsByteString + #746f6b656e5f31305f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (forced hd))) + , (\ds -> unIData (forced hd)) + , (\x -> s s x) ]) + [forced]))) + , (\x -> s s x) ]) + [forced])) + (\f xs -> + force + (case + (constr 0 + [ xs + , (delay 0) + , (delay (f (forced xs) (forced xs))) ]) + [forced])))) ])) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_middle_builtin.golden.eval b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_middle_builtin.golden.eval new file mode 100644 index 00000000000..6a016cde6ec --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_middle_builtin.golden.eval @@ -0,0 +1,6 @@ +CPU: 22_108_153 +Memory: 3_677 +AST Size: 11 +Flat Size: 3_920 + +(con integer 1) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_middle_builtin.golden.pir b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_middle_builtin.golden.pir new file mode 100644 index 00000000000..6b8f2799634 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_middle_builtin.golden.pir @@ -0,0 +1,5 @@ +\(bd : data) -> + lookupCoin + #706f6c6963795f30355f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + #746f6b656e5f30355f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unValueData bd) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_middle_builtin.golden.uplc b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_middle_builtin.golden.uplc new file mode 100644 index 00000000000..d862ab5a84c --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_middle_builtin.golden.uplc @@ -0,0 +1,9 @@ +(program + 1.1.0 + (\bd -> + case + (constr 0 + [ #706f6c6963795f30355f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + , #746f6b656e5f30355f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + , (unValueData bd) ]) + [lookupCoin])) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_middle_nonbuiltin.golden.eval b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_middle_nonbuiltin.golden.eval new file mode 100644 index 00000000000..66ce9cd095a --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_middle_nonbuiltin.golden.eval @@ -0,0 +1,6 @@ +CPU: 15_162_070 +Memory: 55_742 +AST Size: 141 +Flat Size: 4_036 + +(con integer 1) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_middle_nonbuiltin.golden.pir b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_middle_nonbuiltin.golden.pir new file mode 100644 index 00000000000..c8670f0eb95 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_middle_nonbuiltin.golden.pir @@ -0,0 +1,58 @@ +let + !caseList' : all a r. r -> (a -> list a -> r) -> list a -> r + = /\a r -> + \(z : r) (f : a -> list a -> r) (xs : list a) -> + chooseList + {a} + {all dead. r} + xs + (/\dead -> z) + (/\dead -> f (headList {a} xs) (tailList {a} xs)) + {r} +in +letrec + ~goInner : + list (pair data data) -> integer + = caseList' + {pair data data} + {integer} + 0 + (\(hd : pair data data) -> + ifThenElse + {all dead. list (pair data data) -> integer} + (equalsByteString + #746f6b656e5f30355f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (fstPair {data} {data} hd))) + (/\dead -> + \(ds : list (pair data data)) -> + unIData (sndPair {data} {data} hd)) + (/\dead -> goInner) + {all dead. dead}) +in +\(bd : data) -> + let + !ds : + (\k a -> list (pair data data)) + bytestring + ((\k a -> list (pair data data)) bytestring integer) + = unMapData bd + in + letrec + !goOuter : list (pair data data) -> integer + = caseList' + {pair data data} + {integer} + 0 + (\(hd : pair data data) -> + ifThenElse + {all dead. list (pair data data) -> integer} + (equalsByteString + #706f6c6963795f30355f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (fstPair {data} {data} hd))) + (/\dead -> + \(ds : list (pair data data)) -> + goInner (unMapData (sndPair {data} {data} hd))) + (/\dead -> goOuter) + {all dead. dead}) + in + goOuter ds \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_middle_nonbuiltin.golden.uplc b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_middle_nonbuiltin.golden.uplc new file mode 100644 index 00000000000..580f79d15d9 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_middle_nonbuiltin.golden.uplc @@ -0,0 +1,60 @@ +(program + 1.1.0 + (case + (constr 0 + [ (force (force fstPair)) + , (force tailList) + , (force ifThenElse) + , (force (force sndPair)) + , (force headList) + , (force (force chooseList)) ]) + [ (\forced + forced + forced + forced + forced + forced -> + (\caseList' -> + (\goInner + bd -> + (\ds -> + (\s -> + s s ds) + (\s -> + caseList' + 0 + (\hd -> + case + (constr 0 + [ (equalsByteString + #706f6c6963795f30355f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (forced hd))) + , (\ds -> + force goInner (unMapData (forced hd))) + , (\x -> s s x) ]) + [forced]))) + (unMapData bd)) + ((\s -> + s s (delay (\x -> x))) + (\s + arg -> + delay + (caseList' + 0 + (\hd -> + force + (case + (constr 0 + [ (equalsByteString + #746f6b656e5f30355f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (forced hd))) + , (delay (\ds -> unIData (forced hd))) + , (delay + (force (s s (delay (\x -> x))))) ]) + [forced])))))) + (\z f xs -> + force + (case + (constr 0 + [xs, (delay z), (delay (f (forced xs) (forced xs)))]) + [forced]))) ])) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_middle_raw.golden.eval b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_middle_raw.golden.eval new file mode 100644 index 00000000000..6e4537128fc --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_middle_raw.golden.eval @@ -0,0 +1,6 @@ +CPU: 14_410_070 +Memory: 51_042 +AST Size: 118 +Flat Size: 4_019 + +(con integer 1) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_middle_raw.golden.pir b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_middle_raw.golden.pir new file mode 100644 index 00000000000..4ae783a8aaa --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_middle_raw.golden.pir @@ -0,0 +1,53 @@ +let + !caseList' : all a r. r -> (a -> list a -> r) -> list a -> r + = /\a r -> + \(z : r) (f : a -> list a -> r) (xs : list a) -> + chooseList + {a} + {all dead. r} + xs + (/\dead -> z) + (/\dead -> f (headList {a} xs) (tailList {a} xs)) + {r} +in +\(bd : data) -> + letrec + !goOuter : + list (pair data data) -> integer + = caseList' + {pair data data} + {integer} + 0 + (\(hd : pair data data) -> + ifThenElse + {all dead. list (pair data data) -> integer} + (equalsByteString + #706f6c6963795f30355f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (fstPair {data} {data} hd))) + (/\dead -> + \(ds : list (pair data data)) -> + (letrec + !goInner : + list (pair data data) -> integer + = caseList' + {pair data data} + {integer} + 0 + (\(hd : pair data data) -> + ifThenElse + {all dead. list (pair data data) -> integer} + (equalsByteString + #746f6b656e5f30355f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (fstPair {data} {data} hd))) + (/\dead -> + \(ds : list (pair data data)) -> + unIData (sndPair {data} {data} hd)) + (/\dead -> goInner) + {all dead. dead}) + in + goInner) + (unMapData (sndPair {data} {data} hd))) + (/\dead -> goOuter) + {all dead. dead}) + in + goOuter (unMapData bd) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_middle_raw.golden.uplc b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_middle_raw.golden.uplc new file mode 100644 index 00000000000..bbec92fa1c7 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_middle_raw.golden.uplc @@ -0,0 +1,52 @@ +(program + 1.1.0 + (case + (constr 0 + [ (force (force fstPair)) + , (force tailList) + , (force ifThenElse) + , (force (force sndPair)) + , (force headList) + , (force (force chooseList)) ]) + [ (\forced + forced + forced + forced + forced + forced + bd -> + (\s -> + s s (unMapData bd)) + (\s -> + (\cse -> + cse + (\hd -> + case + (constr 0 + [ (equalsByteString + #706f6c6963795f30355f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (forced hd))) + , (\ds -> + (\s -> + s s (unMapData (forced hd))) + (\s -> + cse + (\hd -> + case + (constr 0 + [ (equalsByteString + #746f6b656e5f30355f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (forced hd))) + , (\ds -> unIData (forced hd)) + , (\x -> s s x) ]) + [forced]))) + , (\x -> s s x) ]) + [forced])) + (\f xs -> + force + (case + (constr 0 + [ xs + , (delay 0) + , (delay (f (forced xs) (forced xs))) ]) + [forced])))) ])) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_miss_builtin.golden.eval b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_miss_builtin.golden.eval new file mode 100644 index 00000000000..9e4a2c80a80 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_miss_builtin.golden.eval @@ -0,0 +1,6 @@ +CPU: 22_108_153 +Memory: 3_677 +AST Size: 11 +Flat Size: 3_920 + +(con integer 0) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_miss_builtin.golden.pir b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_miss_builtin.golden.pir new file mode 100644 index 00000000000..40a1a391f44 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_miss_builtin.golden.pir @@ -0,0 +1,5 @@ +\(bd : data) -> + lookupCoin + #706f6c6963795f4d6973735f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + #746f6b656e5f4d6973735f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unValueData bd) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_miss_builtin.golden.uplc b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_miss_builtin.golden.uplc new file mode 100644 index 00000000000..40a8101bb1f --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_miss_builtin.golden.uplc @@ -0,0 +1,9 @@ +(program + 1.1.0 + (\bd -> + case + (constr 0 + [ #706f6c6963795f4d6973735f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + , #746f6b656e5f4d6973735f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + , (unValueData bd) ]) + [lookupCoin])) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_miss_nonbuiltin.golden.eval b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_miss_nonbuiltin.golden.eval new file mode 100644 index 00000000000..2f22e986efc --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_miss_nonbuiltin.golden.eval @@ -0,0 +1,6 @@ +CPU: 14_869_713 +Memory: 55_046 +AST Size: 141 +Flat Size: 4_036 + +(con integer 0) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_miss_nonbuiltin.golden.pir b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_miss_nonbuiltin.golden.pir new file mode 100644 index 00000000000..36bdcf81169 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_miss_nonbuiltin.golden.pir @@ -0,0 +1,58 @@ +let + !caseList' : all a r. r -> (a -> list a -> r) -> list a -> r + = /\a r -> + \(z : r) (f : a -> list a -> r) (xs : list a) -> + chooseList + {a} + {all dead. r} + xs + (/\dead -> z) + (/\dead -> f (headList {a} xs) (tailList {a} xs)) + {r} +in +letrec + ~goInner : + list (pair data data) -> integer + = caseList' + {pair data data} + {integer} + 0 + (\(hd : pair data data) -> + ifThenElse + {all dead. list (pair data data) -> integer} + (equalsByteString + #746f6b656e5f4d6973735f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (fstPair {data} {data} hd))) + (/\dead -> + \(ds : list (pair data data)) -> + unIData (sndPair {data} {data} hd)) + (/\dead -> goInner) + {all dead. dead}) +in +\(bd : data) -> + let + !ds : + (\k a -> list (pair data data)) + bytestring + ((\k a -> list (pair data data)) bytestring integer) + = unMapData bd + in + letrec + !goOuter : list (pair data data) -> integer + = caseList' + {pair data data} + {integer} + 0 + (\(hd : pair data data) -> + ifThenElse + {all dead. list (pair data data) -> integer} + (equalsByteString + #706f6c6963795f4d6973735f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (fstPair {data} {data} hd))) + (/\dead -> + \(ds : list (pair data data)) -> + goInner (unMapData (sndPair {data} {data} hd))) + (/\dead -> goOuter) + {all dead. dead}) + in + goOuter ds \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_miss_nonbuiltin.golden.uplc b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_miss_nonbuiltin.golden.uplc new file mode 100644 index 00000000000..1e305da7913 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_miss_nonbuiltin.golden.uplc @@ -0,0 +1,60 @@ +(program + 1.1.0 + (case + (constr 0 + [ (force (force fstPair)) + , (force tailList) + , (force ifThenElse) + , (force (force sndPair)) + , (force headList) + , (force (force chooseList)) ]) + [ (\forced + forced + forced + forced + forced + forced -> + (\caseList' -> + (\goInner + bd -> + (\ds -> + (\s -> + s s ds) + (\s -> + caseList' + 0 + (\hd -> + case + (constr 0 + [ (equalsByteString + #706f6c6963795f4d6973735f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (forced hd))) + , (\ds -> + force goInner (unMapData (forced hd))) + , (\x -> s s x) ]) + [forced]))) + (unMapData bd)) + ((\s -> + s s (delay (\x -> x))) + (\s + arg -> + delay + (caseList' + 0 + (\hd -> + force + (case + (constr 0 + [ (equalsByteString + #746f6b656e5f4d6973735f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (forced hd))) + , (delay (\ds -> unIData (forced hd))) + , (delay + (force (s s (delay (\x -> x))))) ]) + [forced])))))) + (\z f xs -> + force + (case + (constr 0 + [xs, (delay z), (delay (f (forced xs) (forced xs)))]) + [forced]))) ])) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_miss_raw.golden.eval b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_miss_raw.golden.eval new file mode 100644 index 00000000000..88f7464e515 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_miss_raw.golden.eval @@ -0,0 +1,6 @@ +CPU: 14_581_713 +Memory: 53_246 +AST Size: 118 +Flat Size: 4_019 + +(con integer 0) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_miss_raw.golden.pir b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_miss_raw.golden.pir new file mode 100644 index 00000000000..c049af908cd --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_miss_raw.golden.pir @@ -0,0 +1,53 @@ +let + !caseList' : all a r. r -> (a -> list a -> r) -> list a -> r + = /\a r -> + \(z : r) (f : a -> list a -> r) (xs : list a) -> + chooseList + {a} + {all dead. r} + xs + (/\dead -> z) + (/\dead -> f (headList {a} xs) (tailList {a} xs)) + {r} +in +\(bd : data) -> + letrec + !goOuter : + list (pair data data) -> integer + = caseList' + {pair data data} + {integer} + 0 + (\(hd : pair data data) -> + ifThenElse + {all dead. list (pair data data) -> integer} + (equalsByteString + #706f6c6963795f4d6973735f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (fstPair {data} {data} hd))) + (/\dead -> + \(ds : list (pair data data)) -> + (letrec + !goInner : + list (pair data data) -> integer + = caseList' + {pair data data} + {integer} + 0 + (\(hd : pair data data) -> + ifThenElse + {all dead. list (pair data data) -> integer} + (equalsByteString + #746f6b656e5f4d6973735f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (fstPair {data} {data} hd))) + (/\dead -> + \(ds : list (pair data data)) -> + unIData (sndPair {data} {data} hd)) + (/\dead -> goInner) + {all dead. dead}) + in + goInner) + (unMapData (sndPair {data} {data} hd))) + (/\dead -> goOuter) + {all dead. dead}) + in + goOuter (unMapData bd) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_miss_raw.golden.uplc b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_miss_raw.golden.uplc new file mode 100644 index 00000000000..6bcad2df5f4 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S100_miss_raw.golden.uplc @@ -0,0 +1,52 @@ +(program + 1.1.0 + (case + (constr 0 + [ (force (force fstPair)) + , (force tailList) + , (force ifThenElse) + , (force (force sndPair)) + , (force headList) + , (force (force chooseList)) ]) + [ (\forced + forced + forced + forced + forced + forced + bd -> + (\s -> + s s (unMapData bd)) + (\s -> + (\cse -> + cse + (\hd -> + case + (constr 0 + [ (equalsByteString + #706f6c6963795f4d6973735f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (forced hd))) + , (\ds -> + (\s -> + s s (unMapData (forced hd))) + (\s -> + cse + (\hd -> + case + (constr 0 + [ (equalsByteString + #746f6b656e5f4d6973735f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (forced hd))) + , (\ds -> unIData (forced hd)) + , (\x -> s s x) ]) + [forced]))) + , (\x -> s s x) ]) + [forced])) + (\f xs -> + force + (case + (constr 0 + [ xs + , (delay 0) + , (delay (f (forced xs) (forced xs))) ]) + [forced])))) ])) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S1_ada_builtin.golden.eval b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S1_ada_builtin.golden.eval new file mode 100644 index 00000000000..f2ba2e01541 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S1_ada_builtin.golden.eval @@ -0,0 +1,6 @@ +CPU: 895_629 +Memory: 1_257 +AST Size: 11 +Flat Size: 33 + +(con integer 1000000) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S1_ada_builtin.golden.pir b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S1_ada_builtin.golden.pir new file mode 100644 index 00000000000..3bd6dbbd83f --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S1_ada_builtin.golden.pir @@ -0,0 +1 @@ +\(bd : data) -> lookupCoin # # (unValueData bd) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S1_ada_builtin.golden.uplc b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S1_ada_builtin.golden.uplc new file mode 100644 index 00000000000..5d697a8b042 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S1_ada_builtin.golden.uplc @@ -0,0 +1 @@ +(program 1.1.0 (\bd -> case (constr 0 [#, #, (unValueData bd)]) [lookupCoin])) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S1_ada_nonbuiltin.golden.eval b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S1_ada_nonbuiltin.golden.eval new file mode 100644 index 00000000000..c9b64907b8f --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S1_ada_nonbuiltin.golden.eval @@ -0,0 +1,6 @@ +CPU: 3_771_520 +Memory: 14_884 +AST Size: 141 +Flat Size: 149 + +(con integer 1000000) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S1_ada_nonbuiltin.golden.pir b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S1_ada_nonbuiltin.golden.pir new file mode 100644 index 00000000000..4fda9ac3011 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S1_ada_nonbuiltin.golden.pir @@ -0,0 +1,53 @@ +let + !caseList' : all a r. r -> (a -> list a -> r) -> list a -> r + = /\a r -> + \(z : r) (f : a -> list a -> r) (xs : list a) -> + chooseList + {a} + {all dead. r} + xs + (/\dead -> z) + (/\dead -> f (headList {a} xs) (tailList {a} xs)) + {r} +in +letrec + ~goInner : list (pair data data) -> integer + = caseList' + {pair data data} + {integer} + 0 + (\(hd : pair data data) -> + ifThenElse + {all dead. list (pair data data) -> integer} + (equalsByteString # (unBData (fstPair {data} {data} hd))) + (/\dead -> + \(ds : list (pair data data)) -> + unIData (sndPair {data} {data} hd)) + (/\dead -> goInner) + {all dead. dead}) +in +\(bd : data) -> + let + !ds : + (\k a -> list (pair data data)) + bytestring + ((\k a -> list (pair data data)) bytestring integer) + = unMapData bd + in + letrec + !goOuter : list (pair data data) -> integer + = caseList' + {pair data data} + {integer} + 0 + (\(hd : pair data data) -> + ifThenElse + {all dead. list (pair data data) -> integer} + (equalsByteString # (unBData (fstPair {data} {data} hd))) + (/\dead -> + \(ds : list (pair data data)) -> + goInner (unMapData (sndPair {data} {data} hd))) + (/\dead -> goOuter) + {all dead. dead}) + in + goOuter ds \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S1_ada_nonbuiltin.golden.uplc b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S1_ada_nonbuiltin.golden.uplc new file mode 100644 index 00000000000..b28cad00432 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S1_ada_nonbuiltin.golden.uplc @@ -0,0 +1,49 @@ +(program + 1.1.0 + (case + (constr 0 + [ (force (force fstPair)) + , (force tailList) + , (force ifThenElse) + , (force (force sndPair)) + , (force headList) + , (force (force chooseList)) ]) + [ (\forced forced forced forced forced forced -> + (\caseList' -> + (\goInner bd -> + (\ds -> + (\s -> s s ds) + (\s -> + caseList' + 0 + (\hd -> + case + (constr 0 + [ (equalsByteString # (unBData (forced hd))) + , (\ds -> + force goInner (unMapData (forced hd))) + , (\x -> s s x) ]) + [forced]))) + (unMapData bd)) + ((\s -> s s (delay (\x -> x))) + (\s arg -> + delay + (caseList' + 0 + (\hd -> + force + (case + (constr 0 + [ (equalsByteString + # + (unBData (forced hd))) + , (delay (\ds -> unIData (forced hd))) + , (delay + (force (s s (delay (\x -> x))))) ]) + [forced])))))) + (\z f xs -> + force + (case + (constr 0 + [xs, (delay z), (delay (f (forced xs) (forced xs)))]) + [forced]))) ])) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S1_ada_raw.golden.eval b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S1_ada_raw.golden.eval new file mode 100644 index 00000000000..b68646ce649 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S1_ada_raw.golden.eval @@ -0,0 +1,6 @@ +CPU: 3_467_520 +Memory: 12_984 +AST Size: 118 +Flat Size: 132 + +(con integer 1000000) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S1_ada_raw.golden.pir b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S1_ada_raw.golden.pir new file mode 100644 index 00000000000..bb4807b8676 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S1_ada_raw.golden.pir @@ -0,0 +1,49 @@ +let + !caseList' : all a r. r -> (a -> list a -> r) -> list a -> r + = /\a r -> + \(z : r) (f : a -> list a -> r) (xs : list a) -> + chooseList + {a} + {all dead. r} + xs + (/\dead -> z) + (/\dead -> f (headList {a} xs) (tailList {a} xs)) + {r} +in +\(bd : data) -> + letrec + !goOuter : list (pair data data) -> integer + = caseList' + {pair data data} + {integer} + 0 + (\(hd : pair data data) -> + ifThenElse + {all dead. list (pair data data) -> integer} + (equalsByteString # (unBData (fstPair {data} {data} hd))) + (/\dead -> + \(ds : list (pair data data)) -> + (letrec + !goInner : list (pair data data) -> integer + = caseList' + {pair data data} + {integer} + 0 + (\(hd : pair data data) -> + ifThenElse + {all dead. list (pair data data) -> integer} + (equalsByteString + # + (unBData (fstPair {data} {data} hd))) + (/\dead -> + \(ds : list (pair data data)) -> + unIData (sndPair {data} {data} hd)) + (/\dead -> goInner) + {all dead. dead}) + in + goInner) + (unMapData (sndPair {data} {data} hd))) + (/\dead -> goOuter) + {all dead. dead}) + in + goOuter (unMapData bd) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S1_ada_raw.golden.uplc b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S1_ada_raw.golden.uplc new file mode 100644 index 00000000000..acd8ea32869 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S1_ada_raw.golden.uplc @@ -0,0 +1,42 @@ +(program + 1.1.0 + (case + (constr 0 + [ (force (force fstPair)) + , (force tailList) + , (force ifThenElse) + , (force (force sndPair)) + , (force headList) + , (force (force chooseList)) ]) + [ (\forced forced forced forced forced forced bd -> + (\s -> s s (unMapData bd)) + (\s -> + (\cse -> + cse + (\hd -> + case + (constr 0 + [ (equalsByteString # (unBData (forced hd))) + , (\ds -> + (\s -> s s (unMapData (forced hd))) + (\s -> + cse + (\hd -> + case + (constr 0 + [ (equalsByteString + # + (unBData (forced hd))) + , (\ds -> unIData (forced hd)) + , (\x -> s s x) ]) + [forced]))) + , (\x -> s s x) ]) + [forced])) + (\f xs -> + force + (case + (constr 0 + [ xs + , (delay 0) + , (delay (f (forced xs) (forced xs))) ]) + [forced])))) ])) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S1_miss_builtin.golden.eval b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S1_miss_builtin.golden.eval new file mode 100644 index 00000000000..2001fae1352 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S1_miss_builtin.golden.eval @@ -0,0 +1,6 @@ +CPU: 895_629 +Memory: 1_257 +AST Size: 11 +Flat Size: 95 + +(con integer 0) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S1_miss_builtin.golden.pir b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S1_miss_builtin.golden.pir new file mode 100644 index 00000000000..40a1a391f44 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S1_miss_builtin.golden.pir @@ -0,0 +1,5 @@ +\(bd : data) -> + lookupCoin + #706f6c6963795f4d6973735f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + #746f6b656e5f4d6973735f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unValueData bd) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S1_miss_builtin.golden.uplc b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S1_miss_builtin.golden.uplc new file mode 100644 index 00000000000..40a8101bb1f --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S1_miss_builtin.golden.uplc @@ -0,0 +1,9 @@ +(program + 1.1.0 + (\bd -> + case + (constr 0 + [ #706f6c6963795f4d6973735f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + , #746f6b656e5f4d6973735f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + , (unValueData bd) ]) + [lookupCoin])) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S1_miss_nonbuiltin.golden.eval b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S1_miss_nonbuiltin.golden.eval new file mode 100644 index 00000000000..432b3a808aa --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S1_miss_nonbuiltin.golden.eval @@ -0,0 +1,6 @@ +CPU: 2_500_233 +Memory: 11_426 +AST Size: 141 +Flat Size: 211 + +(con integer 0) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S1_miss_nonbuiltin.golden.pir b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S1_miss_nonbuiltin.golden.pir new file mode 100644 index 00000000000..36bdcf81169 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S1_miss_nonbuiltin.golden.pir @@ -0,0 +1,58 @@ +let + !caseList' : all a r. r -> (a -> list a -> r) -> list a -> r + = /\a r -> + \(z : r) (f : a -> list a -> r) (xs : list a) -> + chooseList + {a} + {all dead. r} + xs + (/\dead -> z) + (/\dead -> f (headList {a} xs) (tailList {a} xs)) + {r} +in +letrec + ~goInner : + list (pair data data) -> integer + = caseList' + {pair data data} + {integer} + 0 + (\(hd : pair data data) -> + ifThenElse + {all dead. list (pair data data) -> integer} + (equalsByteString + #746f6b656e5f4d6973735f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (fstPair {data} {data} hd))) + (/\dead -> + \(ds : list (pair data data)) -> + unIData (sndPair {data} {data} hd)) + (/\dead -> goInner) + {all dead. dead}) +in +\(bd : data) -> + let + !ds : + (\k a -> list (pair data data)) + bytestring + ((\k a -> list (pair data data)) bytestring integer) + = unMapData bd + in + letrec + !goOuter : list (pair data data) -> integer + = caseList' + {pair data data} + {integer} + 0 + (\(hd : pair data data) -> + ifThenElse + {all dead. list (pair data data) -> integer} + (equalsByteString + #706f6c6963795f4d6973735f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (fstPair {data} {data} hd))) + (/\dead -> + \(ds : list (pair data data)) -> + goInner (unMapData (sndPair {data} {data} hd))) + (/\dead -> goOuter) + {all dead. dead}) + in + goOuter ds \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S1_miss_nonbuiltin.golden.uplc b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S1_miss_nonbuiltin.golden.uplc new file mode 100644 index 00000000000..1e305da7913 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S1_miss_nonbuiltin.golden.uplc @@ -0,0 +1,60 @@ +(program + 1.1.0 + (case + (constr 0 + [ (force (force fstPair)) + , (force tailList) + , (force ifThenElse) + , (force (force sndPair)) + , (force headList) + , (force (force chooseList)) ]) + [ (\forced + forced + forced + forced + forced + forced -> + (\caseList' -> + (\goInner + bd -> + (\ds -> + (\s -> + s s ds) + (\s -> + caseList' + 0 + (\hd -> + case + (constr 0 + [ (equalsByteString + #706f6c6963795f4d6973735f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (forced hd))) + , (\ds -> + force goInner (unMapData (forced hd))) + , (\x -> s s x) ]) + [forced]))) + (unMapData bd)) + ((\s -> + s s (delay (\x -> x))) + (\s + arg -> + delay + (caseList' + 0 + (\hd -> + force + (case + (constr 0 + [ (equalsByteString + #746f6b656e5f4d6973735f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (forced hd))) + , (delay (\ds -> unIData (forced hd))) + , (delay + (force (s s (delay (\x -> x))))) ]) + [forced])))))) + (\z f xs -> + force + (case + (constr 0 + [xs, (delay z), (delay (f (forced xs) (forced xs)))]) + [forced]))) ])) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S1_miss_raw.golden.eval b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S1_miss_raw.golden.eval new file mode 100644 index 00000000000..7063a377fff --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S1_miss_raw.golden.eval @@ -0,0 +1,6 @@ +CPU: 2_212_233 +Memory: 9_626 +AST Size: 118 +Flat Size: 194 + +(con integer 0) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S1_miss_raw.golden.pir b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S1_miss_raw.golden.pir new file mode 100644 index 00000000000..c049af908cd --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S1_miss_raw.golden.pir @@ -0,0 +1,53 @@ +let + !caseList' : all a r. r -> (a -> list a -> r) -> list a -> r + = /\a r -> + \(z : r) (f : a -> list a -> r) (xs : list a) -> + chooseList + {a} + {all dead. r} + xs + (/\dead -> z) + (/\dead -> f (headList {a} xs) (tailList {a} xs)) + {r} +in +\(bd : data) -> + letrec + !goOuter : + list (pair data data) -> integer + = caseList' + {pair data data} + {integer} + 0 + (\(hd : pair data data) -> + ifThenElse + {all dead. list (pair data data) -> integer} + (equalsByteString + #706f6c6963795f4d6973735f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (fstPair {data} {data} hd))) + (/\dead -> + \(ds : list (pair data data)) -> + (letrec + !goInner : + list (pair data data) -> integer + = caseList' + {pair data data} + {integer} + 0 + (\(hd : pair data data) -> + ifThenElse + {all dead. list (pair data data) -> integer} + (equalsByteString + #746f6b656e5f4d6973735f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (fstPair {data} {data} hd))) + (/\dead -> + \(ds : list (pair data data)) -> + unIData (sndPair {data} {data} hd)) + (/\dead -> goInner) + {all dead. dead}) + in + goInner) + (unMapData (sndPair {data} {data} hd))) + (/\dead -> goOuter) + {all dead. dead}) + in + goOuter (unMapData bd) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S1_miss_raw.golden.uplc b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S1_miss_raw.golden.uplc new file mode 100644 index 00000000000..6bcad2df5f4 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S1_miss_raw.golden.uplc @@ -0,0 +1,52 @@ +(program + 1.1.0 + (case + (constr 0 + [ (force (force fstPair)) + , (force tailList) + , (force ifThenElse) + , (force (force sndPair)) + , (force headList) + , (force (force chooseList)) ]) + [ (\forced + forced + forced + forced + forced + forced + bd -> + (\s -> + s s (unMapData bd)) + (\s -> + (\cse -> + cse + (\hd -> + case + (constr 0 + [ (equalsByteString + #706f6c6963795f4d6973735f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (forced hd))) + , (\ds -> + (\s -> + s s (unMapData (forced hd))) + (\s -> + cse + (\hd -> + case + (constr 0 + [ (equalsByteString + #746f6b656e5f4d6973735f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (forced hd))) + , (\ds -> unIData (forced hd)) + , (\x -> s s x) ]) + [forced]))) + , (\x -> s s x) ]) + [forced])) + (\f xs -> + force + (case + (constr 0 + [ xs + , (delay 0) + , (delay (f (forced xs) (forced xs))) ]) + [forced])))) ])) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_ada_builtin.golden.eval b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_ada_builtin.golden.eval new file mode 100644 index 00000000000..1f6e8f02550 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_ada_builtin.golden.eval @@ -0,0 +1,6 @@ +CPU: 1_672_681 +Memory: 1_345 +AST Size: 11 +Flat Size: 166 + +(con integer 1000000) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_ada_builtin.golden.pir b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_ada_builtin.golden.pir new file mode 100644 index 00000000000..3bd6dbbd83f --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_ada_builtin.golden.pir @@ -0,0 +1 @@ +\(bd : data) -> lookupCoin # # (unValueData bd) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_ada_builtin.golden.uplc b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_ada_builtin.golden.uplc new file mode 100644 index 00000000000..5d697a8b042 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_ada_builtin.golden.uplc @@ -0,0 +1 @@ +(program 1.1.0 (\bd -> case (constr 0 [#, #, (unValueData bd)]) [lookupCoin])) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_ada_nonbuiltin.golden.eval b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_ada_nonbuiltin.golden.eval new file mode 100644 index 00000000000..5073e7048b4 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_ada_nonbuiltin.golden.eval @@ -0,0 +1,6 @@ +CPU: 3_771_520 +Memory: 14_884 +AST Size: 141 +Flat Size: 283 + +(con integer 1000000) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_ada_nonbuiltin.golden.pir b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_ada_nonbuiltin.golden.pir new file mode 100644 index 00000000000..4fda9ac3011 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_ada_nonbuiltin.golden.pir @@ -0,0 +1,53 @@ +let + !caseList' : all a r. r -> (a -> list a -> r) -> list a -> r + = /\a r -> + \(z : r) (f : a -> list a -> r) (xs : list a) -> + chooseList + {a} + {all dead. r} + xs + (/\dead -> z) + (/\dead -> f (headList {a} xs) (tailList {a} xs)) + {r} +in +letrec + ~goInner : list (pair data data) -> integer + = caseList' + {pair data data} + {integer} + 0 + (\(hd : pair data data) -> + ifThenElse + {all dead. list (pair data data) -> integer} + (equalsByteString # (unBData (fstPair {data} {data} hd))) + (/\dead -> + \(ds : list (pair data data)) -> + unIData (sndPair {data} {data} hd)) + (/\dead -> goInner) + {all dead. dead}) +in +\(bd : data) -> + let + !ds : + (\k a -> list (pair data data)) + bytestring + ((\k a -> list (pair data data)) bytestring integer) + = unMapData bd + in + letrec + !goOuter : list (pair data data) -> integer + = caseList' + {pair data data} + {integer} + 0 + (\(hd : pair data data) -> + ifThenElse + {all dead. list (pair data data) -> integer} + (equalsByteString # (unBData (fstPair {data} {data} hd))) + (/\dead -> + \(ds : list (pair data data)) -> + goInner (unMapData (sndPair {data} {data} hd))) + (/\dead -> goOuter) + {all dead. dead}) + in + goOuter ds \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_ada_nonbuiltin.golden.uplc b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_ada_nonbuiltin.golden.uplc new file mode 100644 index 00000000000..b28cad00432 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_ada_nonbuiltin.golden.uplc @@ -0,0 +1,49 @@ +(program + 1.1.0 + (case + (constr 0 + [ (force (force fstPair)) + , (force tailList) + , (force ifThenElse) + , (force (force sndPair)) + , (force headList) + , (force (force chooseList)) ]) + [ (\forced forced forced forced forced forced -> + (\caseList' -> + (\goInner bd -> + (\ds -> + (\s -> s s ds) + (\s -> + caseList' + 0 + (\hd -> + case + (constr 0 + [ (equalsByteString # (unBData (forced hd))) + , (\ds -> + force goInner (unMapData (forced hd))) + , (\x -> s s x) ]) + [forced]))) + (unMapData bd)) + ((\s -> s s (delay (\x -> x))) + (\s arg -> + delay + (caseList' + 0 + (\hd -> + force + (case + (constr 0 + [ (equalsByteString + # + (unBData (forced hd))) + , (delay (\ds -> unIData (forced hd))) + , (delay + (force (s s (delay (\x -> x))))) ]) + [forced])))))) + (\z f xs -> + force + (case + (constr 0 + [xs, (delay z), (delay (f (forced xs) (forced xs)))]) + [forced]))) ])) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_ada_raw.golden.eval b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_ada_raw.golden.eval new file mode 100644 index 00000000000..b24e9a65e8b --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_ada_raw.golden.eval @@ -0,0 +1,6 @@ +CPU: 3_467_520 +Memory: 12_984 +AST Size: 118 +Flat Size: 266 + +(con integer 1000000) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_ada_raw.golden.pir b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_ada_raw.golden.pir new file mode 100644 index 00000000000..bb4807b8676 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_ada_raw.golden.pir @@ -0,0 +1,49 @@ +let + !caseList' : all a r. r -> (a -> list a -> r) -> list a -> r + = /\a r -> + \(z : r) (f : a -> list a -> r) (xs : list a) -> + chooseList + {a} + {all dead. r} + xs + (/\dead -> z) + (/\dead -> f (headList {a} xs) (tailList {a} xs)) + {r} +in +\(bd : data) -> + letrec + !goOuter : list (pair data data) -> integer + = caseList' + {pair data data} + {integer} + 0 + (\(hd : pair data data) -> + ifThenElse + {all dead. list (pair data data) -> integer} + (equalsByteString # (unBData (fstPair {data} {data} hd))) + (/\dead -> + \(ds : list (pair data data)) -> + (letrec + !goInner : list (pair data data) -> integer + = caseList' + {pair data data} + {integer} + 0 + (\(hd : pair data data) -> + ifThenElse + {all dead. list (pair data data) -> integer} + (equalsByteString + # + (unBData (fstPair {data} {data} hd))) + (/\dead -> + \(ds : list (pair data data)) -> + unIData (sndPair {data} {data} hd)) + (/\dead -> goInner) + {all dead. dead}) + in + goInner) + (unMapData (sndPair {data} {data} hd))) + (/\dead -> goOuter) + {all dead. dead}) + in + goOuter (unMapData bd) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_ada_raw.golden.uplc b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_ada_raw.golden.uplc new file mode 100644 index 00000000000..acd8ea32869 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_ada_raw.golden.uplc @@ -0,0 +1,42 @@ +(program + 1.1.0 + (case + (constr 0 + [ (force (force fstPair)) + , (force tailList) + , (force ifThenElse) + , (force (force sndPair)) + , (force headList) + , (force (force chooseList)) ]) + [ (\forced forced forced forced forced forced bd -> + (\s -> s s (unMapData bd)) + (\s -> + (\cse -> + cse + (\hd -> + case + (constr 0 + [ (equalsByteString # (unBData (forced hd))) + , (\ds -> + (\s -> s s (unMapData (forced hd))) + (\s -> + cse + (\hd -> + case + (constr 0 + [ (equalsByteString + # + (unBData (forced hd))) + , (\ds -> unIData (forced hd)) + , (\x -> s s x) ]) + [forced]))) + , (\x -> s s x) ]) + [forced])) + (\f xs -> + force + (case + (constr 0 + [ xs + , (delay 0) + , (delay (f (forced xs) (forced xs))) ]) + [forced])))) ])) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_last_builtin.golden.eval b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_last_builtin.golden.eval new file mode 100644 index 00000000000..8332bd04041 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_last_builtin.golden.eval @@ -0,0 +1,6 @@ +CPU: 1_672_681 +Memory: 1_345 +AST Size: 11 +Flat Size: 228 + +(con integer 7) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_last_builtin.golden.pir b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_last_builtin.golden.pir new file mode 100644 index 00000000000..faaee1c52d0 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_last_builtin.golden.pir @@ -0,0 +1,5 @@ +\(bd : data) -> + lookupCoin + #706f6c6963795f30325f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + #746f6b656e5f30325f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unValueData bd) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_last_builtin.golden.uplc b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_last_builtin.golden.uplc new file mode 100644 index 00000000000..eb97847aa57 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_last_builtin.golden.uplc @@ -0,0 +1,9 @@ +(program + 1.1.0 + (\bd -> + case + (constr 0 + [ #706f6c6963795f30325f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + , #746f6b656e5f30325f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + , (unValueData bd) ]) + [lookupCoin])) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_last_nonbuiltin.golden.eval b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_last_nonbuiltin.golden.eval new file mode 100644 index 00000000000..ff52be78236 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_last_nonbuiltin.golden.eval @@ -0,0 +1,6 @@ +CPU: 6_247_434 +Memory: 23_608 +AST Size: 141 +Flat Size: 345 + +(con integer 7) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_last_nonbuiltin.golden.pir b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_last_nonbuiltin.golden.pir new file mode 100644 index 00000000000..ebb44fafcf3 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_last_nonbuiltin.golden.pir @@ -0,0 +1,58 @@ +let + !caseList' : all a r. r -> (a -> list a -> r) -> list a -> r + = /\a r -> + \(z : r) (f : a -> list a -> r) (xs : list a) -> + chooseList + {a} + {all dead. r} + xs + (/\dead -> z) + (/\dead -> f (headList {a} xs) (tailList {a} xs)) + {r} +in +letrec + ~goInner : + list (pair data data) -> integer + = caseList' + {pair data data} + {integer} + 0 + (\(hd : pair data data) -> + ifThenElse + {all dead. list (pair data data) -> integer} + (equalsByteString + #746f6b656e5f30325f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (fstPair {data} {data} hd))) + (/\dead -> + \(ds : list (pair data data)) -> + unIData (sndPair {data} {data} hd)) + (/\dead -> goInner) + {all dead. dead}) +in +\(bd : data) -> + let + !ds : + (\k a -> list (pair data data)) + bytestring + ((\k a -> list (pair data data)) bytestring integer) + = unMapData bd + in + letrec + !goOuter : list (pair data data) -> integer + = caseList' + {pair data data} + {integer} + 0 + (\(hd : pair data data) -> + ifThenElse + {all dead. list (pair data data) -> integer} + (equalsByteString + #706f6c6963795f30325f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (fstPair {data} {data} hd))) + (/\dead -> + \(ds : list (pair data data)) -> + goInner (unMapData (sndPair {data} {data} hd))) + (/\dead -> goOuter) + {all dead. dead}) + in + goOuter ds \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_last_nonbuiltin.golden.uplc b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_last_nonbuiltin.golden.uplc new file mode 100644 index 00000000000..cb51d792ad6 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_last_nonbuiltin.golden.uplc @@ -0,0 +1,60 @@ +(program + 1.1.0 + (case + (constr 0 + [ (force (force fstPair)) + , (force tailList) + , (force ifThenElse) + , (force (force sndPair)) + , (force headList) + , (force (force chooseList)) ]) + [ (\forced + forced + forced + forced + forced + forced -> + (\caseList' -> + (\goInner + bd -> + (\ds -> + (\s -> + s s ds) + (\s -> + caseList' + 0 + (\hd -> + case + (constr 0 + [ (equalsByteString + #706f6c6963795f30325f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (forced hd))) + , (\ds -> + force goInner (unMapData (forced hd))) + , (\x -> s s x) ]) + [forced]))) + (unMapData bd)) + ((\s -> + s s (delay (\x -> x))) + (\s + arg -> + delay + (caseList' + 0 + (\hd -> + force + (case + (constr 0 + [ (equalsByteString + #746f6b656e5f30325f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (forced hd))) + , (delay (\ds -> unIData (forced hd))) + , (delay + (force (s s (delay (\x -> x))))) ]) + [forced])))))) + (\z f xs -> + force + (case + (constr 0 + [xs, (delay z), (delay (f (forced xs) (forced xs)))]) + [forced]))) ])) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_last_raw.golden.eval b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_last_raw.golden.eval new file mode 100644 index 00000000000..d33132ef651 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_last_raw.golden.eval @@ -0,0 +1,6 @@ +CPU: 5_943_434 +Memory: 21_708 +AST Size: 118 +Flat Size: 328 + +(con integer 7) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_last_raw.golden.pir b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_last_raw.golden.pir new file mode 100644 index 00000000000..b31ef6160b9 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_last_raw.golden.pir @@ -0,0 +1,53 @@ +let + !caseList' : all a r. r -> (a -> list a -> r) -> list a -> r + = /\a r -> + \(z : r) (f : a -> list a -> r) (xs : list a) -> + chooseList + {a} + {all dead. r} + xs + (/\dead -> z) + (/\dead -> f (headList {a} xs) (tailList {a} xs)) + {r} +in +\(bd : data) -> + letrec + !goOuter : + list (pair data data) -> integer + = caseList' + {pair data data} + {integer} + 0 + (\(hd : pair data data) -> + ifThenElse + {all dead. list (pair data data) -> integer} + (equalsByteString + #706f6c6963795f30325f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (fstPair {data} {data} hd))) + (/\dead -> + \(ds : list (pair data data)) -> + (letrec + !goInner : + list (pair data data) -> integer + = caseList' + {pair data data} + {integer} + 0 + (\(hd : pair data data) -> + ifThenElse + {all dead. list (pair data data) -> integer} + (equalsByteString + #746f6b656e5f30325f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (fstPair {data} {data} hd))) + (/\dead -> + \(ds : list (pair data data)) -> + unIData (sndPair {data} {data} hd)) + (/\dead -> goInner) + {all dead. dead}) + in + goInner) + (unMapData (sndPair {data} {data} hd))) + (/\dead -> goOuter) + {all dead. dead}) + in + goOuter (unMapData bd) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_last_raw.golden.uplc b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_last_raw.golden.uplc new file mode 100644 index 00000000000..c59dceb254f --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_last_raw.golden.uplc @@ -0,0 +1,52 @@ +(program + 1.1.0 + (case + (constr 0 + [ (force (force fstPair)) + , (force tailList) + , (force ifThenElse) + , (force (force sndPair)) + , (force headList) + , (force (force chooseList)) ]) + [ (\forced + forced + forced + forced + forced + forced + bd -> + (\s -> + s s (unMapData bd)) + (\s -> + (\cse -> + cse + (\hd -> + case + (constr 0 + [ (equalsByteString + #706f6c6963795f30325f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (forced hd))) + , (\ds -> + (\s -> + s s (unMapData (forced hd))) + (\s -> + cse + (\hd -> + case + (constr 0 + [ (equalsByteString + #746f6b656e5f30325f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (forced hd))) + , (\ds -> unIData (forced hd)) + , (\x -> s s x) ]) + [forced]))) + , (\x -> s s x) ]) + [forced])) + (\f xs -> + force + (case + (constr 0 + [ xs + , (delay 0) + , (delay (f (forced xs) (forced xs))) ]) + [forced])))) ])) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_middle_builtin.golden.eval b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_middle_builtin.golden.eval new file mode 100644 index 00000000000..5563cdd21b9 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_middle_builtin.golden.eval @@ -0,0 +1,6 @@ +CPU: 1_672_681 +Memory: 1_345 +AST Size: 11 +Flat Size: 228 + +(con integer 42) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_middle_builtin.golden.pir b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_middle_builtin.golden.pir new file mode 100644 index 00000000000..8c9fb7cb75b --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_middle_builtin.golden.pir @@ -0,0 +1,5 @@ +\(bd : data) -> + lookupCoin + #706f6c6963795f30315f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + #746f6b656e5f30315f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unValueData bd) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_middle_builtin.golden.uplc b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_middle_builtin.golden.uplc new file mode 100644 index 00000000000..07a4a523728 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_middle_builtin.golden.uplc @@ -0,0 +1,9 @@ +(program + 1.1.0 + (\bd -> + case + (constr 0 + [ #706f6c6963795f30315f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + , #746f6b656e5f30315f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + , (unValueData bd) ]) + [lookupCoin])) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_middle_nonbuiltin.golden.eval b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_middle_nonbuiltin.golden.eval new file mode 100644 index 00000000000..89d24a21522 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_middle_nonbuiltin.golden.eval @@ -0,0 +1,6 @@ +CPU: 5_010_486 +Memory: 19_246 +AST Size: 141 +Flat Size: 345 + +(con integer 42) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_middle_nonbuiltin.golden.pir b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_middle_nonbuiltin.golden.pir new file mode 100644 index 00000000000..0363f71755e --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_middle_nonbuiltin.golden.pir @@ -0,0 +1,58 @@ +let + !caseList' : all a r. r -> (a -> list a -> r) -> list a -> r + = /\a r -> + \(z : r) (f : a -> list a -> r) (xs : list a) -> + chooseList + {a} + {all dead. r} + xs + (/\dead -> z) + (/\dead -> f (headList {a} xs) (tailList {a} xs)) + {r} +in +letrec + ~goInner : + list (pair data data) -> integer + = caseList' + {pair data data} + {integer} + 0 + (\(hd : pair data data) -> + ifThenElse + {all dead. list (pair data data) -> integer} + (equalsByteString + #746f6b656e5f30315f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (fstPair {data} {data} hd))) + (/\dead -> + \(ds : list (pair data data)) -> + unIData (sndPair {data} {data} hd)) + (/\dead -> goInner) + {all dead. dead}) +in +\(bd : data) -> + let + !ds : + (\k a -> list (pair data data)) + bytestring + ((\k a -> list (pair data data)) bytestring integer) + = unMapData bd + in + letrec + !goOuter : list (pair data data) -> integer + = caseList' + {pair data data} + {integer} + 0 + (\(hd : pair data data) -> + ifThenElse + {all dead. list (pair data data) -> integer} + (equalsByteString + #706f6c6963795f30315f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (fstPair {data} {data} hd))) + (/\dead -> + \(ds : list (pair data data)) -> + goInner (unMapData (sndPair {data} {data} hd))) + (/\dead -> goOuter) + {all dead. dead}) + in + goOuter ds \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_middle_nonbuiltin.golden.uplc b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_middle_nonbuiltin.golden.uplc new file mode 100644 index 00000000000..77526fcea39 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_middle_nonbuiltin.golden.uplc @@ -0,0 +1,60 @@ +(program + 1.1.0 + (case + (constr 0 + [ (force (force fstPair)) + , (force tailList) + , (force ifThenElse) + , (force (force sndPair)) + , (force headList) + , (force (force chooseList)) ]) + [ (\forced + forced + forced + forced + forced + forced -> + (\caseList' -> + (\goInner + bd -> + (\ds -> + (\s -> + s s ds) + (\s -> + caseList' + 0 + (\hd -> + case + (constr 0 + [ (equalsByteString + #706f6c6963795f30315f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (forced hd))) + , (\ds -> + force goInner (unMapData (forced hd))) + , (\x -> s s x) ]) + [forced]))) + (unMapData bd)) + ((\s -> + s s (delay (\x -> x))) + (\s + arg -> + delay + (caseList' + 0 + (\hd -> + force + (case + (constr 0 + [ (equalsByteString + #746f6b656e5f30315f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (forced hd))) + , (delay (\ds -> unIData (forced hd))) + , (delay + (force (s s (delay (\x -> x))))) ]) + [forced])))))) + (\z f xs -> + force + (case + (constr 0 + [xs, (delay z), (delay (f (forced xs) (forced xs)))]) + [forced]))) ])) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_middle_raw.golden.eval b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_middle_raw.golden.eval new file mode 100644 index 00000000000..b3c397860b1 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_middle_raw.golden.eval @@ -0,0 +1,6 @@ +CPU: 4_706_486 +Memory: 17_346 +AST Size: 118 +Flat Size: 328 + +(con integer 42) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_middle_raw.golden.pir b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_middle_raw.golden.pir new file mode 100644 index 00000000000..34e4714c451 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_middle_raw.golden.pir @@ -0,0 +1,53 @@ +let + !caseList' : all a r. r -> (a -> list a -> r) -> list a -> r + = /\a r -> + \(z : r) (f : a -> list a -> r) (xs : list a) -> + chooseList + {a} + {all dead. r} + xs + (/\dead -> z) + (/\dead -> f (headList {a} xs) (tailList {a} xs)) + {r} +in +\(bd : data) -> + letrec + !goOuter : + list (pair data data) -> integer + = caseList' + {pair data data} + {integer} + 0 + (\(hd : pair data data) -> + ifThenElse + {all dead. list (pair data data) -> integer} + (equalsByteString + #706f6c6963795f30315f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (fstPair {data} {data} hd))) + (/\dead -> + \(ds : list (pair data data)) -> + (letrec + !goInner : + list (pair data data) -> integer + = caseList' + {pair data data} + {integer} + 0 + (\(hd : pair data data) -> + ifThenElse + {all dead. list (pair data data) -> integer} + (equalsByteString + #746f6b656e5f30315f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (fstPair {data} {data} hd))) + (/\dead -> + \(ds : list (pair data data)) -> + unIData (sndPair {data} {data} hd)) + (/\dead -> goInner) + {all dead. dead}) + in + goInner) + (unMapData (sndPair {data} {data} hd))) + (/\dead -> goOuter) + {all dead. dead}) + in + goOuter (unMapData bd) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_middle_raw.golden.uplc b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_middle_raw.golden.uplc new file mode 100644 index 00000000000..cbd10885f5e --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_middle_raw.golden.uplc @@ -0,0 +1,52 @@ +(program + 1.1.0 + (case + (constr 0 + [ (force (force fstPair)) + , (force tailList) + , (force ifThenElse) + , (force (force sndPair)) + , (force headList) + , (force (force chooseList)) ]) + [ (\forced + forced + forced + forced + forced + forced + bd -> + (\s -> + s s (unMapData bd)) + (\s -> + (\cse -> + cse + (\hd -> + case + (constr 0 + [ (equalsByteString + #706f6c6963795f30315f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (forced hd))) + , (\ds -> + (\s -> + s s (unMapData (forced hd))) + (\s -> + cse + (\hd -> + case + (constr 0 + [ (equalsByteString + #746f6b656e5f30315f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (forced hd))) + , (\ds -> unIData (forced hd)) + , (\x -> s s x) ]) + [forced]))) + , (\x -> s s x) ]) + [forced])) + (\f xs -> + force + (case + (constr 0 + [ xs + , (delay 0) + , (delay (f (forced xs) (forced xs))) ]) + [forced])))) ])) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_miss_builtin.golden.eval b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_miss_builtin.golden.eval new file mode 100644 index 00000000000..20f926bab5a --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_miss_builtin.golden.eval @@ -0,0 +1,6 @@ +CPU: 1_672_681 +Memory: 1_345 +AST Size: 11 +Flat Size: 228 + +(con integer 0) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_miss_builtin.golden.pir b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_miss_builtin.golden.pir new file mode 100644 index 00000000000..40a1a391f44 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_miss_builtin.golden.pir @@ -0,0 +1,5 @@ +\(bd : data) -> + lookupCoin + #706f6c6963795f4d6973735f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + #746f6b656e5f4d6973735f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unValueData bd) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_miss_builtin.golden.uplc b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_miss_builtin.golden.uplc new file mode 100644 index 00000000000..40a8101bb1f --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_miss_builtin.golden.uplc @@ -0,0 +1,9 @@ +(program + 1.1.0 + (\bd -> + case + (constr 0 + [ #706f6c6963795f4d6973735f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + , #746f6b656e5f4d6973735f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + , (unValueData bd) ]) + [lookupCoin])) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_miss_nonbuiltin.golden.eval b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_miss_nonbuiltin.golden.eval new file mode 100644 index 00000000000..4f1f8103b23 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_miss_nonbuiltin.golden.eval @@ -0,0 +1,6 @@ +CPU: 4_974_129 +Memory: 20_150 +AST Size: 141 +Flat Size: 345 + +(con integer 0) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_miss_nonbuiltin.golden.pir b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_miss_nonbuiltin.golden.pir new file mode 100644 index 00000000000..36bdcf81169 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_miss_nonbuiltin.golden.pir @@ -0,0 +1,58 @@ +let + !caseList' : all a r. r -> (a -> list a -> r) -> list a -> r + = /\a r -> + \(z : r) (f : a -> list a -> r) (xs : list a) -> + chooseList + {a} + {all dead. r} + xs + (/\dead -> z) + (/\dead -> f (headList {a} xs) (tailList {a} xs)) + {r} +in +letrec + ~goInner : + list (pair data data) -> integer + = caseList' + {pair data data} + {integer} + 0 + (\(hd : pair data data) -> + ifThenElse + {all dead. list (pair data data) -> integer} + (equalsByteString + #746f6b656e5f4d6973735f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (fstPair {data} {data} hd))) + (/\dead -> + \(ds : list (pair data data)) -> + unIData (sndPair {data} {data} hd)) + (/\dead -> goInner) + {all dead. dead}) +in +\(bd : data) -> + let + !ds : + (\k a -> list (pair data data)) + bytestring + ((\k a -> list (pair data data)) bytestring integer) + = unMapData bd + in + letrec + !goOuter : list (pair data data) -> integer + = caseList' + {pair data data} + {integer} + 0 + (\(hd : pair data data) -> + ifThenElse + {all dead. list (pair data data) -> integer} + (equalsByteString + #706f6c6963795f4d6973735f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (fstPair {data} {data} hd))) + (/\dead -> + \(ds : list (pair data data)) -> + goInner (unMapData (sndPair {data} {data} hd))) + (/\dead -> goOuter) + {all dead. dead}) + in + goOuter ds \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_miss_nonbuiltin.golden.uplc b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_miss_nonbuiltin.golden.uplc new file mode 100644 index 00000000000..1e305da7913 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_miss_nonbuiltin.golden.uplc @@ -0,0 +1,60 @@ +(program + 1.1.0 + (case + (constr 0 + [ (force (force fstPair)) + , (force tailList) + , (force ifThenElse) + , (force (force sndPair)) + , (force headList) + , (force (force chooseList)) ]) + [ (\forced + forced + forced + forced + forced + forced -> + (\caseList' -> + (\goInner + bd -> + (\ds -> + (\s -> + s s ds) + (\s -> + caseList' + 0 + (\hd -> + case + (constr 0 + [ (equalsByteString + #706f6c6963795f4d6973735f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (forced hd))) + , (\ds -> + force goInner (unMapData (forced hd))) + , (\x -> s s x) ]) + [forced]))) + (unMapData bd)) + ((\s -> + s s (delay (\x -> x))) + (\s + arg -> + delay + (caseList' + 0 + (\hd -> + force + (case + (constr 0 + [ (equalsByteString + #746f6b656e5f4d6973735f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (forced hd))) + , (delay (\ds -> unIData (forced hd))) + , (delay + (force (s s (delay (\x -> x))))) ]) + [forced])))))) + (\z f xs -> + force + (case + (constr 0 + [xs, (delay z), (delay (f (forced xs) (forced xs)))]) + [forced]))) ])) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_miss_raw.golden.eval b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_miss_raw.golden.eval new file mode 100644 index 00000000000..55d1391237a --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_miss_raw.golden.eval @@ -0,0 +1,6 @@ +CPU: 4_686_129 +Memory: 18_350 +AST Size: 118 +Flat Size: 328 + +(con integer 0) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_miss_raw.golden.pir b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_miss_raw.golden.pir new file mode 100644 index 00000000000..c049af908cd --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_miss_raw.golden.pir @@ -0,0 +1,53 @@ +let + !caseList' : all a r. r -> (a -> list a -> r) -> list a -> r + = /\a r -> + \(z : r) (f : a -> list a -> r) (xs : list a) -> + chooseList + {a} + {all dead. r} + xs + (/\dead -> z) + (/\dead -> f (headList {a} xs) (tailList {a} xs)) + {r} +in +\(bd : data) -> + letrec + !goOuter : + list (pair data data) -> integer + = caseList' + {pair data data} + {integer} + 0 + (\(hd : pair data data) -> + ifThenElse + {all dead. list (pair data data) -> integer} + (equalsByteString + #706f6c6963795f4d6973735f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (fstPair {data} {data} hd))) + (/\dead -> + \(ds : list (pair data data)) -> + (letrec + !goInner : + list (pair data data) -> integer + = caseList' + {pair data data} + {integer} + 0 + (\(hd : pair data data) -> + ifThenElse + {all dead. list (pair data data) -> integer} + (equalsByteString + #746f6b656e5f4d6973735f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (fstPair {data} {data} hd))) + (/\dead -> + \(ds : list (pair data data)) -> + unIData (sndPair {data} {data} hd)) + (/\dead -> goInner) + {all dead. dead}) + in + goInner) + (unMapData (sndPair {data} {data} hd))) + (/\dead -> goOuter) + {all dead. dead}) + in + goOuter (unMapData bd) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_miss_raw.golden.uplc b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_miss_raw.golden.uplc new file mode 100644 index 00000000000..6bcad2df5f4 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S3_miss_raw.golden.uplc @@ -0,0 +1,52 @@ +(program + 1.1.0 + (case + (constr 0 + [ (force (force fstPair)) + , (force tailList) + , (force ifThenElse) + , (force (force sndPair)) + , (force headList) + , (force (force chooseList)) ]) + [ (\forced + forced + forced + forced + forced + forced + bd -> + (\s -> + s s (unMapData bd)) + (\s -> + (\cse -> + cse + (\hd -> + case + (constr 0 + [ (equalsByteString + #706f6c6963795f4d6973735f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (forced hd))) + , (\ds -> + (\s -> + s s (unMapData (forced hd))) + (\s -> + cse + (\hd -> + case + (constr 0 + [ (equalsByteString + #746f6b656e5f4d6973735f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (forced hd))) + , (\ds -> unIData (forced hd)) + , (\x -> s s x) ]) + [forced]))) + , (\x -> s s x) ]) + [forced])) + (\f xs -> + force + (case + (constr 0 + [ xs + , (delay 0) + , (delay (f (forced xs) (forced xs))) ]) + [forced])))) ])) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_ada_builtin.golden.eval b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_ada_builtin.golden.eval new file mode 100644 index 00000000000..7f6b76a6c32 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_ada_builtin.golden.eval @@ -0,0 +1,6 @@ +CPU: 3_611_149 +Memory: 1_565 +AST Size: 11 +Flat Size: 497 + +(con integer 1000000) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_ada_builtin.golden.pir b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_ada_builtin.golden.pir new file mode 100644 index 00000000000..3bd6dbbd83f --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_ada_builtin.golden.pir @@ -0,0 +1 @@ +\(bd : data) -> lookupCoin # # (unValueData bd) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_ada_builtin.golden.uplc b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_ada_builtin.golden.uplc new file mode 100644 index 00000000000..5d697a8b042 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_ada_builtin.golden.uplc @@ -0,0 +1 @@ +(program 1.1.0 (\bd -> case (constr 0 [#, #, (unValueData bd)]) [lookupCoin])) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_ada_nonbuiltin.golden.eval b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_ada_nonbuiltin.golden.eval new file mode 100644 index 00000000000..298dbd15039 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_ada_nonbuiltin.golden.eval @@ -0,0 +1,6 @@ +CPU: 3_771_520 +Memory: 14_884 +AST Size: 141 +Flat Size: 613 + +(con integer 1000000) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_ada_nonbuiltin.golden.pir b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_ada_nonbuiltin.golden.pir new file mode 100644 index 00000000000..4fda9ac3011 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_ada_nonbuiltin.golden.pir @@ -0,0 +1,53 @@ +let + !caseList' : all a r. r -> (a -> list a -> r) -> list a -> r + = /\a r -> + \(z : r) (f : a -> list a -> r) (xs : list a) -> + chooseList + {a} + {all dead. r} + xs + (/\dead -> z) + (/\dead -> f (headList {a} xs) (tailList {a} xs)) + {r} +in +letrec + ~goInner : list (pair data data) -> integer + = caseList' + {pair data data} + {integer} + 0 + (\(hd : pair data data) -> + ifThenElse + {all dead. list (pair data data) -> integer} + (equalsByteString # (unBData (fstPair {data} {data} hd))) + (/\dead -> + \(ds : list (pair data data)) -> + unIData (sndPair {data} {data} hd)) + (/\dead -> goInner) + {all dead. dead}) +in +\(bd : data) -> + let + !ds : + (\k a -> list (pair data data)) + bytestring + ((\k a -> list (pair data data)) bytestring integer) + = unMapData bd + in + letrec + !goOuter : list (pair data data) -> integer + = caseList' + {pair data data} + {integer} + 0 + (\(hd : pair data data) -> + ifThenElse + {all dead. list (pair data data) -> integer} + (equalsByteString # (unBData (fstPair {data} {data} hd))) + (/\dead -> + \(ds : list (pair data data)) -> + goInner (unMapData (sndPair {data} {data} hd))) + (/\dead -> goOuter) + {all dead. dead}) + in + goOuter ds \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_ada_nonbuiltin.golden.uplc b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_ada_nonbuiltin.golden.uplc new file mode 100644 index 00000000000..b28cad00432 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_ada_nonbuiltin.golden.uplc @@ -0,0 +1,49 @@ +(program + 1.1.0 + (case + (constr 0 + [ (force (force fstPair)) + , (force tailList) + , (force ifThenElse) + , (force (force sndPair)) + , (force headList) + , (force (force chooseList)) ]) + [ (\forced forced forced forced forced forced -> + (\caseList' -> + (\goInner bd -> + (\ds -> + (\s -> s s ds) + (\s -> + caseList' + 0 + (\hd -> + case + (constr 0 + [ (equalsByteString # (unBData (forced hd))) + , (\ds -> + force goInner (unMapData (forced hd))) + , (\x -> s s x) ]) + [forced]))) + (unMapData bd)) + ((\s -> s s (delay (\x -> x))) + (\s arg -> + delay + (caseList' + 0 + (\hd -> + force + (case + (constr 0 + [ (equalsByteString + # + (unBData (forced hd))) + , (delay (\ds -> unIData (forced hd))) + , (delay + (force (s s (delay (\x -> x))))) ]) + [forced])))))) + (\z f xs -> + force + (case + (constr 0 + [xs, (delay z), (delay (f (forced xs) (forced xs)))]) + [forced]))) ])) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_ada_raw.golden.eval b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_ada_raw.golden.eval new file mode 100644 index 00000000000..d0dbefc69c6 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_ada_raw.golden.eval @@ -0,0 +1,6 @@ +CPU: 3_467_520 +Memory: 12_984 +AST Size: 118 +Flat Size: 596 + +(con integer 1000000) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_ada_raw.golden.pir b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_ada_raw.golden.pir new file mode 100644 index 00000000000..bb4807b8676 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_ada_raw.golden.pir @@ -0,0 +1,49 @@ +let + !caseList' : all a r. r -> (a -> list a -> r) -> list a -> r + = /\a r -> + \(z : r) (f : a -> list a -> r) (xs : list a) -> + chooseList + {a} + {all dead. r} + xs + (/\dead -> z) + (/\dead -> f (headList {a} xs) (tailList {a} xs)) + {r} +in +\(bd : data) -> + letrec + !goOuter : list (pair data data) -> integer + = caseList' + {pair data data} + {integer} + 0 + (\(hd : pair data data) -> + ifThenElse + {all dead. list (pair data data) -> integer} + (equalsByteString # (unBData (fstPair {data} {data} hd))) + (/\dead -> + \(ds : list (pair data data)) -> + (letrec + !goInner : list (pair data data) -> integer + = caseList' + {pair data data} + {integer} + 0 + (\(hd : pair data data) -> + ifThenElse + {all dead. list (pair data data) -> integer} + (equalsByteString + # + (unBData (fstPair {data} {data} hd))) + (/\dead -> + \(ds : list (pair data data)) -> + unIData (sndPair {data} {data} hd)) + (/\dead -> goInner) + {all dead. dead}) + in + goInner) + (unMapData (sndPair {data} {data} hd))) + (/\dead -> goOuter) + {all dead. dead}) + in + goOuter (unMapData bd) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_ada_raw.golden.uplc b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_ada_raw.golden.uplc new file mode 100644 index 00000000000..acd8ea32869 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_ada_raw.golden.uplc @@ -0,0 +1,42 @@ +(program + 1.1.0 + (case + (constr 0 + [ (force (force fstPair)) + , (force tailList) + , (force ifThenElse) + , (force (force sndPair)) + , (force headList) + , (force (force chooseList)) ]) + [ (\forced forced forced forced forced forced bd -> + (\s -> s s (unMapData bd)) + (\s -> + (\cse -> + cse + (\hd -> + case + (constr 0 + [ (equalsByteString # (unBData (forced hd))) + , (\ds -> + (\s -> s s (unMapData (forced hd))) + (\s -> + cse + (\hd -> + case + (constr 0 + [ (equalsByteString + # + (unBData (forced hd))) + , (\ds -> unIData (forced hd)) + , (\x -> s s x) ]) + [forced]))) + , (\x -> s s x) ]) + [forced])) + (\f xs -> + force + (case + (constr 0 + [ xs + , (delay 0) + , (delay (f (forced xs) (forced xs))) ]) + [forced])))) ])) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_last_builtin.golden.eval b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_last_builtin.golden.eval new file mode 100644 index 00000000000..edaf9339416 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_last_builtin.golden.eval @@ -0,0 +1,6 @@ +CPU: 3_611_149 +Memory: 1_565 +AST Size: 11 +Flat Size: 559 + +(con integer 1) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_last_builtin.golden.pir b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_last_builtin.golden.pir new file mode 100644 index 00000000000..ee746c2315d --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_last_builtin.golden.pir @@ -0,0 +1,5 @@ +\(bd : data) -> + lookupCoin + #706f6c6963795f30375f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + #746f6b656e5f30375f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unValueData bd) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_last_builtin.golden.uplc b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_last_builtin.golden.uplc new file mode 100644 index 00000000000..4a1675b00e7 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_last_builtin.golden.uplc @@ -0,0 +1,9 @@ +(program + 1.1.0 + (\bd -> + case + (constr 0 + [ #706f6c6963795f30375f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + , #746f6b656e5f30375f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + , (unValueData bd) ]) + [lookupCoin])) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_last_nonbuiltin.golden.eval b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_last_nonbuiltin.golden.eval new file mode 100644 index 00000000000..7e7b69d8e46 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_last_nonbuiltin.golden.eval @@ -0,0 +1,6 @@ +CPU: 12_432_174 +Memory: 45_418 +AST Size: 141 +Flat Size: 675 + +(con integer 1) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_last_nonbuiltin.golden.pir b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_last_nonbuiltin.golden.pir new file mode 100644 index 00000000000..20906e2ef3c --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_last_nonbuiltin.golden.pir @@ -0,0 +1,58 @@ +let + !caseList' : all a r. r -> (a -> list a -> r) -> list a -> r + = /\a r -> + \(z : r) (f : a -> list a -> r) (xs : list a) -> + chooseList + {a} + {all dead. r} + xs + (/\dead -> z) + (/\dead -> f (headList {a} xs) (tailList {a} xs)) + {r} +in +letrec + ~goInner : + list (pair data data) -> integer + = caseList' + {pair data data} + {integer} + 0 + (\(hd : pair data data) -> + ifThenElse + {all dead. list (pair data data) -> integer} + (equalsByteString + #746f6b656e5f30375f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (fstPair {data} {data} hd))) + (/\dead -> + \(ds : list (pair data data)) -> + unIData (sndPair {data} {data} hd)) + (/\dead -> goInner) + {all dead. dead}) +in +\(bd : data) -> + let + !ds : + (\k a -> list (pair data data)) + bytestring + ((\k a -> list (pair data data)) bytestring integer) + = unMapData bd + in + letrec + !goOuter : list (pair data data) -> integer + = caseList' + {pair data data} + {integer} + 0 + (\(hd : pair data data) -> + ifThenElse + {all dead. list (pair data data) -> integer} + (equalsByteString + #706f6c6963795f30375f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (fstPair {data} {data} hd))) + (/\dead -> + \(ds : list (pair data data)) -> + goInner (unMapData (sndPair {data} {data} hd))) + (/\dead -> goOuter) + {all dead. dead}) + in + goOuter ds \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_last_nonbuiltin.golden.uplc b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_last_nonbuiltin.golden.uplc new file mode 100644 index 00000000000..7a8eb524a3f --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_last_nonbuiltin.golden.uplc @@ -0,0 +1,60 @@ +(program + 1.1.0 + (case + (constr 0 + [ (force (force fstPair)) + , (force tailList) + , (force ifThenElse) + , (force (force sndPair)) + , (force headList) + , (force (force chooseList)) ]) + [ (\forced + forced + forced + forced + forced + forced -> + (\caseList' -> + (\goInner + bd -> + (\ds -> + (\s -> + s s ds) + (\s -> + caseList' + 0 + (\hd -> + case + (constr 0 + [ (equalsByteString + #706f6c6963795f30375f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (forced hd))) + , (\ds -> + force goInner (unMapData (forced hd))) + , (\x -> s s x) ]) + [forced]))) + (unMapData bd)) + ((\s -> + s s (delay (\x -> x))) + (\s + arg -> + delay + (caseList' + 0 + (\hd -> + force + (case + (constr 0 + [ (equalsByteString + #746f6b656e5f30375f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (forced hd))) + , (delay (\ds -> unIData (forced hd))) + , (delay + (force (s s (delay (\x -> x))))) ]) + [forced])))))) + (\z f xs -> + force + (case + (constr 0 + [xs, (delay z), (delay (f (forced xs) (forced xs)))]) + [forced]))) ])) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_last_raw.golden.eval b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_last_raw.golden.eval new file mode 100644 index 00000000000..e4790bdf986 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_last_raw.golden.eval @@ -0,0 +1,6 @@ +CPU: 12_128_174 +Memory: 43_518 +AST Size: 118 +Flat Size: 658 + +(con integer 1) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_last_raw.golden.pir b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_last_raw.golden.pir new file mode 100644 index 00000000000..fe9f39ce395 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_last_raw.golden.pir @@ -0,0 +1,53 @@ +let + !caseList' : all a r. r -> (a -> list a -> r) -> list a -> r + = /\a r -> + \(z : r) (f : a -> list a -> r) (xs : list a) -> + chooseList + {a} + {all dead. r} + xs + (/\dead -> z) + (/\dead -> f (headList {a} xs) (tailList {a} xs)) + {r} +in +\(bd : data) -> + letrec + !goOuter : + list (pair data data) -> integer + = caseList' + {pair data data} + {integer} + 0 + (\(hd : pair data data) -> + ifThenElse + {all dead. list (pair data data) -> integer} + (equalsByteString + #706f6c6963795f30375f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (fstPair {data} {data} hd))) + (/\dead -> + \(ds : list (pair data data)) -> + (letrec + !goInner : + list (pair data data) -> integer + = caseList' + {pair data data} + {integer} + 0 + (\(hd : pair data data) -> + ifThenElse + {all dead. list (pair data data) -> integer} + (equalsByteString + #746f6b656e5f30375f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (fstPair {data} {data} hd))) + (/\dead -> + \(ds : list (pair data data)) -> + unIData (sndPair {data} {data} hd)) + (/\dead -> goInner) + {all dead. dead}) + in + goInner) + (unMapData (sndPair {data} {data} hd))) + (/\dead -> goOuter) + {all dead. dead}) + in + goOuter (unMapData bd) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_last_raw.golden.uplc b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_last_raw.golden.uplc new file mode 100644 index 00000000000..6b58a2a2d3a --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_last_raw.golden.uplc @@ -0,0 +1,52 @@ +(program + 1.1.0 + (case + (constr 0 + [ (force (force fstPair)) + , (force tailList) + , (force ifThenElse) + , (force (force sndPair)) + , (force headList) + , (force (force chooseList)) ]) + [ (\forced + forced + forced + forced + forced + forced + bd -> + (\s -> + s s (unMapData bd)) + (\s -> + (\cse -> + cse + (\hd -> + case + (constr 0 + [ (equalsByteString + #706f6c6963795f30375f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (forced hd))) + , (\ds -> + (\s -> + s s (unMapData (forced hd))) + (\s -> + cse + (\hd -> + case + (constr 0 + [ (equalsByteString + #746f6b656e5f30375f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (forced hd))) + , (\ds -> unIData (forced hd)) + , (\x -> s s x) ]) + [forced]))) + , (\x -> s s x) ]) + [forced])) + (\f xs -> + force + (case + (constr 0 + [ xs + , (delay 0) + , (delay (f (forced xs) (forced xs))) ]) + [forced])))) ])) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_middle_builtin.golden.eval b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_middle_builtin.golden.eval new file mode 100644 index 00000000000..edaf9339416 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_middle_builtin.golden.eval @@ -0,0 +1,6 @@ +CPU: 3_611_149 +Memory: 1_565 +AST Size: 11 +Flat Size: 559 + +(con integer 1) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_middle_builtin.golden.pir b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_middle_builtin.golden.pir new file mode 100644 index 00000000000..e6edfbb2050 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_middle_builtin.golden.pir @@ -0,0 +1,5 @@ +\(bd : data) -> + lookupCoin + #706f6c6963795f30345f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + #746f6b656e5f30345f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unValueData bd) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_middle_builtin.golden.uplc b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_middle_builtin.golden.uplc new file mode 100644 index 00000000000..90ffcd928da --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_middle_builtin.golden.uplc @@ -0,0 +1,9 @@ +(program + 1.1.0 + (\bd -> + case + (constr 0 + [ #706f6c6963795f30345f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + , #746f6b656e5f30345f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + , (unValueData bd) ]) + [lookupCoin])) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_middle_nonbuiltin.golden.eval b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_middle_nonbuiltin.golden.eval new file mode 100644 index 00000000000..7de9d11aa35 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_middle_nonbuiltin.golden.eval @@ -0,0 +1,6 @@ +CPU: 8_721_330 +Memory: 32_332 +AST Size: 141 +Flat Size: 675 + +(con integer 1) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_middle_nonbuiltin.golden.pir b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_middle_nonbuiltin.golden.pir new file mode 100644 index 00000000000..4c4e0d6d434 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_middle_nonbuiltin.golden.pir @@ -0,0 +1,58 @@ +let + !caseList' : all a r. r -> (a -> list a -> r) -> list a -> r + = /\a r -> + \(z : r) (f : a -> list a -> r) (xs : list a) -> + chooseList + {a} + {all dead. r} + xs + (/\dead -> z) + (/\dead -> f (headList {a} xs) (tailList {a} xs)) + {r} +in +letrec + ~goInner : + list (pair data data) -> integer + = caseList' + {pair data data} + {integer} + 0 + (\(hd : pair data data) -> + ifThenElse + {all dead. list (pair data data) -> integer} + (equalsByteString + #746f6b656e5f30345f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (fstPair {data} {data} hd))) + (/\dead -> + \(ds : list (pair data data)) -> + unIData (sndPair {data} {data} hd)) + (/\dead -> goInner) + {all dead. dead}) +in +\(bd : data) -> + let + !ds : + (\k a -> list (pair data data)) + bytestring + ((\k a -> list (pair data data)) bytestring integer) + = unMapData bd + in + letrec + !goOuter : list (pair data data) -> integer + = caseList' + {pair data data} + {integer} + 0 + (\(hd : pair data data) -> + ifThenElse + {all dead. list (pair data data) -> integer} + (equalsByteString + #706f6c6963795f30345f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (fstPair {data} {data} hd))) + (/\dead -> + \(ds : list (pair data data)) -> + goInner (unMapData (sndPair {data} {data} hd))) + (/\dead -> goOuter) + {all dead. dead}) + in + goOuter ds \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_middle_nonbuiltin.golden.uplc b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_middle_nonbuiltin.golden.uplc new file mode 100644 index 00000000000..85512f5f445 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_middle_nonbuiltin.golden.uplc @@ -0,0 +1,60 @@ +(program + 1.1.0 + (case + (constr 0 + [ (force (force fstPair)) + , (force tailList) + , (force ifThenElse) + , (force (force sndPair)) + , (force headList) + , (force (force chooseList)) ]) + [ (\forced + forced + forced + forced + forced + forced -> + (\caseList' -> + (\goInner + bd -> + (\ds -> + (\s -> + s s ds) + (\s -> + caseList' + 0 + (\hd -> + case + (constr 0 + [ (equalsByteString + #706f6c6963795f30345f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (forced hd))) + , (\ds -> + force goInner (unMapData (forced hd))) + , (\x -> s s x) ]) + [forced]))) + (unMapData bd)) + ((\s -> + s s (delay (\x -> x))) + (\s + arg -> + delay + (caseList' + 0 + (\hd -> + force + (case + (constr 0 + [ (equalsByteString + #746f6b656e5f30345f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (forced hd))) + , (delay (\ds -> unIData (forced hd))) + , (delay + (force (s s (delay (\x -> x))))) ]) + [forced])))))) + (\z f xs -> + force + (case + (constr 0 + [xs, (delay z), (delay (f (forced xs) (forced xs)))]) + [forced]))) ])) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_middle_raw.golden.eval b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_middle_raw.golden.eval new file mode 100644 index 00000000000..5d394ddfb83 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_middle_raw.golden.eval @@ -0,0 +1,6 @@ +CPU: 8_417_330 +Memory: 30_432 +AST Size: 118 +Flat Size: 658 + +(con integer 1) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_middle_raw.golden.pir b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_middle_raw.golden.pir new file mode 100644 index 00000000000..e64ea43f9ae --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_middle_raw.golden.pir @@ -0,0 +1,53 @@ +let + !caseList' : all a r. r -> (a -> list a -> r) -> list a -> r + = /\a r -> + \(z : r) (f : a -> list a -> r) (xs : list a) -> + chooseList + {a} + {all dead. r} + xs + (/\dead -> z) + (/\dead -> f (headList {a} xs) (tailList {a} xs)) + {r} +in +\(bd : data) -> + letrec + !goOuter : + list (pair data data) -> integer + = caseList' + {pair data data} + {integer} + 0 + (\(hd : pair data data) -> + ifThenElse + {all dead. list (pair data data) -> integer} + (equalsByteString + #706f6c6963795f30345f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (fstPair {data} {data} hd))) + (/\dead -> + \(ds : list (pair data data)) -> + (letrec + !goInner : + list (pair data data) -> integer + = caseList' + {pair data data} + {integer} + 0 + (\(hd : pair data data) -> + ifThenElse + {all dead. list (pair data data) -> integer} + (equalsByteString + #746f6b656e5f30345f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (fstPair {data} {data} hd))) + (/\dead -> + \(ds : list (pair data data)) -> + unIData (sndPair {data} {data} hd)) + (/\dead -> goInner) + {all dead. dead}) + in + goInner) + (unMapData (sndPair {data} {data} hd))) + (/\dead -> goOuter) + {all dead. dead}) + in + goOuter (unMapData bd) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_middle_raw.golden.uplc b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_middle_raw.golden.uplc new file mode 100644 index 00000000000..7e695944cd5 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_middle_raw.golden.uplc @@ -0,0 +1,52 @@ +(program + 1.1.0 + (case + (constr 0 + [ (force (force fstPair)) + , (force tailList) + , (force ifThenElse) + , (force (force sndPair)) + , (force headList) + , (force (force chooseList)) ]) + [ (\forced + forced + forced + forced + forced + forced + bd -> + (\s -> + s s (unMapData bd)) + (\s -> + (\cse -> + cse + (\hd -> + case + (constr 0 + [ (equalsByteString + #706f6c6963795f30345f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (forced hd))) + , (\ds -> + (\s -> + s s (unMapData (forced hd))) + (\s -> + cse + (\hd -> + case + (constr 0 + [ (equalsByteString + #746f6b656e5f30345f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (forced hd))) + , (\ds -> unIData (forced hd)) + , (\x -> s s x) ]) + [forced]))) + , (\x -> s s x) ]) + [forced])) + (\f xs -> + force + (case + (constr 0 + [ xs + , (delay 0) + , (delay (f (forced xs) (forced xs))) ]) + [forced])))) ])) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_miss_builtin.golden.eval b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_miss_builtin.golden.eval new file mode 100644 index 00000000000..6eca3aab428 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_miss_builtin.golden.eval @@ -0,0 +1,6 @@ +CPU: 3_611_149 +Memory: 1_565 +AST Size: 11 +Flat Size: 559 + +(con integer 0) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_miss_builtin.golden.pir b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_miss_builtin.golden.pir new file mode 100644 index 00000000000..40a1a391f44 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_miss_builtin.golden.pir @@ -0,0 +1,5 @@ +\(bd : data) -> + lookupCoin + #706f6c6963795f4d6973735f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + #746f6b656e5f4d6973735f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unValueData bd) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_miss_builtin.golden.uplc b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_miss_builtin.golden.uplc new file mode 100644 index 00000000000..40a8101bb1f --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_miss_builtin.golden.uplc @@ -0,0 +1,9 @@ +(program + 1.1.0 + (\bd -> + case + (constr 0 + [ #706f6c6963795f4d6973735f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + , #746f6b656e5f4d6973735f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + , (unValueData bd) ]) + [lookupCoin])) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_miss_nonbuiltin.golden.eval b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_miss_nonbuiltin.golden.eval new file mode 100644 index 00000000000..738a84f7987 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_miss_nonbuiltin.golden.eval @@ -0,0 +1,6 @@ +CPU: 11_158_869 +Memory: 41_960 +AST Size: 141 +Flat Size: 675 + +(con integer 0) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_miss_nonbuiltin.golden.pir b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_miss_nonbuiltin.golden.pir new file mode 100644 index 00000000000..36bdcf81169 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_miss_nonbuiltin.golden.pir @@ -0,0 +1,58 @@ +let + !caseList' : all a r. r -> (a -> list a -> r) -> list a -> r + = /\a r -> + \(z : r) (f : a -> list a -> r) (xs : list a) -> + chooseList + {a} + {all dead. r} + xs + (/\dead -> z) + (/\dead -> f (headList {a} xs) (tailList {a} xs)) + {r} +in +letrec + ~goInner : + list (pair data data) -> integer + = caseList' + {pair data data} + {integer} + 0 + (\(hd : pair data data) -> + ifThenElse + {all dead. list (pair data data) -> integer} + (equalsByteString + #746f6b656e5f4d6973735f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (fstPair {data} {data} hd))) + (/\dead -> + \(ds : list (pair data data)) -> + unIData (sndPair {data} {data} hd)) + (/\dead -> goInner) + {all dead. dead}) +in +\(bd : data) -> + let + !ds : + (\k a -> list (pair data data)) + bytestring + ((\k a -> list (pair data data)) bytestring integer) + = unMapData bd + in + letrec + !goOuter : list (pair data data) -> integer + = caseList' + {pair data data} + {integer} + 0 + (\(hd : pair data data) -> + ifThenElse + {all dead. list (pair data data) -> integer} + (equalsByteString + #706f6c6963795f4d6973735f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (fstPair {data} {data} hd))) + (/\dead -> + \(ds : list (pair data data)) -> + goInner (unMapData (sndPair {data} {data} hd))) + (/\dead -> goOuter) + {all dead. dead}) + in + goOuter ds \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_miss_nonbuiltin.golden.uplc b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_miss_nonbuiltin.golden.uplc new file mode 100644 index 00000000000..1e305da7913 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_miss_nonbuiltin.golden.uplc @@ -0,0 +1,60 @@ +(program + 1.1.0 + (case + (constr 0 + [ (force (force fstPair)) + , (force tailList) + , (force ifThenElse) + , (force (force sndPair)) + , (force headList) + , (force (force chooseList)) ]) + [ (\forced + forced + forced + forced + forced + forced -> + (\caseList' -> + (\goInner + bd -> + (\ds -> + (\s -> + s s ds) + (\s -> + caseList' + 0 + (\hd -> + case + (constr 0 + [ (equalsByteString + #706f6c6963795f4d6973735f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (forced hd))) + , (\ds -> + force goInner (unMapData (forced hd))) + , (\x -> s s x) ]) + [forced]))) + (unMapData bd)) + ((\s -> + s s (delay (\x -> x))) + (\s + arg -> + delay + (caseList' + 0 + (\hd -> + force + (case + (constr 0 + [ (equalsByteString + #746f6b656e5f4d6973735f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (forced hd))) + , (delay (\ds -> unIData (forced hd))) + , (delay + (force (s s (delay (\x -> x))))) ]) + [forced])))))) + (\z f xs -> + force + (case + (constr 0 + [xs, (delay z), (delay (f (forced xs) (forced xs)))]) + [forced]))) ])) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_miss_raw.golden.eval b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_miss_raw.golden.eval new file mode 100644 index 00000000000..8fbcc642502 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_miss_raw.golden.eval @@ -0,0 +1,6 @@ +CPU: 10_870_869 +Memory: 40_160 +AST Size: 118 +Flat Size: 658 + +(con integer 0) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_miss_raw.golden.pir b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_miss_raw.golden.pir new file mode 100644 index 00000000000..c049af908cd --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_miss_raw.golden.pir @@ -0,0 +1,53 @@ +let + !caseList' : all a r. r -> (a -> list a -> r) -> list a -> r + = /\a r -> + \(z : r) (f : a -> list a -> r) (xs : list a) -> + chooseList + {a} + {all dead. r} + xs + (/\dead -> z) + (/\dead -> f (headList {a} xs) (tailList {a} xs)) + {r} +in +\(bd : data) -> + letrec + !goOuter : + list (pair data data) -> integer + = caseList' + {pair data data} + {integer} + 0 + (\(hd : pair data data) -> + ifThenElse + {all dead. list (pair data data) -> integer} + (equalsByteString + #706f6c6963795f4d6973735f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (fstPair {data} {data} hd))) + (/\dead -> + \(ds : list (pair data data)) -> + (letrec + !goInner : + list (pair data data) -> integer + = caseList' + {pair data data} + {integer} + 0 + (\(hd : pair data data) -> + ifThenElse + {all dead. list (pair data data) -> integer} + (equalsByteString + #746f6b656e5f4d6973735f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (fstPair {data} {data} hd))) + (/\dead -> + \(ds : list (pair data data)) -> + unIData (sndPair {data} {data} hd)) + (/\dead -> goInner) + {all dead. dead}) + in + goInner) + (unMapData (sndPair {data} {data} hd))) + (/\dead -> goOuter) + {all dead. dead}) + in + goOuter (unMapData bd) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_miss_raw.golden.uplc b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_miss_raw.golden.uplc new file mode 100644 index 00000000000..6bcad2df5f4 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/lookup_S8_miss_raw.golden.uplc @@ -0,0 +1,52 @@ +(program + 1.1.0 + (case + (constr 0 + [ (force (force fstPair)) + , (force tailList) + , (force ifThenElse) + , (force (force sndPair)) + , (force headList) + , (force (force chooseList)) ]) + [ (\forced + forced + forced + forced + forced + forced + bd -> + (\s -> + s s (unMapData bd)) + (\s -> + (\cse -> + cse + (\hd -> + case + (constr 0 + [ (equalsByteString + #706f6c6963795f4d6973735f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (forced hd))) + , (\ds -> + (\s -> + s s (unMapData (forced hd))) + (\s -> + cse + (\hd -> + case + (constr 0 + [ (equalsByteString + #746f6b656e5f4d6973735f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + (unBData (forced hd))) + , (\ds -> unIData (forced hd)) + , (\x -> s s x) ]) + [forced]))) + , (\x -> s s x) ]) + [forced])) + (\f xs -> + force + (case + (constr 0 + [ xs + , (delay 0) + , (delay (f (forced xs) (forced xs))) ]) + [forced])))) ])) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/unValueData_S1.golden.eval b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/unValueData_S1.golden.eval new file mode 100644 index 00000000000..c7ae8c9e97f --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/unValueData_S1.golden.eval @@ -0,0 +1,6 @@ +CPU: 576_790 +Memory: 756 +AST Size: 6 +Flat Size: 22 + +(con value [(#, [(#, 1000000)])]) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/unValueData_S1.golden.pir b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/unValueData_S1.golden.pir new file mode 100644 index 00000000000..a65e944af8f --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/unValueData_S1.golden.pir @@ -0,0 +1 @@ +\(bd : data) -> unValueData bd \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/unValueData_S1.golden.uplc b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/unValueData_S1.golden.uplc new file mode 100644 index 00000000000..31f57dc2290 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/unValueData_S1.golden.uplc @@ -0,0 +1 @@ +(program 1.1.0 (\bd -> unValueData bd)) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/unValueData_S100.golden.eval b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/unValueData_S100.golden.eval new file mode 100644 index 00000000000..2c0f60a6724 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/unValueData_S100.golden.eval @@ -0,0 +1,120 @@ +CPU: 21_732_650 +Memory: 3_176 +AST Size: 6 +Flat Size: 3_848 + +(con + value + [ (#, [(#, 1000000)]) + , ( #706f6c6963795f30315f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + , [ (#746f6b656e5f30315f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30325f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30335f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30345f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30355f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30365f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30375f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30385f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30395f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f31305f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) ] ) + , ( #706f6c6963795f30325f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + , [ (#746f6b656e5f30315f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30325f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30335f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30345f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30355f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30365f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30375f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30385f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30395f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f31305f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) ] ) + , ( #706f6c6963795f30335f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + , [ (#746f6b656e5f30315f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30325f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30335f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30345f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30355f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30365f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30375f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30385f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30395f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f31305f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) ] ) + , ( #706f6c6963795f30345f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + , [ (#746f6b656e5f30315f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30325f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30335f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30345f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30355f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30365f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30375f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30385f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30395f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f31305f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) ] ) + , ( #706f6c6963795f30355f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + , [ (#746f6b656e5f30315f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30325f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30335f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30345f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30355f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30365f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30375f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30385f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30395f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f31305f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) ] ) + , ( #706f6c6963795f30365f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + , [ (#746f6b656e5f30315f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30325f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30335f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30345f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30355f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30365f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30375f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30385f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30395f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f31305f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) ] ) + , ( #706f6c6963795f30375f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + , [ (#746f6b656e5f30315f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30325f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30335f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30345f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30355f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30365f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30375f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30385f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30395f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f31305f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) ] ) + , ( #706f6c6963795f30385f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + , [ (#746f6b656e5f30315f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30325f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30335f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30345f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30355f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30365f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30375f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30385f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30395f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f31305f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) ] ) + , ( #706f6c6963795f30395f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + , [ (#746f6b656e5f30315f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30325f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30335f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30345f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30355f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30365f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30375f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30385f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30395f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f31305f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) ] ) + , ( #706f6c6963795f31305f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + , [ (#746f6b656e5f30315f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30325f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30335f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30345f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30355f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30365f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30375f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30385f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , (#746f6b656e5f30395f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1) + , ( #746f6b656e5f31305f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + , 1 ) ] ) ] +) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/unValueData_S100.golden.pir b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/unValueData_S100.golden.pir new file mode 100644 index 00000000000..a65e944af8f --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/unValueData_S100.golden.pir @@ -0,0 +1 @@ +\(bd : data) -> unValueData bd \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/unValueData_S100.golden.uplc b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/unValueData_S100.golden.uplc new file mode 100644 index 00000000000..31f57dc2290 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/unValueData_S100.golden.uplc @@ -0,0 +1 @@ +(program 1.1.0 (\bd -> unValueData bd)) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/unValueData_S3.golden.eval b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/unValueData_S3.golden.eval new file mode 100644 index 00000000000..6acb0182f51 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/unValueData_S3.golden.eval @@ -0,0 +1,13 @@ +CPU: 1_344_398 +Memory: 844 +AST Size: 6 +Flat Size: 156 + +(con + value + [ (#, [(#, 1000000)]) + , ( #706f6c6963795f30315f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + , [(#746f6b656e5f30315f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 42)] ) + , ( #706f6c6963795f30325f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + , [(#746f6b656e5f30325f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 7)] ) ] +) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/unValueData_S3.golden.pir b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/unValueData_S3.golden.pir new file mode 100644 index 00000000000..a65e944af8f --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/unValueData_S3.golden.pir @@ -0,0 +1 @@ +\(bd : data) -> unValueData bd \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/unValueData_S3.golden.uplc b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/unValueData_S3.golden.uplc new file mode 100644 index 00000000000..31f57dc2290 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/unValueData_S3.golden.uplc @@ -0,0 +1 @@ +(program 1.1.0 (\bd -> unValueData bd)) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/unValueData_S8.golden.eval b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/unValueData_S8.golden.eval new file mode 100644 index 00000000000..3ac52537077 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/unValueData_S8.golden.eval @@ -0,0 +1,23 @@ +CPU: 3_263_978 +Memory: 1_064 +AST Size: 6 +Flat Size: 487 + +(con + value + [ (#, [(#, 1000000)]) + , ( #706f6c6963795f30315f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + , [(#746f6b656e5f30315f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1)] ) + , ( #706f6c6963795f30325f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + , [(#746f6b656e5f30325f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1)] ) + , ( #706f6c6963795f30335f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + , [(#746f6b656e5f30335f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1)] ) + , ( #706f6c6963795f30345f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + , [(#746f6b656e5f30345f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1)] ) + , ( #706f6c6963795f30355f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + , [(#746f6b656e5f30355f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1)] ) + , ( #706f6c6963795f30365f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + , [(#746f6b656e5f30365f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1)] ) + , ( #706f6c6963795f30375f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f + , [(#746f6b656e5f30375f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f, 1)] ) ] +) \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/unValueData_S8.golden.pir b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/unValueData_S8.golden.pir new file mode 100644 index 00000000000..a65e944af8f --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/unValueData_S8.golden.pir @@ -0,0 +1 @@ +\(bd : data) -> unValueData bd \ No newline at end of file diff --git a/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/unValueData_S8.golden.uplc b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/unValueData_S8.golden.uplc new file mode 100644 index 00000000000..31f57dc2290 --- /dev/null +++ b/plutus-tx-plugin/test-ledger-api/Spec/Data/Value/Budget/9.6/unValueData_S8.golden.uplc @@ -0,0 +1 @@ +(program 1.1.0 (\bd -> unValueData bd)) \ No newline at end of file