From b6f6064aafc543636ec35f39068bd2c1dd0e596e Mon Sep 17 00:00:00 2001 From: rvcas Date: Wed, 15 Nov 2023 00:07:00 -0500 Subject: [PATCH] test: add all plutus conformance tests --- Cargo.lock | 1 + Cargo.toml | 1 + crates/aiken-project/Cargo.toml | 2 +- crates/uplc/Cargo.toml | 1 + crates/uplc/src/machine.rs | 114 ++++- .../G1/bad-syntax-1/bad-syntax-1.uplc | 4 + .../bad-syntax-1/bad-syntax-1.uplc.expected | 1 + .../G1/bad-syntax-2/bad-syntax-2.uplc | 4 + .../bad-syntax-2/bad-syntax-2.uplc.expected | 1 + .../bls12-381/G1/bad-zero-1/bad-zero-1.uplc | 4 + .../G1/bad-zero-1/bad-zero-1.uplc.expected | 1 + .../bls12-381/G1/bad-zero-2/bad-zero-2.uplc | 4 + .../G1/bad-zero-2/bad-zero-2.uplc.expected | 1 + .../bls12-381/G1/bad-zero-3/bad-zero-3.uplc | 4 + .../G1/bad-zero-3/bad-zero-3.uplc.expected | 1 + .../bls12-381/G1/off-curve/off-curve.uplc | 4 + .../G1/off-curve/off-curve.uplc.expected | 1 + .../on-curve-bit3-clear.uplc | 4 + .../on-curve-bit3-clear.uplc.expected | 7 + .../on-curve-bit3-set/on-curve-bit3-set.uplc | 4 + .../on-curve-bit3-set.uplc.expected | 7 + .../on-curve-serialised-not-compressed.uplc | 5 + ...ve-serialised-not-compressed.uplc.expected | 1 + .../G1/out-of-group/out-of-group.uplc | 4 + .../out-of-group/out-of-group.uplc.expected | 1 + .../bls12-381/G1/too-long/too-long.uplc | 4 + .../G1/too-long/too-long.uplc.expected | 1 + .../bls12-381/G1/too-short/too-short.uplc | 4 + .../G1/too-short/too-short.uplc.expected | 1 + .../constant/bls12-381/G1/zero/zero.uplc | 4 + .../bls12-381/G1/zero/zero.uplc.expected | 7 + .../G2/bad-syntax-1/bad-syntax-1.uplc | 4 + .../bad-syntax-1/bad-syntax-1.uplc.expected | 1 + .../G2/bad-syntax-2/bad-syntax-2.uplc | 4 + .../bad-syntax-2/bad-syntax-2.uplc.expected | 1 + .../bls12-381/G2/bad-zero-1/bad-zero-1.uplc | 4 + .../G2/bad-zero-1/bad-zero-1.uplc.expected | 1 + .../bls12-381/G2/bad-zero-2/bad-zero-2.uplc | 4 + .../G2/bad-zero-2/bad-zero-2.uplc.expected | 1 + .../bls12-381/G2/bad-zero-3/bad-zero-3.uplc | 4 + .../G2/bad-zero-3/bad-zero-3.uplc.expected | 1 + .../bls12-381/G2/off-curve/off-curve.uplc | 4 + .../G2/off-curve/off-curve.uplc.expected | 1 + .../on-curve-bit3-clear.uplc | 4 + .../on-curve-bit3-clear.uplc.expected | 7 + .../on-curve-bit3-set/on-curve-bit3-set.uplc | 4 + .../on-curve-bit3-set.uplc.expected | 7 + .../on-curve-serialised-not-compressed.uplc | 5 + ...ve-serialised-not-compressed.uplc.expected | 1 + .../G2/out-of-group/out-of-group.uplc | 4 + .../out-of-group/out-of-group.uplc.expected | 1 + .../bls12-381/G2/too-long/too-long.uplc | 4 + .../G2/too-long/too-long.uplc.expected | 1 + .../bls12-381/G2/too-short/too-short.uplc | 4 + .../G2/too-short/too-short.uplc.expected | 1 + .../constant/bls12-381/G2/zero/zero.uplc | 4 + .../bls12-381/G2/zero/zero.uplc.expected | 7 + .../builtin/constant/bool/False/False.uplc | 1 + .../constant/bool/False/False.uplc.expected | 1 + .../builtin/constant/bool/True/True.uplc | 1 + .../constant/bool/True/True.uplc.expected | 1 + .../bytestring/bytestring1/bytestring1.uplc | 1 + .../bytestring1/bytestring1.uplc.expected | 1 + .../bytestring/bytestring2/bytestring2.uplc | 3 + .../bytestring2/bytestring2.uplc.expected | 1 + .../bytestring/bytestring3/bytestring3.uplc | 3 + .../bytestring3/bytestring3.uplc.expected | 1 + .../bytestring/bytestring4/bytestring4.uplc | 3 + .../bytestring4/bytestring4.uplc.expected | 1 + .../data/dataByteString/dataByteString.uplc | 1 + .../dataByteString.uplc.expected | 1 + .../constant/data/dataConstr/dataConstr.uplc | 1 + .../data/dataConstr/dataConstr.uplc.expected | 1 + .../data/dataInteger/dataInteger.uplc | 1 + .../dataInteger/dataInteger.uplc.expected | 1 + .../constant/data/dataList/dataList.uplc | 1 + .../data/dataList/dataList.uplc.expected | 1 + .../constant/data/dataMap/dataMap.uplc | 5 + .../data/dataMap/dataMap.uplc.expected | 8 + .../dataMisByteString/dataMisByteString.uplc | 1 + .../dataMisByteString.uplc.expected | 1 + .../data/dataMisConstr/dataMisConstr.uplc | 1 + .../dataMisConstr/dataMisConstr.uplc.expected | 1 + .../data/dataMisInteger/dataMisInteger.uplc | 1 + .../dataMisInteger.uplc.expected | 1 + .../data/dataMisList/dataMisList.uplc | 1 + .../dataMisList/dataMisList.uplc.expected | 1 + .../constant/data/dataMisMap/dataMisMap.uplc | 5 + .../data/dataMisMap/dataMisMap.uplc.expected | 1 + .../constant/integer/integer1/integer1.uplc | 1 + .../integer/integer1/integer1.uplc.expected | 1 + .../constant/integer/integer10/integer10.uplc | 1 + .../integer/integer10/integer10.uplc.expected | 1 + .../constant/integer/integer2/integer2.uplc | 1 + .../integer/integer2/integer2.uplc.expected | 1 + .../constant/integer/integer3/integer3.uplc | 1 + .../integer/integer3/integer3.uplc.expected | 1 + .../constant/integer/integer4/integer4.uplc | 1 + .../integer/integer4/integer4.uplc.expected | 1 + .../constant/integer/integer5/integer5.uplc | 1 + .../integer/integer5/integer5.uplc.expected | 1 + .../constant/integer/integer6/integer6.uplc | 1 + .../integer/integer6/integer6.uplc.expected | 7 + .../constant/integer/integer7/integer7.uplc | 1 + .../integer/integer7/integer7.uplc.expected | 7 + .../constant/integer/integer8/integer8.uplc | 1 + .../integer/integer8/integer8.uplc.expected | 7 + .../constant/integer/integer9/integer9.uplc | 1 + .../integer/integer9/integer9.uplc.expected | 1 + .../constant/list/emptyList/emptyList.uplc | 1 + .../list/emptyList/emptyList.uplc.expected | 1 + .../constant/list/simpleList/simpleList.uplc | 1 + .../list/simpleList/simpleList.uplc.expected | 1 + .../constant/list/unitList/unitList.uplc | 1 + .../list/unitList/unitList.uplc.expected | 1 + .../illTypedNestedPair.uplc | 1 + .../illTypedNestedPair.uplc.expected | 1 + .../constant/pair/nestedPair/nestedPair.uplc | 1 + .../pair/nestedPair/nestedPair.uplc.expected | 1 + .../constant/pair/simplePair/simplePair.uplc | 1 + .../pair/simplePair/simplePair.uplc.expected | 1 + .../constant/string/string1/string1.uplc | 3 + .../string/string1/string1.uplc.expected | 1 + .../constant/string/string2/string2.uplc | 3 + .../string/string2/string2.uplc.expected | 1 + .../constant/string/string3/string3.uplc | 3 + .../string/string3/string3.uplc.expected | 1 + .../constant/string/string4/string4.uplc | 3 + .../string/string4/string4.uplc.expected | 1 + .../constant/string/string5/string5.uplc | 3 + .../string/string5/string5.uplc.expected | 7 + .../constant/string/string6/string6.uplc | 3 + .../string/string6/string6.uplc.expected | 1 + .../builtin/constant/unit/conUnit.uplc | 1 + .../constant/unit/conUnit.uplc.expected | 1 + .../builtin/constant/unit/unit.uplc.expected | 1 + .../evaluation/builtin/interleaving/README.md | 6 + .../builtin/interleaving/ite/ite.uplc | 1 + .../interleaving/ite/ite.uplc.expected | 1 + .../iteAtIntegerArrowIntegerApplied1.uplc | 15 + ...tIntegerArrowIntegerApplied1.uplc.expected | 1 + .../iteAtIntegerArrowIntegerApplied2.uplc | 15 + ...tIntegerArrowIntegerApplied2.uplc.expected | 1 + ...teAtIntegerArrowIntegerAppliedApplied.uplc | 19 + ...erArrowIntegerAppliedApplied.uplc.expected | 1 + .../iteAtIntegerArrowIntegerWithCond.uplc | 7 + ...tIntegerArrowIntegerWithCond.uplc.expected | 1 + .../iteForceAppForce/iteForceAppForce.uplc | 9 + .../iteForceAppForce.uplc.expected | 1 + .../interleaving/iteForced/iteForced.uplc | 1 + .../iteForced/iteForced.uplc.expected | 1 + .../iteForcedForced/iteForcedForced.uplc | 1 + .../iteForcedForced.uplc.expected | 1 + .../iteForcedWithIntegerAndString.uplc | 15 + ...teForcedWithIntegerAndString.uplc.expected | 1 + .../iteStringInteger/iteStringInteger.uplc | 17 + .../iteStringInteger.uplc.expected | 1 + .../iteStringString/iteStringString.uplc | 15 + .../iteStringString.uplc.expected | 1 + .../iteUnforcedFullyApplied.uplc | 15 + .../iteUnforcedFullyApplied.uplc.expected | 1 + .../iteUnforcedWithCond.uplc | 7 + .../iteUnforcedWithCond.uplc.expected | 1 + .../iteWrongCondTypeFullyAppied.uplc | 10 + .../iteWrongCondTypeFullyAppied.uplc.expected | 1 + .../iteWrongCondTypePartiallyApplied.uplc | 7 + ...rongCondTypePartiallyApplied.uplc.expected | 4 + .../multiplyIntegerForceError1.uplc | 4 + .../multiplyIntegerForceError1.uplc.expected | 1 + .../multiplyIntegerForceError2.uplc | 4 + .../multiplyIntegerForceError2.uplc.expected | 1 + .../multiplyIntegerForceError3.uplc | 4 + .../multiplyIntegerForceError3.uplc.expected | 1 + .../evaluation/builtin/semantics/README.md | 2 + .../addInteger-uncurried.uplc | 1 + .../addInteger-uncurried.uplc.expected | 1 + .../addInteger/addInteger1/addInteger1.uplc | 1 + .../addInteger1/addInteger1.uplc.expected | 1 + .../addInteger/addInteger2/addInteger2.uplc | 1 + .../addInteger2/addInteger2.uplc.expected | 1 + .../addInteger/addInteger3/addInteger3.uplc | 1 + .../addInteger3/addInteger3.uplc.expected | 7 + .../addInteger/addInteger4/addInteger4.uplc | 1 + .../addInteger4/addInteger4.uplc.expected | 1 + .../appendByteString1/appendByteString1.uplc | 1 + .../appendByteString1.uplc.expected | 1 + .../appendByteString2/appendByteString2.uplc | 1 + .../appendByteString2.uplc.expected | 1 + .../appendByteString3/appendByteString3.uplc | 1 + .../appendByteString3.uplc.expected | 1 + .../semantics/appendString/appendString.uplc | 1 + .../appendString/appendString.uplc.expected | 1 + .../builtin/semantics/bData/bData.uplc | 1 + .../semantics/bData/bData.uplc.expected | 1 + .../blake2b_224-empty/blake2b_224-empty.uplc | 14 + .../blake2b_224-empty.uplc.expected | 1 + .../blake2b_224-length-200.uplc | 14 + .../blake2b_224-length-200.uplc.expected | 1 + .../blake2b_256-empty/blake2b_256-empty.uplc | 14 + .../blake2b_256-empty.uplc.expected | 1 + .../blake2b_256-length-200.uplc | 14 + .../blake2b_256-length-200.uplc.expected | 1 + .../G1/arith/add/add.uplc | 25 ++ .../G1/arith/add/add.uplc.expected | 1 + .../G1/arith/neg/neg.uplc | 19 + .../G1/arith/neg/neg.uplc.expected | 1 + .../G1/arith/scalarMul/scalarMul.uplc | 23 + .../arith/scalarMul/scalarMul.uplc.expected | 1 + .../G1/uncompress/off-curve/off-curve.uplc | 7 + .../off-curve/off-curve.uplc.expected | 1 + .../uncompress/out-of-group/out-of-group.uplc | 8 + .../out-of-group/out-of-group.uplc.expected | 1 + .../G2/arith/add/add.uplc | 31 ++ .../G2/arith/add/add.uplc.expected | 1 + .../G2/arith/neg/neg.uplc | 20 + .../G2/arith/neg/neg.uplc.expected | 1 + .../G2/arith/scalarMul/scalarMul.uplc | 24 + .../arith/scalarMul/scalarMul.uplc.expected | 1 + .../G2/uncompress/off-curve/off-curve.uplc | 7 + .../off-curve/off-curve.uplc.expected | 1 + .../uncompress/out-of-group/out-of-group.uplc | 9 + .../out-of-group/out-of-group.uplc.expected | 1 + .../bls12_381-cardano-crypto-tests/README.md | 22 + .../pairing/balanced/balanced.uplc | 38 ++ .../pairing/balanced/balanced.uplc.expected | 1 + .../pairing/left-additive/left-additive.uplc | 71 +++ .../left-additive/left-additive.uplc.expected | 1 + .../left-multiplicative.uplc | 47 ++ .../left-multiplicative.uplc.expected | 1 + .../right-additive/right-additive.uplc | 71 +++ .../right-additive.uplc.expected | 1 + .../right-multiplicative.uplc | 47 ++ .../right-multiplicative.uplc.expected | 1 + .../pairing/swap-scalars/swap-scalars.uplc | 46 ++ .../swap-scalars/swap-scalars.uplc.expected | 1 + .../signature/augmented/augmented.uplc | 62 +++ .../augmented/augmented.uplc.expected | 1 + .../signature/large-dst/large-dst.uplc | 35 ++ .../large-dst/large-dst.uplc.expected | 1 + .../add-associative/add-associative.uplc | 33 ++ .../add-associative.uplc.expected | 1 + .../add-commutative/add-commutative.uplc | 22 + .../add-commutative.uplc.expected | 1 + .../bls12_381_G1_add/add-zero/add-zero.uplc | 10 + .../add-zero/add-zero.uplc.expected | 7 + .../semantics/bls12_381_G1_add/add/add.uplc | 10 + .../bls12_381_G1_add/add/add.uplc.expected | 7 + .../compress/compress.uplc | 7 + .../compress/compress.uplc.expected | 7 + .../equal-false/equal-false.uplc | 10 + .../equal-false/equal-false.uplc.expected | 1 + .../equal-true/equal-true.uplc | 10 + .../equal-true/equal-true.uplc.expected | 1 + .../hash-different-msg-same-dst.uplc | 23 + .../hash-different-msg-same-dst.uplc.expected | 1 + .../hash-dst-len-255/hash-dst-len-255.uplc | 10 + .../hash-dst-len-255.uplc.expected | 7 + .../hash-dst-len-256/hash-dst-len-256.uplc | 10 + .../hash-dst-len-256.uplc.expected | 1 + .../hash-empty-dst/hash-empty-dst.uplc | 10 + .../hash-empty-dst.uplc.expected | 7 + .../hash-same-msg-different-dst.uplc | 23 + .../hash-same-msg-different-dst.uplc.expected | 1 + .../bls12_381_G1_hashToGroup/hash/hash.uplc | 10 + .../hash/hash.uplc.expected | 7 + .../bls12_381_G1_neg/add-neg/add-neg.uplc | 13 + .../add-neg/add-neg.uplc.expected | 7 + .../bls12_381_G1_neg/neg-zero/neg-zero.uplc | 7 + .../neg-zero/neg-zero.uplc.expected | 7 + .../semantics/bls12_381_G1_neg/neg/neg.uplc | 7 + .../bls12_381_G1_neg/neg/neg.uplc.expected | 7 + .../bls12_381_G1_scalarMul/addmul/addmul.uplc | 22 + .../addmul/addmul.uplc.expected | 7 + .../bls12_381_G1_scalarMul/mul0/mul0.uplc | 10 + .../mul0/mul0.uplc.expected | 7 + .../bls12_381_G1_scalarMul/mul1/mul1.uplc | 10 + .../mul1/mul1.uplc.expected | 7 + .../mul19+25/mul19+25.uplc | 22 + .../mul19+25/mul19+25.uplc.expected | 7 + .../bls12_381_G1_scalarMul/mul44/mul44.uplc | 10 + .../mul44/mul44.uplc.expected | 7 + .../mul4x11/mul4x11.uplc | 16 + .../mul4x11/mul4x11.uplc.expected | 7 + .../bls12_381_G1_scalarMul/muladd/muladd.uplc | 16 + .../muladd/muladd.uplc.expected | 7 + .../mulneg1/mulneg1.uplc | 10 + .../mulneg1/mulneg1.uplc.expected | 7 + .../mulneg44/mulneg44.uplc | 10 + .../mulneg44/mulneg44.uplc.expected | 7 + .../mulperiodic1/mulperiodic1.uplc | 13 + .../mulperiodic1/mulperiodic1.uplc.expected | 1 + .../mulperiodic2/mulperiodic2.uplc | 23 + .../mulperiodic2/mulperiodic2.uplc.expected | 1 + .../mulperiodic3/mulperiodic3.uplc | 27 ++ .../mulperiodic3/mulperiodic3.uplc.expected | 1 + .../mulperiodic4/mulperiodic4.uplc | 27 ++ .../mulperiodic4/mulperiodic4.uplc.expected | 1 + .../bad-zero-1/bad-zero-1.uplc | 7 + .../bad-zero-1/bad-zero-1.uplc.expected | 1 + .../bad-zero-2/bad-zero-2.uplc | 8 + .../bad-zero-2/bad-zero-2.uplc.expected | 1 + .../bad-zero-3/bad-zero-3.uplc | 8 + .../bad-zero-3/bad-zero-3.uplc.expected | 1 + .../off-curve/off-curve.uplc | 7 + .../off-curve/off-curve.uplc.expected | 1 + .../on-curve-bit3-clear.uplc | 8 + .../on-curve-bit3-clear.uplc.expected | 7 + .../on-curve-bit3-set/on-curve-bit3-set.uplc | 8 + .../on-curve-bit3-set.uplc.expected | 9 + .../on-curve-serialised-not-compressed.uplc | 10 + ...ve-serialised-not-compressed.uplc.expected | 1 + .../out-of-group/out-of-group.uplc | 8 + .../out-of-group/out-of-group.uplc.expected | 1 + .../too-long/too-long.uplc | 8 + .../too-long/too-long.uplc.expected | 1 + .../too-short/too-short.uplc | 7 + .../too-short/too-short.uplc.expected | 1 + .../bls12_381_G1_uncompress/zero/zero.uplc | 7 + .../zero/zero.uplc.expected | 7 + .../add-associative/add-associative.uplc | 37 ++ .../add-associative.uplc.expected | 1 + .../add-commutative/add-commutative.uplc | 24 + .../add-commutative.uplc.expected | 1 + .../bls12_381_G2_add/add-zero/add-zero.uplc | 10 + .../add-zero/add-zero.uplc.expected | 7 + .../semantics/bls12_381_G2_add/add/add.uplc | 10 + .../bls12_381_G2_add/add/add.uplc.expected | 7 + .../compress/compress.uplc | 7 + .../compress/compress.uplc.expected | 7 + .../equal-false/equal-false.uplc | 10 + .../equal-false/equal-false.uplc.expected | 1 + .../equal-true/equal-true.uplc | 10 + .../equal-true/equal-true.uplc.expected | 1 + .../hash-different-msg-same-dst.uplc | 23 + .../hash-different-msg-same-dst.uplc.expected | 1 + .../hash-dst-len-255/hash-dst-len-255.uplc | 10 + .../hash-dst-len-255.uplc.expected | 7 + .../hash-dst-len-256/hash-dst-len-256.uplc | 10 + .../hash-dst-len-256.uplc.expected | 1 + .../hash-empty-dst/hash-empty-dst.uplc | 10 + .../hash-empty-dst.uplc.expected | 7 + .../hash-same-msg-different-dst.uplc | 23 + .../hash-same-msg-different-dst.uplc.expected | 1 + .../bls12_381_G2_hashToGroup/hash/hash.uplc | 10 + .../hash/hash.uplc.expected | 7 + .../bls12_381_G2_neg/add-neg/add-neg.uplc | 13 + .../add-neg/add-neg.uplc.expected | 7 + .../bls12_381_G2_neg/neg-zero/neg-zero.uplc | 7 + .../neg-zero/neg-zero.uplc.expected | 7 + .../semantics/bls12_381_G2_neg/neg/neg.uplc | 7 + .../bls12_381_G2_neg/neg/neg.uplc.expected | 7 + .../bls12_381_G2_scalarMul/addmul/addmul.uplc | 22 + .../addmul/addmul.uplc.expected | 7 + .../bls12_381_G2_scalarMul/mul0/mul0.uplc | 10 + .../mul0/mul0.uplc.expected | 7 + .../bls12_381_G2_scalarMul/mul1/mul1.uplc | 10 + .../mul1/mul1.uplc.expected | 7 + .../mul19+25/mul19+25.uplc | 22 + .../mul19+25/mul19+25.uplc.expected | 7 + .../bls12_381_G2_scalarMul/mul44/mul44.uplc | 10 + .../mul44/mul44.uplc.expected | 7 + .../mul4x11/mul4x11.uplc | 16 + .../mul4x11/mul4x11.uplc.expected | 7 + .../bls12_381_G2_scalarMul/muladd/muladd.uplc | 16 + .../muladd/muladd.uplc.expected | 7 + .../mulneg1/mulneg1.uplc | 10 + .../mulneg1/mulneg1.uplc.expected | 7 + .../mulneg44/mulneg44.uplc | 10 + .../mulneg44/mulneg44.uplc.expected | 7 + .../mulperiodic1/mulperiodic1.uplc | 14 + .../mulperiodic1/mulperiodic1.uplc.expected | 1 + .../mulperiodic2/mulperiodic2.uplc | 26 ++ .../mulperiodic2/mulperiodic2.uplc.expected | 1 + .../mulperiodic3/mulperiodic3.uplc | 29 ++ .../mulperiodic3/mulperiodic3.uplc.expected | 1 + .../mulperiodic4/mulperiodic4.uplc | 29 ++ .../mulperiodic4/mulperiodic4.uplc.expected | 1 + .../bad-zero-1/bad-zero-1.uplc | 7 + .../bad-zero-1/bad-zero-1.uplc.expected | 1 + .../bad-zero-2/bad-zero-2.uplc | 7 + .../bad-zero-2/bad-zero-2.uplc.expected | 1 + .../bad-zero-3/bad-zero-3.uplc | 8 + .../bad-zero-3/bad-zero-3.uplc.expected | 1 + .../off-curve/off-curve.uplc | 7 + .../off-curve/off-curve.uplc.expected | 1 + .../on-curve-bit3-clear.uplc | 8 + .../on-curve-bit3-clear.uplc.expected | 7 + .../on-curve-bit3-set/on-curve-bit3-set.uplc | 8 + .../on-curve-bit3-set.uplc.expected | 7 + .../on-curve-serialised-not-compressed.uplc | 10 + ...ve-serialised-not-compressed.uplc.expected | 1 + .../out-of-group/out-of-group.uplc | 8 + .../out-of-group/out-of-group.uplc.expected | 1 + .../too-long/too-long.uplc | 7 + .../too-long/too-long.uplc.expected | 1 + .../too-short/too-short.uplc | 7 + .../too-short/too-short.uplc.expected | 1 + .../bls12_381_G2_uncompress/zero/zero.uplc | 7 + .../zero/zero.uplc.expected | 7 + .../balanced/balanced.uplc | 33 ++ .../balanced/balanced.uplc.expected | 1 + .../equal-pairing/equal-pairing.uplc | 22 + .../equal-pairing/equal-pairing.uplc.expected | 1 + .../left-additive/left-additive.uplc | 52 +++ .../left-additive/left-additive.uplc.expected | 1 + .../random-pairing/random-pairing.uplc | 22 + .../random-pairing.uplc.expected | 1 + .../right-additive/right-additive.uplc | 41 ++ .../right-additive.uplc.expected | 1 + .../chooseDataByteString.uplc | 8 + .../chooseDataByteString.uplc.expected | 1 + .../chooseDataConstr/chooseDataConstr.uplc | 8 + .../chooseDataConstr.uplc.expected | 1 + .../chooseDataInteger/chooseDataInteger.uplc | 8 + .../chooseDataInteger.uplc.expected | 1 + .../chooseDataList/chooseDataList.uplc | 8 + .../chooseDataList.uplc.expected | 1 + .../chooseDataMap/chooseDataMap.uplc | 8 + .../chooseDataMap/chooseDataMap.uplc.expected | 1 + .../chooseList/chooseList1/chooseList1.uplc | 1 + .../chooseList1/chooseList1.uplc.expected | 1 + .../chooseList/chooseList2/chooseList2.uplc | 1 + .../chooseList2/chooseList2.uplc.expected | 1 + .../semantics/chooseUnit/chooseUnit.uplc | 1 + .../chooseUnit/chooseUnit.uplc.expected | 1 + .../consByteString1/consByteString1.uplc | 2 + .../consByteString1.uplc.expected | 1 + .../consByteString2/consByteString2.uplc | 3 + .../consByteString2.uplc.expected | 1 + .../consByteString3/consByteString3.uplc | 3 + .../consByteString3.uplc.expected | 1 + .../semantics/constrData/constrData.uplc | 1 + .../constrData/constrData.uplc.expected | 1 + .../decodeUtf8-invalid.uplc | 2 + .../decodeUtf8-invalid.uplc.expected | 1 + .../decodeUtf8-ok/decodeUtf8-ok.uplc | 1 + .../decodeUtf8-ok/decodeUtf8-ok.uplc.expected | 1 + .../divideInteger-neg-neg.uplc | 1 + .../divideInteger-neg-neg.uplc.expected | 1 + .../divideInteger-neg-pos.uplc | 1 + .../divideInteger-neg-pos.uplc.expected | 1 + .../divideInteger-pos-neg.uplc | 1 + .../divideInteger-pos-neg.uplc.expected | 1 + .../divideInteger-pos-pos.uplc | 1 + .../divideInteger-pos-pos.uplc.expected | 1 + .../divideInteger-zero.uplc | 1 + .../divideInteger-zero.uplc.expected | 1 + .../divideInteger1/divideInteger1.uplc | 1 + .../divideInteger1.uplc.expected | 1 + .../semantics/encodeUtf8/encodeUtf8.uplc | 1 + .../encodeUtf8/encodeUtf8.uplc.expected | 1 + .../equalsByteString/equalsByteString.uplc | 1 + .../equalsByteString.uplc.expected | 1 + .../equalsByteString1/equalsByteString1.uplc | 3 + .../equalsByteString1.uplc.expected | 1 + .../equalsByteString2/equalsByteString2.uplc | 3 + .../equalsByteString2.uplc.expected | 1 + .../semantics/equalsData/equalsData.uplc | 3 + .../equalsData/equalsData.uplc.expected | 1 + .../equalsInteger1/equalsInteger1.uplc | 1 + .../equalsInteger1.uplc.expected | 1 + .../equalsInteger2/equalsInteger2.uplc | 1 + .../equalsInteger2.uplc.expected | 1 + .../equalsInteger3/equalsInteger3.uplc | 1 + .../equalsInteger3.uplc.expected | 1 + .../equalsString1/equalsString1.uplc | 1 + .../equalsString1/equalsString1.uplc.expected | 1 + .../equalsString2/equalsString2.uplc | 1 + .../equalsString2/equalsString2.uplc.expected | 1 + .../fstPairOfPairAndList.uplc | 5 + .../fstPairOfPairAndList.uplc.expected | 1 + .../headList/headList1/headList1.uplc | 1 + .../headList1/headList1.uplc.expected | 1 + .../headList/headList2/headList2.uplc | 1 + .../headList2/headList2.uplc.expected | 1 + .../headList/headList3/headList3.uplc | 1 + .../headList3/headList3.uplc.expected | 1 + .../headList/headPartial/headPartial.uplc | 2 + .../headPartial/headPartial.uplc.expected | 1 + .../builtin/semantics/iData/iData.uplc | 1 + .../semantics/iData/iData.uplc.expected | 1 + .../ifThenElse/ifThenElse-1/ifThenElse-1.uplc | 1 + .../ifThenElse-1/ifThenElse-1.uplc.expected | 1 + .../ifThenElse/ifThenElse-2/ifThenElse-2.uplc | 3 + .../ifThenElse-2/ifThenElse-2.uplc.expected | 1 + .../ifThenElse/ifThenElse-3/ifThenElse-3.uplc | 3 + .../ifThenElse-3/ifThenElse-3.uplc.expected | 1 + .../ifThenElse/ifThenElse-4/ifThenElse-4.uplc | 3 + .../ifThenElse-4/ifThenElse-4.uplc.expected | 1 + .../ifThenElse-no-force.uplc | 1 + .../ifThenElse-no-force.uplc.expected | 1 + .../indexByteString1/indexByteString1.uplc | 1 + .../indexByteString1.uplc.expected | 1 + .../indexByteStringOOB.uplc | 1 + .../indexByteStringOOB.uplc.expected | 1 + .../indexByteStringOverflow.uplc | 3 + .../indexByteStringOverflow.uplc.expected | 1 + .../keccak_256-empty/keccak_256-empty.uplc | 17 + .../keccak_256-empty.uplc.expected | 1 + .../keccak_256-length-200.uplc | 17 + .../keccak_256-length-200.uplc.expected | 1 + .../lengthOfByteString.uplc | 1 + .../lengthOfByteString.uplc.expected | 1 + .../lessThanByteString0.uplc | 1 + .../lessThanByteString0.uplc.expected | 1 + .../lessThanByteString1.uplc | 3 + .../lessThanByteString1.uplc.expected | 1 + .../lessThanByteString2.uplc | 3 + .../lessThanByteString2.uplc.expected | 1 + .../lessThanByteString3.uplc | 3 + .../lessThanByteString3.uplc.expected | 1 + .../lessThanByteString4.uplc | 3 + .../lessThanByteString4.uplc.expected | 1 + .../lessThanByteString5.uplc | 3 + .../lessThanByteString5.uplc.expected | 1 + .../lessThanEqualsByteString0.uplc | 1 + .../lessThanEqualsByteString0.uplc.expected | 1 + .../lessThanEqualsByteString1.uplc | 3 + .../lessThanEqualsByteString1.uplc.expected | 1 + .../lessThanEqualsByteString2.uplc | 3 + .../lessThanEqualsByteString2.uplc.expected | 1 + .../lessThanEqualsByteString3.uplc | 3 + .../lessThanEqualsByteString3.uplc.expected | 1 + .../lessThanEqualsInteger1.uplc | 1 + .../lessThanEqualsInteger1.uplc.expected | 1 + .../lessThanEqualsInteger2.uplc | 3 + .../lessThanEqualsInteger2.uplc.expected | 1 + .../lessThanEqualsInteger3.uplc | 3 + .../lessThanEqualsInteger3.uplc.expected | 1 + .../lessThanEqualsInteger4.uplc | 3 + .../lessThanEqualsInteger4.uplc.expected | 1 + .../lessThanEqualsInteger5.uplc | 3 + .../lessThanEqualsInteger5.uplc.expected | 1 + .../lessThanInteger1/lessThanInteger1.uplc | 1 + .../lessThanInteger1.uplc.expected | 1 + .../lessThanInteger2/lessThanInteger2.uplc | 3 + .../lessThanInteger2.uplc.expected | 1 + .../lessThanInteger3/lessThanInteger3.uplc | 3 + .../lessThanInteger3.uplc.expected | 1 + .../lessThanInteger4/lessThanInteger4.uplc | 3 + .../lessThanInteger4.uplc.expected | 1 + .../lessThanInteger5/lessThanInteger5.uplc | 3 + .../lessThanInteger5.uplc.expected | 1 + .../builtin/semantics/listData/listData.uplc | 1 + .../semantics/listData/listData.uplc.expected | 1 + .../semantics/listOfList/listOfList.uplc | 1 + .../listOfList/listOfList.uplc.expected | 1 + .../semantics/listOfPair/listOfPair.uplc | 1 + .../listOfPair/listOfPair.uplc.expected | 1 + .../builtin/semantics/mapData/mapData.uplc | 3 + .../semantics/mapData/mapData.uplc.expected | 1 + .../mkCons/divideInteger/divideInteger.uplc | 1 + .../divideInteger/divideInteger.uplc.expected | 1 + .../mkCons/mkCons-fail/mkCons-fail.uplc | 4 + .../mkCons-fail/mkCons-fail.uplc.expected | 1 + .../semantics/mkCons/mkCons1/mkCons1.uplc | 1 + .../mkCons/mkCons1/mkCons1.uplc.expected | 1 + .../semantics/mkCons/mkCons2/mkCons2.uplc | 1 + .../mkCons/mkCons2/mkCons2.uplc.expected | 1 + .../semantics/mkNilData/mkNilData.uplc | 1 + .../mkNilData/mkNilData.uplc.expected | 1 + .../mkNilPairData/mkNilPairData.uplc | 1 + .../mkNilPairData/mkNilPairData.uplc.expected | 1 + .../semantics/mkPairData/mkPairData.uplc | 3 + .../mkPairData/mkPairData.uplc.expected | 1 + .../modInteger-neg-neg.uplc | 1 + .../modInteger-neg-neg.uplc.expected | 1 + .../modInteger-neg-pos.uplc | 1 + .../modInteger-neg-pos.uplc.expected | 1 + .../modInteger-pos-neg.uplc | 1 + .../modInteger-pos-neg.uplc.expected | 1 + .../modInteger-pos-pos.uplc | 1 + .../modInteger-pos-pos.uplc.expected | 1 + .../modInteger-zero/modInteger-zero.uplc | 1 + .../modInteger-zero.uplc.expected | 1 + .../modInteger/modInteger1/modInteger1.uplc | 1 + .../modInteger1/modInteger1.uplc.expected | 1 + .../multiplyInteger1/multiplyInteger1.uplc | 1 + .../multiplyInteger1.uplc.expected | 1 + .../multiplyInteger2/multiplyInteger2.uplc | 1 + .../multiplyInteger2.uplc.expected | 1 + .../multiplyInteger3/multiplyInteger3.uplc | 1 + .../multiplyInteger3.uplc.expected | 1 + .../multiplyInteger4/multiplyInteger4.uplc | 1 + .../multiplyInteger4.uplc.expected | 1 + .../multiplyInteger5/multiplyInteger5.uplc | 1 + .../multiplyInteger5.uplc.expected | 1 + .../multiplyInteger6/multiplyInteger6.uplc | 1 + .../multiplyInteger6.uplc.expected | 1 + .../builtin/semantics/nullList/nullList.uplc | 1 + .../semantics/nullList/nullList.uplc.expected | 1 + .../semantics/nullList2/nullList2.uplc | 1 + .../nullList2/nullList2.uplc.expected | 1 + .../pairOfPairAndList/pairOfPairAndList.uplc | 6 + .../pairOfPairAndList.uplc.expected | 4 + .../quotientInteger-neg-neg.uplc | 1 + .../quotientInteger-neg-neg.uplc.expected | 1 + .../quotientInteger-neg-pos.uplc | 1 + .../quotientInteger-neg-pos.uplc.expected | 1 + .../quotientInteger-pos-neg.uplc | 1 + .../quotientInteger-pos-neg.uplc.expected | 1 + .../quotientInteger-pos-pos.uplc | 1 + .../quotientInteger-pos-pos.uplc.expected | 1 + .../quotientInteger-zero.uplc | 1 + .../quotientInteger-zero.uplc.expected | 1 + .../quotientInteger1/quotientInteger1.uplc | 1 + .../quotientInteger1.uplc.expected | 1 + .../remainderInteger-neg-neg.uplc | 1 + .../remainderInteger-neg-neg.uplc.expected | 1 + .../remainderInteger-neg-pos.uplc | 1 + .../remainderInteger-neg-pos.uplc.expected | 1 + .../remainderInteger-pos-neg.uplc | 1 + .../remainderInteger-pos-neg.uplc.expected | 1 + .../remainderInteger-pos-pos.uplc | 1 + .../remainderInteger-pos-pos.uplc.expected | 1 + .../remainderInteger-zero.uplc | 1 + .../remainderInteger-zero.uplc.expected | 1 + .../remainderInteger1/remainderInteger1.uplc | 1 + .../remainderInteger1.uplc.expected | 1 + .../sha2_256-empty/sha2_256-empty.uplc | 14 + .../sha2_256-empty.uplc.expected | 1 + .../sha2_256-length-200.uplc | 14 + .../sha2_256-length-200.uplc.expected | 1 + .../sha3_256-empty/sha3_256-empty.uplc | 14 + .../sha3_256-empty.uplc.expected | 1 + .../sha3_256-length-200.uplc | 14 + .../sha3_256-length-200.uplc.expected | 1 + .../sliceByteString1/sliceByteString1.uplc | 3 + .../sliceByteString1.uplc.expected | 1 + .../sliceByteString2/sliceByteString2.uplc | 3 + .../sliceByteString2.uplc.expected | 1 + .../sliceByteString3/sliceByteString3.uplc | 3 + .../sliceByteString3.uplc.expected | 1 + .../sliceByteString4/sliceByteString4.uplc | 3 + .../sliceByteString4.uplc.expected | 1 + .../sliceByteString5/sliceByteString5.uplc | 3 + .../sliceByteString5.uplc.expected | 1 + .../sndPairOfPairAndList.uplc | 5 + .../sndPairOfPairAndList.uplc.expected | 1 + .../subtractInteger-non-iter.uplc | 1 + .../subtractInteger-non-iter.uplc.expected | 1 + .../subtractInteger1/subtractInteger1.uplc | 1 + .../subtractInteger1.uplc.expected | 1 + .../subtractInteger2/subtractInteger2.uplc | 1 + .../subtractInteger2.uplc.expected | 1 + .../subtractInteger3/subtractInteger3.uplc | 1 + .../subtractInteger3.uplc.expected | 1 + .../subtractInteger4/subtractInteger4.uplc | 1 + .../subtractInteger4.uplc.expected | 1 + .../tailList-partial/tailList-partial.uplc | 2 + .../tailList-partial.uplc.expected | 1 + .../tailList/tailList1/tailList1.uplc | 1 + .../tailList1/tailList1.uplc.expected | 1 + .../builtin/semantics/trace/trace.uplc | 1 + .../semantics/trace/trace.uplc.expected | 1 + .../unBData/unBData-fail/unBData-fail.uplc | 2 + .../unBData-fail/unBData-fail.uplc.expected | 1 + .../semantics/unBData/unBData1/unBData1.uplc | 1 + .../unBData/unBData1/unBData1.uplc.expected | 1 + .../unConstrData-fail/unConstrData-fail.uplc | 2 + .../unConstrData-fail.uplc.expected | 1 + .../unConstrData1/unConstrData1.uplc | 1 + .../unConstrData1/unConstrData1.uplc.expected | 1 + .../unIData/unIData-fail/unIData-fail.uplc | 2 + .../unIData-fail/unIData-fail.uplc.expected | 1 + .../semantics/unIData/unIData1/unIData1.uplc | 1 + .../unIData/unIData1/unIData1.uplc.expected | 1 + .../unListData-fail/unListData-fail.uplc | 2 + .../unListData-fail.uplc.expected | 1 + .../unListData/unListData1/unListData1.uplc | 1 + .../unListData1/unListData1.uplc.expected | 1 + .../unMapData-fail/unMapData-fail.uplc | 2 + .../unMapData-fail.uplc.expected | 1 + .../unMapData/unMapData1/unMapData1.uplc | 1 + .../unMapData1/unMapData1.uplc.expected | 1 + ...fyEcdsaSecp256k1Signature-invalid-key.uplc | 7 + ...cp256k1Signature-invalid-key.uplc.expected | 1 + ...erifyEcdsaSecp256k1Signature-long-key.uplc | 4 + ...aSecp256k1Signature-long-key.uplc.expected | 1 + ...erifyEcdsaSecp256k1Signature-long-msg.uplc | 4 + ...aSecp256k1Signature-long-msg.uplc.expected | 1 + ...erifyEcdsaSecp256k1Signature-long-sig.uplc | 4 + ...aSecp256k1Signature-long-sig.uplc.expected | 1 + ...rifyEcdsaSecp256k1Signature-short-key.uplc | 4 + ...Secp256k1Signature-short-key.uplc.expected | 1 + ...rifyEcdsaSecp256k1Signature-short-msg.uplc | 4 + ...Secp256k1Signature-short-msg.uplc.expected | 1 + ...rifyEcdsaSecp256k1Signature-short-sig.uplc | 4 + ...Secp256k1Signature-short-sig.uplc.expected | 1 + .../verifyEd25519Signature1.uplc | 4 + .../verifyEd25519Signature1.uplc.expected | 1 + .../verifyEd25519Signature10.uplc | 4 + .../verifyEd25519Signature10.uplc.expected | 1 + .../verifyEd25519Signature11.uplc | 4 + .../verifyEd25519Signature11.uplc.expected | 1 + .../verifyEd25519Signature12.uplc | 4 + .../verifyEd25519Signature12.uplc.expected | 1 + .../verifyEd25519Signature13.uplc | 4 + .../verifyEd25519Signature13.uplc.expected | 1 + .../verifyEd25519Signature14.uplc | 4 + .../verifyEd25519Signature14.uplc.expected | 1 + .../verifyEd25519Signature15.uplc | 4 + .../verifyEd25519Signature15.uplc.expected | 1 + .../verifyEd25519Signature16.uplc | 4 + .../verifyEd25519Signature16.uplc.expected | 1 + .../verifyEd25519Signature17.uplc | 4 + .../verifyEd25519Signature17.uplc.expected | 1 + .../verifyEd25519Signature18.uplc | 4 + .../verifyEd25519Signature18.uplc.expected | 1 + .../verifyEd25519Signature19.uplc | 4 + .../verifyEd25519Signature19.uplc.expected | 1 + .../verifyEd25519Signature2.uplc | 4 + .../verifyEd25519Signature2.uplc.expected | 1 + .../verifyEd25519Signature20.uplc | 4 + .../verifyEd25519Signature20.uplc.expected | 1 + .../verifyEd25519Signature21.uplc | 4 + .../verifyEd25519Signature21.uplc.expected | 1 + .../verifyEd25519Signature22.uplc | 4 + .../verifyEd25519Signature22.uplc.expected | 1 + .../verifyEd25519Signature23.uplc | 4 + .../verifyEd25519Signature23.uplc.expected | 1 + .../verifyEd25519Signature24.uplc | 4 + .../verifyEd25519Signature24.uplc.expected | 1 + .../verifyEd25519Signature25.uplc | 4 + .../verifyEd25519Signature25.uplc.expected | 1 + .../verifyEd25519Signature26.uplc | 4 + .../verifyEd25519Signature26.uplc.expected | 1 + .../verifyEd25519Signature27.uplc | 4 + .../verifyEd25519Signature27.uplc.expected | 1 + .../verifyEd25519Signature28.uplc | 4 + .../verifyEd25519Signature28.uplc.expected | 1 + .../verifyEd25519Signature29.uplc | 4 + .../verifyEd25519Signature29.uplc.expected | 1 + .../verifyEd25519Signature3.uplc | 5 + .../verifyEd25519Signature3.uplc.expected | 1 + .../verifyEd25519Signature30.uplc | 4 + .../verifyEd25519Signature30.uplc.expected | 1 + .../verifyEd25519Signature31.uplc | 4 + .../verifyEd25519Signature31.uplc.expected | 1 + .../verifyEd25519Signature4.uplc | 4 + .../verifyEd25519Signature4.uplc.expected | 1 + .../verifyEd25519Signature5.uplc | 4 + .../verifyEd25519Signature5.uplc.expected | 1 + .../verifyEd25519Signature6.uplc | 4 + .../verifyEd25519Signature6.uplc.expected | 1 + .../verifyEd25519Signature7.uplc | 4 + .../verifyEd25519Signature7.uplc.expected | 1 + .../verifyEd25519Signature8.uplc | 4 + .../verifyEd25519Signature8.uplc.expected | 1 + .../verifyEd25519Signature9.uplc | 4 + .../verifyEd25519Signature9.uplc.expected | 1 + .../verifyEd25519SignatureLongKey.uplc | 4 + ...erifyEd25519SignatureLongKey.uplc.expected | 1 + .../verifyEd25519SignatureLongSig.uplc | 4 + ...erifyEd25519SignatureLongSig.uplc.expected | 1 + .../verifyEd25519SignatureShortKey.uplc | 4 + ...rifyEd25519SignatureShortKey.uplc.expected | 1 + .../verifyEd25519SignatureShortSig.uplc | 4 + ...rifyEd25519SignatureShortSig.uplc.expected | 1 + ...ifySchnorrSecp256k1Signature-long-key.uplc | 4 + ...rSecp256k1Signature-long-key.uplc.expected | 1 + ...ifySchnorrSecp256k1Signature-long-sig.uplc | 4 + ...rSecp256k1Signature-long-sig.uplc.expected | 1 + ...fySchnorrSecp256k1Signature-short-key.uplc | 4 + ...Secp256k1Signature-short-key.uplc.expected | 1 + ...fySchnorrSecp256k1Signature-short-sig.uplc | 4 + ...Secp256k1Signature-short-sig.uplc.expected | 1 + .../example/ApplyAdd1/ApplyAdd1.uplc | 94 ++++ .../example/ApplyAdd1/ApplyAdd1.uplc.expected | 1 + .../example/ApplyAdd2/ApplyAdd2.uplc | 106 +++++ .../example/ApplyAdd2/ApplyAdd2.uplc.expected | 1 + .../example/DivideByZero/DivideByZero.uplc | 50 +++ .../DivideByZero/DivideByZero.uplc.expected | 1 + .../DivideByZeroDrop/DivideByZeroDrop.uplc | 44 ++ .../DivideByZeroDrop.uplc.expected | 1 + .../example/IfIntegers/IfIntegers.uplc | 91 ++++ .../IfIntegers/IfIntegers.uplc.expected | 1 + .../example/NatRoundTrip/NatRoundTrip.uplc | 51 +++ .../NatRoundTrip/NatRoundTrip.uplc.expected | 1 + .../example/ScottListSum/ScottListSum.uplc | 64 +++ .../ScottListSum/ScottListSum.uplc.expected | 1 + .../example/churchSucc/churchSucc.uplc | 1 + .../churchSucc/churchSucc.uplc.expected | 1 + .../example/churchZero/churchZero.uplc | 1 + .../churchZero/churchZero.uplc.expected | 1 + .../evaluation/example/even2/even2.uplc | 176 ++++++++ .../example/even2/even2.uplc.expected | 1 + .../evaluation/example/even3/even3.uplc | 179 ++++++++ .../example/even3/even3.uplc.expected | 1 + .../evaluation/example/evenList/evenList.uplc | 416 ++++++++++++++++++ .../example/evenList/evenList.uplc.expected | 1 + .../example/factorial/factorial.uplc | 184 ++++++++ .../example/factorial/factorial.uplc.expected | 1 + .../example/fibonacci/fibonacci.uplc | 77 ++++ .../example/fibonacci/fibonacci.uplc.expected | 1 + .../example/force-lam/force-lam.uplc | 1 + .../example/force-lam/force-lam.uplc.expected | 1 + .../overapplication/overapplication.uplc | 19 + .../overapplication.uplc.expected | 1 + .../example/succInteger/succInteger.uplc | 1 + .../succInteger/succInteger.uplc.expected | 1 + .../evaluation/term/app/app-1/app-1.uplc | 1 + .../term/app/app-1/app-1.uplc.expected | 1 + .../evaluation/term/app/app-2/app-2.uplc | 1 + .../term/app/app-2/app-2.uplc.expected | 1 + .../evaluation/term/app/app-3/app-3.uplc | 3 + .../term/app/app-3/app-3.uplc.expected | 1 + .../evaluation/term/app/app-4/app-4.uplc | 3 + .../term/app/app-4/app-4.uplc.expected | 1 + .../evaluation/term/app/app-5/app-5.uplc | 3 + .../term/app/app-5/app-5.uplc.expected | 1 + .../evaluation/term/app/app-6/app-6.uplc | 3 + .../term/app/app-6/app-6.uplc.expected | 1 + .../evaluation/term/app/app-7/app-7.uplc | 3 + .../term/app/app-7/app-7.uplc.expected | 1 + .../evaluation/term/app/app-8/app-8.uplc | 3 + .../term/app/app-8/app-8.uplc.expected | 1 + .../evaluation/term/app/app-9/app-9.uplc | 3 + .../term/app/app-9/app-9.uplc.expected | 1 + .../term/argExpected/argExpected.uplc | 2 + .../argExpected/argExpected.uplc.expected | 1 + .../evaluation/term/case/case-1/case-1.uplc | 4 + .../term/case/case-1/case-1.uplc.expected | 1 + .../evaluation/term/case/case-2/case-2.uplc | 4 + .../term/case/case-2/case-2.uplc.expected | 1 + .../evaluation/term/case/case-3/case-3.uplc | 4 + .../term/case/case-3/case-3.uplc.expected | 1 + .../evaluation/term/case/case-4/case-4.uplc | 4 + .../term/case/case-4/case-4.uplc.expected | 1 + .../evaluation/term/case/case-5/case-5.uplc | 4 + .../term/case/case-5/case-5.uplc.expected | 1 + .../evaluation/term/case/case-6/case-6.uplc | 4 + .../term/case/case-6/case-6.uplc.expected | 1 + .../evaluation/term/case/case-7/case-7.uplc | 4 + .../term/case/case-7/case-7.uplc.expected | 1 + .../evaluation/term/case/case-8/case-8.uplc | 4 + .../term/case/case-8/case-8.uplc.expected | 1 + .../evaluation/term/case/case-9/case-9.uplc | 4 + .../term/case/case-9/case-9.uplc.expected | 1 + .../evaluation/term/closure/closure.uplc | 1 + .../term/closure/closure.uplc.expected | 1 + .../term/constr/constr-1/constr-1.uplc | 4 + .../constr/constr-1/constr-1.uplc.expected | 1 + .../term/constr/constr-2/constr-2.uplc | 4 + .../constr/constr-2/constr-2.uplc.expected | 1 + .../term/constr/constr-3/constr-3.uplc | 4 + .../constr/constr-3/constr-3.uplc.expected | 1 + .../term/constr/constr-4/constr-4.uplc | 4 + .../constr/constr-4/constr-4.uplc.expected | 1 + .../term/constr/constr-5/constr-5.uplc | 4 + .../constr/constr-5/constr-5.uplc.expected | 1 + .../term/constr/constr-6/constr-6.uplc | 4 + .../constr/constr-6/constr-6.uplc.expected | 1 + .../delay/delay-error-1/delay-error-1.uplc | 3 + .../delay-error-1/delay-error-1.uplc.expected | 1 + .../delay/delay-error-2/delay-error-2.uplc | 3 + .../delay-error-2/delay-error-2.uplc.expected | 1 + .../term/delay/delay-lam/delay-lam.uplc | 1 + .../delay/delay-lam/delay-lam.uplc.expected | 1 + .../term/force/force-1/force-1.uplc | 2 + .../term/force/force-1/force-1.uplc.expected | 1 + .../term/force/force-2/force-2.uplc | 3 + .../term/force/force-2/force-2.uplc.expected | 1 + .../term/force/force-3/force-3.uplc | 3 + .../term/force/force-3/force-3.uplc.expected | 1 + .../term/force/force-4/force-4.uplc | 3 + .../term/force/force-4/force-4.uplc.expected | 1 + .../evaluation/term/lam/lam-1/lam-1.uplc | 1 + .../term/lam/lam-1/lam-1.uplc.expected | 1 + .../evaluation/term/lam/lam-2/lam-2.uplc | 3 + .../term/lam/lam-2/lam-2.uplc.expected | 1 + .../nonFunctionalApplication.uplc | 1 + .../nonFunctionalApplication.uplc.expected | 1 + .../term/unlifting-sat/unlifting-sat.uplc | 2 + .../unlifting-sat/unlifting-sat.uplc.expected | 1 + .../term/unlifting-unsat/unlifting-unsat.uplc | 2 + .../unlifting-unsat.uplc.expected | 1 + .../conformance/evaluation/term/var/var.uplc | 1 + .../evaluation/term/var/var.uplc.expected | 1 + crates/uplc/tests/conformance.rs | 61 +++ 880 files changed, 5384 insertions(+), 2 deletions(-) create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/bad-syntax-1/bad-syntax-1.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/bad-syntax-1/bad-syntax-1.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/bad-syntax-2/bad-syntax-2.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/bad-syntax-2/bad-syntax-2.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/bad-zero-1/bad-zero-1.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/bad-zero-1/bad-zero-1.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/bad-zero-2/bad-zero-2.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/bad-zero-2/bad-zero-2.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/bad-zero-3/bad-zero-3.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/bad-zero-3/bad-zero-3.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/off-curve/off-curve.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/off-curve/off-curve.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/on-curve-bit3-clear/on-curve-bit3-clear.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/on-curve-bit3-clear/on-curve-bit3-clear.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/on-curve-bit3-set/on-curve-bit3-set.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/on-curve-bit3-set/on-curve-bit3-set.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/on-curve-serialised-not-compressed/on-curve-serialised-not-compressed.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/on-curve-serialised-not-compressed/on-curve-serialised-not-compressed.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/out-of-group/out-of-group.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/out-of-group/out-of-group.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/too-long/too-long.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/too-long/too-long.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/too-short/too-short.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/too-short/too-short.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/zero/zero.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/zero/zero.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/bad-syntax-1/bad-syntax-1.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/bad-syntax-1/bad-syntax-1.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/bad-syntax-2/bad-syntax-2.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/bad-syntax-2/bad-syntax-2.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/bad-zero-1/bad-zero-1.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/bad-zero-1/bad-zero-1.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/bad-zero-2/bad-zero-2.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/bad-zero-2/bad-zero-2.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/bad-zero-3/bad-zero-3.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/bad-zero-3/bad-zero-3.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/off-curve/off-curve.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/off-curve/off-curve.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/on-curve-bit3-clear/on-curve-bit3-clear.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/on-curve-bit3-clear/on-curve-bit3-clear.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/on-curve-bit3-set/on-curve-bit3-set.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/on-curve-bit3-set/on-curve-bit3-set.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/on-curve-serialised-not-compressed/on-curve-serialised-not-compressed.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/on-curve-serialised-not-compressed/on-curve-serialised-not-compressed.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/out-of-group/out-of-group.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/out-of-group/out-of-group.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/too-long/too-long.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/too-long/too-long.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/too-short/too-short.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/too-short/too-short.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/zero/zero.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/zero/zero.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bool/False/False.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bool/False/False.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bool/True/True.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bool/True/True.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bytestring/bytestring1/bytestring1.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bytestring/bytestring1/bytestring1.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bytestring/bytestring2/bytestring2.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bytestring/bytestring2/bytestring2.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bytestring/bytestring3/bytestring3.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bytestring/bytestring3/bytestring3.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bytestring/bytestring4/bytestring4.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/bytestring/bytestring4/bytestring4.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataByteString/dataByteString.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataByteString/dataByteString.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataConstr/dataConstr.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataConstr/dataConstr.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataInteger/dataInteger.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataInteger/dataInteger.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataList/dataList.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataList/dataList.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataMap/dataMap.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataMap/dataMap.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataMisByteString/dataMisByteString.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataMisByteString/dataMisByteString.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataMisConstr/dataMisConstr.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataMisConstr/dataMisConstr.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataMisInteger/dataMisInteger.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataMisInteger/dataMisInteger.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataMisList/dataMisList.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataMisList/dataMisList.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataMisMap/dataMisMap.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataMisMap/dataMisMap.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer1/integer1.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer1/integer1.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer10/integer10.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer10/integer10.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer2/integer2.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer2/integer2.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer3/integer3.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer3/integer3.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer4/integer4.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer4/integer4.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer5/integer5.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer5/integer5.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer6/integer6.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer6/integer6.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer7/integer7.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer7/integer7.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer8/integer8.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer8/integer8.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer9/integer9.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer9/integer9.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/list/emptyList/emptyList.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/list/emptyList/emptyList.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/list/simpleList/simpleList.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/list/simpleList/simpleList.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/list/unitList/unitList.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/list/unitList/unitList.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/pair/illTypedNestedPair/illTypedNestedPair.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/pair/illTypedNestedPair/illTypedNestedPair.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/pair/nestedPair/nestedPair.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/pair/nestedPair/nestedPair.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/pair/simplePair/simplePair.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/pair/simplePair/simplePair.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/string/string1/string1.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/string/string1/string1.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/string/string2/string2.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/string/string2/string2.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/string/string3/string3.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/string/string3/string3.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/string/string4/string4.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/string/string4/string4.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/string/string5/string5.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/string/string5/string5.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/string/string6/string6.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/string/string6/string6.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/unit/conUnit.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/unit/conUnit.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/constant/unit/unit.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/interleaving/README.md create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/interleaving/ite/ite.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/interleaving/ite/ite.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteAtIntegerArrowIntegerApplied1/iteAtIntegerArrowIntegerApplied1.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteAtIntegerArrowIntegerApplied1/iteAtIntegerArrowIntegerApplied1.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteAtIntegerArrowIntegerApplied2/iteAtIntegerArrowIntegerApplied2.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteAtIntegerArrowIntegerApplied2/iteAtIntegerArrowIntegerApplied2.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteAtIntegerArrowIntegerAppliedApplied/iteAtIntegerArrowIntegerAppliedApplied.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteAtIntegerArrowIntegerAppliedApplied/iteAtIntegerArrowIntegerAppliedApplied.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteAtIntegerArrowIntegerWithCond/iteAtIntegerArrowIntegerWithCond.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteAtIntegerArrowIntegerWithCond/iteAtIntegerArrowIntegerWithCond.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteForceAppForce/iteForceAppForce.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteForceAppForce/iteForceAppForce.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteForced/iteForced.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteForced/iteForced.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteForcedForced/iteForcedForced.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteForcedForced/iteForcedForced.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteForcedWithIntegerAndString/iteForcedWithIntegerAndString.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteForcedWithIntegerAndString/iteForcedWithIntegerAndString.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteStringInteger/iteStringInteger.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteStringInteger/iteStringInteger.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteStringString/iteStringString.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteStringString/iteStringString.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteUnforcedFullyApplied/iteUnforcedFullyApplied.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteUnforcedFullyApplied/iteUnforcedFullyApplied.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteUnforcedWithCond/iteUnforcedWithCond.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteUnforcedWithCond/iteUnforcedWithCond.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteWrongCondTypeFullyAppied/iteWrongCondTypeFullyAppied.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteWrongCondTypeFullyAppied/iteWrongCondTypeFullyAppied.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteWrongCondTypePartiallyApplied/iteWrongCondTypePartiallyApplied.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteWrongCondTypePartiallyApplied/iteWrongCondTypePartiallyApplied.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/interleaving/multiplyIntegerForceError1/multiplyIntegerForceError1.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/interleaving/multiplyIntegerForceError1/multiplyIntegerForceError1.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/interleaving/multiplyIntegerForceError2/multiplyIntegerForceError2.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/interleaving/multiplyIntegerForceError2/multiplyIntegerForceError2.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/interleaving/multiplyIntegerForceError3/multiplyIntegerForceError3.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/interleaving/multiplyIntegerForceError3/multiplyIntegerForceError3.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/README.md create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/addInteger/addInteger-uncurried/addInteger-uncurried.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/addInteger/addInteger-uncurried/addInteger-uncurried.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/addInteger/addInteger1/addInteger1.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/addInteger/addInteger1/addInteger1.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/addInteger/addInteger2/addInteger2.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/addInteger/addInteger2/addInteger2.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/addInteger/addInteger3/addInteger3.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/addInteger/addInteger3/addInteger3.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/addInteger/addInteger4/addInteger4.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/addInteger/addInteger4/addInteger4.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/appendByteString/appendByteString1/appendByteString1.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/appendByteString/appendByteString1/appendByteString1.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/appendByteString/appendByteString2/appendByteString2.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/appendByteString/appendByteString2/appendByteString2.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/appendByteString/appendByteString3/appendByteString3.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/appendByteString/appendByteString3/appendByteString3.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/appendString/appendString.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/appendString/appendString.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bData/bData.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bData/bData.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/blake2b_224/blake2b_224-empty/blake2b_224-empty.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/blake2b_224/blake2b_224-empty/blake2b_224-empty.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/blake2b_224/blake2b_224-length-200/blake2b_224-length-200.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/blake2b_224/blake2b_224-length-200/blake2b_224-length-200.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/blake2b_256/blake2b_256-empty/blake2b_256-empty.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/blake2b_256/blake2b_256-empty/blake2b_256-empty.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/blake2b_256/blake2b_256-length-200/blake2b_256-length-200.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/blake2b_256/blake2b_256-length-200/blake2b_256-length-200.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G1/arith/add/add.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G1/arith/add/add.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G1/arith/neg/neg.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G1/arith/neg/neg.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G1/arith/scalarMul/scalarMul.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G1/arith/scalarMul/scalarMul.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G1/uncompress/off-curve/off-curve.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G1/uncompress/off-curve/off-curve.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G1/uncompress/out-of-group/out-of-group.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G1/uncompress/out-of-group/out-of-group.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G2/arith/add/add.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G2/arith/add/add.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G2/arith/neg/neg.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G2/arith/neg/neg.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G2/arith/scalarMul/scalarMul.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G2/arith/scalarMul/scalarMul.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G2/uncompress/off-curve/off-curve.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G2/uncompress/off-curve/off-curve.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G2/uncompress/out-of-group/out-of-group.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G2/uncompress/out-of-group/out-of-group.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/README.md create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/pairing/balanced/balanced.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/pairing/balanced/balanced.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/pairing/left-additive/left-additive.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/pairing/left-additive/left-additive.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/pairing/left-multiplicative/left-multiplicative.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/pairing/left-multiplicative/left-multiplicative.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/pairing/right-additive/right-additive.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/pairing/right-additive/right-additive.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/pairing/right-multiplicative/right-multiplicative.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/pairing/right-multiplicative/right-multiplicative.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/pairing/swap-scalars/swap-scalars.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/pairing/swap-scalars/swap-scalars.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/signature/augmented/augmented.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/signature/augmented/augmented.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/signature/large-dst/large-dst.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/signature/large-dst/large-dst.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_add/add-associative/add-associative.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_add/add-associative/add-associative.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_add/add-commutative/add-commutative.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_add/add-commutative/add-commutative.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_add/add-zero/add-zero.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_add/add-zero/add-zero.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_add/add/add.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_add/add/add.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_compress/compress/compress.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_compress/compress/compress.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_equal/equal-false/equal-false.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_equal/equal-false/equal-false.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_equal/equal-true/equal-true.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_equal/equal-true/equal-true.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_hashToGroup/hash-different-msg-same-dst/hash-different-msg-same-dst.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_hashToGroup/hash-different-msg-same-dst/hash-different-msg-same-dst.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_hashToGroup/hash-dst-len-255/hash-dst-len-255.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_hashToGroup/hash-dst-len-255/hash-dst-len-255.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_hashToGroup/hash-dst-len-256/hash-dst-len-256.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_hashToGroup/hash-dst-len-256/hash-dst-len-256.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_hashToGroup/hash-empty-dst/hash-empty-dst.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_hashToGroup/hash-empty-dst/hash-empty-dst.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_hashToGroup/hash-same-msg-different-dst/hash-same-msg-different-dst.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_hashToGroup/hash-same-msg-different-dst/hash-same-msg-different-dst.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_hashToGroup/hash/hash.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_hashToGroup/hash/hash.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_neg/add-neg/add-neg.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_neg/add-neg/add-neg.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_neg/neg-zero/neg-zero.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_neg/neg-zero/neg-zero.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_neg/neg/neg.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_neg/neg/neg.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/addmul/addmul.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/addmul/addmul.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul0/mul0.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul0/mul0.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul1/mul1.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul1/mul1.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul19+25/mul19+25.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul19+25/mul19+25.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul44/mul44.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul44/mul44.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul4x11/mul4x11.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul4x11/mul4x11.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/muladd/muladd.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/muladd/muladd.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulneg1/mulneg1.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulneg1/mulneg1.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulneg44/mulneg44.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulneg44/mulneg44.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulperiodic1/mulperiodic1.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulperiodic1/mulperiodic1.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulperiodic2/mulperiodic2.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulperiodic2/mulperiodic2.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulperiodic3/mulperiodic3.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulperiodic3/mulperiodic3.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulperiodic4/mulperiodic4.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulperiodic4/mulperiodic4.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/bad-zero-1/bad-zero-1.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/bad-zero-1/bad-zero-1.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/bad-zero-2/bad-zero-2.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/bad-zero-2/bad-zero-2.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/bad-zero-3/bad-zero-3.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/bad-zero-3/bad-zero-3.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/off-curve/off-curve.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/off-curve/off-curve.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/on-curve-bit3-clear/on-curve-bit3-clear.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/on-curve-bit3-clear/on-curve-bit3-clear.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/on-curve-bit3-set/on-curve-bit3-set.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/on-curve-bit3-set/on-curve-bit3-set.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/on-curve-serialised-not-compressed/on-curve-serialised-not-compressed.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/on-curve-serialised-not-compressed/on-curve-serialised-not-compressed.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/out-of-group/out-of-group.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/out-of-group/out-of-group.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/too-long/too-long.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/too-long/too-long.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/too-short/too-short.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/too-short/too-short.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/zero/zero.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/zero/zero.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_add/add-associative/add-associative.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_add/add-associative/add-associative.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_add/add-commutative/add-commutative.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_add/add-commutative/add-commutative.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_add/add-zero/add-zero.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_add/add-zero/add-zero.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_add/add/add.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_add/add/add.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_compress/compress/compress.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_compress/compress/compress.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_equal/equal-false/equal-false.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_equal/equal-false/equal-false.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_equal/equal-true/equal-true.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_equal/equal-true/equal-true.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_hashToGroup/hash-different-msg-same-dst/hash-different-msg-same-dst.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_hashToGroup/hash-different-msg-same-dst/hash-different-msg-same-dst.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_hashToGroup/hash-dst-len-255/hash-dst-len-255.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_hashToGroup/hash-dst-len-255/hash-dst-len-255.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_hashToGroup/hash-dst-len-256/hash-dst-len-256.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_hashToGroup/hash-dst-len-256/hash-dst-len-256.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_hashToGroup/hash-empty-dst/hash-empty-dst.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_hashToGroup/hash-empty-dst/hash-empty-dst.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_hashToGroup/hash-same-msg-different-dst/hash-same-msg-different-dst.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_hashToGroup/hash-same-msg-different-dst/hash-same-msg-different-dst.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_hashToGroup/hash/hash.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_hashToGroup/hash/hash.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_neg/add-neg/add-neg.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_neg/add-neg/add-neg.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_neg/neg-zero/neg-zero.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_neg/neg-zero/neg-zero.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_neg/neg/neg.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_neg/neg/neg.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/addmul/addmul.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/addmul/addmul.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul0/mul0.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul0/mul0.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul1/mul1.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul1/mul1.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul19+25/mul19+25.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul19+25/mul19+25.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul44/mul44.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul44/mul44.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul4x11/mul4x11.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul4x11/mul4x11.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/muladd/muladd.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/muladd/muladd.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulneg1/mulneg1.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulneg1/mulneg1.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulneg44/mulneg44.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulneg44/mulneg44.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulperiodic1/mulperiodic1.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulperiodic1/mulperiodic1.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulperiodic2/mulperiodic2.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulperiodic2/mulperiodic2.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulperiodic3/mulperiodic3.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulperiodic3/mulperiodic3.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulperiodic4/mulperiodic4.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulperiodic4/mulperiodic4.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/bad-zero-1/bad-zero-1.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/bad-zero-1/bad-zero-1.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/bad-zero-2/bad-zero-2.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/bad-zero-2/bad-zero-2.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/bad-zero-3/bad-zero-3.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/bad-zero-3/bad-zero-3.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/off-curve/off-curve.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/off-curve/off-curve.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/on-curve-bit3-clear/on-curve-bit3-clear.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/on-curve-bit3-clear/on-curve-bit3-clear.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/on-curve-bit3-set/on-curve-bit3-set.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/on-curve-bit3-set/on-curve-bit3-set.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/on-curve-serialised-not-compressed/on-curve-serialised-not-compressed.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/on-curve-serialised-not-compressed/on-curve-serialised-not-compressed.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/out-of-group/out-of-group.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/out-of-group/out-of-group.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/too-long/too-long.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/too-long/too-long.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/too-short/too-short.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/too-short/too-short.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/zero/zero.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/zero/zero.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_millerLoop/balanced/balanced.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_millerLoop/balanced/balanced.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_millerLoop/equal-pairing/equal-pairing.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_millerLoop/equal-pairing/equal-pairing.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_millerLoop/left-additive/left-additive.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_millerLoop/left-additive/left-additive.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_millerLoop/random-pairing/random-pairing.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_millerLoop/random-pairing/random-pairing.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_millerLoop/right-additive/right-additive.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_millerLoop/right-additive/right-additive.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseDataByteString/chooseDataByteString.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseDataByteString/chooseDataByteString.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseDataConstr/chooseDataConstr.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseDataConstr/chooseDataConstr.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseDataInteger/chooseDataInteger.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseDataInteger/chooseDataInteger.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseDataList/chooseDataList.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseDataList/chooseDataList.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseDataMap/chooseDataMap.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseDataMap/chooseDataMap.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseList/chooseList1/chooseList1.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseList/chooseList1/chooseList1.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseList/chooseList2/chooseList2.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseList/chooseList2/chooseList2.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseUnit/chooseUnit.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseUnit/chooseUnit.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/consByteString/consByteString1/consByteString1.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/consByteString/consByteString1/consByteString1.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/consByteString/consByteString2/consByteString2.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/consByteString/consByteString2/consByteString2.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/consByteString/consByteString3/consByteString3.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/consByteString/consByteString3/consByteString3.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/constrData/constrData.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/constrData/constrData.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/decodeUtf8/decodeUtf8-invalid/decodeUtf8-invalid.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/decodeUtf8/decodeUtf8-invalid/decodeUtf8-invalid.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/decodeUtf8/decodeUtf8-ok/decodeUtf8-ok.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/decodeUtf8/decodeUtf8-ok/decodeUtf8-ok.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/divideInteger/divideInteger-neg-neg/divideInteger-neg-neg.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/divideInteger/divideInteger-neg-neg/divideInteger-neg-neg.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/divideInteger/divideInteger-neg-pos/divideInteger-neg-pos.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/divideInteger/divideInteger-neg-pos/divideInteger-neg-pos.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/divideInteger/divideInteger-pos-neg/divideInteger-pos-neg.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/divideInteger/divideInteger-pos-neg/divideInteger-pos-neg.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/divideInteger/divideInteger-pos-pos/divideInteger-pos-pos.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/divideInteger/divideInteger-pos-pos/divideInteger-pos-pos.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/divideInteger/divideInteger-zero/divideInteger-zero.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/divideInteger/divideInteger-zero/divideInteger-zero.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/divideInteger/divideInteger1/divideInteger1.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/divideInteger/divideInteger1/divideInteger1.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/encodeUtf8/encodeUtf8.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/encodeUtf8/encodeUtf8.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsByteString/equalsByteString/equalsByteString.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsByteString/equalsByteString/equalsByteString.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsByteString/equalsByteString1/equalsByteString1.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsByteString/equalsByteString1/equalsByteString1.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsByteString/equalsByteString2/equalsByteString2.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsByteString/equalsByteString2/equalsByteString2.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsData/equalsData.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsData/equalsData.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsInteger/equalsInteger1/equalsInteger1.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsInteger/equalsInteger1/equalsInteger1.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsInteger/equalsInteger2/equalsInteger2.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsInteger/equalsInteger2/equalsInteger2.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsInteger/equalsInteger3/equalsInteger3.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsInteger/equalsInteger3/equalsInteger3.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsString/equalsString1/equalsString1.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsString/equalsString1/equalsString1.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsString/equalsString2/equalsString2.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsString/equalsString2/equalsString2.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/fstPairOfPairAndList/fstPairOfPairAndList.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/fstPairOfPairAndList/fstPairOfPairAndList.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/headList/headList1/headList1.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/headList/headList1/headList1.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/headList/headList2/headList2.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/headList/headList2/headList2.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/headList/headList3/headList3.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/headList/headList3/headList3.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/headList/headPartial/headPartial.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/headList/headPartial/headPartial.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/iData/iData.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/iData/iData.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/ifThenElse/ifThenElse-1/ifThenElse-1.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/ifThenElse/ifThenElse-1/ifThenElse-1.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/ifThenElse/ifThenElse-2/ifThenElse-2.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/ifThenElse/ifThenElse-2/ifThenElse-2.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/ifThenElse/ifThenElse-3/ifThenElse-3.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/ifThenElse/ifThenElse-3/ifThenElse-3.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/ifThenElse/ifThenElse-4/ifThenElse-4.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/ifThenElse/ifThenElse-4/ifThenElse-4.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/ifThenElse/ifThenElse-no-force/ifThenElse-no-force.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/ifThenElse/ifThenElse-no-force/ifThenElse-no-force.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/indexByteString/indexByteString1/indexByteString1.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/indexByteString/indexByteString1/indexByteString1.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/indexByteString/indexByteStringOOB/indexByteStringOOB.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/indexByteString/indexByteStringOOB/indexByteStringOOB.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/indexByteString/indexByteStringOverflow/indexByteStringOverflow.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/indexByteString/indexByteStringOverflow/indexByteStringOverflow.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/keccak_256/keccak_256-empty/keccak_256-empty.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/keccak_256/keccak_256-empty/keccak_256-empty.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/keccak_256/keccak_256-length-200/keccak_256-length-200.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/keccak_256/keccak_256-length-200/keccak_256-length-200.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/lengthOfByteString/lengthOfByteString.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/lengthOfByteString/lengthOfByteString.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanByteString/lessThanByteString0/lessThanByteString0.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanByteString/lessThanByteString0/lessThanByteString0.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanByteString/lessThanByteString1/lessThanByteString1.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanByteString/lessThanByteString1/lessThanByteString1.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanByteString/lessThanByteString2/lessThanByteString2.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanByteString/lessThanByteString2/lessThanByteString2.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanByteString/lessThanByteString3/lessThanByteString3.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanByteString/lessThanByteString3/lessThanByteString3.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanByteString/lessThanByteString4/lessThanByteString4.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanByteString/lessThanByteString4/lessThanByteString4.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanByteString/lessThanByteString5/lessThanByteString5.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanByteString/lessThanByteString5/lessThanByteString5.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsByteString/lessThanEqualsByteString0/lessThanEqualsByteString0.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsByteString/lessThanEqualsByteString0/lessThanEqualsByteString0.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsByteString/lessThanEqualsByteString1/lessThanEqualsByteString1.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsByteString/lessThanEqualsByteString1/lessThanEqualsByteString1.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsByteString/lessThanEqualsByteString2/lessThanEqualsByteString2.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsByteString/lessThanEqualsByteString2/lessThanEqualsByteString2.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsByteString/lessThanEqualsByteString3/lessThanEqualsByteString3.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsByteString/lessThanEqualsByteString3/lessThanEqualsByteString3.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsInteger/lessThanEqualsInteger1/lessThanEqualsInteger1.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsInteger/lessThanEqualsInteger1/lessThanEqualsInteger1.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsInteger/lessThanEqualsInteger2/lessThanEqualsInteger2.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsInteger/lessThanEqualsInteger2/lessThanEqualsInteger2.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsInteger/lessThanEqualsInteger3/lessThanEqualsInteger3.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsInteger/lessThanEqualsInteger3/lessThanEqualsInteger3.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsInteger/lessThanEqualsInteger4/lessThanEqualsInteger4.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsInteger/lessThanEqualsInteger4/lessThanEqualsInteger4.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsInteger/lessThanEqualsInteger5/lessThanEqualsInteger5.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsInteger/lessThanEqualsInteger5/lessThanEqualsInteger5.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanInteger/lessThanInteger1/lessThanInteger1.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanInteger/lessThanInteger1/lessThanInteger1.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanInteger/lessThanInteger2/lessThanInteger2.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanInteger/lessThanInteger2/lessThanInteger2.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanInteger/lessThanInteger3/lessThanInteger3.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanInteger/lessThanInteger3/lessThanInteger3.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanInteger/lessThanInteger4/lessThanInteger4.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanInteger/lessThanInteger4/lessThanInteger4.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanInteger/lessThanInteger5/lessThanInteger5.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanInteger/lessThanInteger5/lessThanInteger5.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/listData/listData.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/listData/listData.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/listOfList/listOfList.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/listOfList/listOfList.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/listOfPair/listOfPair.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/listOfPair/listOfPair.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/mapData/mapData.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/mapData/mapData.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/mkCons/divideInteger/divideInteger.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/mkCons/divideInteger/divideInteger.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/mkCons/mkCons-fail/mkCons-fail.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/mkCons/mkCons-fail/mkCons-fail.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/mkCons/mkCons1/mkCons1.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/mkCons/mkCons1/mkCons1.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/mkCons/mkCons2/mkCons2.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/mkCons/mkCons2/mkCons2.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/mkNilData/mkNilData.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/mkNilData/mkNilData.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/mkNilPairData/mkNilPairData.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/mkNilPairData/mkNilPairData.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/mkPairData/mkPairData.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/mkPairData/mkPairData.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/modInteger/modInteger-neg-neg/modInteger-neg-neg.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/modInteger/modInteger-neg-neg/modInteger-neg-neg.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/modInteger/modInteger-neg-pos/modInteger-neg-pos.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/modInteger/modInteger-neg-pos/modInteger-neg-pos.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/modInteger/modInteger-pos-neg/modInteger-pos-neg.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/modInteger/modInteger-pos-neg/modInteger-pos-neg.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/modInteger/modInteger-pos-pos/modInteger-pos-pos.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/modInteger/modInteger-pos-pos/modInteger-pos-pos.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/modInteger/modInteger-zero/modInteger-zero.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/modInteger/modInteger-zero/modInteger-zero.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/modInteger/modInteger1/modInteger1.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/modInteger/modInteger1/modInteger1.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/multiplyInteger/multiplyInteger1/multiplyInteger1.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/multiplyInteger/multiplyInteger1/multiplyInteger1.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/multiplyInteger/multiplyInteger2/multiplyInteger2.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/multiplyInteger/multiplyInteger2/multiplyInteger2.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/multiplyInteger/multiplyInteger3/multiplyInteger3.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/multiplyInteger/multiplyInteger3/multiplyInteger3.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/multiplyInteger/multiplyInteger4/multiplyInteger4.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/multiplyInteger/multiplyInteger4/multiplyInteger4.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/multiplyInteger/multiplyInteger5/multiplyInteger5.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/multiplyInteger/multiplyInteger5/multiplyInteger5.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/multiplyInteger/multiplyInteger6/multiplyInteger6.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/multiplyInteger/multiplyInteger6/multiplyInteger6.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/nullList/nullList.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/nullList/nullList.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/nullList2/nullList2.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/nullList2/nullList2.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/pairOfPairAndList/pairOfPairAndList.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/pairOfPairAndList/pairOfPairAndList.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/quotientInteger/quotientInteger-neg-neg/quotientInteger-neg-neg.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/quotientInteger/quotientInteger-neg-neg/quotientInteger-neg-neg.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/quotientInteger/quotientInteger-neg-pos/quotientInteger-neg-pos.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/quotientInteger/quotientInteger-neg-pos/quotientInteger-neg-pos.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/quotientInteger/quotientInteger-pos-neg/quotientInteger-pos-neg.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/quotientInteger/quotientInteger-pos-neg/quotientInteger-pos-neg.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/quotientInteger/quotientInteger-pos-pos/quotientInteger-pos-pos.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/quotientInteger/quotientInteger-pos-pos/quotientInteger-pos-pos.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/quotientInteger/quotientInteger-zero/quotientInteger-zero.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/quotientInteger/quotientInteger-zero/quotientInteger-zero.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/quotientInteger/quotientInteger1/quotientInteger1.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/quotientInteger/quotientInteger1/quotientInteger1.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/remainderInteger/remainderInteger-neg-neg/remainderInteger-neg-neg.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/remainderInteger/remainderInteger-neg-neg/remainderInteger-neg-neg.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/remainderInteger/remainderInteger-neg-pos/remainderInteger-neg-pos.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/remainderInteger/remainderInteger-neg-pos/remainderInteger-neg-pos.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/remainderInteger/remainderInteger-pos-neg/remainderInteger-pos-neg.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/remainderInteger/remainderInteger-pos-neg/remainderInteger-pos-neg.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/remainderInteger/remainderInteger-pos-pos/remainderInteger-pos-pos.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/remainderInteger/remainderInteger-pos-pos/remainderInteger-pos-pos.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/remainderInteger/remainderInteger-zero/remainderInteger-zero.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/remainderInteger/remainderInteger-zero/remainderInteger-zero.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/remainderInteger/remainderInteger1/remainderInteger1.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/remainderInteger/remainderInteger1/remainderInteger1.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/sha2_256/sha2_256-empty/sha2_256-empty.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/sha2_256/sha2_256-empty/sha2_256-empty.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/sha2_256/sha2_256-length-200/sha2_256-length-200.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/sha2_256/sha2_256-length-200/sha2_256-length-200.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/sha3_256/sha3_256-empty/sha3_256-empty.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/sha3_256/sha3_256-empty/sha3_256-empty.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/sha3_256/sha3_256-length-200/sha3_256-length-200.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/sha3_256/sha3_256-length-200/sha3_256-length-200.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/sliceByteString/sliceByteString1/sliceByteString1.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/sliceByteString/sliceByteString1/sliceByteString1.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/sliceByteString/sliceByteString2/sliceByteString2.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/sliceByteString/sliceByteString2/sliceByteString2.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/sliceByteString/sliceByteString3/sliceByteString3.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/sliceByteString/sliceByteString3/sliceByteString3.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/sliceByteString/sliceByteString4/sliceByteString4.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/sliceByteString/sliceByteString4/sliceByteString4.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/sliceByteString/sliceByteString5/sliceByteString5.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/sliceByteString/sliceByteString5/sliceByteString5.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/sndPairOfPairAndList/sndPairOfPairAndList.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/sndPairOfPairAndList/sndPairOfPairAndList.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/subtractInteger-non-iter/subtractInteger-non-iter.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/subtractInteger-non-iter/subtractInteger-non-iter.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/subtractInteger/subtractInteger1/subtractInteger1.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/subtractInteger/subtractInteger1/subtractInteger1.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/subtractInteger/subtractInteger2/subtractInteger2.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/subtractInteger/subtractInteger2/subtractInteger2.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/subtractInteger/subtractInteger3/subtractInteger3.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/subtractInteger/subtractInteger3/subtractInteger3.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/subtractInteger/subtractInteger4/subtractInteger4.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/subtractInteger/subtractInteger4/subtractInteger4.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/tailList/tailList-partial/tailList-partial.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/tailList/tailList-partial/tailList-partial.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/tailList/tailList1/tailList1.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/tailList/tailList1/tailList1.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/trace/trace.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/trace/trace.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/unBData/unBData-fail/unBData-fail.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/unBData/unBData-fail/unBData-fail.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/unBData/unBData1/unBData1.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/unBData/unBData1/unBData1.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/unConstrData/unConstrData-fail/unConstrData-fail.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/unConstrData/unConstrData-fail/unConstrData-fail.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/unConstrData/unConstrData1/unConstrData1.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/unConstrData/unConstrData1/unConstrData1.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/unIData/unIData-fail/unIData-fail.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/unIData/unIData-fail/unIData-fail.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/unIData/unIData1/unIData1.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/unIData/unIData1/unIData1.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/unListData/unListData-fail/unListData-fail.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/unListData/unListData-fail/unListData-fail.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/unListData/unListData1/unListData1.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/unListData/unListData1/unListData1.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/unMapData/unMapData-fail/unMapData-fail.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/unMapData/unMapData-fail/unMapData-fail.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/unMapData/unMapData1/unMapData1.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/unMapData/unMapData1/unMapData1.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEcdsaSecp256k1Signature/verifyEcdsaSecp256k1Signature-invalid-key/verifyEcdsaSecp256k1Signature-invalid-key.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEcdsaSecp256k1Signature/verifyEcdsaSecp256k1Signature-invalid-key/verifyEcdsaSecp256k1Signature-invalid-key.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEcdsaSecp256k1Signature/verifyEcdsaSecp256k1Signature-long-key/verifyEcdsaSecp256k1Signature-long-key.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEcdsaSecp256k1Signature/verifyEcdsaSecp256k1Signature-long-key/verifyEcdsaSecp256k1Signature-long-key.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEcdsaSecp256k1Signature/verifyEcdsaSecp256k1Signature-long-msg/verifyEcdsaSecp256k1Signature-long-msg.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEcdsaSecp256k1Signature/verifyEcdsaSecp256k1Signature-long-msg/verifyEcdsaSecp256k1Signature-long-msg.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEcdsaSecp256k1Signature/verifyEcdsaSecp256k1Signature-long-sig/verifyEcdsaSecp256k1Signature-long-sig.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEcdsaSecp256k1Signature/verifyEcdsaSecp256k1Signature-long-sig/verifyEcdsaSecp256k1Signature-long-sig.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEcdsaSecp256k1Signature/verifyEcdsaSecp256k1Signature-short-key/verifyEcdsaSecp256k1Signature-short-key.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEcdsaSecp256k1Signature/verifyEcdsaSecp256k1Signature-short-key/verifyEcdsaSecp256k1Signature-short-key.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEcdsaSecp256k1Signature/verifyEcdsaSecp256k1Signature-short-msg/verifyEcdsaSecp256k1Signature-short-msg.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEcdsaSecp256k1Signature/verifyEcdsaSecp256k1Signature-short-msg/verifyEcdsaSecp256k1Signature-short-msg.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEcdsaSecp256k1Signature/verifyEcdsaSecp256k1Signature-short-sig/verifyEcdsaSecp256k1Signature-short-sig.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEcdsaSecp256k1Signature/verifyEcdsaSecp256k1Signature-short-sig/verifyEcdsaSecp256k1Signature-short-sig.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature1/verifyEd25519Signature1.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature1/verifyEd25519Signature1.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature10/verifyEd25519Signature10.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature10/verifyEd25519Signature10.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature11/verifyEd25519Signature11.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature11/verifyEd25519Signature11.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature12/verifyEd25519Signature12.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature12/verifyEd25519Signature12.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature13/verifyEd25519Signature13.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature13/verifyEd25519Signature13.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature14/verifyEd25519Signature14.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature14/verifyEd25519Signature14.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature15/verifyEd25519Signature15.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature15/verifyEd25519Signature15.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature16/verifyEd25519Signature16.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature16/verifyEd25519Signature16.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature17/verifyEd25519Signature17.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature17/verifyEd25519Signature17.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature18/verifyEd25519Signature18.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature18/verifyEd25519Signature18.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature19/verifyEd25519Signature19.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature19/verifyEd25519Signature19.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature2/verifyEd25519Signature2.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature2/verifyEd25519Signature2.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature20/verifyEd25519Signature20.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature20/verifyEd25519Signature20.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature21/verifyEd25519Signature21.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature21/verifyEd25519Signature21.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature22/verifyEd25519Signature22.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature22/verifyEd25519Signature22.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature23/verifyEd25519Signature23.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature23/verifyEd25519Signature23.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature24/verifyEd25519Signature24.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature24/verifyEd25519Signature24.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature25/verifyEd25519Signature25.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature25/verifyEd25519Signature25.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature26/verifyEd25519Signature26.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature26/verifyEd25519Signature26.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature27/verifyEd25519Signature27.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature27/verifyEd25519Signature27.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature28/verifyEd25519Signature28.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature28/verifyEd25519Signature28.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature29/verifyEd25519Signature29.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature29/verifyEd25519Signature29.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature3/verifyEd25519Signature3.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature3/verifyEd25519Signature3.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature30/verifyEd25519Signature30.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature30/verifyEd25519Signature30.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature31/verifyEd25519Signature31.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature31/verifyEd25519Signature31.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature4/verifyEd25519Signature4.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature4/verifyEd25519Signature4.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature5/verifyEd25519Signature5.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature5/verifyEd25519Signature5.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature6/verifyEd25519Signature6.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature6/verifyEd25519Signature6.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature7/verifyEd25519Signature7.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature7/verifyEd25519Signature7.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature8/verifyEd25519Signature8.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature8/verifyEd25519Signature8.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature9/verifyEd25519Signature9.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature9/verifyEd25519Signature9.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519SignatureLongKey/verifyEd25519SignatureLongKey.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519SignatureLongKey/verifyEd25519SignatureLongKey.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519SignatureLongSig/verifyEd25519SignatureLongSig.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519SignatureLongSig/verifyEd25519SignatureLongSig.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519SignatureShortKey/verifyEd25519SignatureShortKey.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519SignatureShortKey/verifyEd25519SignatureShortKey.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519SignatureShortSig/verifyEd25519SignatureShortSig.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519SignatureShortSig/verifyEd25519SignatureShortSig.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifySchnorrSecp256k1Signature/verifySchnorrSecp256k1Signature-long-key/verifySchnorrSecp256k1Signature-long-key.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifySchnorrSecp256k1Signature/verifySchnorrSecp256k1Signature-long-key/verifySchnorrSecp256k1Signature-long-key.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifySchnorrSecp256k1Signature/verifySchnorrSecp256k1Signature-long-sig/verifySchnorrSecp256k1Signature-long-sig.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifySchnorrSecp256k1Signature/verifySchnorrSecp256k1Signature-long-sig/verifySchnorrSecp256k1Signature-long-sig.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifySchnorrSecp256k1Signature/verifySchnorrSecp256k1Signature-short-key/verifySchnorrSecp256k1Signature-short-key.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifySchnorrSecp256k1Signature/verifySchnorrSecp256k1Signature-short-key/verifySchnorrSecp256k1Signature-short-key.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifySchnorrSecp256k1Signature/verifySchnorrSecp256k1Signature-short-sig/verifySchnorrSecp256k1Signature-short-sig.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifySchnorrSecp256k1Signature/verifySchnorrSecp256k1Signature-short-sig/verifySchnorrSecp256k1Signature-short-sig.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/example/ApplyAdd1/ApplyAdd1.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/example/ApplyAdd1/ApplyAdd1.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/example/ApplyAdd2/ApplyAdd2.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/example/ApplyAdd2/ApplyAdd2.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/example/DivideByZero/DivideByZero.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/example/DivideByZero/DivideByZero.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/example/DivideByZeroDrop/DivideByZeroDrop.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/example/DivideByZeroDrop/DivideByZeroDrop.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/example/IfIntegers/IfIntegers.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/example/IfIntegers/IfIntegers.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/example/NatRoundTrip/NatRoundTrip.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/example/NatRoundTrip/NatRoundTrip.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/example/ScottListSum/ScottListSum.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/example/ScottListSum/ScottListSum.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/example/churchSucc/churchSucc.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/example/churchSucc/churchSucc.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/example/churchZero/churchZero.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/example/churchZero/churchZero.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/example/even2/even2.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/example/even2/even2.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/example/even3/even3.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/example/even3/even3.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/example/evenList/evenList.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/example/evenList/evenList.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/example/factorial/factorial.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/example/factorial/factorial.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/example/fibonacci/fibonacci.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/example/fibonacci/fibonacci.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/example/force-lam/force-lam.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/example/force-lam/force-lam.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/example/overapplication/overapplication.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/example/overapplication/overapplication.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/example/succInteger/succInteger.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/example/succInteger/succInteger.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/term/app/app-1/app-1.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/term/app/app-1/app-1.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/term/app/app-2/app-2.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/term/app/app-2/app-2.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/term/app/app-3/app-3.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/term/app/app-3/app-3.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/term/app/app-4/app-4.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/term/app/app-4/app-4.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/term/app/app-5/app-5.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/term/app/app-5/app-5.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/term/app/app-6/app-6.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/term/app/app-6/app-6.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/term/app/app-7/app-7.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/term/app/app-7/app-7.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/term/app/app-8/app-8.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/term/app/app-8/app-8.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/term/app/app-9/app-9.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/term/app/app-9/app-9.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/term/argExpected/argExpected.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/term/argExpected/argExpected.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/term/case/case-1/case-1.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/term/case/case-1/case-1.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/term/case/case-2/case-2.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/term/case/case-2/case-2.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/term/case/case-3/case-3.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/term/case/case-3/case-3.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/term/case/case-4/case-4.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/term/case/case-4/case-4.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/term/case/case-5/case-5.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/term/case/case-5/case-5.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/term/case/case-6/case-6.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/term/case/case-6/case-6.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/term/case/case-7/case-7.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/term/case/case-7/case-7.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/term/case/case-8/case-8.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/term/case/case-8/case-8.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/term/case/case-9/case-9.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/term/case/case-9/case-9.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/term/closure/closure.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/term/closure/closure.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/term/constr/constr-1/constr-1.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/term/constr/constr-1/constr-1.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/term/constr/constr-2/constr-2.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/term/constr/constr-2/constr-2.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/term/constr/constr-3/constr-3.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/term/constr/constr-3/constr-3.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/term/constr/constr-4/constr-4.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/term/constr/constr-4/constr-4.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/term/constr/constr-5/constr-5.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/term/constr/constr-5/constr-5.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/term/constr/constr-6/constr-6.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/term/constr/constr-6/constr-6.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/term/delay/delay-error-1/delay-error-1.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/term/delay/delay-error-1/delay-error-1.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/term/delay/delay-error-2/delay-error-2.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/term/delay/delay-error-2/delay-error-2.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/term/delay/delay-lam/delay-lam.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/term/delay/delay-lam/delay-lam.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/term/force/force-1/force-1.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/term/force/force-1/force-1.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/term/force/force-2/force-2.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/term/force/force-2/force-2.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/term/force/force-3/force-3.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/term/force/force-3/force-3.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/term/force/force-4/force-4.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/term/force/force-4/force-4.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/term/lam/lam-1/lam-1.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/term/lam/lam-1/lam-1.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/term/lam/lam-2/lam-2.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/term/lam/lam-2/lam-2.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/term/nonFunctionalApplication/nonFunctionalApplication.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/term/nonFunctionalApplication/nonFunctionalApplication.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/term/unlifting-sat/unlifting-sat.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/term/unlifting-sat/unlifting-sat.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/term/unlifting-unsat/unlifting-unsat.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/term/unlifting-unsat/unlifting-unsat.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/term/var/var.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/term/var/var.uplc.expected create mode 100644 crates/uplc/tests/conformance.rs diff --git a/Cargo.lock b/Cargo.lock index cb753dda..2bd01ac4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3037,6 +3037,7 @@ dependencies = [ "strum", "strum_macros", "thiserror", + "walkdir", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index d400c5c1..9a46e3ab 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -10,6 +10,7 @@ shared-version = true tag-name = "v{{version}}" [workspace.dependencies] +walkdir = "2.3.2" insta = { version = "1.30.0", features = ["yaml", "json"] } [profile.dev.package.insta] diff --git a/crates/aiken-project/Cargo.toml b/crates/aiken-project/Cargo.toml index 3a1f710d..1e425cf3 100644 --- a/crates/aiken-project/Cargo.toml +++ b/crates/aiken-project/Cargo.toml @@ -40,7 +40,7 @@ strip-ansi-escapes = "0.1.1" thiserror = "1.0.39" tokio = { version = "1.26.0", features = ["full"] } toml = "0.7.2" -walkdir = "2.3.2" +walkdir.workspace = true zip = "0.6.4" aiken-lang = { path = "../aiken-lang", version = "1.0.20-alpha" } diff --git a/crates/uplc/Cargo.toml b/crates/uplc/Cargo.toml index da1891bd..316a4b4a 100644 --- a/crates/uplc/Cargo.toml +++ b/crates/uplc/Cargo.toml @@ -45,3 +45,4 @@ k256 = { version = "0.13.0" } [dev-dependencies] hex = "0.4.3" indoc = "2.0.1" +walkdir.workspace = true diff --git a/crates/uplc/src/machine.rs b/crates/uplc/src/machine.rs index 6a4d896a..58ab45af 100644 --- a/crates/uplc/src/machine.rs +++ b/crates/uplc/src/machine.rs @@ -403,7 +403,7 @@ impl From<&Constant> for Type { mod tests { use num_bigint::BigInt; - use super::cost_model::ExBudget; + use super::{cost_model::ExBudget, runtime::Compressable}; use crate::{ ast::{Constant, NamedDeBruijn, Program, Term}, builtins::DefaultFunction, @@ -543,4 +543,116 @@ mod tests { ); } } + + #[test] + fn bls_g1_add_associative() { + let a = blst::blst_p1::uncompress(&[ + 0xab, 0xd6, 0x18, 0x64, 0xf5, 0x19, 0x74, 0x80, 0x32, 0x55, 0x1e, 0x42, 0xe0, 0xac, + 0x41, 0x7f, 0xd8, 0x28, 0xf0, 0x79, 0x45, 0x4e, 0x3e, 0x3c, 0x98, 0x91, 0xc5, 0xc2, + 0x9e, 0xd7, 0xf1, 0x0b, 0xde, 0xcc, 0x04, 0x68, 0x54, 0xe3, 0x93, 0x1c, 0xb7, 0x00, + 0x27, 0x79, 0xbd, 0x76, 0xd7, 0x1f, + ]) + .unwrap(); + + let b = blst::blst_p1::uncompress(&[ + 0x95, 0x0d, 0xfd, 0x33, 0xda, 0x26, 0x82, 0x26, 0x0c, 0x76, 0x03, 0x8d, 0xfb, 0x8b, + 0xad, 0x6e, 0x84, 0xae, 0x9d, 0x59, 0x9a, 0x3c, 0x15, 0x18, 0x15, 0x94, 0x5a, 0xc1, + 0xe6, 0xef, 0x6b, 0x10, 0x27, 0xcd, 0x91, 0x7f, 0x39, 0x07, 0x47, 0x9d, 0x20, 0xd6, + 0x36, 0xce, 0x43, 0x7a, 0x41, 0xf5, + ]) + .unwrap(); + + let c = blst::blst_p1::uncompress(&[ + 0xb9, 0x62, 0xfd, 0x0c, 0xc8, 0x10, 0x48, 0xe0, 0xcf, 0x75, 0x57, 0xbf, 0x3e, 0x4b, + 0x6e, 0xdc, 0x5a, 0xb4, 0xbf, 0xb3, 0xdc, 0x87, 0xf8, 0x3a, 0xf4, 0x28, 0xb6, 0x30, + 0x07, 0x27, 0xb1, 0x39, 0xc4, 0x04, 0xab, 0x15, 0x9b, 0xdf, 0x2e, 0xae, 0xa3, 0xf6, + 0x49, 0x90, 0x34, 0x21, 0x53, 0x7f, + ]) + .unwrap(); + + let term: Term = Term::bls12_381_g1_equal() + .apply( + Term::bls12_381_g1_add().apply(Term::bls12_381_g1(a)).apply( + Term::bls12_381_g1_add() + .apply(Term::bls12_381_g1(b)) + .apply(Term::bls12_381_g1(c)), + ), + ) + .apply( + Term::bls12_381_g1_add() + .apply( + Term::bls12_381_g1_add() + .apply(Term::bls12_381_g1(a)) + .apply(Term::bls12_381_g1(b)), + ) + .apply(Term::bls12_381_g1(c)), + ); + + let program = Program { + version: (1, 0, 0), + term, + }; + + let eval_result = program.eval(Default::default()); + + let final_term = eval_result.result().unwrap(); + + assert_eq!(final_term, Term::bool(true)) + } + + #[test] + fn bls_g2_add_associative() { + let a = blst::blst_p1::uncompress(&[ + 0xab, 0xd6, 0x18, 0x64, 0xf5, 0x19, 0x74, 0x80, 0x32, 0x55, 0x1e, 0x42, 0xe0, 0xac, + 0x41, 0x7f, 0xd8, 0x28, 0xf0, 0x79, 0x45, 0x4e, 0x3e, 0x3c, 0x98, 0x91, 0xc5, 0xc2, + 0x9e, 0xd7, 0xf1, 0x0b, 0xde, 0xcc, 0x04, 0x68, 0x54, 0xe3, 0x93, 0x1c, 0xb7, 0x00, + 0x27, 0x79, 0xbd, 0x76, 0xd7, 0x1f, + ]) + .unwrap(); + + let b = blst::blst_p1::uncompress(&[ + 0x95, 0x0d, 0xfd, 0x33, 0xda, 0x26, 0x82, 0x26, 0x0c, 0x76, 0x03, 0x8d, 0xfb, 0x8b, + 0xad, 0x6e, 0x84, 0xae, 0x9d, 0x59, 0x9a, 0x3c, 0x15, 0x18, 0x15, 0x94, 0x5a, 0xc1, + 0xe6, 0xef, 0x6b, 0x10, 0x27, 0xcd, 0x91, 0x7f, 0x39, 0x07, 0x47, 0x9d, 0x20, 0xd6, + 0x36, 0xce, 0x43, 0x7a, 0x41, 0xf5, + ]) + .unwrap(); + + let c = blst::blst_p1::uncompress(&[ + 0xb9, 0x62, 0xfd, 0x0c, 0xc8, 0x10, 0x48, 0xe0, 0xcf, 0x75, 0x57, 0xbf, 0x3e, 0x4b, + 0x6e, 0xdc, 0x5a, 0xb4, 0xbf, 0xb3, 0xdc, 0x87, 0xf8, 0x3a, 0xf4, 0x28, 0xb6, 0x30, + 0x07, 0x27, 0xb1, 0x39, 0xc4, 0x04, 0xab, 0x15, 0x9b, 0xdf, 0x2e, 0xae, 0xa3, 0xf6, + 0x49, 0x90, 0x34, 0x21, 0x53, 0x7f, + ]) + .unwrap(); + + let term: Term = Term::bls12_381_g1_equal() + .apply( + Term::bls12_381_g1_add().apply(Term::bls12_381_g1(a)).apply( + Term::bls12_381_g1_add() + .apply(Term::bls12_381_g1(b)) + .apply(Term::bls12_381_g1(c)), + ), + ) + .apply( + Term::bls12_381_g1_add() + .apply( + Term::bls12_381_g1_add() + .apply(Term::bls12_381_g1(a)) + .apply(Term::bls12_381_g1(b)), + ) + .apply(Term::bls12_381_g1(c)), + ); + + let program = Program { + version: (1, 0, 0), + term, + }; + + let eval_result = program.eval(Default::default()); + + let final_term = eval_result.result().unwrap(); + + assert_eq!(final_term, Term::bool(true)) + } } diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/bad-syntax-1/bad-syntax-1.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/bad-syntax-1/bad-syntax-1.uplc new file mode 100644 index 00000000..0ed6ae36 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/bad-syntax-1/bad-syntax-1.uplc @@ -0,0 +1,4 @@ +-- Missing the 0x prefix. +(program 0.0.0 +(con bls12_381_G1_element c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/bad-syntax-1/bad-syntax-1.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/bad-syntax-1/bad-syntax-1.uplc.expected new file mode 100644 index 00000000..13b380d3 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/bad-syntax-1/bad-syntax-1.uplc.expected @@ -0,0 +1 @@ +parse error diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/bad-syntax-2/bad-syntax-2.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/bad-syntax-2/bad-syntax-2.uplc new file mode 100644 index 00000000..8f780571 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/bad-syntax-2/bad-syntax-2.uplc @@ -0,0 +1,4 @@ +-- This has # instead of 0x. +(program 0.0.0 +(con bls12_381_G1_element #c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/bad-syntax-2/bad-syntax-2.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/bad-syntax-2/bad-syntax-2.uplc.expected new file mode 100644 index 00000000..fd569489 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/bad-syntax-2/bad-syntax-2.uplc.expected @@ -0,0 +1 @@ +parse error \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/bad-zero-1/bad-zero-1.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/bad-zero-1/bad-zero-1.uplc new file mode 100644 index 00000000..0bd57991 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/bad-zero-1/bad-zero-1.uplc @@ -0,0 +1,4 @@ +-- A bad encoding: this has the negative bit set, but nothing else. +(program 0.0.0 +(con bls12_381_G1_element 0x400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/bad-zero-1/bad-zero-1.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/bad-zero-1/bad-zero-1.uplc.expected new file mode 100644 index 00000000..fd569489 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/bad-zero-1/bad-zero-1.uplc.expected @@ -0,0 +1 @@ +parse error \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/bad-zero-2/bad-zero-2.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/bad-zero-2/bad-zero-2.uplc new file mode 100644 index 00000000..7809efb2 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/bad-zero-2/bad-zero-2.uplc @@ -0,0 +1,4 @@ +-- Almost a correct representation of the zero point, but with the negation bit set. +(program 0.0.0 +(con bls12_381_G1_element 0xe00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/bad-zero-2/bad-zero-2.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/bad-zero-2/bad-zero-2.uplc.expected new file mode 100644 index 00000000..fd569489 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/bad-zero-2/bad-zero-2.uplc.expected @@ -0,0 +1 @@ +parse error \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/bad-zero-3/bad-zero-3.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/bad-zero-3/bad-zero-3.uplc new file mode 100644 index 00000000..b68f07f0 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/bad-zero-3/bad-zero-3.uplc @@ -0,0 +1,4 @@ +-- The zero point, but with a random bit set in the body (should all be 0) +(program 0.0.0 +(con bls12_381_G1_element 0xc00000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/bad-zero-3/bad-zero-3.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/bad-zero-3/bad-zero-3.uplc.expected new file mode 100644 index 00000000..fd569489 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/bad-zero-3/bad-zero-3.uplc.expected @@ -0,0 +1 @@ +parse error \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/off-curve/off-curve.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/off-curve/off-curve.uplc new file mode 100644 index 00000000..9a2cea0c --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/off-curve/off-curve.uplc @@ -0,0 +1,4 @@ +-- This encodes a field element which isn't the x-coordinate of any point on the curve (no square root). +(program 0.0.0 +(con bls12_381_G1_element 0xa00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/off-curve/off-curve.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/off-curve/off-curve.uplc.expected new file mode 100644 index 00000000..fd569489 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/off-curve/off-curve.uplc.expected @@ -0,0 +1 @@ +parse error \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/on-curve-bit3-clear/on-curve-bit3-clear.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/on-curve-bit3-clear/on-curve-bit3-clear.uplc new file mode 100644 index 00000000..8a18eac5 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/on-curve-bit3-clear/on-curve-bit3-clear.uplc @@ -0,0 +1,4 @@ +-- This is a valid encoding with the sign bit clear. +(program 0.0.0 +(con bls12_381_G1_element 0x81e9a0c68985059bd25a5ef05b351ca22f7d7c19e37928583ae12a1f4939440ff754cfd85b23df4a54f66c7089db6deb) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/on-curve-bit3-clear/on-curve-bit3-clear.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/on-curve-bit3-clear/on-curve-bit3-clear.uplc.expected new file mode 100644 index 00000000..d66818b0 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/on-curve-bit3-clear/on-curve-bit3-clear.uplc.expected @@ -0,0 +1,7 @@ +(program + 0.0.0 + (con + bls12_381_G1_element + 0x81e9a0c68985059bd25a5ef05b351ca22f7d7c19e37928583ae12a1f4939440ff754cfd85b23df4a54f66c7089db6deb + ) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/on-curve-bit3-set/on-curve-bit3-set.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/on-curve-bit3-set/on-curve-bit3-set.uplc new file mode 100644 index 00000000..b62e1f56 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/on-curve-bit3-set/on-curve-bit3-set.uplc @@ -0,0 +1,4 @@ +-- This is a valid encoding with the sign bit set (obtained by hashing 0x0102030405 to G1) +(program 0.0.0 +(con bls12_381_G1_element 0xa1e9a0c68985059bd25a5ef05b351ca22f7d7c19e37928583ae12a1f4939440ff754cfd85b23df4a54f66c7089db6deb) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/on-curve-bit3-set/on-curve-bit3-set.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/on-curve-bit3-set/on-curve-bit3-set.uplc.expected new file mode 100644 index 00000000..207dc294 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/on-curve-bit3-set/on-curve-bit3-set.uplc.expected @@ -0,0 +1,7 @@ +(program + 0.0.0 + (con + bls12_381_G1_element + 0xa1e9a0c68985059bd25a5ef05b351ca22f7d7c19e37928583ae12a1f4939440ff754cfd85b23df4a54f66c7089db6deb + ) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/on-curve-serialised-not-compressed/on-curve-serialised-not-compressed.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/on-curve-serialised-not-compressed/on-curve-serialised-not-compressed.uplc new file mode 100644 index 00000000..2c9a0a36 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/on-curve-serialised-not-compressed/on-curve-serialised-not-compressed.uplc @@ -0,0 +1,5 @@ +-- This is a valid serialisation of a point on G1 (obtained by hashing 0x0102030405), +-- but we only accept compressed points. +(program 0.0.0 +(con bls12_381_G1_element 0x01e9a0c68985059bd25a5ef05b351ca22f7d7c19e37928583ae12a1f4939440ff754cfd85b23df4a54f66c7089db6deb12ae8470d881eb628dfcf4bb083fb8a6968d907a0c265f6d06e04b05a19418d395d3e0c115430f88e7156822904ef5bf) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/on-curve-serialised-not-compressed/on-curve-serialised-not-compressed.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/on-curve-serialised-not-compressed/on-curve-serialised-not-compressed.uplc.expected new file mode 100644 index 00000000..fd569489 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/on-curve-serialised-not-compressed/on-curve-serialised-not-compressed.uplc.expected @@ -0,0 +1 @@ +parse error \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/out-of-group/out-of-group.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/out-of-group/out-of-group.uplc new file mode 100644 index 00000000..9c5eee17 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/out-of-group/out-of-group.uplc @@ -0,0 +1,4 @@ +-- This is a valid point on the E1 curve, but it's not in the G1 subgroup. +(program 0.0.0 +(con bls12_381_G1_element 0xa00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/out-of-group/out-of-group.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/out-of-group/out-of-group.uplc.expected new file mode 100644 index 00000000..fd569489 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/out-of-group/out-of-group.uplc.expected @@ -0,0 +1 @@ +parse error \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/too-long/too-long.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/too-long/too-long.uplc new file mode 100644 index 00000000..f97781c7 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/too-long/too-long.uplc @@ -0,0 +1,4 @@ +-- The compressed encoding of the zero element of G1, but with an extra zero byte at the end. +(program 0.0.0 +(con bls12_381_G1_element 0xc000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/too-long/too-long.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/too-long/too-long.uplc.expected new file mode 100644 index 00000000..fd569489 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/too-long/too-long.uplc.expected @@ -0,0 +1 @@ +parse error \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/too-short/too-short.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/too-short/too-short.uplc new file mode 100644 index 00000000..df72313e --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/too-short/too-short.uplc @@ -0,0 +1,4 @@ +-- The zero element of G1, but one byte short +(program 0.0.0 +(con bls12_381_G1_element 0xc000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/too-short/too-short.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/too-short/too-short.uplc.expected new file mode 100644 index 00000000..fd569489 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/too-short/too-short.uplc.expected @@ -0,0 +1 @@ +parse error \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/zero/zero.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/zero/zero.uplc new file mode 100644 index 00000000..78eee628 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/zero/zero.uplc @@ -0,0 +1,4 @@ +-- A correct compressed encoding of the zero element of G1. +(program 0.0.0 +(con bls12_381_G1_element 0xc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/zero/zero.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/zero/zero.uplc.expected new file mode 100644 index 00000000..63a548b8 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G1/zero/zero.uplc.expected @@ -0,0 +1,7 @@ +(program + 0.0.0 + (con + bls12_381_G1_element + 0xc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + ) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/bad-syntax-1/bad-syntax-1.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/bad-syntax-1/bad-syntax-1.uplc new file mode 100644 index 00000000..22406d89 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/bad-syntax-1/bad-syntax-1.uplc @@ -0,0 +1,4 @@ +-- Missing the 0x prefix. +(program 0.0.0 +(con bls12_381_G2_element c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/bad-syntax-1/bad-syntax-1.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/bad-syntax-1/bad-syntax-1.uplc.expected new file mode 100644 index 00000000..fd569489 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/bad-syntax-1/bad-syntax-1.uplc.expected @@ -0,0 +1 @@ +parse error \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/bad-syntax-2/bad-syntax-2.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/bad-syntax-2/bad-syntax-2.uplc new file mode 100644 index 00000000..8f95d3ee --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/bad-syntax-2/bad-syntax-2.uplc @@ -0,0 +1,4 @@ +-- This has # instead of 0x. +(program 0.0.0 +(con bls12_381_G2_element #c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/bad-syntax-2/bad-syntax-2.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/bad-syntax-2/bad-syntax-2.uplc.expected new file mode 100644 index 00000000..fd569489 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/bad-syntax-2/bad-syntax-2.uplc.expected @@ -0,0 +1 @@ +parse error \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/bad-zero-1/bad-zero-1.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/bad-zero-1/bad-zero-1.uplc new file mode 100644 index 00000000..220457d6 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/bad-zero-1/bad-zero-1.uplc @@ -0,0 +1,4 @@ +-- A bad encoding: this has the negative bit set, but nothing else. +(program 0.0.0 +(con bls12_381_G2_element 0x400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/bad-zero-1/bad-zero-1.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/bad-zero-1/bad-zero-1.uplc.expected new file mode 100644 index 00000000..fd569489 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/bad-zero-1/bad-zero-1.uplc.expected @@ -0,0 +1 @@ +parse error \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/bad-zero-2/bad-zero-2.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/bad-zero-2/bad-zero-2.uplc new file mode 100644 index 00000000..c8907a22 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/bad-zero-2/bad-zero-2.uplc @@ -0,0 +1,4 @@ +-- Almost a correct represntation of the zero point, but with the negation bit set. +(program 0.0.0 +(con bls12_381_G2_element 0xe00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/bad-zero-2/bad-zero-2.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/bad-zero-2/bad-zero-2.uplc.expected new file mode 100644 index 00000000..fd569489 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/bad-zero-2/bad-zero-2.uplc.expected @@ -0,0 +1 @@ +parse error \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/bad-zero-3/bad-zero-3.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/bad-zero-3/bad-zero-3.uplc new file mode 100644 index 00000000..abf4ad4c --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/bad-zero-3/bad-zero-3.uplc @@ -0,0 +1,4 @@ +-- The zero point, but with a random bit set in the body (should all be 0) +(program 0.0.0 +(con bls12_381_G2_element 0xc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/bad-zero-3/bad-zero-3.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/bad-zero-3/bad-zero-3.uplc.expected new file mode 100644 index 00000000..fd569489 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/bad-zero-3/bad-zero-3.uplc.expected @@ -0,0 +1 @@ +parse error \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/off-curve/off-curve.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/off-curve/off-curve.uplc new file mode 100644 index 00000000..749f56f1 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/off-curve/off-curve.uplc @@ -0,0 +1,4 @@ +-- This encodes a field element which isn't the x-coordinate of any point on the curve (no square root). +(program 0.0.0 +(con bls12_381_G2_element 0xa00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/off-curve/off-curve.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/off-curve/off-curve.uplc.expected new file mode 100644 index 00000000..fd569489 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/off-curve/off-curve.uplc.expected @@ -0,0 +1 @@ +parse error \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/on-curve-bit3-clear/on-curve-bit3-clear.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/on-curve-bit3-clear/on-curve-bit3-clear.uplc new file mode 100644 index 00000000..1cd98b2a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/on-curve-bit3-clear/on-curve-bit3-clear.uplc @@ -0,0 +1,4 @@ +-- This is a valid encoding with the sign bit clear. +(program 0.0.0 +(con bls12_381_G2_element 0x88138ebea766d4d1aa64dd3b5826244c32ea3fe9351f9c8d584203716dae151d14bb5d06e245c24877955c79287682ba082d077bbb2afdb1ad1d48d18e2f0c56b001bce207801adfa9fd451fc59d56f0433b02f921ba5a272c58c06536291d07) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/on-curve-bit3-clear/on-curve-bit3-clear.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/on-curve-bit3-clear/on-curve-bit3-clear.uplc.expected new file mode 100644 index 00000000..ca926b8f --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/on-curve-bit3-clear/on-curve-bit3-clear.uplc.expected @@ -0,0 +1,7 @@ +(program + 0.0.0 + (con + bls12_381_G2_element + 0x88138ebea766d4d1aa64dd3b5826244c32ea3fe9351f9c8d584203716dae151d14bb5d06e245c24877955c79287682ba082d077bbb2afdb1ad1d48d18e2f0c56b001bce207801adfa9fd451fc59d56f0433b02f921ba5a272c58c06536291d07 + ) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/on-curve-bit3-set/on-curve-bit3-set.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/on-curve-bit3-set/on-curve-bit3-set.uplc new file mode 100644 index 00000000..fbcc5915 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/on-curve-bit3-set/on-curve-bit3-set.uplc @@ -0,0 +1,4 @@ +-- This is a valid encoding with the sign bit set (obtained by hashing 0x0102030405 to G2) +(program 0.0.0 +(con bls12_381_G2_element 0xa8138ebea766d4d1aa64dd3b5826244c32ea3fe9351f9c8d584203716dae151d14bb5d06e245c24877955c79287682ba082d077bbb2afdb1ad1d48d18e2f0c56b001bce207801adfa9fd451fc59d56f0433b02f921ba5a272c58c06536291d07) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/on-curve-bit3-set/on-curve-bit3-set.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/on-curve-bit3-set/on-curve-bit3-set.uplc.expected new file mode 100644 index 00000000..99a86974 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/on-curve-bit3-set/on-curve-bit3-set.uplc.expected @@ -0,0 +1,7 @@ +(program + 0.0.0 + (con + bls12_381_G2_element + 0xa8138ebea766d4d1aa64dd3b5826244c32ea3fe9351f9c8d584203716dae151d14bb5d06e245c24877955c79287682ba082d077bbb2afdb1ad1d48d18e2f0c56b001bce207801adfa9fd451fc59d56f0433b02f921ba5a272c58c06536291d07 + ) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/on-curve-serialised-not-compressed/on-curve-serialised-not-compressed.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/on-curve-serialised-not-compressed/on-curve-serialised-not-compressed.uplc new file mode 100644 index 00000000..400d3bfa --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/on-curve-serialised-not-compressed/on-curve-serialised-not-compressed.uplc @@ -0,0 +1,5 @@ +-- This is a valid serialisation of a point on G2 (obtained by hashing 0x0102030405), +-- but we only accept compressed points. +(program 0.0.0 +(con bls12_381_G2_element 0x08138ebea766d4d1aa64dd3b5826244c32ea3fe9351f9c8d584203716dae151d14bb5d06e245c24877955c79287682ba082d077bbb2afdb1ad1d48d18e2f0c56b001bce207801adfa9fd451fc59d56f0433b02f921ba5a272c58c06536291d071676b275e27060b26dd91aac0a1feb56d1c1de7c323f486e48d54eae0c3c8f4caa45faad589c5d180ac0830dcdb3ecd8126c9c5db86cdf7129cf18582013d267a7c2827a901ef61ab58e7ef150219441abc57671eb39009f6bb166bcbade700d) +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/on-curve-serialised-not-compressed/on-curve-serialised-not-compressed.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/on-curve-serialised-not-compressed/on-curve-serialised-not-compressed.uplc.expected new file mode 100644 index 00000000..fd569489 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/on-curve-serialised-not-compressed/on-curve-serialised-not-compressed.uplc.expected @@ -0,0 +1 @@ +parse error \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/out-of-group/out-of-group.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/out-of-group/out-of-group.uplc new file mode 100644 index 00000000..2bfb2df2 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/out-of-group/out-of-group.uplc @@ -0,0 +1,4 @@ +-- This is a valid point on the E2 curve, but it's not in the G2 subgroup. +(program 0.0.0 +(con bls12_381_G2_element 0xa00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/out-of-group/out-of-group.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/out-of-group/out-of-group.uplc.expected new file mode 100644 index 00000000..fd569489 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/out-of-group/out-of-group.uplc.expected @@ -0,0 +1 @@ +parse error \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/too-long/too-long.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/too-long/too-long.uplc new file mode 100644 index 00000000..06802b52 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/too-long/too-long.uplc @@ -0,0 +1,4 @@ +-- The compressed encoding of the zero element of G2, but with an extra zero byte at the end. +(program 0.0.0 +(con bls12_381_G2_element 0xc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/too-long/too-long.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/too-long/too-long.uplc.expected new file mode 100644 index 00000000..fd569489 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/too-long/too-long.uplc.expected @@ -0,0 +1 @@ +parse error \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/too-short/too-short.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/too-short/too-short.uplc new file mode 100644 index 00000000..4513a488 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/too-short/too-short.uplc @@ -0,0 +1,4 @@ +-- The zero element of G2, but one byte short +(program 0.0.0 +(con bls12_381_G2_element 0xc000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/too-short/too-short.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/too-short/too-short.uplc.expected new file mode 100644 index 00000000..fd569489 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/too-short/too-short.uplc.expected @@ -0,0 +1 @@ +parse error \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/zero/zero.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/zero/zero.uplc new file mode 100644 index 00000000..63a8301e --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/zero/zero.uplc @@ -0,0 +1,4 @@ +-- A correct compressed encoding of the zero element of G2 +(program 0.0.0 +(con bls12_381_G2_element 0xc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/zero/zero.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/zero/zero.uplc.expected new file mode 100644 index 00000000..9b995f81 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bls12-381/G2/zero/zero.uplc.expected @@ -0,0 +1,7 @@ +(program + 0.0.0 + (con + bls12_381_G2_element + 0xc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + ) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bool/False/False.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bool/False/False.uplc new file mode 100644 index 00000000..dd87da54 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bool/False/False.uplc @@ -0,0 +1 @@ +(program 0.0.0 (con bool False)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bool/False/False.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bool/False/False.uplc.expected new file mode 100644 index 00000000..dd87da54 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bool/False/False.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con bool False)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bool/True/True.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bool/True/True.uplc new file mode 100644 index 00000000..b1057ef7 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bool/True/True.uplc @@ -0,0 +1 @@ +(program 0.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bool/True/True.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bool/True/True.uplc.expected new file mode 100644 index 00000000..b1057ef7 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bool/True/True.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bytestring/bytestring1/bytestring1.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bytestring/bytestring1/bytestring1.uplc new file mode 100644 index 00000000..74bc6cfa --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bytestring/bytestring1/bytestring1.uplc @@ -0,0 +1 @@ +(program 0.0.0 (con bytestring #00ff)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bytestring/bytestring1/bytestring1.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bytestring/bytestring1/bytestring1.uplc.expected new file mode 100644 index 00000000..74bc6cfa --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bytestring/bytestring1/bytestring1.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con bytestring #00ff)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bytestring/bytestring2/bytestring2.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bytestring/bytestring2/bytestring2.uplc new file mode 100644 index 00000000..f019b38d --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bytestring/bytestring2/bytestring2.uplc @@ -0,0 +1,3 @@ +(program 1.0.0 + (con bytestring #54686543616B654973414C6965) +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bytestring/bytestring2/bytestring2.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bytestring/bytestring2/bytestring2.uplc.expected new file mode 100644 index 00000000..19506cb9 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bytestring/bytestring2/bytestring2.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bytestring #54686543616B654973414C6965)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bytestring/bytestring3/bytestring3.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bytestring/bytestring3/bytestring3.uplc new file mode 100644 index 00000000..8ecab7fd --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bytestring/bytestring3/bytestring3.uplc @@ -0,0 +1,3 @@ +(program 1.0.0 + (con bytestring #) +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bytestring/bytestring3/bytestring3.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bytestring/bytestring3/bytestring3.uplc.expected new file mode 100644 index 00000000..5dbd4047 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bytestring/bytestring3/bytestring3.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bytestring #)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bytestring/bytestring4/bytestring4.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bytestring/bytestring4/bytestring4.uplc new file mode 100644 index 00000000..8644dc3c --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bytestring/bytestring4/bytestring4.uplc @@ -0,0 +1,3 @@ +(program 1.0.0 + (con bytestring #12345) +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/bytestring/bytestring4/bytestring4.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bytestring/bytestring4/bytestring4.uplc.expected new file mode 100644 index 00000000..fd569489 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/bytestring/bytestring4/bytestring4.uplc.expected @@ -0,0 +1 @@ +parse error \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataByteString/dataByteString.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataByteString/dataByteString.uplc new file mode 100644 index 00000000..475d80b9 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataByteString/dataByteString.uplc @@ -0,0 +1 @@ +(program 0.0.0 (con data (B #0123456789ABCDEF))) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataByteString/dataByteString.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataByteString/dataByteString.uplc.expected new file mode 100644 index 00000000..b1a3896b --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataByteString/dataByteString.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con data (B #0123456789abcdef))) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataConstr/dataConstr.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataConstr/dataConstr.uplc new file mode 100644 index 00000000..7ad34d6b --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataConstr/dataConstr.uplc @@ -0,0 +1 @@ +(program 0.0.0 (con data (Constr 1 [I 1]))) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataConstr/dataConstr.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataConstr/dataConstr.uplc.expected new file mode 100644 index 00000000..6501b160 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataConstr/dataConstr.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con data (Constr 1 [I 1]))) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataInteger/dataInteger.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataInteger/dataInteger.uplc new file mode 100644 index 00000000..8287c0d4 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataInteger/dataInteger.uplc @@ -0,0 +1 @@ +(program 0.0.0 (con data (I 12354898))) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataInteger/dataInteger.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataInteger/dataInteger.uplc.expected new file mode 100644 index 00000000..c65a4e60 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataInteger/dataInteger.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con data (I 12354898))) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataList/dataList.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataList/dataList.uplc new file mode 100644 index 00000000..c63bf096 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataList/dataList.uplc @@ -0,0 +1 @@ +(program 0.0.0 (con data (List [Constr 1 [], I 1234, B #ABCDEF]))) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataList/dataList.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataList/dataList.uplc.expected new file mode 100644 index 00000000..225ab3e4 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataList/dataList.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con data (List [Constr 1 [], I 1234, B #abcdef]))) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataMap/dataMap.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataMap/dataMap.uplc new file mode 100644 index 00000000..da5c00d1 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataMap/dataMap.uplc @@ -0,0 +1,5 @@ +(program 0.0.0 (con data ( + Map [ (B #0123, I 12345), + (B #456789, I 789453), + (B #0ABCDE, I 12364689486)] +))) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataMap/dataMap.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataMap/dataMap.uplc.expected new file mode 100644 index 00000000..b3265411 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataMap/dataMap.uplc.expected @@ -0,0 +1,8 @@ +(program + 0.0.0 + (con + data + (Map + [(B #0123, I 12345), (B #456789, I 789453), (B #0abcde, I 12364689486)]) + ) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataMisByteString/dataMisByteString.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataMisByteString/dataMisByteString.uplc new file mode 100644 index 00000000..81af66b8 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataMisByteString/dataMisByteString.uplc @@ -0,0 +1 @@ +(program 0.0.0 (con data (B 42))) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataMisByteString/dataMisByteString.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataMisByteString/dataMisByteString.uplc.expected new file mode 100644 index 00000000..fd569489 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataMisByteString/dataMisByteString.uplc.expected @@ -0,0 +1 @@ +parse error \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataMisConstr/dataMisConstr.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataMisConstr/dataMisConstr.uplc new file mode 100644 index 00000000..dc217810 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataMisConstr/dataMisConstr.uplc @@ -0,0 +1 @@ +(program 0.0.0 (con data (Constr [I 1]))) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataMisConstr/dataMisConstr.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataMisConstr/dataMisConstr.uplc.expected new file mode 100644 index 00000000..fd569489 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataMisConstr/dataMisConstr.uplc.expected @@ -0,0 +1 @@ +parse error \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataMisInteger/dataMisInteger.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataMisInteger/dataMisInteger.uplc new file mode 100644 index 00000000..7f58fe26 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataMisInteger/dataMisInteger.uplc @@ -0,0 +1 @@ +(program 0.0.0 (con data (I []))) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataMisInteger/dataMisInteger.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataMisInteger/dataMisInteger.uplc.expected new file mode 100644 index 00000000..fd569489 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataMisInteger/dataMisInteger.uplc.expected @@ -0,0 +1 @@ +parse error \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataMisList/dataMisList.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataMisList/dataMisList.uplc new file mode 100644 index 00000000..5f454002 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataMisList/dataMisList.uplc @@ -0,0 +1 @@ +(program 0.0.0 (con data (List #ABCDEF))) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataMisList/dataMisList.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataMisList/dataMisList.uplc.expected new file mode 100644 index 00000000..fd569489 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataMisList/dataMisList.uplc.expected @@ -0,0 +1 @@ +parse error \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataMisMap/dataMisMap.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataMisMap/dataMisMap.uplc new file mode 100644 index 00000000..089f5300 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataMisMap/dataMisMap.uplc @@ -0,0 +1,5 @@ +(program 0.0.0 (con data ( + List [ (B #0123, I 12345), + (B #456789, I 789453), + (B #0ABCDE, I 12364689486)] +))) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataMisMap/dataMisMap.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataMisMap/dataMisMap.uplc.expected new file mode 100644 index 00000000..fd569489 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/data/dataMisMap/dataMisMap.uplc.expected @@ -0,0 +1 @@ +parse error \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer1/integer1.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer1/integer1.uplc new file mode 100644 index 00000000..e06cd113 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer1/integer1.uplc @@ -0,0 +1 @@ +(program 0.0.0 (con integer 0)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer1/integer1.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer1/integer1.uplc.expected new file mode 100644 index 00000000..e06cd113 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer1/integer1.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con integer 0)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer10/integer10.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer10/integer10.uplc new file mode 100644 index 00000000..361cd5f1 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer10/integer10.uplc @@ -0,0 +1 @@ +(program 0.0.0 (con integer #12)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer10/integer10.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer10/integer10.uplc.expected new file mode 100644 index 00000000..fd569489 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer10/integer10.uplc.expected @@ -0,0 +1 @@ +parse error \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer2/integer2.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer2/integer2.uplc new file mode 100644 index 00000000..3a607321 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer2/integer2.uplc @@ -0,0 +1 @@ +(program 0.0.0 (con integer 1)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer2/integer2.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer2/integer2.uplc.expected new file mode 100644 index 00000000..3a607321 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer2/integer2.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con integer 1)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer3/integer3.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer3/integer3.uplc new file mode 100644 index 00000000..ea34ff65 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer3/integer3.uplc @@ -0,0 +1 @@ +(program 0.0.0 (con integer -1)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer3/integer3.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer3/integer3.uplc.expected new file mode 100644 index 00000000..ea34ff65 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer3/integer3.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con integer -1)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer4/integer4.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer4/integer4.uplc new file mode 100644 index 00000000..c99975ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer4/integer4.uplc @@ -0,0 +1 @@ +(program 0.0.0 (con integer 000000000000000000000000000000000000012345)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer4/integer4.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer4/integer4.uplc.expected new file mode 100644 index 00000000..763a811d --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer4/integer4.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con integer 12345)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer5/integer5.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer5/integer5.uplc new file mode 100644 index 00000000..a49d8300 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer5/integer5.uplc @@ -0,0 +1 @@ +(program 0.0.0 (con integer -000000000000000000000000000000000000012345)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer5/integer5.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer5/integer5.uplc.expected new file mode 100644 index 00000000..52314dc0 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer5/integer5.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con integer -12345)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer6/integer6.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer6/integer6.uplc new file mode 100644 index 00000000..7c107ebf --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer6/integer6.uplc @@ -0,0 +1 @@ +(program 0.0.0 (con integer 7934472584735297345829374203940389857324250374130461237461374324689198237413246172439813568362847918324132461234689173469172364972574327894626348923469234728574196241238723984567805163407561370166661807515263473485635726)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer6/integer6.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer6/integer6.uplc.expected new file mode 100644 index 00000000..fdd7d862 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer6/integer6.uplc.expected @@ -0,0 +1,7 @@ +(program + 0.0.0 + (con + integer + 7934472584735297345829374203940389857324250374130461237461374324689198237413246172439813568362847918324132461234689173469172364972574327894626348923469234728574196241238723984567805163407561370166661807515263473485635726 + ) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer7/integer7.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer7/integer7.uplc new file mode 100644 index 00000000..38619113 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer7/integer7.uplc @@ -0,0 +1 @@ +(program 0.0.0 (con integer -7934472584735297345829374203940389857324250374130461237461374324689198237413246172439813568362847918324132461234689173469172364972574327894626348923469234728574196241238723984567805163407561370166661807515263473485635726)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer7/integer7.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer7/integer7.uplc.expected new file mode 100644 index 00000000..a921d650 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer7/integer7.uplc.expected @@ -0,0 +1,7 @@ +(program + 0.0.0 + (con + integer + -7934472584735297345829374203940389857324250374130461237461374324689198237413246172439813568362847918324132461234689173469172364972574327894626348923469234728574196241238723984567805163407561370166661807515263473485635726 + ) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer8/integer8.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer8/integer8.uplc new file mode 100644 index 00000000..c690ac48 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer8/integer8.uplc @@ -0,0 +1 @@ +(program 0.0.0 (con integer +7934472584735297345829374203940389857324250374130461237461374324689198237413246172439813568362847918324132461234689173469172364972574327894626348923469234728574196241238723984567805163407561370166661807515263473485635726)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer8/integer8.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer8/integer8.uplc.expected new file mode 100644 index 00000000..fdd7d862 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer8/integer8.uplc.expected @@ -0,0 +1,7 @@ +(program + 0.0.0 + (con + integer + 7934472584735297345829374203940389857324250374130461237461374324689198237413246172439813568362847918324132461234689173469172364972574327894626348923469234728574196241238723984567805163407561370166661807515263473485635726 + ) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer9/integer9.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer9/integer9.uplc new file mode 100644 index 00000000..20875544 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer9/integer9.uplc @@ -0,0 +1 @@ +(program 0.0.0 (con integer 0.5)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer9/integer9.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer9/integer9.uplc.expected new file mode 100644 index 00000000..fd569489 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/integer/integer9/integer9.uplc.expected @@ -0,0 +1 @@ +parse error \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/list/emptyList/emptyList.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/list/emptyList/emptyList.uplc new file mode 100644 index 00000000..23186348 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/list/emptyList/emptyList.uplc @@ -0,0 +1 @@ +(program 0.0.0 (con (list integer) [])) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/list/emptyList/emptyList.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/list/emptyList/emptyList.uplc.expected new file mode 100644 index 00000000..06b79711 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/list/emptyList/emptyList.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con (list integer) [])) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/list/simpleList/simpleList.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/list/simpleList/simpleList.uplc new file mode 100644 index 00000000..7bc665c7 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/list/simpleList/simpleList.uplc @@ -0,0 +1 @@ +(program 0.0.0 (con list(bool) [True, False, True])) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/list/simpleList/simpleList.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/list/simpleList/simpleList.uplc.expected new file mode 100644 index 00000000..fd569489 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/list/simpleList/simpleList.uplc.expected @@ -0,0 +1 @@ +parse error \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/list/unitList/unitList.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/list/unitList/unitList.uplc new file mode 100644 index 00000000..94d3283e --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/list/unitList/unitList.uplc @@ -0,0 +1 @@ +(program 0.0.0 (con list(unit) [(), (), (), (), ()])) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/list/unitList/unitList.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/list/unitList/unitList.uplc.expected new file mode 100644 index 00000000..fd569489 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/list/unitList/unitList.uplc.expected @@ -0,0 +1 @@ +parse error \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/pair/illTypedNestedPair/illTypedNestedPair.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/pair/illTypedNestedPair/illTypedNestedPair.uplc new file mode 100644 index 00000000..5f84376a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/pair/illTypedNestedPair/illTypedNestedPair.uplc @@ -0,0 +1 @@ +(program 0.0.0 (con (pair integer (pair bool unit)) (12345, ((),True)))) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/pair/illTypedNestedPair/illTypedNestedPair.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/pair/illTypedNestedPair/illTypedNestedPair.uplc.expected new file mode 100644 index 00000000..fd569489 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/pair/illTypedNestedPair/illTypedNestedPair.uplc.expected @@ -0,0 +1 @@ +parse error \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/pair/nestedPair/nestedPair.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/pair/nestedPair/nestedPair.uplc new file mode 100644 index 00000000..b4c51ca6 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/pair/nestedPair/nestedPair.uplc @@ -0,0 +1 @@ +(program 0.0.0 (con (pair integer (pair unit bool)) (12345, ((),True)))) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/pair/nestedPair/nestedPair.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/pair/nestedPair/nestedPair.uplc.expected new file mode 100644 index 00000000..e96a5edd --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/pair/nestedPair/nestedPair.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con (pair integer (pair unit bool)) (12345, ((), True)))) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/pair/simplePair/simplePair.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/pair/simplePair/simplePair.uplc new file mode 100644 index 00000000..401d7bd5 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/pair/simplePair/simplePair.uplc @@ -0,0 +1 @@ +(program 0.0.0 (con (pair integer bool) (12345, True))) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/pair/simplePair/simplePair.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/pair/simplePair/simplePair.uplc.expected new file mode 100644 index 00000000..7c2f3f4c --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/pair/simplePair/simplePair.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con (pair integer bool) (12345, True))) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/string/string1/string1.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/string/string1/string1.uplc new file mode 100644 index 00000000..e0d6a782 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/string/string1/string1.uplc @@ -0,0 +1,3 @@ +(program 1.0.0 + (con string "") +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/string/string1/string1.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/string/string1/string1.uplc.expected new file mode 100644 index 00000000..d8299528 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/string/string1/string1.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con string "")) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/string/string2/string2.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/string/string2/string2.uplc new file mode 100644 index 00000000..9d965994 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/string/string2/string2.uplc @@ -0,0 +1,3 @@ +(program 1.0.0 + (con string "xyz") +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/string/string2/string2.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/string/string2/string2.uplc.expected new file mode 100644 index 00000000..40502194 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/string/string2/string2.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con string "xyz")) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/string/string3/string3.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/string/string3/string3.uplc new file mode 100644 index 00000000..5f3458d3 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/string/string3/string3.uplc @@ -0,0 +1,3 @@ +(program 1.0.0 + (con string "λ-calculus") +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/string/string3/string3.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/string/string3/string3.uplc.expected new file mode 100644 index 00000000..6d9ed766 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/string/string3/string3.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con string "λ-calculus")) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/string/string4/string4.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/string/string4/string4.uplc new file mode 100644 index 00000000..f6d33263 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/string/string4/string4.uplc @@ -0,0 +1,3 @@ +(program 1.0.0 + (con string "\t\"\83\x75\x63\o143e\x73s\o041\o042\n") +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/string/string4/string4.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/string/string4/string4.uplc.expected new file mode 100644 index 00000000..512e544d --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/string/string4/string4.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con string "\t\"Success!\"\n")) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/string/string5/string5.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/string/string5/string5.uplc new file mode 100644 index 00000000..810556bd --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/string/string5/string5.uplc @@ -0,0 +1,3 @@ +(program 1.0.0 + (con string "x ∈ ℝ ⇒ x² ≥ 0; z ∈ ℂ\\ℝ ⇒ z² ∉ {x ∈ ℝ: x ≥ 0}.") +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/string/string5/string5.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/string/string5/string5.uplc.expected new file mode 100644 index 00000000..6faea077 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/string/string5/string5.uplc.expected @@ -0,0 +1,7 @@ +(program + 1.0.0 + (con + string + "x \8712 \8477 \8658 x\178 \8805 0; z \8712 \8450\\\8477 \8658 z\178 \8713 {x \8712 \8477: x \8805 0}." + ) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/string/string6/string6.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/string/string6/string6.uplc new file mode 100644 index 00000000..e757be6a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/string/string6/string6.uplc @@ -0,0 +1,3 @@ +(program 1.0.0 + (con string 144) +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/string/string6/string6.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/string/string6/string6.uplc.expected new file mode 100644 index 00000000..fd569489 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/string/string6/string6.uplc.expected @@ -0,0 +1 @@ +parse error \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/unit/conUnit.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/constant/unit/conUnit.uplc new file mode 100644 index 00000000..9d38fea4 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/unit/conUnit.uplc @@ -0,0 +1 @@ +(program 0.0.0 (con unit ())) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/unit/conUnit.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/unit/conUnit.uplc.expected new file mode 100644 index 00000000..9d38fea4 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/unit/conUnit.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con unit ())) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/constant/unit/unit.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/constant/unit/unit.uplc.expected new file mode 100644 index 00000000..9d38fea4 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/constant/unit/unit.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con unit ())) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/README.md b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/README.md new file mode 100644 index 00000000..ccce66b6 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/README.md @@ -0,0 +1,6 @@ +The test cases here are all extracted from the tests in +`plutus-core/untyped-plutus-core/test/Evaluation/Golden.hs` and check that +interleaving of forces and normal arguments for builtin applications behaves +correctly. Most of these are for `ifThenElse` (`ite`) because that has the most +complicated interleaving behaviour of our current builtins (it expects an +argument of the built-in `bool` type, then a `force`, then two term arguments). diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/ite/ite.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/ite/ite.uplc new file mode 100644 index 00000000..2ca61006 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/ite/ite.uplc @@ -0,0 +1 @@ +(program 1.0.0 (builtin ifThenElse)) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/ite/ite.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/ite/ite.uplc.expected new file mode 100644 index 00000000..949db010 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/ite/ite.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (builtin ifThenElse)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteAtIntegerArrowIntegerApplied1/iteAtIntegerArrowIntegerApplied1.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteAtIntegerArrowIntegerApplied1/iteAtIntegerArrowIntegerApplied1.uplc new file mode 100644 index 00000000..71bd3758 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteAtIntegerArrowIntegerApplied1/iteAtIntegerArrowIntegerApplied1.uplc @@ -0,0 +1,15 @@ +(program + 1.0.0 + [ + [ + [ + (force (builtin ifThenElse)) + [ + [ (builtin lessThanEqualsInteger) (con integer 11) ] (con integer 22) + ] + ] + [ (builtin multiplyInteger) (con integer 11) ] + ] + [ (builtin subtractInteger) (con integer 22) ] + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteAtIntegerArrowIntegerApplied1/iteAtIntegerArrowIntegerApplied1.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteAtIntegerArrowIntegerApplied1/iteAtIntegerArrowIntegerApplied1.uplc.expected new file mode 100644 index 00000000..fcade660 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteAtIntegerArrowIntegerApplied1/iteAtIntegerArrowIntegerApplied1.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 [ (builtin multiplyInteger) (con integer 11) ]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteAtIntegerArrowIntegerApplied2/iteAtIntegerArrowIntegerApplied2.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteAtIntegerArrowIntegerApplied2/iteAtIntegerArrowIntegerApplied2.uplc new file mode 100644 index 00000000..de100aa2 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteAtIntegerArrowIntegerApplied2/iteAtIntegerArrowIntegerApplied2.uplc @@ -0,0 +1,15 @@ +(program + 1.0.0 + [ + [ + [ + (force (builtin ifThenElse)) + [ + [ (builtin lessThanEqualsInteger) (con integer 11) ] (con integer 22) + ] + ] + (builtin multiplyInteger) + ] + (builtin subtractInteger) + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteAtIntegerArrowIntegerApplied2/iteAtIntegerArrowIntegerApplied2.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteAtIntegerArrowIntegerApplied2/iteAtIntegerArrowIntegerApplied2.uplc.expected new file mode 100644 index 00000000..481d11b2 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteAtIntegerArrowIntegerApplied2/iteAtIntegerArrowIntegerApplied2.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (builtin multiplyInteger)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteAtIntegerArrowIntegerAppliedApplied/iteAtIntegerArrowIntegerAppliedApplied.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteAtIntegerArrowIntegerAppliedApplied/iteAtIntegerArrowIntegerAppliedApplied.uplc new file mode 100644 index 00000000..7aac3734 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteAtIntegerArrowIntegerAppliedApplied/iteAtIntegerArrowIntegerAppliedApplied.uplc @@ -0,0 +1,19 @@ +(program + 1.0.0 + [ + [ + [ + [ + (force (builtin ifThenElse)) + [ + [ (builtin lessThanEqualsInteger) (con integer 11) ] + (con integer 22) + ] + ] + [ (builtin multiplyInteger) (con integer 11) ] + ] + [ (builtin subtractInteger) (con integer 22) ] + ] + (con integer 22) + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteAtIntegerArrowIntegerAppliedApplied/iteAtIntegerArrowIntegerAppliedApplied.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteAtIntegerArrowIntegerAppliedApplied/iteAtIntegerArrowIntegerAppliedApplied.uplc.expected new file mode 100644 index 00000000..d1dce902 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteAtIntegerArrowIntegerAppliedApplied/iteAtIntegerArrowIntegerAppliedApplied.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con integer 242)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteAtIntegerArrowIntegerWithCond/iteAtIntegerArrowIntegerWithCond.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteAtIntegerArrowIntegerWithCond/iteAtIntegerArrowIntegerWithCond.uplc new file mode 100644 index 00000000..9e657306 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteAtIntegerArrowIntegerWithCond/iteAtIntegerArrowIntegerWithCond.uplc @@ -0,0 +1,7 @@ +(program + 1.0.0 + [ + (force (builtin ifThenElse)) + [ [ (builtin lessThanEqualsInteger) (con integer 11) ] (con integer 22) ] + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteAtIntegerArrowIntegerWithCond/iteAtIntegerArrowIntegerWithCond.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteAtIntegerArrowIntegerWithCond/iteAtIntegerArrowIntegerWithCond.uplc.expected new file mode 100644 index 00000000..b3517aef --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteAtIntegerArrowIntegerWithCond/iteAtIntegerArrowIntegerWithCond.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 [ (force (builtin ifThenElse)) (con bool True) ]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteForceAppForce/iteForceAppForce.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteForceAppForce/iteForceAppForce.uplc new file mode 100644 index 00000000..6d1f1562 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteForceAppForce/iteForceAppForce.uplc @@ -0,0 +1,9 @@ +(program + 1.0.0 + (force + [ + (force (builtin ifThenElse)) + [ [ (builtin lessThanEqualsInteger) (con integer 11) ] (con integer 22) ] + ] + ) +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteForceAppForce/iteForceAppForce.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteForceAppForce/iteForceAppForce.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteForceAppForce/iteForceAppForce.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteForced/iteForced.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteForced/iteForced.uplc new file mode 100644 index 00000000..76701502 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteForced/iteForced.uplc @@ -0,0 +1 @@ +(program 1.0.0 (force (builtin ifThenElse))) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteForced/iteForced.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteForced/iteForced.uplc.expected new file mode 100644 index 00000000..4612bc65 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteForced/iteForced.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (force (builtin ifThenElse))) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteForcedForced/iteForcedForced.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteForcedForced/iteForcedForced.uplc new file mode 100644 index 00000000..c67e25cd --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteForcedForced/iteForcedForced.uplc @@ -0,0 +1 @@ +(program 1.0.0 (force (force (builtin ifThenElse)))) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteForcedForced/iteForcedForced.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteForcedForced/iteForcedForced.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteForcedForced/iteForcedForced.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteForcedWithIntegerAndString/iteForcedWithIntegerAndString.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteForcedWithIntegerAndString/iteForcedWithIntegerAndString.uplc new file mode 100644 index 00000000..86db2181 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteForcedWithIntegerAndString/iteForcedWithIntegerAndString.uplc @@ -0,0 +1,15 @@ +(program + 1.0.0 + [ + [ + [ + (force (builtin ifThenElse)) + [ + [ (builtin lessThanEqualsInteger) (con integer 11) ] (con integer 22) + ] + ] + (con integer 33) + ] + (con string "abc") + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteForcedWithIntegerAndString/iteForcedWithIntegerAndString.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteForcedWithIntegerAndString/iteForcedWithIntegerAndString.uplc.expected new file mode 100644 index 00000000..b06788db --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteForcedWithIntegerAndString/iteForcedWithIntegerAndString.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con integer 33)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteStringInteger/iteStringInteger.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteStringInteger/iteStringInteger.uplc new file mode 100644 index 00000000..d0d331c0 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteStringInteger/iteStringInteger.uplc @@ -0,0 +1,17 @@ +-- This is OK because the branches are terms and there's no requirement that +--their types match in UPLC even if they do happen to be builtin constants. +(program + 1.0.0 + [ + [ + [ + (force (builtin ifThenElse)) + [ + [ (builtin lessThanEqualsInteger) (con integer 11) ] (con integer 22) + ] + ] + (con string "11 <= 22") + ] + (con integer -1111) + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteStringInteger/iteStringInteger.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteStringInteger/iteStringInteger.uplc.expected new file mode 100644 index 00000000..5847f262 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteStringInteger/iteStringInteger.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con string "11 <= 22")) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteStringString/iteStringString.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteStringString/iteStringString.uplc new file mode 100644 index 00000000..1c03b179 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteStringString/iteStringString.uplc @@ -0,0 +1,15 @@ +(program + 1.0.0 + [ + [ + [ + (force (builtin ifThenElse)) + [ + [ (builtin lessThanEqualsInteger) (con integer 11) ] (con integer 22) + ] + ] + (con string "11 <= 22") + ] + (con string "\172(11 <= 22)") + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteStringString/iteStringString.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteStringString/iteStringString.uplc.expected new file mode 100644 index 00000000..5847f262 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteStringString/iteStringString.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con string "11 <= 22")) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteUnforcedFullyApplied/iteUnforcedFullyApplied.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteUnforcedFullyApplied/iteUnforcedFullyApplied.uplc new file mode 100644 index 00000000..e7d473f1 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteUnforcedFullyApplied/iteUnforcedFullyApplied.uplc @@ -0,0 +1,15 @@ +(program + 1.0.0 + [ + [ + [ + (builtin ifThenElse) + [ + [ (builtin lessThanEqualsInteger) (con integer 11) ] (con integer 22) + ] + ] + (con string "11 <= 22") + ] + (con string "\172(11 <= 22)") + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteUnforcedFullyApplied/iteUnforcedFullyApplied.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteUnforcedFullyApplied/iteUnforcedFullyApplied.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteUnforcedFullyApplied/iteUnforcedFullyApplied.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteUnforcedWithCond/iteUnforcedWithCond.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteUnforcedWithCond/iteUnforcedWithCond.uplc new file mode 100644 index 00000000..c0e48127 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteUnforcedWithCond/iteUnforcedWithCond.uplc @@ -0,0 +1,7 @@ +(program + 1.0.0 + [ + (builtin ifThenElse) + [ [ (builtin lessThanEqualsInteger) (con integer 11) ] (con integer 22) ] + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteUnforcedWithCond/iteUnforcedWithCond.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteUnforcedWithCond/iteUnforcedWithCond.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteUnforcedWithCond/iteUnforcedWithCond.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteWrongCondTypeFullyAppied/iteWrongCondTypeFullyAppied.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteWrongCondTypeFullyAppied/iteWrongCondTypeFullyAppied.uplc new file mode 100644 index 00000000..fd67f901 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteWrongCondTypeFullyAppied/iteWrongCondTypeFullyAppied.uplc @@ -0,0 +1,10 @@ +(program + 1.0.0 + [ + [ + [ (force (builtin ifThenElse)) (con string "11 <= 22") ] + (con string "\172(11 <= 22)") + ] + (con string "\172(11 <= 22)") + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteWrongCondTypeFullyAppied/iteWrongCondTypeFullyAppied.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteWrongCondTypeFullyAppied/iteWrongCondTypeFullyAppied.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteWrongCondTypeFullyAppied/iteWrongCondTypeFullyAppied.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteWrongCondTypePartiallyApplied/iteWrongCondTypePartiallyApplied.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteWrongCondTypePartiallyApplied/iteWrongCondTypePartiallyApplied.uplc new file mode 100644 index 00000000..b356a921 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteWrongCondTypePartiallyApplied/iteWrongCondTypePartiallyApplied.uplc @@ -0,0 +1,7 @@ +(program + 1.0.0 + [ + [ (force (builtin ifThenElse)) (con string "11 <= 22") ] + (con string "\172(11 <= 22)") + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteWrongCondTypePartiallyApplied/iteWrongCondTypePartiallyApplied.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteWrongCondTypePartiallyApplied/iteWrongCondTypePartiallyApplied.uplc.expected new file mode 100644 index 00000000..aead86ec --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/iteWrongCondTypePartiallyApplied/iteWrongCondTypePartiallyApplied.uplc.expected @@ -0,0 +1,4 @@ +(program 1.0.0 [ + [ (force (builtin ifThenElse)) (con string "11 <= 22") ] + (con string "\172(11 <= 22)") +]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/multiplyIntegerForceError1/multiplyIntegerForceError1.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/multiplyIntegerForceError1/multiplyIntegerForceError1.uplc new file mode 100644 index 00000000..5207ac90 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/multiplyIntegerForceError1/multiplyIntegerForceError1.uplc @@ -0,0 +1,4 @@ +(program + 1.0.0 + [ [ (force (builtin multiplyInteger)) (con integer 11) ] (con integer 22) ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/multiplyIntegerForceError1/multiplyIntegerForceError1.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/multiplyIntegerForceError1/multiplyIntegerForceError1.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/multiplyIntegerForceError1/multiplyIntegerForceError1.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/multiplyIntegerForceError2/multiplyIntegerForceError2.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/multiplyIntegerForceError2/multiplyIntegerForceError2.uplc new file mode 100644 index 00000000..b3efb7d1 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/multiplyIntegerForceError2/multiplyIntegerForceError2.uplc @@ -0,0 +1,4 @@ +(program + 1.0.0 + [ (force [ (builtin multiplyInteger) (con integer 11) ]) (con integer 22) ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/multiplyIntegerForceError2/multiplyIntegerForceError2.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/multiplyIntegerForceError2/multiplyIntegerForceError2.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/multiplyIntegerForceError2/multiplyIntegerForceError2.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/multiplyIntegerForceError3/multiplyIntegerForceError3.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/multiplyIntegerForceError3/multiplyIntegerForceError3.uplc new file mode 100644 index 00000000..4f2815ba --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/multiplyIntegerForceError3/multiplyIntegerForceError3.uplc @@ -0,0 +1,4 @@ +(program + 1.0.0 + (force [ [ (builtin multiplyInteger) (con integer 11) ] (con integer 22) ]) +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/multiplyIntegerForceError3/multiplyIntegerForceError3.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/multiplyIntegerForceError3/multiplyIntegerForceError3.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/interleaving/multiplyIntegerForceError3/multiplyIntegerForceError3.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/README.md b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/README.md new file mode 100644 index 00000000..cedbb4c6 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/README.md @@ -0,0 +1,2 @@ +The tests here are mostly unit tests to make sure that built-in functions +produce correct results. \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/addInteger/addInteger-uncurried/addInteger-uncurried.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/addInteger/addInteger-uncurried/addInteger-uncurried.uplc new file mode 100644 index 00000000..09ac9dda --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/addInteger/addInteger-uncurried/addInteger-uncurried.uplc @@ -0,0 +1 @@ +(program 1.0.0 [ (builtin addInteger) (con integer 1) (con integer 2) ]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/addInteger/addInteger-uncurried/addInteger-uncurried.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/addInteger/addInteger-uncurried/addInteger-uncurried.uplc.expected new file mode 100644 index 00000000..81805779 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/addInteger/addInteger-uncurried/addInteger-uncurried.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con integer 3)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/addInteger/addInteger1/addInteger1.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/addInteger/addInteger1/addInteger1.uplc new file mode 100644 index 00000000..fb5df464 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/addInteger/addInteger1/addInteger1.uplc @@ -0,0 +1 @@ +(program 1.0.0 [ [ (builtin addInteger) (con integer 1)] (con integer 1) ]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/addInteger/addInteger1/addInteger1.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/addInteger/addInteger1/addInteger1.uplc.expected new file mode 100644 index 00000000..00abe6f7 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/addInteger/addInteger1/addInteger1.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con integer 2)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/addInteger/addInteger2/addInteger2.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/addInteger/addInteger2/addInteger2.uplc new file mode 100644 index 00000000..7925b9e8 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/addInteger/addInteger2/addInteger2.uplc @@ -0,0 +1 @@ +(program 1.0.0 [ [ (builtin addInteger) (con integer -1789345783478975892347952789342)] (con integer 5734) ]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/addInteger/addInteger2/addInteger2.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/addInteger/addInteger2/addInteger2.uplc.expected new file mode 100644 index 00000000..1b990d66 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/addInteger/addInteger2/addInteger2.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con integer -1789345783478975892347952783608)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/addInteger/addInteger3/addInteger3.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/addInteger/addInteger3/addInteger3.uplc new file mode 100644 index 00000000..da8848f6 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/addInteger/addInteger3/addInteger3.uplc @@ -0,0 +1 @@ +(program 1.0.0 [ [ (builtin addInteger) (con integer -1789345783478975892347952789342)] (con integer 57347348957247358792345278346357234234527384258346526378567285925786235963258) ]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/addInteger/addInteger3/addInteger3.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/addInteger/addInteger3/addInteger3.uplc.expected new file mode 100644 index 00000000..44365eb8 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/addInteger/addInteger3/addInteger3.uplc.expected @@ -0,0 +1,7 @@ +(program + 1.0.0 + (con + integer + 57347348957247358792345278346357234234527384256557180595088310033438283173916 + ) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/addInteger/addInteger4/addInteger4.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/addInteger/addInteger4/addInteger4.uplc new file mode 100644 index 00000000..01287f77 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/addInteger/addInteger4/addInteger4.uplc @@ -0,0 +1 @@ +(program 1.0.0 [ [ (builtin addInteger) (con integer 0)] (con integer 7527934965792342535732746236582734865623578) ]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/addInteger/addInteger4/addInteger4.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/addInteger/addInteger4/addInteger4.uplc.expected new file mode 100644 index 00000000..22b875f8 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/addInteger/addInteger4/addInteger4.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con integer 7527934965792342535732746236582734865623578)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/appendByteString/appendByteString1/appendByteString1.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/appendByteString/appendByteString1/appendByteString1.uplc new file mode 100644 index 00000000..90ea6670 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/appendByteString/appendByteString1/appendByteString1.uplc @@ -0,0 +1 @@ +(program 0.0.0 [ [(builtin appendByteString) (con bytestring #00AABBCC)] (con bytestring #FF0033) ]) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/appendByteString/appendByteString1/appendByteString1.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/appendByteString/appendByteString1/appendByteString1.uplc.expected new file mode 100644 index 00000000..587ff840 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/appendByteString/appendByteString1/appendByteString1.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con bytestring #00aabbccff0033)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/appendByteString/appendByteString2/appendByteString2.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/appendByteString/appendByteString2/appendByteString2.uplc new file mode 100644 index 00000000..dbed1cf4 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/appendByteString/appendByteString2/appendByteString2.uplc @@ -0,0 +1 @@ +(program 0.0.0 [ [(builtin appendByteString) (con bytestring #00AABBCC)] (con bytestring #) ]) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/appendByteString/appendByteString2/appendByteString2.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/appendByteString/appendByteString2/appendByteString2.uplc.expected new file mode 100644 index 00000000..d061c931 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/appendByteString/appendByteString2/appendByteString2.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con bytestring #00aabbcc)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/appendByteString/appendByteString3/appendByteString3.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/appendByteString/appendByteString3/appendByteString3.uplc new file mode 100644 index 00000000..3dffc104 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/appendByteString/appendByteString3/appendByteString3.uplc @@ -0,0 +1 @@ +(program 0.0.0 [ [(builtin appendByteString) (con bytestring #)] (con bytestring #FF0033) ]) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/appendByteString/appendByteString3/appendByteString3.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/appendByteString/appendByteString3/appendByteString3.uplc.expected new file mode 100644 index 00000000..f3f429cd --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/appendByteString/appendByteString3/appendByteString3.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con bytestring #ff0033)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/appendString/appendString.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/appendString/appendString.uplc new file mode 100644 index 00000000..ed86e929 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/appendString/appendString.uplc @@ -0,0 +1 @@ +(program 0.0.0 [ [ (builtin appendString) (con string "Ola")] (con string " mundo!") ]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/appendString/appendString.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/appendString/appendString.uplc.expected new file mode 100644 index 00000000..e8d632be --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/appendString/appendString.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con string "Ola mundo!")) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bData/bData.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bData/bData.uplc new file mode 100644 index 00000000..bef4ce43 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bData/bData.uplc @@ -0,0 +1 @@ +(program 0.0.0 [(builtin bData) (con bytestring #0AFD)]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bData/bData.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bData/bData.uplc.expected new file mode 100644 index 00000000..11186be5 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bData/bData.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con data (B #0afd))) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/blake2b_224/blake2b_224-empty/blake2b_224-empty.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/blake2b_224/blake2b_224-empty/blake2b_224-empty.uplc new file mode 100644 index 00000000..45a18be9 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/blake2b_224/blake2b_224-empty/blake2b_224-empty.uplc @@ -0,0 +1,14 @@ +-- Test vector (0-bit input) for Blake2b_224. +-- Output obtained using the b2sum program from https://github.com/BLAKE2/BLAKE2 +(program 1.0.0 + [ + [ + (builtin equalsByteString) + [ + (builtin blake2b_224) + (con bytestring #) + ] + ] + (con bytestring #836cc68931c2e4e3e838602eca1902591d216837bafddfe6f0c8cb07) + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/blake2b_224/blake2b_224-empty/blake2b_224-empty.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/blake2b_224/blake2b_224-empty/blake2b_224-empty.uplc.expected new file mode 100644 index 00000000..3760fc7a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/blake2b_224/blake2b_224-empty/blake2b_224-empty.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/blake2b_224/blake2b_224-length-200/blake2b_224-length-200.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/blake2b_224/blake2b_224-length-200/blake2b_224-length-200.uplc new file mode 100644 index 00000000..d61bf4df --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/blake2b_224/blake2b_224-length-200/blake2b_224-length-200.uplc @@ -0,0 +1,14 @@ +-- Test vector (200-bit input) for Blake2b_224. +-- Output obtained using the b2sum program from https://github.com/BLAKE2/BLAKE2 +(program 1.0.0 + [ + [ + (builtin equalsByteString) + [ + (builtin blake2b_224) + (con bytestring #2e7ea84da4bc4d7cfb463e3f2c8647057afff3fbececa1d200) + ] + ] + (con bytestring #93d4b80c531998973b08297fc5042af359865a8702f20b5fc2db8df5) + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/blake2b_224/blake2b_224-length-200/blake2b_224-length-200.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/blake2b_224/blake2b_224-length-200/blake2b_224-length-200.uplc.expected new file mode 100644 index 00000000..3760fc7a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/blake2b_224/blake2b_224-length-200/blake2b_224-length-200.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/blake2b_256/blake2b_256-empty/blake2b_256-empty.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/blake2b_256/blake2b_256-empty/blake2b_256-empty.uplc new file mode 100644 index 00000000..7e83f348 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/blake2b_256/blake2b_256-empty/blake2b_256-empty.uplc @@ -0,0 +1,14 @@ +-- Test vector (0-bit input) for Blake2b_256. +-- Output obtained using the b2sum program from https://github.com/BLAKE2/BLAKE2 +(program 1.0.0 + [ + [ + (builtin equalsByteString) + [ + (builtin blake2b_256) + (con bytestring #) + ] + ] + (con bytestring #0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a8) + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/blake2b_256/blake2b_256-empty/blake2b_256-empty.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/blake2b_256/blake2b_256-empty/blake2b_256-empty.uplc.expected new file mode 100644 index 00000000..3760fc7a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/blake2b_256/blake2b_256-empty/blake2b_256-empty.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/blake2b_256/blake2b_256-length-200/blake2b_256-length-200.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/blake2b_256/blake2b_256-length-200/blake2b_256-length-200.uplc new file mode 100644 index 00000000..41a9dc7d --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/blake2b_256/blake2b_256-length-200/blake2b_256-length-200.uplc @@ -0,0 +1,14 @@ +-- Test vector (200-bit input) for Blake2b_256. +-- Output obtained using the b2sum program from https://github.com/BLAKE2/BLAKE2 +(program 1.0.0 + [ + [ + (builtin equalsByteString) + [ + (builtin blake2b_256) + (con bytestring #2e7ea84da4bc4d7cfb463e3f2c8647057afff3fbececa1d200) + ] + ] + (con bytestring #91c60f99b33303c02b39ed93b713e3915a180c3747f3b31e05727618ee401624) + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/blake2b_256/blake2b_256-length-200/blake2b_256-length-200.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/blake2b_256/blake2b_256-length-200/blake2b_256-length-200.uplc.expected new file mode 100644 index 00000000..3760fc7a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/blake2b_256/blake2b_256-length-200/blake2b_256-length-200.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G1/arith/add/add.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G1/arith/add/add.uplc new file mode 100644 index 00000000..b1a604fe --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G1/arith/add/add.uplc @@ -0,0 +1,25 @@ +-- Check that adding two random points in G1 gives the expected result. +(program 1.0.0 + [ + [ + (builtin bls12_381_G1_equal) + [ + (builtin bls12_381_G1_add) + [ + (builtin bls12_381_G1_uncompress) + (con bytestring #b93105d0cff4c3f6a42ab790900a26bb1843f4b07fc83d527a66e4a2ddf6c49ea86fe37b1106dbd20dc280ec5996dadf + ) + ] + [ + (builtin bls12_381_G1_uncompress) + (con bytestring #a077246742bfbffdefc1193aba17434d337f231478bf63173065c1e09c34429e76877983ae5f3add1438e5d237f63724 + ) + ] + ] + ] + (con + bls12_381_G1_element + 0x9863eb0a7f8b092fca1a4333866ae3579ad2a4edef84bfcdf736333b3adf0100820c7603b002bf911b564cf032392f07 + ) + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G1/arith/add/add.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G1/arith/add/add.uplc.expected new file mode 100644 index 00000000..3760fc7a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G1/arith/add/add.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G1/arith/neg/neg.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G1/arith/neg/neg.uplc new file mode 100644 index 00000000..df1fe94f --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G1/arith/neg/neg.uplc @@ -0,0 +1,19 @@ +-- Check that negating a random point in G1 gives the expected result. +(program 1.0.0 + [ + [ + (builtin bls12_381_G1_equal) + [ + (builtin bls12_381_G1_neg) + [ + (builtin bls12_381_G1_uncompress) + (con bytestring #b93105d0cff4c3f6a42ab790900a26bb1843f4b07fc83d527a66e4a2ddf6c49ea86fe37b1106dbd20dc280ec5996dadf) + ] + ] + ] + (con + bls12_381_G1_element + 0x993105d0cff4c3f6a42ab790900a26bb1843f4b07fc83d527a66e4a2ddf6c49ea86fe37b1106dbd20dc280ec5996dadf + ) + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G1/arith/neg/neg.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G1/arith/neg/neg.uplc.expected new file mode 100644 index 00000000..3760fc7a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G1/arith/neg/neg.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G1/arith/scalarMul/scalarMul.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G1/arith/scalarMul/scalarMul.uplc new file mode 100644 index 00000000..c3180379 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G1/arith/scalarMul/scalarMul.uplc @@ -0,0 +1,23 @@ +-- Scalar multiplication gives the correct result. +(program 1.0.0 + [ + [ + (builtin bls12_381_G1_equal) + [ + [ + (builtin bls12_381_G1_scalarMul) + (con integer 29342537169447282925541144552701591957563885683358707334406144036950193508773) + -- 0x40df499974f62e2f268cd5096b0d952073900054122ffce0a27c9d96932891a5 + ] + [ + (builtin bls12_381_G1_uncompress) + (con bytestring #a077246742bfbffdefc1193aba17434d337f231478bf63173065c1e09c34429e76877983ae5f3add1438e5d237f63724) + ] + ] + ] + (con + bls12_381_G1_element + 0xa07796202c3fcad405a5da58d99f0194c8ee21999dd03291f0bfe97e68eb4e69077cf8052b9f5d9cbc4a1394baa0e0d8 + ) + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G1/arith/scalarMul/scalarMul.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G1/arith/scalarMul/scalarMul.uplc.expected new file mode 100644 index 00000000..3760fc7a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G1/arith/scalarMul/scalarMul.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G1/uncompress/off-curve/off-curve.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G1/uncompress/off-curve/off-curve.uplc new file mode 100644 index 00000000..b68df371 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G1/uncompress/off-curve/off-curve.uplc @@ -0,0 +1,7 @@ +-- This contains a value which is not the x-coordinate of a point on the E1 curve. +(program 0.0.0 + [ + (builtin bls12_381_G1_uncompress) + (con bytestring #864cc4f64b12ca99ecdd1962572e6add609d9c619aab678b3fc298bc2f0f81feb4f0d3ebad7e850a8bcb52ca467e649d) + ] +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G1/uncompress/off-curve/off-curve.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G1/uncompress/off-curve/off-curve.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G1/uncompress/off-curve/off-curve.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G1/uncompress/out-of-group/out-of-group.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G1/uncompress/out-of-group/out-of-group.uplc new file mode 100644 index 00000000..2e6aaa05 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G1/uncompress/out-of-group/out-of-group.uplc @@ -0,0 +1,8 @@ +-- This contains a value which is the x-coordinate of a point which lies on the +-- E1 curve but not the G1 subgroup. +(program 0.0.0 + [ + (builtin bls12_381_G1_uncompress) + (con bytestring #9483141c933166b61990a706aca07f467d22bc34c6552f5bba91cb1fc21db51d03dfff6523a5e1b4285d54c47660eda1) + ] +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G1/uncompress/out-of-group/out-of-group.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G1/uncompress/out-of-group/out-of-group.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G1/uncompress/out-of-group/out-of-group.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G2/arith/add/add.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G2/arith/add/add.uplc new file mode 100644 index 00000000..f98f8755 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G2/arith/add/add.uplc @@ -0,0 +1,31 @@ +-- Check that adding two random points in G2 gives the expected result. +(program 1.0.0 + [ + [ + (builtin bls12_381_G2_equal) + [ + [ + (builtin bls12_381_G2_add) + [ + (builtin bls12_381_G2_uncompress) + (con + bytestring + #b5ed6482bf5486831a9eb445b8b9a77aa6330005b8b432523c69fee7085d3032856de9f857c55ac9745eabcf14894205149cc67393687289e6c2728be69ad1f8ea1a6c0a5a65bf93eca984f3dac5da1abc6f7156ccbc5a33c655f7b17724eb19 + ) + ] + ] + [ + (builtin bls12_381_G2_uncompress) + (con + bytestring + #a6cc0f01663fd65a95d1359758ebe3a412ce05f4242b0c1f5964351b38e188362a8ceb6c2f86d3f7e5f73b60cd04288005d2a50f8ddf1751d7a915515054276fbae7569c3f18c614c9954177d8e745e98404654cf759d4747b0c806bbd336b7d + ) + ] + ] + ] + (con + bls12_381_G2_element + 0xb3db03681aaf0d218be32f7cc94bd6a975c6870b4a1d4e461b77b60eee2461ca367154b0c4583b2d5f81124aa21fdf3e09ff6b54ce7c57572283a175fba381a32ac6f46abaf11cdbaeb206dcd7d4269caa4d0ebbb3adc1b8fce42ccfa855ea83 + ) + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G2/arith/add/add.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G2/arith/add/add.uplc.expected new file mode 100644 index 00000000..3760fc7a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G2/arith/add/add.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G2/arith/neg/neg.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G2/arith/neg/neg.uplc new file mode 100644 index 00000000..fd8f4981 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G2/arith/neg/neg.uplc @@ -0,0 +1,20 @@ +-- Check that negating a random point in G2 gives the expected result. +(program 1.0.0 + [ + [ + (builtin bls12_381_G2_equal) + [ + (builtin bls12_381_G2_neg) + [ + (builtin bls12_381_G2_uncompress) + (con bytestring #b5ed6482bf5486831a9eb445b8b9a77aa6330005b8b432523c69fee7085d3032856de9f857c55ac9745eabcf14894205149cc67393687289e6c2728be69ad1f8ea1a6c0a5a65bf93eca984f3dac5da1abc6f7156ccbc5a33c655f7b17724eb19 + ) + ] + ] + ] + (con + bls12_381_G2_element + 0x95ed6482bf5486831a9eb445b8b9a77aa6330005b8b432523c69fee7085d3032856de9f857c55ac9745eabcf14894205149cc67393687289e6c2728be69ad1f8ea1a6c0a5a65bf93eca984f3dac5da1abc6f7156ccbc5a33c655f7b17724eb19 + ) + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G2/arith/neg/neg.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G2/arith/neg/neg.uplc.expected new file mode 100644 index 00000000..3760fc7a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G2/arith/neg/neg.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G2/arith/scalarMul/scalarMul.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G2/arith/scalarMul/scalarMul.uplc new file mode 100644 index 00000000..0815a30a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G2/arith/scalarMul/scalarMul.uplc @@ -0,0 +1,24 @@ +-- Scalar multiplication gives the correct result. +(program 1.0.0 + [ + [ + (builtin bls12_381_G2_equal) + [ + [ + (builtin bls12_381_G2_scalarMul) + (con integer 29342537169447282925541144552701591957563885683358707334406144036950193508773) + -- 0x40df499974f62e2f268cd5096b0d952073900054122ffce0a27c9d96932891a5 + ] + [ + (builtin bls12_381_G2_uncompress) + (con bytestring #a6cc0f01663fd65a95d1359758ebe3a412ce05f4242b0c1f5964351b38e188362a8ceb6c2f86d3f7e5f73b60cd04288005d2a50f8ddf1751d7a915515054276fbae7569c3f18c614c9954177d8e745e98404654cf759d4747b0c806bbd336b7d + ) + ] + ] + ] + (con + bls12_381_G2_element + 0x89b8e839c317ab3c735c6a65122fff4654f469c30c480701f6e4d9f311f3c5f3411c7cd2876c539bf56f983d14e550b5172765f62bba1235394a33413c21667a57214e9a6f2516f8d7bf57321c20bf8cd8ecd290691ad6bd5ab9e391304240a4 + ) + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G2/arith/scalarMul/scalarMul.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G2/arith/scalarMul/scalarMul.uplc.expected new file mode 100644 index 00000000..3760fc7a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G2/arith/scalarMul/scalarMul.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G2/uncompress/off-curve/off-curve.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G2/uncompress/off-curve/off-curve.uplc new file mode 100644 index 00000000..cd04867d --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G2/uncompress/off-curve/off-curve.uplc @@ -0,0 +1,7 @@ +-- This contains a value which is not the x-coordinate of a point on the E2 curve. +(program 0.0.0 + [ + (builtin bls12_381_G2_uncompress) + (con bytestring #87861839e602fc5dfa0d0b72232dd81d2b0e4b660a7eba353da27e66ceaf2d6c7734925247281866a12d67752a1edaad01ea59e4e86e2e85a81a573cd68f6dfb526558d81a8f488f261f355ddac23f6caf07d27fda71d8f3968d4ceeda89a09d) + ] +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G2/uncompress/off-curve/off-curve.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G2/uncompress/off-curve/off-curve.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G2/uncompress/off-curve/off-curve.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G2/uncompress/out-of-group/out-of-group.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G2/uncompress/out-of-group/out-of-group.uplc new file mode 100644 index 00000000..405988ab --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G2/uncompress/out-of-group/out-of-group.uplc @@ -0,0 +1,9 @@ +-- This contains a value which is the x-coordinate of a point which lies on the +-- E2 curve but not the G2 subgroup. +(program 0.0.0 + [ + (builtin bls12_381_G2_uncompress) + (con bytestring #8bd83699f607412448d202d948bb111badd456d68086ff9a5906ea3b2cda4111d3638391f7a7b153eea77ab47215d6fe13b350f59f884c6e31ac087239d9145b816424cba2c8bcb7b3ed7e19638089d91e5c9136d2aefc8da165284b42229a70 +) + ] +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G2/uncompress/out-of-group/out-of-group.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G2/uncompress/out-of-group/out-of-group.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/G2/uncompress/out-of-group/out-of-group.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/README.md b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/README.md new file mode 100644 index 00000000..ccb5ea9d --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/README.md @@ -0,0 +1,22 @@ +These tests reproduce some of those in +[cardano-crypto-tests](https://github.com/input-output-hk/cardano-base/tree/master/cardano-crypto-tests), +specifically the unit tests in [EllipticCurves.hs](https://github.com/input-output-hk/cardano-base/blob/master/cardano-crypto-tests/src/Test/Crypto/EllipticCurve.hs). + +The inputs to those tests (and hence these tests) were generated using the Rust +[bls12_381 library](https://docs.rs/bls12_381/latest/bls12_381/), so they +provide independent verification that the basic BLS12-381 functions (here +implemented using the [blst library](https://github.com/supranational/blst)) +behave as expected. Note that the test vectors provided in the [BLS12-381 +specification](https://www.ietf.org/archive/id/draft-irtf-cfrg-pairing-friendly-curves-11.html#name-bls-curves-for-the-128-bit-) +cannot be used because they are **incorrect**. + +The other BLS12-381 conformance tests (in neighbouring directories of the +current one) test a wider range of properties, but their inputs were +chosen semi-randomly and their outputs were generated using the Plutus Core +implementations of the BLS12-381 built-in functions: thus they don't test +against some independent source of truth, although they do guard against changes +in the Plutus Core implementation and can be used to test other Plutus Core +evaluators for compatibilty with the standard one. Also, there are +comprehensive property tests +[here](https://github.com/input-output-hk/plutus/tree/master/plutus-core/untyped-plutus-core/test/Evaluation/Builtins) +which may be converted into conformance tests at some point in the future. diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/pairing/balanced/balanced.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/pairing/balanced/balanced.uplc new file mode 100644 index 00000000..0c2c2554 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/pairing/balanced/balanced.uplc @@ -0,0 +1,38 @@ +-- <[a]P,Q> = +(program 1.0.0 + [ + [ + (builtin bls12_381_finalVerify) + [ + [ + (builtin bls12_381_millerLoop) + [ + (builtin bls12_381_G1_uncompress) + (con bytestring #8baa4f3fcd895033f93494b040ccd7dfb77cb759cd2e150bfff4264873174509cd22230423b70896b17c8fc3660f6b21) -- [a]P + ] + ] + [ + (builtin bls12_381_G2_uncompress) + (con bytestring #b67029fbf3ab8e62ab6b499f541537fc07d9466e668392df2bc19762d7dc48b64be09a448cd46dbfe21819a91cd0ab3205f1316ad1cc32853f3f1a1d06497f5cfbc2d753dfc01bff177adeb93f24d452045435dc6eb29f5610b66cd0dd3fb352) -- Q + ] + ] + ] + [ + [ + (builtin bls12_381_millerLoop) + [ + (builtin bls12_381_G1_uncompress) + (con + bytestring + #840463aa2f2cda89985b1f3f5eb43b9c29809765d2747d60734b19d6f90610effdfc500af7d458a3e78cee0945ddc669) -- P + ] + ] + [ + (builtin bls12_381_G2_uncompress) + (con + bytestring + #a80f311db6f2fdc45404870f4c55b65a9a59a35efcfa2a7c595f3955226076bbaa33e403c0d4749495d9423b806f9dbe08cca770e08fa535daefb6dba2edb62f8b9aff6bae83bf48819bcdf98f07e79de8635e8521ddecae19b01a6777bc4684) -- [a]Q + ] + ] + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/pairing/balanced/balanced.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/pairing/balanced/balanced.uplc.expected new file mode 100644 index 00000000..3760fc7a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/pairing/balanced/balanced.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/pairing/left-additive/left-additive.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/pairing/left-additive/left-additive.uplc new file mode 100644 index 00000000..2eb9faa4 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/pairing/left-additive/left-additive.uplc @@ -0,0 +1,71 @@ +-- <[a]P,Q><[b]P,Q> = <[a+b]P,Q> +(program + 1.0.0 + [ + [ + (builtin bls12_381_finalVerify) + [ + [ + (builtin bls12_381_mulMlResult) + [ + [ + (builtin bls12_381_millerLoop) + [ + (builtin bls12_381_G1_uncompress) + (con + bytestring + #8baa4f3fcd895033f93494b040ccd7dfb77cb759cd2e150bfff4264873174509cd22230423b70896b17c8fc3660f6b21 -- [a]P + ) + ] + ] + [ + (builtin bls12_381_G2_uncompress) + (con + bytestring + #b67029fbf3ab8e62ab6b499f541537fc07d9466e668392df2bc19762d7dc48b64be09a448cd46dbfe21819a91cd0ab3205f1316ad1cc32853f3f1a1d06497f5cfbc2d753dfc01bff177adeb93f24d452045435dc6eb29f5610b66cd0dd3fb352 -- Q + ) + ] + ] + ] + [ + [ + (builtin bls12_381_millerLoop) + [ + (builtin bls12_381_G1_uncompress) + (con + bytestring + #a4a925cb9c0580c14cbc8ec54447eb20070336a61c349c6a64b0d87e4db89d77734021cd88e2da369bdd85c0518c66c4 -- [b]P + ) + ] + ] + [ + (builtin bls12_381_G2_uncompress) + (con + bytestring + #b67029fbf3ab8e62ab6b499f541537fc07d9466e668392df2bc19762d7dc48b64be09a448cd46dbfe21819a91cd0ab3205f1316ad1cc32853f3f1a1d06497f5cfbc2d753dfc01bff177adeb93f24d452045435dc6eb29f5610b66cd0dd3fb352 -- Q + ) + ] + ] + ] + ] + [ + [ + (builtin bls12_381_millerLoop) + [ + (builtin bls12_381_G1_uncompress) + (con + bytestring + #aecf54083187026a6b689e70af54375ab7cc6d0d311acb6203730a2904654d6e92f82e62006c0d5e21094155eb93cc98 -- [a+b]P + ) + ] + ] + [ + (builtin bls12_381_G2_uncompress) + (con + bytestring + #b67029fbf3ab8e62ab6b499f541537fc07d9466e668392df2bc19762d7dc48b64be09a448cd46dbfe21819a91cd0ab3205f1316ad1cc32853f3f1a1d06497f5cfbc2d753dfc01bff177adeb93f24d452045435dc6eb29f5610b66cd0dd3fb352 -- Q + ) + ] + ] + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/pairing/left-additive/left-additive.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/pairing/left-additive/left-additive.uplc.expected new file mode 100644 index 00000000..3760fc7a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/pairing/left-additive/left-additive.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/pairing/left-multiplicative/left-multiplicative.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/pairing/left-multiplicative/left-multiplicative.uplc new file mode 100644 index 00000000..3f73758d --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/pairing/left-multiplicative/left-multiplicative.uplc @@ -0,0 +1,47 @@ +-- <[a]P,[b]Q> = <[ab]P,Q> +(program + 1.0.0 + [ + [ + (builtin bls12_381_finalVerify) + [ + [ + (builtin bls12_381_millerLoop) + [ + (builtin bls12_381_G1_uncompress) + (con + bytestring + #8baa4f3fcd895033f93494b040ccd7dfb77cb759cd2e150bfff4264873174509cd22230423b70896b17c8fc3660f6b21 -- [a]P + ) + ] + ] + [ + (builtin bls12_381_G2_uncompress) + (con + bytestring + #9906a15ff959b496f478dd17348b32c033236db5a7437768a30c5ce87d9b6adfa7bf2223a0721c93a92f33abac9b2faf00d25e48b0f3cc52595264ef9ad0aa7b81e20b3c8634d577883ff5fc2373a021a1e57826f420a74f3ce0fbd2dcf79415 -- [b]Q + ) + ] + ] + ] + [ + [ + (builtin bls12_381_millerLoop) + [ + (builtin bls12_381_G1_uncompress) + (con + bytestring + #b2bb2433441c452b78f5be911aa136dd2c886a9ac329cb6c805e50d5255891fcc389b1190432f16a109c6f431f0f8023 -- [ab]P + ) + ] + ] + [ + (builtin bls12_381_G2_uncompress) + (con + bytestring + #b67029fbf3ab8e62ab6b499f541537fc07d9466e668392df2bc19762d7dc48b64be09a448cd46dbfe21819a91cd0ab3205f1316ad1cc32853f3f1a1d06497f5cfbc2d753dfc01bff177adeb93f24d452045435dc6eb29f5610b66cd0dd3fb352 -- Q + ) + ] + ] + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/pairing/left-multiplicative/left-multiplicative.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/pairing/left-multiplicative/left-multiplicative.uplc.expected new file mode 100644 index 00000000..3760fc7a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/pairing/left-multiplicative/left-multiplicative.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/pairing/right-additive/right-additive.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/pairing/right-additive/right-additive.uplc new file mode 100644 index 00000000..194f8ee3 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/pairing/right-additive/right-additive.uplc @@ -0,0 +1,71 @@ +-- = +(program + 1.0.0 + [ + [ + (builtin bls12_381_finalVerify) + [ + [ + (builtin bls12_381_mulMlResult) + [ + [ + (builtin bls12_381_millerLoop) + [ + (builtin bls12_381_G1_uncompress) + (con + bytestring + #840463aa2f2cda89985b1f3f5eb43b9c29809765d2747d60734b19d6f90610effdfc500af7d458a3e78cee0945ddc669 -- P + ) + ] + ] + [ + (builtin bls12_381_G2_uncompress) + (con + bytestring + #a80f311db6f2fdc45404870f4c55b65a9a59a35efcfa2a7c595f3955226076bbaa33e403c0d4749495d9423b806f9dbe08cca770e08fa535daefb6dba2edb62f8b9aff6bae83bf48819bcdf98f07e79de8635e8521ddecae19b01a6777bc4684 -- [a]Q + ) + ] + ] + ] + [ + [ + (builtin bls12_381_millerLoop) + [ + (builtin bls12_381_G1_uncompress) + (con + bytestring + #840463aa2f2cda89985b1f3f5eb43b9c29809765d2747d60734b19d6f90610effdfc500af7d458a3e78cee0945ddc669 -- P + ) + ] + ] + [ + (builtin bls12_381_G2_uncompress) + (con + bytestring + #9906a15ff959b496f478dd17348b32c033236db5a7437768a30c5ce87d9b6adfa7bf2223a0721c93a92f33abac9b2faf00d25e48b0f3cc52595264ef9ad0aa7b81e20b3c8634d577883ff5fc2373a021a1e57826f420a74f3ce0fbd2dcf79415 -- [b]Q + ) + ] + ] + ] + ] + [ + [ + (builtin bls12_381_millerLoop) + [ + (builtin bls12_381_G1_uncompress) + (con + bytestring + #840463aa2f2cda89985b1f3f5eb43b9c29809765d2747d60734b19d6f90610effdfc500af7d458a3e78cee0945ddc669 -- P + ) + ] + ] + [ + (builtin bls12_381_G2_uncompress) + (con + bytestring + #a63be4a1a776cadc7fc2e2d823bcc905f8f9cb0ebe662360d28d9964b022a99ce34a48b2e93cfceebc9bc1d79a3338da03a41393717239e66d4db06a87510b99fe04b0840c87c4051030b25e56ba34248d9ed30c82e8e501a616097299eefd62 -- [a+b]Q + ) + ] + ] + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/pairing/right-additive/right-additive.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/pairing/right-additive/right-additive.uplc.expected new file mode 100644 index 00000000..3760fc7a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/pairing/right-additive/right-additive.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/pairing/right-multiplicative/right-multiplicative.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/pairing/right-multiplicative/right-multiplicative.uplc new file mode 100644 index 00000000..7ae52d40 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/pairing/right-multiplicative/right-multiplicative.uplc @@ -0,0 +1,47 @@ +-- <[a]P,[b]Q> = +(program + 1.0.0 + [ + [ + (builtin bls12_381_finalVerify) + [ + [ + (builtin bls12_381_millerLoop) + [ + (builtin bls12_381_G1_uncompress) + (con + bytestring + #8baa4f3fcd895033f93494b040ccd7dfb77cb759cd2e150bfff4264873174509cd22230423b70896b17c8fc3660f6b21 -- [a]P + ) + ] + ] + [ + (builtin bls12_381_G2_uncompress) + (con + bytestring + #9906a15ff959b496f478dd17348b32c033236db5a7437768a30c5ce87d9b6adfa7bf2223a0721c93a92f33abac9b2faf00d25e48b0f3cc52595264ef9ad0aa7b81e20b3c8634d577883ff5fc2373a021a1e57826f420a74f3ce0fbd2dcf79415 -- [b]Q + ) + ] + ] + ] + [ + [ + (builtin bls12_381_millerLoop) + [ + (builtin bls12_381_G1_uncompress) + (con + bytestring + #840463aa2f2cda89985b1f3f5eb43b9c29809765d2747d60734b19d6f90610effdfc500af7d458a3e78cee0945ddc669 -- P + ) + ] + ] + [ + (builtin bls12_381_G2_uncompress) + (con + bytestring + #82606f4c771ca685bfc1bb9c51c886d0daa0f63fbb0f6a24b512a1b9b92d401e556cbffdc204c0a85192c865ed73f8090da58ecd1690d5a3b236cc5d40a98988f9602a6d114edb59954ef4e21692f2d48219aeacb964604849336059ceece69f -- [ab]Q + ) + ] + ] + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/pairing/right-multiplicative/right-multiplicative.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/pairing/right-multiplicative/right-multiplicative.uplc.expected new file mode 100644 index 00000000..3760fc7a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/pairing/right-multiplicative/right-multiplicative.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/pairing/swap-scalars/swap-scalars.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/pairing/swap-scalars/swap-scalars.uplc new file mode 100644 index 00000000..513c76c2 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/pairing/swap-scalars/swap-scalars.uplc @@ -0,0 +1,46 @@ +-- <[a]P,[b]Q> = <[b]P,[a]Q> +(program 1.0.0 + [ + [ + (builtin bls12_381_finalVerify) + [ + [ + (builtin bls12_381_millerLoop) + [ + (builtin bls12_381_G1_uncompress) + (con + bytestring + #8baa4f3fcd895033f93494b040ccd7dfb77cb759cd2e150bfff4264873174509cd22230423b70896b17c8fc3660f6b21 -- [a]P + ) + ] + ] + [ + (builtin bls12_381_G2_uncompress) + (con + bytestring + #9906a15ff959b496f478dd17348b32c033236db5a7437768a30c5ce87d9b6adfa7bf2223a0721c93a92f33abac9b2faf00d25e48b0f3cc52595264ef9ad0aa7b81e20b3c8634d577883ff5fc2373a021a1e57826f420a74f3ce0fbd2dcf79415 -- [b]Q + ) + ] + ] + ] + [ + [ + (builtin bls12_381_millerLoop) + [ + (builtin bls12_381_G1_uncompress) + (con + bytestring + #a4a925cb9c0580c14cbc8ec54447eb20070336a61c349c6a64b0d87e4db89d77734021cd88e2da369bdd85c0518c66c4 -- [b]P + ) + ] + ] + [ + (builtin bls12_381_G2_uncompress) + (con + bytestring + #a80f311db6f2fdc45404870f4c55b65a9a59a35efcfa2a7c595f3955226076bbaa33e403c0d4749495d9423b806f9dbe08cca770e08fa535daefb6dba2edb62f8b9aff6bae83bf48819bcdf98f07e79de8635e8521ddecae19b01a6777bc4684 -- [a]Q + ) + ] + ] + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/pairing/swap-scalars/swap-scalars.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/pairing/swap-scalars/swap-scalars.uplc.expected new file mode 100644 index 00000000..3760fc7a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/pairing/swap-scalars/swap-scalars.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/signature/augmented/augmented.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/signature/augmented/augmented.uplc new file mode 100644 index 00000000..e2a0816a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/signature/augmented/augmented.uplc @@ -0,0 +1,62 @@ +-- Check that a signature involving an agumentation string prepended to a message +-- is as expected. +(program + 1.0.0 + [ + [ + (builtin bls12_381_finalVerify) + [ + [ + (builtin bls12_381_millerLoop) + [ + (builtin bls12_381_G1_uncompress) + (con + bytestring + #83422fd1d8f134fbbc7ad2949a0b7c38dc1f85bfd398bc58ae824ad34ace68eaa49f438872ee22e90778513a91f9685e -- sig + ) + ] + ] + [ + (builtin bls12_381_G2_uncompress) + (con + bytestring + #93e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8 -- G2 generator + ) + ] + ] + ] + [ + [ + (builtin bls12_381_millerLoop) + [ + [ + (builtin bls12_381_G1_hashToGroup) + [ + [ + (builtin appendByteString) + (con + bytestring + #52616e646f6d2076616c756520666f722074657374206175672e20 -- aug: "Random value for test aug. " + ) + ] + (con bytestring #626c73742069732073756368206120626c617374) -- msg: "blst is such a blast" + + ] + ] + (con + bytestring + #424c535f5349475f424c53313233383147325f584d443a5348412d3235365f535357555f524f5f4e554c5f + -- DST: "BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_" + ) + ] + ] + [ + (builtin bls12_381_G2_uncompress) + (con + bytestring + #b756d6223a92609cccf660b6f37e6e34fbb23972fc3955710f9bb202cc84cffacd337792700ebcb4324a99c7e7c9ed6d0e1cfdce8cd879a35300957c69c524c5365f6f0a85130735f27510618bbea605a1d024bb2d3bee2a5d68a827406f11c7 -- pk + ) + ] + ] + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/signature/augmented/augmented.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/signature/augmented/augmented.uplc.expected new file mode 100644 index 00000000..3760fc7a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/signature/augmented/augmented.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/signature/large-dst/large-dst.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/signature/large-dst/large-dst.uplc new file mode 100644 index 00000000..b678fd54 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/signature/large-dst/large-dst.uplc @@ -0,0 +1,35 @@ +-- Check that the procedure for using a DST greater than 255 bytes long gives the expected result. +(program + 1.0.0 + [ + [ + (builtin bls12_381_G1_equal) + [ + [ + (builtin bls12_381_G1_hashToGroup) + (con bytestring #54657374696e67206c61726765206473742e) -- msg: "Testing large dst." + ] + [ + (builtin sha2_256) + [ + [ + (builtin appendByteString) + (con bytestring #4832432d4f56455253495a452d4453542d) -- prefix: "H2C-OVERSIZE-DST-" + ] + (con + bytestring + #62f5804020e6a8e242c736d1c97bcd8262f91b88e1d70b00d10d5e315c8c6501ead0a7e367e5d394b9fcff9c15aa0f6a05e5085fdc56bcdee3865016f1c49b20e1e609a606eccabc9b9199a42345c25e06ae70028397f8fb95576f264239da3eb49629d5efeb1f1d74a3b1ac58608d893f98058f5ab870833489f5dfec52db5f92e70db05c9704cd9d644b1ae16aaafcc173d48db17e207d91308d3045b042b7241f87b8d42ac5df97d94fdf3f29d20ca2ae22c22e9c5b84b48d6daf1f7959c7c71d0169f370ebf2838479b3731885ff0d278deb632fcb83aef0ab593dddd4f5d21dac56abe08b8cb4aaf4235b1a292b91d6e8b90e39dc953c75fc460e7dd6d2bc8a372ac4efce161f5f18f861e67e5717c86805a05cc53ff493e91de2b85d3166b353f5bbc64bae0d2a4787 -- large_dst: random bytes + ) + ] + ] + ] + ] + [ + (builtin bls12_381_G1_uncompress) + (con + bytestring + #a16b5778b5b88519b6caf05921d0d9b8b94a33d1daaa0c7fbfa66d52e801a5e798fae840bb9608aa31712e0b1b3a054a -- output + ) + ] + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/signature/large-dst/large-dst.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/signature/large-dst/large-dst.uplc.expected new file mode 100644 index 00000000..3760fc7a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381-cardano-crypto-tests/signature/large-dst/large-dst.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_add/add-associative/add-associative.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_add/add-associative/add-associative.uplc new file mode 100644 index 00000000..656eb7e8 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_add/add-associative/add-associative.uplc @@ -0,0 +1,33 @@ +-- p+(q+r) = (p+q)+r for three random points on G1. +(program 1.0.0 + [ + [ + (builtin bls12_381_G1_equal) + [ + [ + (builtin bls12_381_G1_add) + (con bls12_381_G1_element 0xabd61864f519748032551e42e0ac417fd828f079454e3e3c9891c5c29ed7f10bdecc046854e3931cb7002779bd76d71f) + ] + [ + [ + (builtin bls12_381_G1_add) + (con bls12_381_G1_element 0x950dfd33da2682260c76038dfb8bad6e84ae9d599a3c151815945ac1e6ef6b1027cd917f3907479d20d636ce437a41f5) + ] + (con bls12_381_G1_element 0xb962fd0cc81048e0cf7557bf3e4b6edc5ab4bfb3dc87f83af428b6300727b139c404ab159bdf2eaea3f649903421537f) + ] + ] + ] + [ + (builtin bls12_381_G1_add) + [ + [ + (builtin bls12_381_G1_add) + (con bls12_381_G1_element 0xabd61864f519748032551e42e0ac417fd828f079454e3e3c9891c5c29ed7f10bdecc046854e3931cb7002779bd76d71f) + ] + (con bls12_381_G1_element 0x950dfd33da2682260c76038dfb8bad6e84ae9d599a3c151815945ac1e6ef6b1027cd917f3907479d20d636ce437a41f5) + ] + (con bls12_381_G1_element 0xb962fd0cc81048e0cf7557bf3e4b6edc5ab4bfb3dc87f83af428b6300727b139c404ab159bdf2eaea3f649903421537f) + ] + ] +) + diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_add/add-associative/add-associative.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_add/add-associative/add-associative.uplc.expected new file mode 100644 index 00000000..3760fc7a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_add/add-associative/add-associative.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_add/add-commutative/add-commutative.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_add/add-commutative/add-commutative.uplc new file mode 100644 index 00000000..54d75b3c --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_add/add-commutative/add-commutative.uplc @@ -0,0 +1,22 @@ +-- p+q = q+p for two random points in G1. +(program 1.0.0 + [ + [ + (builtin bls12_381_G1_equal) + [ + [ + (builtin bls12_381_G1_add) + (con bls12_381_G1_element 0xabd61864f519748032551e42e0ac417fd828f079454e3e3c9891c5c29ed7f10bdecc046854e3931cb7002779bd76d71f) + ] + (con bls12_381_G1_element 0x950dfd33da2682260c76038dfb8bad6e84ae9d599a3c151815945ac1e6ef6b1027cd917f3907479d20d636ce437a41f5) + ] + ] + [ + [ + (builtin bls12_381_G1_add) + (con bls12_381_G1_element 0x950dfd33da2682260c76038dfb8bad6e84ae9d599a3c151815945ac1e6ef6b1027cd917f3907479d20d636ce437a41f5) + ] + (con bls12_381_G1_element 0xabd61864f519748032551e42e0ac417fd828f079454e3e3c9891c5c29ed7f10bdecc046854e3931cb7002779bd76d71f) + ] + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_add/add-commutative/add-commutative.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_add/add-commutative/add-commutative.uplc.expected new file mode 100644 index 00000000..3760fc7a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_add/add-commutative/add-commutative.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_add/add-zero/add-zero.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_add/add-zero/add-zero.uplc new file mode 100644 index 00000000..f2b27774 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_add/add-zero/add-zero.uplc @@ -0,0 +1,10 @@ +-- Adding the zero element to a random point doesn't change it. +(program 1.0.0 + [ + [ + (builtin bls12_381_G1_add) + (con bls12_381_G1_element 0xabd61864f519748032551e42e0ac417fd828f079454e3e3c9891c5c29ed7f10bdecc046854e3931cb7002779bd76d71f) + ] + (con bls12_381_G1_element 0xc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_add/add-zero/add-zero.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_add/add-zero/add-zero.uplc.expected new file mode 100644 index 00000000..67f6485e --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_add/add-zero/add-zero.uplc.expected @@ -0,0 +1,7 @@ +(program + 1.0.0 + (con + bls12_381_G1_element + 0xabd61864f519748032551e42e0ac417fd828f079454e3e3c9891c5c29ed7f10bdecc046854e3931cb7002779bd76d71f + ) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_add/add/add.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_add/add/add.uplc new file mode 100644 index 00000000..807a32bf --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_add/add/add.uplc @@ -0,0 +1,10 @@ +-- Adding a random pair of points in G1 +(program 1.0.0 + [ + [ + (builtin bls12_381_G1_add) + (con bls12_381_G1_element 0xabd61864f519748032551e42e0ac417fd828f079454e3e3c9891c5c29ed7f10bdecc046854e3931cb7002779bd76d71f) + ] + (con bls12_381_G1_element 0x950dfd33da2682260c76038dfb8bad6e84ae9d599a3c151815945ac1e6ef6b1027cd917f3907479d20d636ce437a41f5) + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_add/add/add.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_add/add/add.uplc.expected new file mode 100644 index 00000000..233b768f --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_add/add/add.uplc.expected @@ -0,0 +1,7 @@ +(program + 1.0.0 + (con + bls12_381_G1_element + 0xa4870e983a149bb1e7cc70fde907a2aa52302833bce4d62f679819022924e9caab52e3631d376d36d9692664b4cfbc22 + ) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_compress/compress/compress.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_compress/compress/compress.uplc new file mode 100644 index 00000000..90ee2269 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_compress/compress/compress.uplc @@ -0,0 +1,7 @@ +-- Check that compression of a random point in G1 succeeds and gives the expected result. +(program 1.0.0 + [ + (builtin bls12_381_G1_compress) + (con bls12_381_G1_element 0x950dfd33da2682260c76038dfb8bad6e84ae9d599a3c151815945ac1e6ef6b1027cd917f3907479d20d636ce437a41f5) + ] +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_compress/compress/compress.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_compress/compress/compress.uplc.expected new file mode 100644 index 00000000..a7fad2a0 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_compress/compress/compress.uplc.expected @@ -0,0 +1,7 @@ +(program + 1.0.0 + (con + bytestring + #950dfd33da2682260c76038dfb8bad6e84ae9d599a3c151815945ac1e6ef6b1027cd917f3907479d20d636ce437a41f5 + ) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_equal/equal-false/equal-false.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_equal/equal-false/equal-false.uplc new file mode 100644 index 00000000..34b2ace7 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_equal/equal-false/equal-false.uplc @@ -0,0 +1,10 @@ +(program 1.0.0 + [ + [ + (builtin bls12_381_G1_equal) + (con bls12_381_G1_element 0x950dfd33da2682260c76038dfb8bad6e84ae9d599a3c151815945ac1e6ef6b1027cd917f3907479d20d636ce437a41f5) + ] + (con bls12_381_G1_element 0xabd61864f519748032551e42e0ac417fd828f079454e3e3c9891c5c29ed7f10bdecc046854e3931cb7002779bd76d71f) + ] +) + diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_equal/equal-false/equal-false.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_equal/equal-false/equal-false.uplc.expected new file mode 100644 index 00000000..3ee9f07f --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_equal/equal-false/equal-false.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool False)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_equal/equal-true/equal-true.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_equal/equal-true/equal-true.uplc new file mode 100644 index 00000000..c0653b78 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_equal/equal-true/equal-true.uplc @@ -0,0 +1,10 @@ +(program 1.0.0 + [ + [ + (builtin bls12_381_G1_equal) + (con bls12_381_G1_element 0xabd61864f519748032551e42e0ac417fd828f079454e3e3c9891c5c29ed7f10bdecc046854e3931cb7002779bd76d71f) + ] + (con bls12_381_G1_element 0xabd61864f519748032551e42e0ac417fd828f079454e3e3c9891c5c29ed7f10bdecc046854e3931cb7002779bd76d71f) + ] +) + diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_equal/equal-true/equal-true.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_equal/equal-true/equal-true.uplc.expected new file mode 100644 index 00000000..3760fc7a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_equal/equal-true/equal-true.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_hashToGroup/hash-different-msg-same-dst/hash-different-msg-same-dst.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_hashToGroup/hash-different-msg-same-dst/hash-different-msg-same-dst.uplc new file mode 100644 index 00000000..03438c0e --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_hashToGroup/hash-different-msg-same-dst/hash-different-msg-same-dst.uplc @@ -0,0 +1,23 @@ +-- Check that hashing different messages with the same DST gives different +-- results: this should return False. +(program 1.0.0 + [ + [ + (builtin bls12_381_G1_equal) + [ + [ + (builtin bls12_381_G1_hashToGroup) + (con bytestring #8e) + ] + (con bytestring #0a) + ] + ] + [ + [ + (builtin bls12_381_G1_hashToGroup) + (con bytestring #81) + ] + (con bytestring #0a) + ] + ] +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_hashToGroup/hash-different-msg-same-dst/hash-different-msg-same-dst.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_hashToGroup/hash-different-msg-same-dst/hash-different-msg-same-dst.uplc.expected new file mode 100644 index 00000000..3ee9f07f --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_hashToGroup/hash-different-msg-same-dst/hash-different-msg-same-dst.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool False)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_hashToGroup/hash-dst-len-255/hash-dst-len-255.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_hashToGroup/hash-dst-len-255/hash-dst-len-255.uplc new file mode 100644 index 00000000..fa4446d6 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_hashToGroup/hash-dst-len-255/hash-dst-len-255.uplc @@ -0,0 +1,10 @@ +-- Maximum length of DST is 255 bytes: this should be OK +(program 1.0.0 + [ + [ + (builtin bls12_381_G1_hashToGroup) + (con bytestring #3f) + ] + (con bytestring #123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890) + ] +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_hashToGroup/hash-dst-len-255/hash-dst-len-255.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_hashToGroup/hash-dst-len-255/hash-dst-len-255.uplc.expected new file mode 100644 index 00000000..4108e2b1 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_hashToGroup/hash-dst-len-255/hash-dst-len-255.uplc.expected @@ -0,0 +1,7 @@ +(program + 1.0.0 + (con + bls12_381_G1_element + 0x931bd1f65dd2d34a55c93d82c20dcacd3a91afa5932fdd7fed06119f8574520c9609d337d680060b4bd2c59f0b60bb54 + ) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_hashToGroup/hash-dst-len-256/hash-dst-len-256.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_hashToGroup/hash-dst-len-256/hash-dst-len-256.uplc new file mode 100644 index 00000000..c26a6322 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_hashToGroup/hash-dst-len-256/hash-dst-len-256.uplc @@ -0,0 +1,10 @@ +-- Maximum length of DST is 255 bytes: this should fail +(program 1.0.0 + [ + [ + (builtin bls12_381_G1_hashToGroup) + (con bytestring #3f) + ] + (con bytestring #123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890ff) + ] +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_hashToGroup/hash-dst-len-256/hash-dst-len-256.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_hashToGroup/hash-dst-len-256/hash-dst-len-256.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_hashToGroup/hash-dst-len-256/hash-dst-len-256.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_hashToGroup/hash-empty-dst/hash-empty-dst.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_hashToGroup/hash-empty-dst/hash-empty-dst.uplc new file mode 100644 index 00000000..be2ec780 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_hashToGroup/hash-empty-dst/hash-empty-dst.uplc @@ -0,0 +1,10 @@ +-- Check that hashing a random bytestring with an empty DST gives the expected result. +(program 1.0.0 + [ + [ + (builtin bls12_381_G1_hashToGroup) + (con bytestring #8e) + ] + (con bytestring #) + ] +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_hashToGroup/hash-empty-dst/hash-empty-dst.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_hashToGroup/hash-empty-dst/hash-empty-dst.uplc.expected new file mode 100644 index 00000000..6f6aa1a8 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_hashToGroup/hash-empty-dst/hash-empty-dst.uplc.expected @@ -0,0 +1,7 @@ +(program + 1.0.0 + (con + bls12_381_G1_element + 0x9019067bf1fa5b2a7a40fb31a70c66f25a3de7e3ef42f8365c9b7963dc01e15a2e086df6d1a181b1d12811a520440909 + ) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_hashToGroup/hash-same-msg-different-dst/hash-same-msg-different-dst.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_hashToGroup/hash-same-msg-different-dst/hash-same-msg-different-dst.uplc new file mode 100644 index 00000000..143d8388 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_hashToGroup/hash-same-msg-different-dst/hash-same-msg-different-dst.uplc @@ -0,0 +1,23 @@ +-- Check that hashing the same message with different DSTs gives different +-- results: this should return False. +(program 1.0.0 + [ + [ + (builtin bls12_381_G1_equal) + [ + [ + (builtin bls12_381_G1_hashToGroup) + (con bytestring #8e) + ] + (con bytestring #0a) + ] + ] + [ + [ + (builtin bls12_381_G1_hashToGroup) + (con bytestring #8e) + ] + (con bytestring #01) + ] + ] +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_hashToGroup/hash-same-msg-different-dst/hash-same-msg-different-dst.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_hashToGroup/hash-same-msg-different-dst/hash-same-msg-different-dst.uplc.expected new file mode 100644 index 00000000..3ee9f07f --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_hashToGroup/hash-same-msg-different-dst/hash-same-msg-different-dst.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool False)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_hashToGroup/hash/hash.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_hashToGroup/hash/hash.uplc new file mode 100644 index 00000000..2675d562 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_hashToGroup/hash/hash.uplc @@ -0,0 +1,10 @@ +-- Check that hashing a random bytestring gives the expected result. +(program 1.0.0 + [ + [ + (builtin bls12_381_G1_hashToGroup) + (con bytestring #8e) + ] + (con bytestring #0a) + ] +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_hashToGroup/hash/hash.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_hashToGroup/hash/hash.uplc.expected new file mode 100644 index 00000000..b0e88897 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_hashToGroup/hash/hash.uplc.expected @@ -0,0 +1,7 @@ +(program + 1.0.0 + (con + bls12_381_G1_element + 0xa45ddef02cdd86039be4b0a863cba70ea903194ea0489ce619c6276175839d62eea72b095d6566067f4a44b85614f199 + ) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_neg/add-neg/add-neg.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_neg/add-neg/add-neg.uplc new file mode 100644 index 00000000..92d3c7a9 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_neg/add-neg/add-neg.uplc @@ -0,0 +1,13 @@ +-- Check that adding a random point to its negative gives the zero element. +(program 1.0.0 + [ + [ + (builtin bls12_381_G1_add) + (con bls12_381_G1_element 0x950dfd33da2682260c76038dfb8bad6e84ae9d599a3c151815945ac1e6ef6b1027cd917f3907479d20d636ce437a41f5) + ] + [ + (builtin bls12_381_G1_neg) + (con bls12_381_G1_element 0x950dfd33da2682260c76038dfb8bad6e84ae9d599a3c151815945ac1e6ef6b1027cd917f3907479d20d636ce437a41f5) + ] + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_neg/add-neg/add-neg.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_neg/add-neg/add-neg.uplc.expected new file mode 100644 index 00000000..2ea2f53f --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_neg/add-neg/add-neg.uplc.expected @@ -0,0 +1,7 @@ +(program + 1.0.0 + (con + bls12_381_G1_element + 0xc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + ) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_neg/neg-zero/neg-zero.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_neg/neg-zero/neg-zero.uplc new file mode 100644 index 00000000..f66ddeda --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_neg/neg-zero/neg-zero.uplc @@ -0,0 +1,7 @@ +-- The negative of the zero point is the zero point. +(program 1.0.0 + [ + (builtin bls12_381_G1_neg) + (con bls12_381_G1_element 0xc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_neg/neg-zero/neg-zero.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_neg/neg-zero/neg-zero.uplc.expected new file mode 100644 index 00000000..2ea2f53f --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_neg/neg-zero/neg-zero.uplc.expected @@ -0,0 +1,7 @@ +(program + 1.0.0 + (con + bls12_381_G1_element + 0xc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + ) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_neg/neg/neg.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_neg/neg/neg.uplc new file mode 100644 index 00000000..7bc37d59 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_neg/neg/neg.uplc @@ -0,0 +1,7 @@ +-- Check that negating a random point in G1 gives the expected result. +(program 1.0.0 + [ + (builtin bls12_381_G1_neg) + (con bls12_381_G1_element 0xabd61864f519748032551e42e0ac417fd828f079454e3e3c9891c5c29ed7f10bdecc046854e3931cb7002779bd76d71f) + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_neg/neg/neg.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_neg/neg/neg.uplc.expected new file mode 100644 index 00000000..c5383961 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_neg/neg/neg.uplc.expected @@ -0,0 +1,7 @@ +(program + 1.0.0 + (con + bls12_381_G1_element + 0x8bd61864f519748032551e42e0ac417fd828f079454e3e3c9891c5c29ed7f10bdecc046854e3931cb7002779bd76d71f + ) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/addmul/addmul.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/addmul/addmul.uplc new file mode 100644 index 00000000..0701e6bf --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/addmul/addmul.uplc @@ -0,0 +1,22 @@ +-- 2157p + 2157q for random points p and q in G1. This should give the same result as muladd. +(program 1.0.0 + [ + [ + (builtin bls12_381_G1_add) + [ + [ + (builtin bls12_381_G1_scalarMul) + (con integer 2157) + ] + (con bls12_381_G1_element 0x950dfd33da2682260c76038dfb8bad6e84ae9d599a3c151815945ac1e6ef6b1027cd917f3907479d20d636ce437a41f5) + ] + ] + [ + [ + (builtin bls12_381_G1_scalarMul) + (con integer 2157) + ] + (con bls12_381_G1_element 0xabd61864f519748032551e42e0ac417fd828f079454e3e3c9891c5c29ed7f10bdecc046854e3931cb7002779bd76d71f) + ] + ] +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/addmul/addmul.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/addmul/addmul.uplc.expected new file mode 100644 index 00000000..8a8440b5 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/addmul/addmul.uplc.expected @@ -0,0 +1,7 @@ +(program + 1.0.0 + (con + bls12_381_G1_element + 0x8cc84679c6c870408169a656c245a2ab9ccc46598769b19f07711c18624284d1bfa33667cac7b99a12e058abfd14ef88 + ) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul0/mul0.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul0/mul0.uplc new file mode 100644 index 00000000..f4858c59 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul0/mul0.uplc @@ -0,0 +1,10 @@ +-- Multiplication by the zero scalar gives the zero point of G1. +(program 1.0.0 + [ + [ + (builtin bls12_381_G1_scalarMul) + (con integer 0) + ] + (con bls12_381_G1_element 0xabd61864f519748032551e42e0ac417fd828f079454e3e3c9891c5c29ed7f10bdecc046854e3931cb7002779bd76d71f) + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul0/mul0.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul0/mul0.uplc.expected new file mode 100644 index 00000000..2ea2f53f --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul0/mul0.uplc.expected @@ -0,0 +1,7 @@ +(program + 1.0.0 + (con + bls12_381_G1_element + 0xc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + ) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul1/mul1.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul1/mul1.uplc new file mode 100644 index 00000000..d1718d8e --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul1/mul1.uplc @@ -0,0 +1,10 @@ +-- Scalar multiplication by 1 leaves a random point unchanged. +(program 1.0.0 + [ + [ + (builtin bls12_381_G1_scalarMul) + (con integer 1) + ] + (con bls12_381_G1_element 0xabd61864f519748032551e42e0ac417fd828f079454e3e3c9891c5c29ed7f10bdecc046854e3931cb7002779bd76d71f) + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul1/mul1.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul1/mul1.uplc.expected new file mode 100644 index 00000000..67f6485e --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul1/mul1.uplc.expected @@ -0,0 +1,7 @@ +(program + 1.0.0 + (con + bls12_381_G1_element + 0xabd61864f519748032551e42e0ac417fd828f079454e3e3c9891c5c29ed7f10bdecc046854e3931cb7002779bd76d71f + ) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul19+25/mul19+25.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul19+25/mul19+25.uplc new file mode 100644 index 00000000..4f179b65 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul19+25/mul19+25.uplc @@ -0,0 +1,22 @@ +-- 19p+25p for a random point p in G1. This should give the same result as mul44. +(program 1.0.0 + [ + [ + (builtin bls12_381_G1_add) + [ + [ + (builtin bls12_381_G1_scalarMul) + (con integer 19) + ] + (con bls12_381_G1_element 0xabd61864f519748032551e42e0ac417fd828f079454e3e3c9891c5c29ed7f10bdecc046854e3931cb7002779bd76d71f) + ] + ] + [ + [ + (builtin bls12_381_G1_scalarMul) + (con integer 25) + ] + (con bls12_381_G1_element 0xabd61864f519748032551e42e0ac417fd828f079454e3e3c9891c5c29ed7f10bdecc046854e3931cb7002779bd76d71f) + ] + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul19+25/mul19+25.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul19+25/mul19+25.uplc.expected new file mode 100644 index 00000000..de8b77d3 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul19+25/mul19+25.uplc.expected @@ -0,0 +1,7 @@ +(program + 1.0.0 + (con + bls12_381_G1_element + 0x8d9e9f6adcea14e8d38221bb3cfe4afdcc59b86e9d3b0093c0ef8252d5d90dfc5d73c9e9d352b9a54b46d35e7ff4d58c + ) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul44/mul44.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul44/mul44.uplc new file mode 100644 index 00000000..968a9153 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul44/mul44.uplc @@ -0,0 +1,10 @@ +-- Check that multiplication by the scalar 44 gives the expected result. +(program 1.0.0 + [ + [ + (builtin bls12_381_G1_scalarMul) + (con integer 44) + ] + (con bls12_381_G1_element 0xabd61864f519748032551e42e0ac417fd828f079454e3e3c9891c5c29ed7f10bdecc046854e3931cb7002779bd76d71f) + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul44/mul44.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul44/mul44.uplc.expected new file mode 100644 index 00000000..de8b77d3 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul44/mul44.uplc.expected @@ -0,0 +1,7 @@ +(program + 1.0.0 + (con + bls12_381_G1_element + 0x8d9e9f6adcea14e8d38221bb3cfe4afdcc59b86e9d3b0093c0ef8252d5d90dfc5d73c9e9d352b9a54b46d35e7ff4d58c + ) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul4x11/mul4x11.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul4x11/mul4x11.uplc new file mode 100644 index 00000000..8e6057a1 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul4x11/mul4x11.uplc @@ -0,0 +1,16 @@ +-- 4*(11*p) for a point in G1. This should give the same result as mul44. +(program 1.0.0 + [ + [ + (builtin bls12_381_G1_scalarMul) + (con integer 4) + ] + [ + [ + (builtin bls12_381_G1_scalarMul) + (con integer 11) + ] + (con bls12_381_G1_element 0xabd61864f519748032551e42e0ac417fd828f079454e3e3c9891c5c29ed7f10bdecc046854e3931cb7002779bd76d71f) + ] + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul4x11/mul4x11.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul4x11/mul4x11.uplc.expected new file mode 100644 index 00000000..de8b77d3 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul4x11/mul4x11.uplc.expected @@ -0,0 +1,7 @@ +(program + 1.0.0 + (con + bls12_381_G1_element + 0x8d9e9f6adcea14e8d38221bb3cfe4afdcc59b86e9d3b0093c0ef8252d5d90dfc5d73c9e9d352b9a54b46d35e7ff4d58c + ) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/muladd/muladd.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/muladd/muladd.uplc new file mode 100644 index 00000000..1e28131d --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/muladd/muladd.uplc @@ -0,0 +1,16 @@ +-- n(p+q) = np + nq (n scalar, p and q random points in G1). +(program 1.0.0 + [ + [ + (builtin bls12_381_G1_scalarMul) + (con integer 2157) + ] + [ + [ + (builtin bls12_381_G1_add) + (con bls12_381_G1_element 0x950dfd33da2682260c76038dfb8bad6e84ae9d599a3c151815945ac1e6ef6b1027cd917f3907479d20d636ce437a41f5) + ] + (con bls12_381_G1_element 0xabd61864f519748032551e42e0ac417fd828f079454e3e3c9891c5c29ed7f10bdecc046854e3931cb7002779bd76d71f) + ] + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/muladd/muladd.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/muladd/muladd.uplc.expected new file mode 100644 index 00000000..8a8440b5 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/muladd/muladd.uplc.expected @@ -0,0 +1,7 @@ +(program + 1.0.0 + (con + bls12_381_G1_element + 0x8cc84679c6c870408169a656c245a2ab9ccc46598769b19f07711c18624284d1bfa33667cac7b99a12e058abfd14ef88 + ) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulneg1/mulneg1.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulneg1/mulneg1.uplc new file mode 100644 index 00000000..b15f84a5 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulneg1/mulneg1.uplc @@ -0,0 +1,10 @@ +-- Check that the result of multiplying by -1 is as expected. +(program 1.0.0 + [ + [ + (builtin bls12_381_G1_scalarMul) + (con integer -1) + ] + (con bls12_381_G1_element 0xabd61864f519748032551e42e0ac417fd828f079454e3e3c9891c5c29ed7f10bdecc046854e3931cb7002779bd76d71f) + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulneg1/mulneg1.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulneg1/mulneg1.uplc.expected new file mode 100644 index 00000000..c5383961 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulneg1/mulneg1.uplc.expected @@ -0,0 +1,7 @@ +(program + 1.0.0 + (con + bls12_381_G1_element + 0x8bd61864f519748032551e42e0ac417fd828f079454e3e3c9891c5c29ed7f10bdecc046854e3931cb7002779bd76d71f + ) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulneg44/mulneg44.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulneg44/mulneg44.uplc new file mode 100644 index 00000000..f9e5a077 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulneg44/mulneg44.uplc @@ -0,0 +1,10 @@ +-- Multiplying a random point in G1 by the scalar -44 gives the expected result. +(program 1.0.0 + [ + [ + (builtin bls12_381_G1_scalarMul) + (con integer -44) + ] + (con bls12_381_G1_element 0xabd61864f519748032551e42e0ac417fd828f079454e3e3c9891c5c29ed7f10bdecc046854e3931cb7002779bd76d71f) + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulneg44/mulneg44.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulneg44/mulneg44.uplc.expected new file mode 100644 index 00000000..e96e2fa1 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulneg44/mulneg44.uplc.expected @@ -0,0 +1,7 @@ +(program + 1.0.0 + (con + bls12_381_G1_element + 0xad9e9f6adcea14e8d38221bb3cfe4afdcc59b86e9d3b0093c0ef8252d5d90dfc5d73c9e9d352b9a54b46d35e7ff4d58c + ) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulperiodic1/mulperiodic1.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulperiodic1/mulperiodic1.uplc new file mode 100644 index 00000000..974dc102 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulperiodic1/mulperiodic1.uplc @@ -0,0 +1,13 @@ +-- Scalar multiplication by the group size should give you the zero element of the group. +(program 1.0.0 +[ + [ (builtin bls12_381_G1_equal) + [ + (builtin bls12_381_G1_scalarMul) + (con integer 52435875175126190479447740508185965837690552500527637822603658699938581184513 ) + (con bls12_381_G1_element 0xabd61864f519748032551e42e0ac417fd828f079454e3e3c9891c5c29ed7f10bdecc046854e3931cb7002779bd76d71f) + ] + ] + (con bls12_381_G1_element 0xc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) +] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulperiodic1/mulperiodic1.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulperiodic1/mulperiodic1.uplc.expected new file mode 100644 index 00000000..3760fc7a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulperiodic1/mulperiodic1.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulperiodic2/mulperiodic2.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulperiodic2/mulperiodic2.uplc new file mode 100644 index 00000000..8b027758 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulperiodic2/mulperiodic2.uplc @@ -0,0 +1,23 @@ +-- Scalar multiplication should be periodic modulo the group size +(program 1.0.0 + [ + [ + (builtin bls12_381_G1_equal) + [ + [ + (builtin bls12_381_G1_scalarMul) + [ + [ (builtin addInteger) (con integer 123) ] + (con integer 52435875175126190479447740508185965837690552500527637822603658699938581184513) + ] + ] + (con bls12_381_G1_element 0xabd61864f519748032551e42e0ac417fd828f079454e3e3c9891c5c29ed7f10bdecc046854e3931cb7002779bd76d71f) + ] + ] + [ + [ (builtin bls12_381_G1_scalarMul) (con integer 123) ] + (con bls12_381_G1_element 0xabd61864f519748032551e42e0ac417fd828f079454e3e3c9891c5c29ed7f10bdecc046854e3931cb7002779bd76d71f) + ] + ] +) + diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulperiodic2/mulperiodic2.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulperiodic2/mulperiodic2.uplc.expected new file mode 100644 index 00000000..3760fc7a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulperiodic2/mulperiodic2.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulperiodic3/mulperiodic3.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulperiodic3/mulperiodic3.uplc new file mode 100644 index 00000000..8aeb4591 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulperiodic3/mulperiodic3.uplc @@ -0,0 +1,27 @@ +-- Scalar multiplication should be periodic modulo the group size +(program + 1.0.0 + [ + [ + (builtin bls12_381_G1_equal) + [ + [ + (builtin bls12_381_G1_scalarMul) + [ + [ (builtin addInteger) (con integer 123) ] + [ + [ (builtin multiplyInteger) (con integer 987654321) ] + (con integer 52435875175126190479447740508185965837690552500527637822603658699938581184513) + ] + ] + ] + (con bls12_381_G1_element 0xabd61864f519748032551e42e0ac417fd828f079454e3e3c9891c5c29ed7f10bdecc046854e3931cb7002779bd76d71f) + ] + ] + [ + [ (builtin bls12_381_G1_scalarMul) (con integer 123) ] + (con bls12_381_G1_element 0xabd61864f519748032551e42e0ac417fd828f079454e3e3c9891c5c29ed7f10bdecc046854e3931cb7002779bd76d71f) + ] + ] +) + diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulperiodic3/mulperiodic3.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulperiodic3/mulperiodic3.uplc.expected new file mode 100644 index 00000000..3760fc7a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulperiodic3/mulperiodic3.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulperiodic4/mulperiodic4.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulperiodic4/mulperiodic4.uplc new file mode 100644 index 00000000..250e6fa3 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulperiodic4/mulperiodic4.uplc @@ -0,0 +1,27 @@ +-- Scalar multiplication should be periodic modulo the group size +(program + 1.0.0 + [ + [ + (builtin bls12_381_G1_equal) + [ + [ + (builtin bls12_381_G1_scalarMul) + [ + [ (builtin addInteger) (con integer 123) ] + [ + [ (builtin multiplyInteger) (con integer -987654321) ] + (con integer 52435875175126190479447740508185965837690552500527637822603658699938581184513) + ] + ] + ] + (con bls12_381_G1_element 0xabd61864f519748032551e42e0ac417fd828f079454e3e3c9891c5c29ed7f10bdecc046854e3931cb7002779bd76d71f) + ] + ] + [ + [ (builtin bls12_381_G1_scalarMul) (con integer 123) ] + (con bls12_381_G1_element 0xabd61864f519748032551e42e0ac417fd828f079454e3e3c9891c5c29ed7f10bdecc046854e3931cb7002779bd76d71f) + ] + ] +) + diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulperiodic4/mulperiodic4.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulperiodic4/mulperiodic4.uplc.expected new file mode 100644 index 00000000..3760fc7a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulperiodic4/mulperiodic4.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/bad-zero-1/bad-zero-1.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/bad-zero-1/bad-zero-1.uplc new file mode 100644 index 00000000..24e3ca33 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/bad-zero-1/bad-zero-1.uplc @@ -0,0 +1,7 @@ +-- This has the infinity bit set but not the compression bit, and so is invalid. +(program 0.0.0 + [ + (builtin bls12_381_G1_uncompress) + (con bytestring #400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) + ] +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/bad-zero-1/bad-zero-1.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/bad-zero-1/bad-zero-1.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/bad-zero-1/bad-zero-1.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/bad-zero-2/bad-zero-2.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/bad-zero-2/bad-zero-2.uplc new file mode 100644 index 00000000..122d86c4 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/bad-zero-2/bad-zero-2.uplc @@ -0,0 +1,8 @@ +-- This is the zero point of G1, but with the sign bit set. It should fail to uncompress. +(program 0.0.0 + [ + (builtin bls12_381_G1_uncompress) + (con bytestring #e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) + ] +) + \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/bad-zero-2/bad-zero-2.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/bad-zero-2/bad-zero-2.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/bad-zero-2/bad-zero-2.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/bad-zero-3/bad-zero-3.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/bad-zero-3/bad-zero-3.uplc new file mode 100644 index 00000000..5bfda391 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/bad-zero-3/bad-zero-3.uplc @@ -0,0 +1,8 @@ +-- This is the zero point of G1, but with a random bit set in the body. It +-- should fail to uncompress. +(program 0.0.0 + [ + (builtin bls12_381_G1_uncompress) + (con bytestring #c00000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000) + ] +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/bad-zero-3/bad-zero-3.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/bad-zero-3/bad-zero-3.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/bad-zero-3/bad-zero-3.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/off-curve/off-curve.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/off-curve/off-curve.uplc new file mode 100644 index 00000000..f8ffadf2 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/off-curve/off-curve.uplc @@ -0,0 +1,7 @@ +-- This contains a value which is not the x-coordinate of a point on the E1 curve. +(program 0.0.0 + [ + (builtin bls12_381_G1_uncompress) + (con bytestring #a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003) + ] +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/off-curve/off-curve.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/off-curve/off-curve.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/off-curve/off-curve.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/on-curve-bit3-clear/on-curve-bit3-clear.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/on-curve-bit3-clear/on-curve-bit3-clear.uplc new file mode 100644 index 00000000..5033b288 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/on-curve-bit3-clear/on-curve-bit3-clear.uplc @@ -0,0 +1,8 @@ +-- This value was obtained by hashing 0x0102030405 to G1 but has had the +-- compression bit cleared, so uncompression should fail. +(program 0.0.0 + [ + (builtin bls12_381_G1_uncompress) + (con bytestring #81e9a0c68985059bd25a5ef05b351ca22f7d7c19e37928583ae12a1f4939440ff754cfd85b23df4a54f66c7089db6deb) + ] +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/on-curve-bit3-clear/on-curve-bit3-clear.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/on-curve-bit3-clear/on-curve-bit3-clear.uplc.expected new file mode 100644 index 00000000..d66818b0 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/on-curve-bit3-clear/on-curve-bit3-clear.uplc.expected @@ -0,0 +1,7 @@ +(program + 0.0.0 + (con + bls12_381_G1_element + 0x81e9a0c68985059bd25a5ef05b351ca22f7d7c19e37928583ae12a1f4939440ff754cfd85b23df4a54f66c7089db6deb + ) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/on-curve-bit3-set/on-curve-bit3-set.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/on-curve-bit3-set/on-curve-bit3-set.uplc new file mode 100644 index 00000000..9872b0d8 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/on-curve-bit3-set/on-curve-bit3-set.uplc @@ -0,0 +1,8 @@ +-- This value was obtained by hashing 0x0102030405 to G1 and has the compression +-- bit set, so uncompression should succeed. +(program 0.0.0 + [ + (builtin bls12_381_G1_uncompress) + (con bytestring #a1e9a0c68985059bd25a5ef05b351ca22f7d7c19e37928583ae12a1f4939440ff754cfd85b23df4a54f66c7089db6deb) + ] +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/on-curve-bit3-set/on-curve-bit3-set.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/on-curve-bit3-set/on-curve-bit3-set.uplc.expected new file mode 100644 index 00000000..54e30965 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/on-curve-bit3-set/on-curve-bit3-set.uplc.expected @@ -0,0 +1,9 @@ +-- This value was obtained by hashing 0x0102030405 to G2 and has the compression +-- bit set, so uncompression should succeed. +(program + 0.0.0 + (con + bls12_381_G1_element + 0xa1e9a0c68985059bd25a5ef05b351ca22f7d7c19e37928583ae12a1f4939440ff754cfd85b23df4a54f66c7089db6deb + ) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/on-curve-serialised-not-compressed/on-curve-serialised-not-compressed.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/on-curve-serialised-not-compressed/on-curve-serialised-not-compressed.uplc new file mode 100644 index 00000000..64ac2457 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/on-curve-serialised-not-compressed/on-curve-serialised-not-compressed.uplc @@ -0,0 +1,10 @@ +-- This checks that the uncompression function fails on a valid *serialised* G1 +-- point (obtained by hashing 0x0102030405 onto G1). The deserialisation +-- function in the blst library can handle both serialised and compressed +-- points, but we should fail on the former. +(program 0.0.0 + [ (builtin bls12_381_G1_uncompress) + (con bytestring + #01e9a0c68985059bd25a5ef05b351ca22f7d7c19e37928583ae12a1f4939440ff754cfd85b23df4a54f66c7089db6deb12ae8470d881eb628dfcf4bb083fb8a6968d907a0c265f6d06e04b05a19418d395d3e0c115430f88e7156822904ef5bf) +] +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/on-curve-serialised-not-compressed/on-curve-serialised-not-compressed.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/on-curve-serialised-not-compressed/on-curve-serialised-not-compressed.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/on-curve-serialised-not-compressed/on-curve-serialised-not-compressed.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/out-of-group/out-of-group.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/out-of-group/out-of-group.uplc new file mode 100644 index 00000000..2c34b8e2 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/out-of-group/out-of-group.uplc @@ -0,0 +1,8 @@ +-- This contains a value which is the x-coordinate of a point which lies on the +-- E1 curve but not the G1 subgroup. +(program 0.0.0 + [ + (builtin bls12_381_G1_uncompress) + (con bytestring #a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005) + ] +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/out-of-group/out-of-group.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/out-of-group/out-of-group.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/out-of-group/out-of-group.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/too-long/too-long.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/too-long/too-long.uplc new file mode 100644 index 00000000..0779c332 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/too-long/too-long.uplc @@ -0,0 +1,8 @@ +-- The bytestring is the compressed version of the G1 zero point, but extended +-- to 49 bytes. +(program 0.0.0 + [ + (builtin bls12_381_G1_uncompress) + (con bytestring #c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) + ] +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/too-long/too-long.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/too-long/too-long.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/too-long/too-long.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/too-short/too-short.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/too-short/too-short.uplc new file mode 100644 index 00000000..98d9f22f --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/too-short/too-short.uplc @@ -0,0 +1,7 @@ +-- The bytestring is the compressed version of the G1 zero point, but truncated to 47 bytes. +(program 0.0.0 + [ + (builtin bls12_381_G1_uncompress) + (con bytestring #c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) + ] +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/too-short/too-short.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/too-short/too-short.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/too-short/too-short.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/zero/zero.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/zero/zero.uplc new file mode 100644 index 00000000..127c894d --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/zero/zero.uplc @@ -0,0 +1,7 @@ +-- The zero element of G1 uncompresses correctly. +(program 0.0.0 + [ + (builtin bls12_381_G1_uncompress) + (con bytestring #c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/zero/zero.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/zero/zero.uplc.expected new file mode 100644 index 00000000..63a548b8 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G1_uncompress/zero/zero.uplc.expected @@ -0,0 +1,7 @@ +(program + 0.0.0 + (con + bls12_381_G1_element + 0xc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + ) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_add/add-associative/add-associative.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_add/add-associative/add-associative.uplc new file mode 100644 index 00000000..a0ee7305 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_add/add-associative/add-associative.uplc @@ -0,0 +1,37 @@ +-- p+(q+r) = (p+q)+r for three random points on G2. +(program 1.0.0 + [ + [ + (builtin bls12_381_G2_equal) + [ + [ + (builtin bls12_381_G2_add) + (con bls12_381_G2_element 0xb0629fa1158c2d23a10413fe91d381a84d25e31d041cd0377d25828498fd02011b35893938ced97535395e4815201e67108bcd4665e0db25d602d76fa791fab706c54abf5e1a9e44b4ac1e6badf3d2ac0328f5e30be341677c8bac5dda7682f1) + ] + [ + [ + (builtin bls12_381_G2_add) + (con bls12_381_G2_element 0x8310bc97fc7ad9b1616e51226c6a521b9d7fdf03f7299833e6a208ae0399fec76045a43ceef846e0958d0cdf05cf2b1f00460ee6edd2778b413eb7c272bc5b94d12b910f8ac4eb1b55e50a93644714787417bc462349c5e0f6f357b9ac32262a +) + ] + (con bls12_381_G2_element 0xa69d86e011cf692e51ac2031201c27aa06a8f902068fcb98f284d9d925c6502bb0821ba4f49ece3d1db06cd9556f690a117e51df792f7c1d1f5f22b91c3155e9ef2bc43f24ab0a62d8606b3262a117c5635326ae8c9ad897980db6bf4849f903 +) + ] + ] + ] + [ + (builtin bls12_381_G2_add) + [ + [ + (builtin bls12_381_G2_add) + (con bls12_381_G2_element 0xb0629fa1158c2d23a10413fe91d381a84d25e31d041cd0377d25828498fd02011b35893938ced97535395e4815201e67108bcd4665e0db25d602d76fa791fab706c54abf5e1a9e44b4ac1e6badf3d2ac0328f5e30be341677c8bac5dda7682f1) + ] + (con bls12_381_G2_element 0x8310bc97fc7ad9b1616e51226c6a521b9d7fdf03f7299833e6a208ae0399fec76045a43ceef846e0958d0cdf05cf2b1f00460ee6edd2778b413eb7c272bc5b94d12b910f8ac4eb1b55e50a93644714787417bc462349c5e0f6f357b9ac32262a +) + ] + (con bls12_381_G2_element 0xa69d86e011cf692e51ac2031201c27aa06a8f902068fcb98f284d9d925c6502bb0821ba4f49ece3d1db06cd9556f690a117e51df792f7c1d1f5f22b91c3155e9ef2bc43f24ab0a62d8606b3262a117c5635326ae8c9ad897980db6bf4849f903 +) + ] + ] +) + diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_add/add-associative/add-associative.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_add/add-associative/add-associative.uplc.expected new file mode 100644 index 00000000..3760fc7a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_add/add-associative/add-associative.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_add/add-commutative/add-commutative.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_add/add-commutative/add-commutative.uplc new file mode 100644 index 00000000..441b8699 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_add/add-commutative/add-commutative.uplc @@ -0,0 +1,24 @@ +-- p+q = q+p for two random points in G2. +(program 1.0.0 + [ + [ + (builtin bls12_381_G2_equal) + [ + [ + (builtin bls12_381_G2_add) + (con bls12_381_G2_element 0xb0629fa1158c2d23a10413fe91d381a84d25e31d041cd0377d25828498fd02011b35893938ced97535395e4815201e67108bcd4665e0db25d602d76fa791fab706c54abf5e1a9e44b4ac1e6badf3d2ac0328f5e30be341677c8bac5dda7682f1 +) + ] + (con bls12_381_G2_element 0x8310bc97fc7ad9b1616e51226c6a521b9d7fdf03f7299833e6a208ae0399fec76045a43ceef846e0958d0cdf05cf2b1f00460ee6edd2778b413eb7c272bc5b94d12b910f8ac4eb1b55e50a93644714787417bc462349c5e0f6f357b9ac32262a) + ] + ] + [ + [ + (builtin bls12_381_G2_add) + (con bls12_381_G2_element 0x8310bc97fc7ad9b1616e51226c6a521b9d7fdf03f7299833e6a208ae0399fec76045a43ceef846e0958d0cdf05cf2b1f00460ee6edd2778b413eb7c272bc5b94d12b910f8ac4eb1b55e50a93644714787417bc462349c5e0f6f357b9ac32262a) + ] + (con bls12_381_G2_element 0xb0629fa1158c2d23a10413fe91d381a84d25e31d041cd0377d25828498fd02011b35893938ced97535395e4815201e67108bcd4665e0db25d602d76fa791fab706c54abf5e1a9e44b4ac1e6badf3d2ac0328f5e30be341677c8bac5dda7682f1 +) + ] + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_add/add-commutative/add-commutative.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_add/add-commutative/add-commutative.uplc.expected new file mode 100644 index 00000000..3760fc7a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_add/add-commutative/add-commutative.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_add/add-zero/add-zero.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_add/add-zero/add-zero.uplc new file mode 100644 index 00000000..18adedbe --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_add/add-zero/add-zero.uplc @@ -0,0 +1,10 @@ +-- Adding the zero element to a random point doesn't change it. +(program 1.0.0 + [ + [ + (builtin bls12_381_G2_add) + (con bls12_381_G2_element 0xb0629fa1158c2d23a10413fe91d381a84d25e31d041cd0377d25828498fd02011b35893938ced97535395e4815201e67108bcd4665e0db25d602d76fa791fab706c54abf5e1a9e44b4ac1e6badf3d2ac0328f5e30be341677c8bac5dda7682f1) + ] + (con bls12_381_G2_element 0xc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_add/add-zero/add-zero.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_add/add-zero/add-zero.uplc.expected new file mode 100644 index 00000000..fa158051 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_add/add-zero/add-zero.uplc.expected @@ -0,0 +1,7 @@ +(program + 1.0.0 + (con + bls12_381_G2_element + 0xb0629fa1158c2d23a10413fe91d381a84d25e31d041cd0377d25828498fd02011b35893938ced97535395e4815201e67108bcd4665e0db25d602d76fa791fab706c54abf5e1a9e44b4ac1e6badf3d2ac0328f5e30be341677c8bac5dda7682f1 + ) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_add/add/add.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_add/add/add.uplc new file mode 100644 index 00000000..7eb51f91 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_add/add/add.uplc @@ -0,0 +1,10 @@ +-- Check that adding two random points on G2 gives the expected result. +(program 1.0.0 + [ + [ + (builtin bls12_381_G2_add) + (con bls12_381_G2_element 0xb0629fa1158c2d23a10413fe91d381a84d25e31d041cd0377d25828498fd02011b35893938ced97535395e4815201e67108bcd4665e0db25d602d76fa791fab706c54abf5e1a9e44b4ac1e6badf3d2ac0328f5e30be341677c8bac5dda7682f1) + ] + (con bls12_381_G2_element 0x8310bc97fc7ad9b1616e51226c6a521b9d7fdf03f7299833e6a208ae0399fec76045a43ceef846e0958d0cdf05cf2b1f00460ee6edd2778b413eb7c272bc5b94d12b910f8ac4eb1b55e50a93644714787417bc462349c5e0f6f357b9ac32262a) + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_add/add/add.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_add/add/add.uplc.expected new file mode 100644 index 00000000..5cecee55 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_add/add/add.uplc.expected @@ -0,0 +1,7 @@ +(program + 1.0.0 + (con + bls12_381_G2_element + 0xb5cf6c76309d98a38950948ce6768309e2e92561762734caaaab65077e1279faff6bba6f9f21bbb3b3fa4ee55aa1332d0f4b3b9a6fa4848e0bf7ae0d38fdc1f1c1908b953ee2b47b88a595b10431acab16522d12a785e27692fc7e0ffa33be07 + ) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_compress/compress/compress.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_compress/compress/compress.uplc new file mode 100644 index 00000000..86a22550 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_compress/compress/compress.uplc @@ -0,0 +1,7 @@ +-- Check that compression of a random point in G2 succeeds and gives the expected result. +(program 1.0.0 + [ + (builtin bls12_381_G2_compress) + (con bls12_381_G2_element 0xb0629fa1158c2d23a10413fe91d381a84d25e31d041cd0377d25828498fd02011b35893938ced97535395e4815201e67108bcd4665e0db25d602d76fa791fab706c54abf5e1a9e44b4ac1e6badf3d2ac0328f5e30be341677c8bac5dda7682f1) + ] +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_compress/compress/compress.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_compress/compress/compress.uplc.expected new file mode 100644 index 00000000..0230ddae --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_compress/compress/compress.uplc.expected @@ -0,0 +1,7 @@ +(program + 1.0.0 + (con + bytestring + #b0629fa1158c2d23a10413fe91d381a84d25e31d041cd0377d25828498fd02011b35893938ced97535395e4815201e67108bcd4665e0db25d602d76fa791fab706c54abf5e1a9e44b4ac1e6badf3d2ac0328f5e30be341677c8bac5dda7682f1 + ) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_equal/equal-false/equal-false.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_equal/equal-false/equal-false.uplc new file mode 100644 index 00000000..6c90ac74 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_equal/equal-false/equal-false.uplc @@ -0,0 +1,10 @@ +(program 1.0.0 + [ + [ + (builtin bls12_381_G2_equal) + (con bls12_381_G2_element 0xb0629fa1158c2d23a10413fe91d381a84d25e31d041cd0377d25828498fd02011b35893938ced97535395e4815201e67108bcd4665e0db25d602d76fa791fab706c54abf5e1a9e44b4ac1e6badf3d2ac0328f5e30be341677c8bac5dda7682f1) + ] + (con bls12_381_G2_element 0x8310bc97fc7ad9b1616e51226c6a521b9d7fdf03f7299833e6a208ae0399fec76045a43ceef846e0958d0cdf05cf2b1f00460ee6edd2778b413eb7c272bc5b94d12b910f8ac4eb1b55e50a93644714787417bc462349c5e0f6f357b9ac32262a) + ] +) + diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_equal/equal-false/equal-false.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_equal/equal-false/equal-false.uplc.expected new file mode 100644 index 00000000..3ee9f07f --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_equal/equal-false/equal-false.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool False)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_equal/equal-true/equal-true.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_equal/equal-true/equal-true.uplc new file mode 100644 index 00000000..c4007b4d --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_equal/equal-true/equal-true.uplc @@ -0,0 +1,10 @@ +(program 1.0.0 + [ + [ + (builtin bls12_381_G2_equal) + (con bls12_381_G2_element 0xb0629fa1158c2d23a10413fe91d381a84d25e31d041cd0377d25828498fd02011b35893938ced97535395e4815201e67108bcd4665e0db25d602d76fa791fab706c54abf5e1a9e44b4ac1e6badf3d2ac0328f5e30be341677c8bac5dda7682f1) + ] + (con bls12_381_G2_element 0xb0629fa1158c2d23a10413fe91d381a84d25e31d041cd0377d25828498fd02011b35893938ced97535395e4815201e67108bcd4665e0db25d602d76fa791fab706c54abf5e1a9e44b4ac1e6badf3d2ac0328f5e30be341677c8bac5dda7682f1) + ] +) + diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_equal/equal-true/equal-true.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_equal/equal-true/equal-true.uplc.expected new file mode 100644 index 00000000..3760fc7a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_equal/equal-true/equal-true.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_hashToGroup/hash-different-msg-same-dst/hash-different-msg-same-dst.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_hashToGroup/hash-different-msg-same-dst/hash-different-msg-same-dst.uplc new file mode 100644 index 00000000..417ac4fa --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_hashToGroup/hash-different-msg-same-dst/hash-different-msg-same-dst.uplc @@ -0,0 +1,23 @@ +-- Check that hashing different messages with the same DST gives different +-- results: this should return False. +(program 1.0.0 + [ + [ + (builtin bls12_381_G2_equal) + [ + [ + (builtin bls12_381_G2_hashToGroup) + (con bytestring #8e) + ] + (con bytestring #0a) + ] + ] + [ + [ + (builtin bls12_381_G2_hashToGroup) + (con bytestring #81) + ] + (con bytestring #0a) + ] + ] +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_hashToGroup/hash-different-msg-same-dst/hash-different-msg-same-dst.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_hashToGroup/hash-different-msg-same-dst/hash-different-msg-same-dst.uplc.expected new file mode 100644 index 00000000..3ee9f07f --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_hashToGroup/hash-different-msg-same-dst/hash-different-msg-same-dst.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool False)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_hashToGroup/hash-dst-len-255/hash-dst-len-255.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_hashToGroup/hash-dst-len-255/hash-dst-len-255.uplc new file mode 100644 index 00000000..b9ba3819 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_hashToGroup/hash-dst-len-255/hash-dst-len-255.uplc @@ -0,0 +1,10 @@ +-- Maximum length of DST is 255 bytes: this should be OK +(program 1.0.0 + [ + [ + (builtin bls12_381_G2_hashToGroup) + (con bytestring #3f) + ] + (con bytestring #123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890) + ] +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_hashToGroup/hash-dst-len-255/hash-dst-len-255.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_hashToGroup/hash-dst-len-255/hash-dst-len-255.uplc.expected new file mode 100644 index 00000000..adc5ec3b --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_hashToGroup/hash-dst-len-255/hash-dst-len-255.uplc.expected @@ -0,0 +1,7 @@ +(program + 1.0.0 + (con + bls12_381_G2_element + 0x9028b507444b4283faf2f85e7f7d3890b67e9bcf84c7de2f75fe603996ab1b12a25b4637d68f310b7bd6d47ec11e3fa60d0f8f9d1dc880746105b4d7e9b5bba86abfdef96dfda303b1fb00b5d866b5d7f67883efb39efca301ae44a7f1322a33 + ) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_hashToGroup/hash-dst-len-256/hash-dst-len-256.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_hashToGroup/hash-dst-len-256/hash-dst-len-256.uplc new file mode 100644 index 00000000..c0178489 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_hashToGroup/hash-dst-len-256/hash-dst-len-256.uplc @@ -0,0 +1,10 @@ +-- Maximum length of DST is 255 bytes: this should fail +(program 1.0.0 + [ + [ + (builtin bls12_381_G2_hashToGroup) + (con bytestring #3f) + ] + (con bytestring #123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890ff) + ] +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_hashToGroup/hash-dst-len-256/hash-dst-len-256.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_hashToGroup/hash-dst-len-256/hash-dst-len-256.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_hashToGroup/hash-dst-len-256/hash-dst-len-256.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_hashToGroup/hash-empty-dst/hash-empty-dst.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_hashToGroup/hash-empty-dst/hash-empty-dst.uplc new file mode 100644 index 00000000..ab6c5797 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_hashToGroup/hash-empty-dst/hash-empty-dst.uplc @@ -0,0 +1,10 @@ +-- Check that hashing a random bytestring with an empty DST gives the expected result. +(program 1.0.0 + [ + [ + (builtin bls12_381_G2_hashToGroup) + (con bytestring #8e) + ] + (con bytestring #) + ] +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_hashToGroup/hash-empty-dst/hash-empty-dst.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_hashToGroup/hash-empty-dst/hash-empty-dst.uplc.expected new file mode 100644 index 00000000..8201dfc7 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_hashToGroup/hash-empty-dst/hash-empty-dst.uplc.expected @@ -0,0 +1,7 @@ +(program + 1.0.0 + (con + bls12_381_G2_element + 0x8785334bbccf9f7a1bc656fcbcaf9901521cc09a076ff69d40e467082b605d668219747dfec37c798c97b2c7f28ec90117c4ccfc54ef3cc3c0038951c4969a3c0b3fb842a78103586657428ab38d719c9d3314de566cd95540aaccf7afd48821 + ) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_hashToGroup/hash-same-msg-different-dst/hash-same-msg-different-dst.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_hashToGroup/hash-same-msg-different-dst/hash-same-msg-different-dst.uplc new file mode 100644 index 00000000..08b234b6 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_hashToGroup/hash-same-msg-different-dst/hash-same-msg-different-dst.uplc @@ -0,0 +1,23 @@ +-- Check that hashing the same message with different DSTs gives different +-- results: this should return False. +(program 1.0.0 + [ + [ + (builtin bls12_381_G2_equal) + [ + [ + (builtin bls12_381_G2_hashToGroup) + (con bytestring #8e) + ] + (con bytestring #0a) + ] + ] + [ + [ + (builtin bls12_381_G2_hashToGroup) + (con bytestring #8e) + ] + (con bytestring #01) + ] + ] +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_hashToGroup/hash-same-msg-different-dst/hash-same-msg-different-dst.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_hashToGroup/hash-same-msg-different-dst/hash-same-msg-different-dst.uplc.expected new file mode 100644 index 00000000..3ee9f07f --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_hashToGroup/hash-same-msg-different-dst/hash-same-msg-different-dst.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool False)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_hashToGroup/hash/hash.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_hashToGroup/hash/hash.uplc new file mode 100644 index 00000000..ec831773 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_hashToGroup/hash/hash.uplc @@ -0,0 +1,10 @@ +-- Check that hashing a random bytestring gives the expected result. +(program 1.0.0 + [ + [ + (builtin bls12_381_G2_hashToGroup) + (con bytestring #8e) + ] + (con bytestring #0a) + ] +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_hashToGroup/hash/hash.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_hashToGroup/hash/hash.uplc.expected new file mode 100644 index 00000000..6c0812e6 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_hashToGroup/hash/hash.uplc.expected @@ -0,0 +1,7 @@ +(program + 1.0.0 + (con + bls12_381_G2_element + 0xabdb064dbaa986d9609796d7a80ef07f719f99fa5d9876e01f9298793d4c7e7ba9b2c55da6896f90693ad76a093d280118a4c24df9a387eaf85b15927365a110fe5256f53ddf8bef4069fe761d8215d4a73ec980f1a801dbaba25146b6ca7e07 + ) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_neg/add-neg/add-neg.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_neg/add-neg/add-neg.uplc new file mode 100644 index 00000000..470c530a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_neg/add-neg/add-neg.uplc @@ -0,0 +1,13 @@ +-- Check that adding a random point to its negative gives the zero element. +(program 1.0.0 + [ + [ + (builtin bls12_381_G2_add) + (con bls12_381_G2_element 0xb0629fa1158c2d23a10413fe91d381a84d25e31d041cd0377d25828498fd02011b35893938ced97535395e4815201e67108bcd4665e0db25d602d76fa791fab706c54abf5e1a9e44b4ac1e6badf3d2ac0328f5e30be341677c8bac5dda7682f1) + ] + [ + (builtin bls12_381_G2_neg) + (con bls12_381_G2_element 0xb0629fa1158c2d23a10413fe91d381a84d25e31d041cd0377d25828498fd02011b35893938ced97535395e4815201e67108bcd4665e0db25d602d76fa791fab706c54abf5e1a9e44b4ac1e6badf3d2ac0328f5e30be341677c8bac5dda7682f1) + ] + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_neg/add-neg/add-neg.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_neg/add-neg/add-neg.uplc.expected new file mode 100644 index 00000000..145261a1 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_neg/add-neg/add-neg.uplc.expected @@ -0,0 +1,7 @@ +(program + 1.0.0 + (con + bls12_381_G2_element + 0xc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + ) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_neg/neg-zero/neg-zero.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_neg/neg-zero/neg-zero.uplc new file mode 100644 index 00000000..56cc6803 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_neg/neg-zero/neg-zero.uplc @@ -0,0 +1,7 @@ +-- The negative of the zero point is the zero point. +(program 1.0.0 + [ + (builtin bls12_381_G2_neg) + (con bls12_381_G2_element 0xc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_neg/neg-zero/neg-zero.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_neg/neg-zero/neg-zero.uplc.expected new file mode 100644 index 00000000..145261a1 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_neg/neg-zero/neg-zero.uplc.expected @@ -0,0 +1,7 @@ +(program + 1.0.0 + (con + bls12_381_G2_element + 0xc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + ) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_neg/neg/neg.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_neg/neg/neg.uplc new file mode 100644 index 00000000..1894886a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_neg/neg/neg.uplc @@ -0,0 +1,7 @@ +-- Check that hashing a random bytestring gives the expected result. +(program 1.0.0 + [ + (builtin bls12_381_G2_neg) + (con bls12_381_G2_element 0x8310bc97fc7ad9b1616e51226c6a521b9d7fdf03f7299833e6a208ae0399fec76045a43ceef846e0958d0cdf05cf2b1f00460ee6edd2778b413eb7c272bc5b94d12b910f8ac4eb1b55e50a93644714787417bc462349c5e0f6f357b9ac32262a) + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_neg/neg/neg.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_neg/neg/neg.uplc.expected new file mode 100644 index 00000000..cb37047e --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_neg/neg/neg.uplc.expected @@ -0,0 +1,7 @@ +(program + 1.0.0 + (con + bls12_381_G2_element + 0xa310bc97fc7ad9b1616e51226c6a521b9d7fdf03f7299833e6a208ae0399fec76045a43ceef846e0958d0cdf05cf2b1f00460ee6edd2778b413eb7c272bc5b94d12b910f8ac4eb1b55e50a93644714787417bc462349c5e0f6f357b9ac32262a + ) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/addmul/addmul.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/addmul/addmul.uplc new file mode 100644 index 00000000..0b8eb227 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/addmul/addmul.uplc @@ -0,0 +1,22 @@ +-- 2157p + 2157q for random points p and q in G2. This should give the same result as muladd. +(program 1.0.0 + [ + [ + (builtin bls12_381_G2_add) + [ + [ + (builtin bls12_381_G2_scalarMul) + (con integer 2157) + ] + (con bls12_381_G2_element 0xb0629fa1158c2d23a10413fe91d381a84d25e31d041cd0377d25828498fd02011b35893938ced97535395e4815201e67108bcd4665e0db25d602d76fa791fab706c54abf5e1a9e44b4ac1e6badf3d2ac0328f5e30be341677c8bac5dda7682f1) + ] + ] + [ + [ + (builtin bls12_381_G2_scalarMul) + (con integer 2157) + ] + (con bls12_381_G2_element 0x8310bc97fc7ad9b1616e51226c6a521b9d7fdf03f7299833e6a208ae0399fec76045a43ceef846e0958d0cdf05cf2b1f00460ee6edd2778b413eb7c272bc5b94d12b910f8ac4eb1b55e50a93644714787417bc462349c5e0f6f357b9ac32262a) + ] + ] +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/addmul/addmul.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/addmul/addmul.uplc.expected new file mode 100644 index 00000000..284acd1f --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/addmul/addmul.uplc.expected @@ -0,0 +1,7 @@ +(program + 1.0.0 + (con + bls12_381_G2_element + 0xb8a335cdbb3de744ba2b6bb3c9ad9c209a7f33a1453c2ed0460e188c1f31f185e359a62727fe1d8ba5c931d75ef644e50173e5255b62194677fb67323ce42bac5c6b1b077e682df3aabca1caee2f640db1fed0b4ad511562f7c54d84ea76debc + ) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul0/mul0.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul0/mul0.uplc new file mode 100644 index 00000000..f8cad427 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul0/mul0.uplc @@ -0,0 +1,10 @@ +-- Multiplication by the zero scalar gives the zero point of G2. +(program 1.0.0 + [ + [ + (builtin bls12_381_G2_scalarMul) + (con integer 0) + ] + (con bls12_381_G2_element 0x8310bc97fc7ad9b1616e51226c6a521b9d7fdf03f7299833e6a208ae0399fec76045a43ceef846e0958d0cdf05cf2b1f00460ee6edd2778b413eb7c272bc5b94d12b910f8ac4eb1b55e50a93644714787417bc462349c5e0f6f357b9ac32262a) + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul0/mul0.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul0/mul0.uplc.expected new file mode 100644 index 00000000..145261a1 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul0/mul0.uplc.expected @@ -0,0 +1,7 @@ +(program + 1.0.0 + (con + bls12_381_G2_element + 0xc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + ) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul1/mul1.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul1/mul1.uplc new file mode 100644 index 00000000..f63ae4a7 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul1/mul1.uplc @@ -0,0 +1,10 @@ +-- Scalar multiplication by 1 leaves a random point unchanged. +(program 1.0.0 + [ + [ + (builtin bls12_381_G2_scalarMul) + (con integer 1) + ] + (con bls12_381_G2_element 0x8310bc97fc7ad9b1616e51226c6a521b9d7fdf03f7299833e6a208ae0399fec76045a43ceef846e0958d0cdf05cf2b1f00460ee6edd2778b413eb7c272bc5b94d12b910f8ac4eb1b55e50a93644714787417bc462349c5e0f6f357b9ac32262a) + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul1/mul1.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul1/mul1.uplc.expected new file mode 100644 index 00000000..a89b74d0 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul1/mul1.uplc.expected @@ -0,0 +1,7 @@ +(program + 1.0.0 + (con + bls12_381_G2_element + 0x8310bc97fc7ad9b1616e51226c6a521b9d7fdf03f7299833e6a208ae0399fec76045a43ceef846e0958d0cdf05cf2b1f00460ee6edd2778b413eb7c272bc5b94d12b910f8ac4eb1b55e50a93644714787417bc462349c5e0f6f357b9ac32262a + ) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul19+25/mul19+25.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul19+25/mul19+25.uplc new file mode 100644 index 00000000..545d5e60 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul19+25/mul19+25.uplc @@ -0,0 +1,22 @@ +-- 19p+25p for a random point p in G2. This should give the same result as mul44. +(program 1.0.0 + [ + [ + (builtin bls12_381_G2_add) + [ + [ + (builtin bls12_381_G2_scalarMul) + (con integer 19) + ] + (con bls12_381_G2_element 0x8310bc97fc7ad9b1616e51226c6a521b9d7fdf03f7299833e6a208ae0399fec76045a43ceef846e0958d0cdf05cf2b1f00460ee6edd2778b413eb7c272bc5b94d12b910f8ac4eb1b55e50a93644714787417bc462349c5e0f6f357b9ac32262a) + ] + ] + [ + [ + (builtin bls12_381_G2_scalarMul) + (con integer 25) + ] + (con bls12_381_G2_element 0x8310bc97fc7ad9b1616e51226c6a521b9d7fdf03f7299833e6a208ae0399fec76045a43ceef846e0958d0cdf05cf2b1f00460ee6edd2778b413eb7c272bc5b94d12b910f8ac4eb1b55e50a93644714787417bc462349c5e0f6f357b9ac32262a) + ] + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul19+25/mul19+25.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul19+25/mul19+25.uplc.expected new file mode 100644 index 00000000..3597841c --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul19+25/mul19+25.uplc.expected @@ -0,0 +1,7 @@ +(program + 1.0.0 + (con + bls12_381_G2_element + 0xaa2a95bc9936c61f5039cc6fbbe0e25fa8b1528ea18c5be09c93ed941d1c9052597086b8d3b3b5fbbd110ce389378c5414efd310de2120a7efbaaf70d01f5b80835118c1f39a4273a10f1f2a4af0ed33a7c17fba4c8e3f7cb08a1d97e82d5611 + ) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul44/mul44.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul44/mul44.uplc new file mode 100644 index 00000000..7c7a68d7 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul44/mul44.uplc @@ -0,0 +1,10 @@ +-- Check that multiplication by the scalar 44 gives the expected result. +(program 1.0.0 + [ + [ + (builtin bls12_381_G2_scalarMul) + (con integer 44) + ] + (con bls12_381_G2_element 0x8310bc97fc7ad9b1616e51226c6a521b9d7fdf03f7299833e6a208ae0399fec76045a43ceef846e0958d0cdf05cf2b1f00460ee6edd2778b413eb7c272bc5b94d12b910f8ac4eb1b55e50a93644714787417bc462349c5e0f6f357b9ac32262a) + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul44/mul44.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul44/mul44.uplc.expected new file mode 100644 index 00000000..3597841c --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul44/mul44.uplc.expected @@ -0,0 +1,7 @@ +(program + 1.0.0 + (con + bls12_381_G2_element + 0xaa2a95bc9936c61f5039cc6fbbe0e25fa8b1528ea18c5be09c93ed941d1c9052597086b8d3b3b5fbbd110ce389378c5414efd310de2120a7efbaaf70d01f5b80835118c1f39a4273a10f1f2a4af0ed33a7c17fba4c8e3f7cb08a1d97e82d5611 + ) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul4x11/mul4x11.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul4x11/mul4x11.uplc new file mode 100644 index 00000000..a85dfe79 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul4x11/mul4x11.uplc @@ -0,0 +1,16 @@ +-- 4*(11*p) for a point in G2. This should give the same result as mul44. +(program 1.0.0 + [ + [ + (builtin bls12_381_G2_scalarMul) + (con integer 4) + ] + [ + [ + (builtin bls12_381_G2_scalarMul) + (con integer 11) + ] + (con bls12_381_G2_element 0x8310bc97fc7ad9b1616e51226c6a521b9d7fdf03f7299833e6a208ae0399fec76045a43ceef846e0958d0cdf05cf2b1f00460ee6edd2778b413eb7c272bc5b94d12b910f8ac4eb1b55e50a93644714787417bc462349c5e0f6f357b9ac32262a) + ] + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul4x11/mul4x11.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul4x11/mul4x11.uplc.expected new file mode 100644 index 00000000..3597841c --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul4x11/mul4x11.uplc.expected @@ -0,0 +1,7 @@ +(program + 1.0.0 + (con + bls12_381_G2_element + 0xaa2a95bc9936c61f5039cc6fbbe0e25fa8b1528ea18c5be09c93ed941d1c9052597086b8d3b3b5fbbd110ce389378c5414efd310de2120a7efbaaf70d01f5b80835118c1f39a4273a10f1f2a4af0ed33a7c17fba4c8e3f7cb08a1d97e82d5611 + ) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/muladd/muladd.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/muladd/muladd.uplc new file mode 100644 index 00000000..5d37d126 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/muladd/muladd.uplc @@ -0,0 +1,16 @@ +-- n(p+q) = np + nq (n scalar, p and q random points in G2). +(program 1.0.0 + [ + [ + (builtin bls12_381_G2_scalarMul) + (con integer 2157) + ] + [ + [ + (builtin bls12_381_G2_add) + (con bls12_381_G2_element 0xb0629fa1158c2d23a10413fe91d381a84d25e31d041cd0377d25828498fd02011b35893938ced97535395e4815201e67108bcd4665e0db25d602d76fa791fab706c54abf5e1a9e44b4ac1e6badf3d2ac0328f5e30be341677c8bac5dda7682f1) + ] + (con bls12_381_G2_element 0x8310bc97fc7ad9b1616e51226c6a521b9d7fdf03f7299833e6a208ae0399fec76045a43ceef846e0958d0cdf05cf2b1f00460ee6edd2778b413eb7c272bc5b94d12b910f8ac4eb1b55e50a93644714787417bc462349c5e0f6f357b9ac32262a) + ] + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/muladd/muladd.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/muladd/muladd.uplc.expected new file mode 100644 index 00000000..284acd1f --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/muladd/muladd.uplc.expected @@ -0,0 +1,7 @@ +(program + 1.0.0 + (con + bls12_381_G2_element + 0xb8a335cdbb3de744ba2b6bb3c9ad9c209a7f33a1453c2ed0460e188c1f31f185e359a62727fe1d8ba5c931d75ef644e50173e5255b62194677fb67323ce42bac5c6b1b077e682df3aabca1caee2f640db1fed0b4ad511562f7c54d84ea76debc + ) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulneg1/mulneg1.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulneg1/mulneg1.uplc new file mode 100644 index 00000000..41555d76 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulneg1/mulneg1.uplc @@ -0,0 +1,10 @@ +-- Check that the result of multiplying by -1 is as expected. +(program 1.0.0 + [ + [ + (builtin bls12_381_G2_scalarMul) + (con integer -1) + ] + (con bls12_381_G2_element 0x8310bc97fc7ad9b1616e51226c6a521b9d7fdf03f7299833e6a208ae0399fec76045a43ceef846e0958d0cdf05cf2b1f00460ee6edd2778b413eb7c272bc5b94d12b910f8ac4eb1b55e50a93644714787417bc462349c5e0f6f357b9ac32262a) + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulneg1/mulneg1.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulneg1/mulneg1.uplc.expected new file mode 100644 index 00000000..cb37047e --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulneg1/mulneg1.uplc.expected @@ -0,0 +1,7 @@ +(program + 1.0.0 + (con + bls12_381_G2_element + 0xa310bc97fc7ad9b1616e51226c6a521b9d7fdf03f7299833e6a208ae0399fec76045a43ceef846e0958d0cdf05cf2b1f00460ee6edd2778b413eb7c272bc5b94d12b910f8ac4eb1b55e50a93644714787417bc462349c5e0f6f357b9ac32262a + ) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulneg44/mulneg44.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulneg44/mulneg44.uplc new file mode 100644 index 00000000..dc2f11a7 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulneg44/mulneg44.uplc @@ -0,0 +1,10 @@ +-- Multiplying a random point in G2 by the scalar -44 gives the expected result. +(program 1.0.0 + [ + [ + (builtin bls12_381_G2_scalarMul) + (con integer -44) + ] + (con bls12_381_G2_element 0x8310bc97fc7ad9b1616e51226c6a521b9d7fdf03f7299833e6a208ae0399fec76045a43ceef846e0958d0cdf05cf2b1f00460ee6edd2778b413eb7c272bc5b94d12b910f8ac4eb1b55e50a93644714787417bc462349c5e0f6f357b9ac32262a) + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulneg44/mulneg44.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulneg44/mulneg44.uplc.expected new file mode 100644 index 00000000..22aaa867 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulneg44/mulneg44.uplc.expected @@ -0,0 +1,7 @@ +(program + 1.0.0 + (con + bls12_381_G2_element + 0x8a2a95bc9936c61f5039cc6fbbe0e25fa8b1528ea18c5be09c93ed941d1c9052597086b8d3b3b5fbbd110ce389378c5414efd310de2120a7efbaaf70d01f5b80835118c1f39a4273a10f1f2a4af0ed33a7c17fba4c8e3f7cb08a1d97e82d5611 + ) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulperiodic1/mulperiodic1.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulperiodic1/mulperiodic1.uplc new file mode 100644 index 00000000..b9c3fc15 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulperiodic1/mulperiodic1.uplc @@ -0,0 +1,14 @@ +-- Scalar multiplication by the group size should give you the zero element of the group. +(program 1.0.0 +[ + [ (builtin bls12_381_G2_equal) + [ + (builtin bls12_381_G2_scalarMul) + (con integer 52435875175126190479447740508185965837690552500527637822603658699938581184513 ) + (con bls12_381_G2_element 0xb0629fa1158c2d23a10413fe91d381a84d25e31d041cd0377d25828498fd02011b35893938ced97535395e4815201e67108bcd4665e0db25d602d76fa791fab706c54abf5e1a9e44b4ac1e6badf3d2ac0328f5e30be341677c8bac5dda7682f1) + ] + ] + (con bls12_381_G2_element + 0xc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) +] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulperiodic1/mulperiodic1.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulperiodic1/mulperiodic1.uplc.expected new file mode 100644 index 00000000..3760fc7a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulperiodic1/mulperiodic1.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulperiodic2/mulperiodic2.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulperiodic2/mulperiodic2.uplc new file mode 100644 index 00000000..134e98d0 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulperiodic2/mulperiodic2.uplc @@ -0,0 +1,26 @@ +-- Scalar multiplication should be periodic modulo the group size +(program + 1.0.0 + [ + [ + (builtin bls12_381_G2_equal) + [ + [ + (builtin bls12_381_G2_scalarMul) + [ + [ (builtin addInteger) (con integer 123) ] + (con integer 52435875175126190479447740508185965837690552500527637822603658699938581184513) + ] + ] + (con bls12_381_G2_element + 0xb0629fa1158c2d23a10413fe91d381a84d25e31d041cd0377d25828498fd02011b35893938ced97535395e4815201e67108bcd4665e0db25d602d76fa791fab706c54abf5e1a9e44b4ac1e6badf3d2ac0328f5e30be341677c8bac5dda7682f1) + ] + ] + [ + [ (builtin bls12_381_G2_scalarMul) (con integer 123) ] + (con bls12_381_G2_element + 0xb0629fa1158c2d23a10413fe91d381a84d25e31d041cd0377d25828498fd02011b35893938ced97535395e4815201e67108bcd4665e0db25d602d76fa791fab706c54abf5e1a9e44b4ac1e6badf3d2ac0328f5e30be341677c8bac5dda7682f1) + ] + ] +) + diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulperiodic2/mulperiodic2.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulperiodic2/mulperiodic2.uplc.expected new file mode 100644 index 00000000..3760fc7a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulperiodic2/mulperiodic2.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulperiodic3/mulperiodic3.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulperiodic3/mulperiodic3.uplc new file mode 100644 index 00000000..0218e359 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulperiodic3/mulperiodic3.uplc @@ -0,0 +1,29 @@ +-- Scalar multiplication should be periodic modulo the group size +(program + 1.0.0 + [ + [ + (builtin bls12_381_G2_equal) + [ + [ + (builtin bls12_381_G2_scalarMul) + [ + [ (builtin addInteger) (con integer 123) ] + [ + [ (builtin multiplyInteger) (con integer 987654321) ] + (con integer 52435875175126190479447740508185965837690552500527637822603658699938581184513) + ] + ] + ] + (con bls12_381_G2_element + 0xb0629fa1158c2d23a10413fe91d381a84d25e31d041cd0377d25828498fd02011b35893938ced97535395e4815201e67108bcd4665e0db25d602d76fa791fab706c54abf5e1a9e44b4ac1e6badf3d2ac0328f5e30be341677c8bac5dda7682f1) + ] + ] + [ + [ (builtin bls12_381_G2_scalarMul) (con integer 123) ] + (con bls12_381_G2_element + 0xb0629fa1158c2d23a10413fe91d381a84d25e31d041cd0377d25828498fd02011b35893938ced97535395e4815201e67108bcd4665e0db25d602d76fa791fab706c54abf5e1a9e44b4ac1e6badf3d2ac0328f5e30be341677c8bac5dda7682f1) + ] + ] +) + diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulperiodic3/mulperiodic3.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulperiodic3/mulperiodic3.uplc.expected new file mode 100644 index 00000000..3760fc7a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulperiodic3/mulperiodic3.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulperiodic4/mulperiodic4.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulperiodic4/mulperiodic4.uplc new file mode 100644 index 00000000..5bb2845d --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulperiodic4/mulperiodic4.uplc @@ -0,0 +1,29 @@ +-- Scalar multiplication should be periodic modulo the group size +(program + 1.0.0 + [ + [ + (builtin bls12_381_G2_equal) + [ + [ + (builtin bls12_381_G2_scalarMul) + [ + [ (builtin addInteger) (con integer 123) ] + [ + [ (builtin multiplyInteger) (con integer -987654321) ] + (con integer 52435875175126190479447740508185965837690552500527637822603658699938581184513) + ] + ] + ] + (con bls12_381_G2_element + 0xb0629fa1158c2d23a10413fe91d381a84d25e31d041cd0377d25828498fd02011b35893938ced97535395e4815201e67108bcd4665e0db25d602d76fa791fab706c54abf5e1a9e44b4ac1e6badf3d2ac0328f5e30be341677c8bac5dda7682f1) + ] + ] + [ + [ (builtin bls12_381_G2_scalarMul) (con integer 123) ] + (con bls12_381_G2_element + 0xb0629fa1158c2d23a10413fe91d381a84d25e31d041cd0377d25828498fd02011b35893938ced97535395e4815201e67108bcd4665e0db25d602d76fa791fab706c54abf5e1a9e44b4ac1e6badf3d2ac0328f5e30be341677c8bac5dda7682f1) + ] + ] +) + diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulperiodic4/mulperiodic4.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulperiodic4/mulperiodic4.uplc.expected new file mode 100644 index 00000000..3760fc7a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulperiodic4/mulperiodic4.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/bad-zero-1/bad-zero-1.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/bad-zero-1/bad-zero-1.uplc new file mode 100644 index 00000000..3b53f7cc --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/bad-zero-1/bad-zero-1.uplc @@ -0,0 +1,7 @@ +-- This has the infinity bit set but not the compression bit, and so is invalid. +(program 0.0.0 + [ + (builtin bls12_381_G2_uncompress) + (con bytestring #400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) + ] +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/bad-zero-1/bad-zero-1.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/bad-zero-1/bad-zero-1.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/bad-zero-1/bad-zero-1.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/bad-zero-2/bad-zero-2.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/bad-zero-2/bad-zero-2.uplc new file mode 100644 index 00000000..d00ae032 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/bad-zero-2/bad-zero-2.uplc @@ -0,0 +1,7 @@ +-- This is the zero point of G2, but with the sign bit set. It should fail to uncompress. +(program 0.0.0 + [ + (builtin bls12_381_G2_uncompress) + (con bytestring #e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) + ] +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/bad-zero-2/bad-zero-2.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/bad-zero-2/bad-zero-2.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/bad-zero-2/bad-zero-2.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/bad-zero-3/bad-zero-3.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/bad-zero-3/bad-zero-3.uplc new file mode 100644 index 00000000..42285e53 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/bad-zero-3/bad-zero-3.uplc @@ -0,0 +1,8 @@ +-- This is the zero point of G2, but with the sign bit set. It should fail to +-- uncompress. +(program 0.0.0 + [ + (builtin bls12_381_G2_uncompress) + (con bytestring #c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000) + ] +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/bad-zero-3/bad-zero-3.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/bad-zero-3/bad-zero-3.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/bad-zero-3/bad-zero-3.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/off-curve/off-curve.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/off-curve/off-curve.uplc new file mode 100644 index 00000000..f0105428 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/off-curve/off-curve.uplc @@ -0,0 +1,7 @@ +-- This contains a value which is not the x-coordinate of a point on the E2 curve. +(program 0.0.0 + [ + (builtin bls12_381_G2_uncompress) + (con bytestring #a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003) + ] +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/off-curve/off-curve.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/off-curve/off-curve.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/off-curve/off-curve.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/on-curve-bit3-clear/on-curve-bit3-clear.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/on-curve-bit3-clear/on-curve-bit3-clear.uplc new file mode 100644 index 00000000..073cd7c7 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/on-curve-bit3-clear/on-curve-bit3-clear.uplc @@ -0,0 +1,8 @@ +-- This value was obtained by hashing 0x0102030405 to G2 but has had the +-- compression bit cleared, so uncompression should fail. +(program 0.0.0 + [ + (builtin bls12_381_G2_uncompress) + (con bytestring #88138ebea766d4d1aa64dd3b5826244c32ea3fe9351f9c8d584203716dae151d14bb5d06e245c24877955c79287682ba082d077bbb2afdb1ad1d48d18e2f0c56b001bce207801adfa9fd451fc59d56f0433b02f921ba5a272c58c06536291d07) + ] +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/on-curve-bit3-clear/on-curve-bit3-clear.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/on-curve-bit3-clear/on-curve-bit3-clear.uplc.expected new file mode 100644 index 00000000..ca926b8f --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/on-curve-bit3-clear/on-curve-bit3-clear.uplc.expected @@ -0,0 +1,7 @@ +(program + 0.0.0 + (con + bls12_381_G2_element + 0x88138ebea766d4d1aa64dd3b5826244c32ea3fe9351f9c8d584203716dae151d14bb5d06e245c24877955c79287682ba082d077bbb2afdb1ad1d48d18e2f0c56b001bce207801adfa9fd451fc59d56f0433b02f921ba5a272c58c06536291d07 + ) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/on-curve-bit3-set/on-curve-bit3-set.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/on-curve-bit3-set/on-curve-bit3-set.uplc new file mode 100644 index 00000000..fc7c9f47 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/on-curve-bit3-set/on-curve-bit3-set.uplc @@ -0,0 +1,8 @@ +-- This value was obtained by hashing 0x0102030405 to G2 but has had the +-- compression bit cleared, so uncompression should fail. +(program 0.0.0 + [ + (builtin bls12_381_G2_uncompress) + (con bytestring #a8138ebea766d4d1aa64dd3b5826244c32ea3fe9351f9c8d584203716dae151d14bb5d06e245c24877955c79287682ba082d077bbb2afdb1ad1d48d18e2f0c56b001bce207801adfa9fd451fc59d56f0433b02f921ba5a272c58c06536291d07) + ] +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/on-curve-bit3-set/on-curve-bit3-set.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/on-curve-bit3-set/on-curve-bit3-set.uplc.expected new file mode 100644 index 00000000..99a86974 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/on-curve-bit3-set/on-curve-bit3-set.uplc.expected @@ -0,0 +1,7 @@ +(program + 0.0.0 + (con + bls12_381_G2_element + 0xa8138ebea766d4d1aa64dd3b5826244c32ea3fe9351f9c8d584203716dae151d14bb5d06e245c24877955c79287682ba082d077bbb2afdb1ad1d48d18e2f0c56b001bce207801adfa9fd451fc59d56f0433b02f921ba5a272c58c06536291d07 + ) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/on-curve-serialised-not-compressed/on-curve-serialised-not-compressed.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/on-curve-serialised-not-compressed/on-curve-serialised-not-compressed.uplc new file mode 100644 index 00000000..e7590e05 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/on-curve-serialised-not-compressed/on-curve-serialised-not-compressed.uplc @@ -0,0 +1,10 @@ +-- This checks that the uncompression function fails on a valid *serialised* G2 +-- point (obtained by hashing 0x0102030405 onto G2). The deserialisation +-- function in the blst library can handle both serialised and compressed +-- points, but we should fail on the former. +(program 0.0.0 + [ + (builtin bls12_381_G2_uncompress) + (con bytestring #08138ebea766d4d1aa64dd3b5826244c32ea3fe9351f9c8d584203716dae151d14bb5d06e245c24877955c79287682ba082d077bbb2afdb1ad1d48d18e2f0c56b001bce207801adfa9fd451fc59d56f0433b02f921ba5a272c58c06536291d071676b275e27060b26dd91aac0a1feb56d1c1de7c323f486e48d54eae0c3c8f4caa45faad589c5d180ac0830dcdb3ecd8126c9c5db86cdf7129cf18582013d267a7c2827a901ef61ab58e7ef150219441abc57671eb39009f6bb166bcbade700d) + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/on-curve-serialised-not-compressed/on-curve-serialised-not-compressed.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/on-curve-serialised-not-compressed/on-curve-serialised-not-compressed.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/on-curve-serialised-not-compressed/on-curve-serialised-not-compressed.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/out-of-group/out-of-group.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/out-of-group/out-of-group.uplc new file mode 100644 index 00000000..38d5d6da --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/out-of-group/out-of-group.uplc @@ -0,0 +1,8 @@ +-- This contains a value which is the x-coordinate of a point which lies on the +-- E2 curve but not the G2 subgroup. +(program 0.0.0 + [ + (builtin bls12_381_G2_uncompress) + (con bytestring #a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005) + ] +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/out-of-group/out-of-group.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/out-of-group/out-of-group.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/out-of-group/out-of-group.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/too-long/too-long.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/too-long/too-long.uplc new file mode 100644 index 00000000..57fabd0a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/too-long/too-long.uplc @@ -0,0 +1,7 @@ +-- The bytestring is the compressed version of the G2 zero point, but extended to 97 bytes. +(program 0.0.0 + [ + (builtin bls12_381_G2_uncompress) + (con bytestring #c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) + ] +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/too-long/too-long.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/too-long/too-long.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/too-long/too-long.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/too-short/too-short.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/too-short/too-short.uplc new file mode 100644 index 00000000..46a98e3f --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/too-short/too-short.uplc @@ -0,0 +1,7 @@ +-- The bytestring is the compressed version of the G2 zero point, but truncated to 94 bytes. +(program 0.0.0 + [ + (builtin bls12_381_G2_uncompress) + (con bytestring #c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) + ] +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/too-short/too-short.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/too-short/too-short.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/too-short/too-short.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/zero/zero.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/zero/zero.uplc new file mode 100644 index 00000000..ba2fd0af --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/zero/zero.uplc @@ -0,0 +1,7 @@ +-- The zero element of G2 uncompresses correctly. +(program 0.0.0 + [ + (builtin bls12_381_G2_uncompress) + (con bytestring #c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/zero/zero.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/zero/zero.uplc.expected new file mode 100644 index 00000000..9b995f81 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_G2_uncompress/zero/zero.uplc.expected @@ -0,0 +1,7 @@ +(program + 0.0.0 + (con + bls12_381_G2_element + 0xc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + ) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_millerLoop/balanced/balanced.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_millerLoop/balanced/balanced.uplc new file mode 100644 index 00000000..915ed0fe --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_millerLoop/balanced/balanced.uplc @@ -0,0 +1,33 @@ +-- = +(program + 1.0.0 + [ + [ + (builtin bls12_381_finalVerify) + [ + [ + (builtin bls12_381_millerLoop) + [ + [ (builtin bls12_381_G1_scalarMul) (con integer 251123) ] + (con bls12_381_G1_element 0x950dfd33da2682260c76038dfb8bad6e84ae9d599a3c151815945ac1e6ef6b1027cd917f3907479d20d636ce437a41f5 + ) + ] + ] + (con bls12_381_G2_element 0xb0629fa1158c2d23a10413fe91d381a84d25e31d041cd0377d25828498fd02011b35893938ced97535395e4815201e67108bcd4665e0db25d602d76fa791fab706c54abf5e1a9e44b4ac1e6badf3d2ac0328f5e30be341677c8bac5dda7682f1) + ] + ] + [ + [ + (builtin bls12_381_millerLoop) + (con + bls12_381_G1_element + 0x950dfd33da2682260c76038dfb8bad6e84ae9d599a3c151815945ac1e6ef6b1027cd917f3907479d20d636ce437a41f5 + ) + ] + [ + [ (builtin bls12_381_G2_scalarMul) (con integer 251123) ] + (con bls12_381_G2_element 0xb0629fa1158c2d23a10413fe91d381a84d25e31d041cd0377d25828498fd02011b35893938ced97535395e4815201e67108bcd4665e0db25d602d76fa791fab706c54abf5e1a9e44b4ac1e6badf3d2ac0328f5e30be341677c8bac5dda7682f1) + ] + ] + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_millerLoop/balanced/balanced.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_millerLoop/balanced/balanced.uplc.expected new file mode 100644 index 00000000..3760fc7a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_millerLoop/balanced/balanced.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_millerLoop/equal-pairing/equal-pairing.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_millerLoop/equal-pairing/equal-pairing.uplc new file mode 100644 index 00000000..59e8c5ce --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_millerLoop/equal-pairing/equal-pairing.uplc @@ -0,0 +1,22 @@ +-- Check that applying finalVerify to the same two points in GT returns True. +(program 1.0.0 + [ + [ + (builtin bls12_381_finalVerify) + [ + [ + (builtin bls12_381_millerLoop) + (con bls12_381_G1_element 0x950dfd33da2682260c76038dfb8bad6e84ae9d599a3c151815945ac1e6ef6b1027cd917f3907479d20d636ce437a41f5) + ] + (con bls12_381_G2_element 0xb0629fa1158c2d23a10413fe91d381a84d25e31d041cd0377d25828498fd02011b35893938ced97535395e4815201e67108bcd4665e0db25d602d76fa791fab706c54abf5e1a9e44b4ac1e6badf3d2ac0328f5e30be341677c8bac5dda7682f1) + ] + ] + [ + [ + (builtin bls12_381_millerLoop) + (con bls12_381_G1_element 0x950dfd33da2682260c76038dfb8bad6e84ae9d599a3c151815945ac1e6ef6b1027cd917f3907479d20d636ce437a41f5) + ] + (con bls12_381_G2_element 0xb0629fa1158c2d23a10413fe91d381a84d25e31d041cd0377d25828498fd02011b35893938ced97535395e4815201e67108bcd4665e0db25d602d76fa791fab706c54abf5e1a9e44b4ac1e6badf3d2ac0328f5e30be341677c8bac5dda7682f1) + ] +] +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_millerLoop/equal-pairing/equal-pairing.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_millerLoop/equal-pairing/equal-pairing.uplc.expected new file mode 100644 index 00000000..3760fc7a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_millerLoop/equal-pairing/equal-pairing.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_millerLoop/left-additive/left-additive.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_millerLoop/left-additive/left-additive.uplc new file mode 100644 index 00000000..33e64ab8 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_millerLoop/left-additive/left-additive.uplc @@ -0,0 +1,52 @@ +-- = +(program + 1.0.0 + [ + [ + (builtin bls12_381_finalVerify) + [ + [ + (builtin bls12_381_millerLoop) + [ + [ + (builtin bls12_381_G1_add) + (con + bls12_381_G1_element + 0x950dfd33da2682260c76038dfb8bad6e84ae9d599a3c151815945ac1e6ef6b1027cd917f3907479d20d636ce437a41f5 + ) + ] + (con + bls12_381_G1_element + 0xabd61864f519748032551e42e0ac417fd828f079454e3e3c9891c5c29ed7f10bdecc046854e3931cb7002779bd76d71f + ) + ] + ] + (con bls12_381_G2_element 0xb0629fa1158c2d23a10413fe91d381a84d25e31d041cd0377d25828498fd02011b35893938ced97535395e4815201e67108bcd4665e0db25d602d76fa791fab706c54abf5e1a9e44b4ac1e6badf3d2ac0328f5e30be341677c8bac5dda7682f1 + ) + ] + ] + [ + [ + (builtin bls12_381_mulMlResult) + [ + [ + (builtin bls12_381_millerLoop) + (con bls12_381_G1_element 0x950dfd33da2682260c76038dfb8bad6e84ae9d599a3c151815945ac1e6ef6b1027cd917f3907479d20d636ce437a41f5 + ) + ] + (con bls12_381_G2_element 0xb0629fa1158c2d23a10413fe91d381a84d25e31d041cd0377d25828498fd02011b35893938ced97535395e4815201e67108bcd4665e0db25d602d76fa791fab706c54abf5e1a9e44b4ac1e6badf3d2ac0328f5e30be341677c8bac5dda7682f1 + ) + ] + ] + [ + [ + (builtin bls12_381_millerLoop) + (con bls12_381_G1_element 0xabd61864f519748032551e42e0ac417fd828f079454e3e3c9891c5c29ed7f10bdecc046854e3931cb7002779bd76d71f + ) + ] + (con bls12_381_G2_element 0xb0629fa1158c2d23a10413fe91d381a84d25e31d041cd0377d25828498fd02011b35893938ced97535395e4815201e67108bcd4665e0db25d602d76fa791fab706c54abf5e1a9e44b4ac1e6badf3d2ac0328f5e30be341677c8bac5dda7682f1 + ) + ] + ] + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_millerLoop/left-additive/left-additive.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_millerLoop/left-additive/left-additive.uplc.expected new file mode 100644 index 00000000..3760fc7a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_millerLoop/left-additive/left-additive.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_millerLoop/random-pairing/random-pairing.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_millerLoop/random-pairing/random-pairing.uplc new file mode 100644 index 00000000..45e479c3 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_millerLoop/random-pairing/random-pairing.uplc @@ -0,0 +1,22 @@ +-- Check that the results of two millerLoops of random points are different. +(program 1.0.0 + [ + [ + (builtin bls12_381_finalVerify) + [ + [ + (builtin bls12_381_millerLoop) + (con bls12_381_G1_element 0x950dfd33da2682260c76038dfb8bad6e84ae9d599a3c151815945ac1e6ef6b1027cd917f3907479d20d636ce437a41f5) + ] + (con bls12_381_G2_element 0xb0629fa1158c2d23a10413fe91d381a84d25e31d041cd0377d25828498fd02011b35893938ced97535395e4815201e67108bcd4665e0db25d602d76fa791fab706c54abf5e1a9e44b4ac1e6badf3d2ac0328f5e30be341677c8bac5dda7682f1) + ] + ] + [ + [ + (builtin bls12_381_millerLoop) + (con bls12_381_G1_element 0xabd61864f519748032551e42e0ac417fd828f079454e3e3c9891c5c29ed7f10bdecc046854e3931cb7002779bd76d71f) + ] + (con bls12_381_G2_element 0x8310bc97fc7ad9b1616e51226c6a521b9d7fdf03f7299833e6a208ae0399fec76045a43ceef846e0958d0cdf05cf2b1f00460ee6edd2778b413eb7c272bc5b94d12b910f8ac4eb1b55e50a93644714787417bc462349c5e0f6f357b9ac32262a) + ] + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_millerLoop/random-pairing/random-pairing.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_millerLoop/random-pairing/random-pairing.uplc.expected new file mode 100644 index 00000000..3ee9f07f --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_millerLoop/random-pairing/random-pairing.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool False)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_millerLoop/right-additive/right-additive.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_millerLoop/right-additive/right-additive.uplc new file mode 100644 index 00000000..d5e13650 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_millerLoop/right-additive/right-additive.uplc @@ -0,0 +1,41 @@ +-- = +(program + 1.0.0 + [ + [ + (builtin bls12_381_finalVerify) + [ + [ + (builtin bls12_381_millerLoop) + (con bls12_381_G1_element 0x950dfd33da2682260c76038dfb8bad6e84ae9d599a3c151815945ac1e6ef6b1027cd917f3907479d20d636ce437a41f5) + ] + [ + [ + (builtin bls12_381_G2_add) + (con bls12_381_G2_element 0xb0629fa1158c2d23a10413fe91d381a84d25e31d041cd0377d25828498fd02011b35893938ced97535395e4815201e67108bcd4665e0db25d602d76fa791fab706c54abf5e1a9e44b4ac1e6badf3d2ac0328f5e30be341677c8bac5dda7682f1) + ] + (con bls12_381_G2_element 0x8310bc97fc7ad9b1616e51226c6a521b9d7fdf03f7299833e6a208ae0399fec76045a43ceef846e0958d0cdf05cf2b1f00460ee6edd2778b413eb7c272bc5b94d12b910f8ac4eb1b55e50a93644714787417bc462349c5e0f6f357b9ac32262a) + ] + ] + ] + [ + [ + (builtin bls12_381_mulMlResult) + [ + [ + (builtin bls12_381_millerLoop) + (con bls12_381_G1_element 0x950dfd33da2682260c76038dfb8bad6e84ae9d599a3c151815945ac1e6ef6b1027cd917f3907479d20d636ce437a41f5) + ] + (con bls12_381_G2_element 0xb0629fa1158c2d23a10413fe91d381a84d25e31d041cd0377d25828498fd02011b35893938ced97535395e4815201e67108bcd4665e0db25d602d76fa791fab706c54abf5e1a9e44b4ac1e6badf3d2ac0328f5e30be341677c8bac5dda7682f1) + ] + ] + [ + [ + (builtin bls12_381_millerLoop) + (con bls12_381_G1_element 0x950dfd33da2682260c76038dfb8bad6e84ae9d599a3c151815945ac1e6ef6b1027cd917f3907479d20d636ce437a41f5) + ] + (con bls12_381_G2_element 0x8310bc97fc7ad9b1616e51226c6a521b9d7fdf03f7299833e6a208ae0399fec76045a43ceef846e0958d0cdf05cf2b1f00460ee6edd2778b413eb7c272bc5b94d12b910f8ac4eb1b55e50a93644714787417bc462349c5e0f6f357b9ac32262a) + ] + ] + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_millerLoop/right-additive/right-additive.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_millerLoop/right-additive/right-additive.uplc.expected new file mode 100644 index 00000000..3760fc7a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/bls12_381_millerLoop/right-additive/right-additive.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseDataByteString/chooseDataByteString.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseDataByteString/chooseDataByteString.uplc new file mode 100644 index 00000000..761f06e9 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseDataByteString/chooseDataByteString.uplc @@ -0,0 +1,8 @@ +(program 0.0.0 +[[[[[[(force (builtin chooseData)) + (con data {ByteString #001A})] + (con data {Constr 1 [Integer 1]})] + (con data {Map [(Integer 0, ByteString #00), (Integer 1, ByteString #0F)]})] + (con data {List [ Integer 0, Integer 1 ]})] + (con data {Integer 2})] + (con data {ByteString #001A})]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseDataByteString/chooseDataByteString.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseDataByteString/chooseDataByteString.uplc.expected new file mode 100644 index 00000000..fd569489 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseDataByteString/chooseDataByteString.uplc.expected @@ -0,0 +1 @@ +parse error \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseDataConstr/chooseDataConstr.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseDataConstr/chooseDataConstr.uplc new file mode 100644 index 00000000..44efef5e --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseDataConstr/chooseDataConstr.uplc @@ -0,0 +1,8 @@ +(program 0.0.0 +[[[[[[(force (builtin chooseData)) + (con data {Constr 1 [Integer 1]})] + (con data {Constr 1 [Integer 1]})] + (con data {Map [(Integer 0, ByteString #00), (Integer 1, ByteString #0F)]})] + (con data {List [ Integer 0, Integer 1 ]})] + (con data {Integer 2})] + (con data {ByteString #001A})]) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseDataConstr/chooseDataConstr.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseDataConstr/chooseDataConstr.uplc.expected new file mode 100644 index 00000000..fd569489 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseDataConstr/chooseDataConstr.uplc.expected @@ -0,0 +1 @@ +parse error \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseDataInteger/chooseDataInteger.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseDataInteger/chooseDataInteger.uplc new file mode 100644 index 00000000..7f9d06c6 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseDataInteger/chooseDataInteger.uplc @@ -0,0 +1,8 @@ +(program 0.0.0 +[[[[[[(force (builtin chooseData)) + (con data {Integer 2})] + (con data {Constr 1 [Integer 1]})] + (con data {Map [(Integer 0, ByteString #00), (Integer 1, ByteString #0F)]})] + (con data {List [ Integer 0, Integer 1 ]})] + (con data {Integer 2})] + (con data {ByteString #001A})]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseDataInteger/chooseDataInteger.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseDataInteger/chooseDataInteger.uplc.expected new file mode 100644 index 00000000..fd569489 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseDataInteger/chooseDataInteger.uplc.expected @@ -0,0 +1 @@ +parse error \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseDataList/chooseDataList.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseDataList/chooseDataList.uplc new file mode 100644 index 00000000..4161a81b --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseDataList/chooseDataList.uplc @@ -0,0 +1,8 @@ +(program 0.0.0 +[[[[[[(force (builtin chooseData)) + (con data {List [ Integer 0, Integer 1 ]})] + (con data {Constr 1 [Integer 1]})] + (con data {Map [(Integer 0, ByteString #00), (Integer 1, ByteString #0F)]})] + (con data {List [ Integer 0, Integer 1 ]})] + (con data {Integer 2})] + (con data {ByteString #001A})]) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseDataList/chooseDataList.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseDataList/chooseDataList.uplc.expected new file mode 100644 index 00000000..fd569489 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseDataList/chooseDataList.uplc.expected @@ -0,0 +1 @@ +parse error \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseDataMap/chooseDataMap.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseDataMap/chooseDataMap.uplc new file mode 100644 index 00000000..68d00f4d --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseDataMap/chooseDataMap.uplc @@ -0,0 +1,8 @@ +(program 0.0.0 +[[[[[[(force (builtin chooseData)) + (con data {Map [(Integer 0, ByteString #00), (Integer 1, ByteString #0F)]})] + (con data {Constr 1 [Integer 1]})] + (con data {Map [(Integer 0, ByteString #00), (Integer 1, ByteString #0F)]})] + (con data {List [ Integer 0, Integer 1 ]})] + (con data {Integer 2})] + (con data {ByteString #001A})]) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseDataMap/chooseDataMap.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseDataMap/chooseDataMap.uplc.expected new file mode 100644 index 00000000..fd569489 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseDataMap/chooseDataMap.uplc.expected @@ -0,0 +1 @@ +parse error \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseList/chooseList1/chooseList1.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseList/chooseList1/chooseList1.uplc new file mode 100644 index 00000000..c6c13fa4 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseList/chooseList1/chooseList1.uplc @@ -0,0 +1 @@ +(program 0.0.0 [[[(force (force (builtin chooseList))) (con (list integer) [ 0 , 1 , 2 ])] (con integer 1)] (con integer 2)]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseList/chooseList1/chooseList1.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseList/chooseList1/chooseList1.uplc.expected new file mode 100644 index 00000000..0408fe9b --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseList/chooseList1/chooseList1.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con integer 2)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseList/chooseList2/chooseList2.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseList/chooseList2/chooseList2.uplc new file mode 100644 index 00000000..894e9b74 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseList/chooseList2/chooseList2.uplc @@ -0,0 +1 @@ +(program 0.0.0 [[[(force (force (builtin chooseList))) (con (list integer) [ ])] (con integer 1)] (con integer 2)]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseList/chooseList2/chooseList2.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseList/chooseList2/chooseList2.uplc.expected new file mode 100644 index 00000000..3a607321 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseList/chooseList2/chooseList2.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con integer 1)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseUnit/chooseUnit.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseUnit/chooseUnit.uplc new file mode 100644 index 00000000..15cb16eb --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseUnit/chooseUnit.uplc @@ -0,0 +1 @@ +(program 0.0.0 [[(force (builtin chooseUnit)) (con unit ())] (con integer 2)]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseUnit/chooseUnit.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseUnit/chooseUnit.uplc.expected new file mode 100644 index 00000000..0408fe9b --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/chooseUnit/chooseUnit.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con integer 2)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/consByteString/consByteString1/consByteString1.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/consByteString/consByteString1/consByteString1.uplc new file mode 100644 index 00000000..b6c62414 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/consByteString/consByteString1/consByteString1.uplc @@ -0,0 +1,2 @@ +-- the arg overflow'ed over the maxBound :: Word8 +(program 1.0.0 [(builtin consByteString) (con integer 256) (con bytestring #)]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/consByteString/consByteString1/consByteString1.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/consByteString/consByteString1/consByteString1.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/consByteString/consByteString1/consByteString1.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/consByteString/consByteString2/consByteString2.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/consByteString/consByteString2/consByteString2.uplc new file mode 100644 index 00000000..ab20a4aa --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/consByteString/consByteString2/consByteString2.uplc @@ -0,0 +1,3 @@ +(program 1.0.0 + [(builtin consByteString) (con integer -88) (con bytestring #686543616B654973414C6965)] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/consByteString/consByteString2/consByteString2.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/consByteString/consByteString2/consByteString2.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/consByteString/consByteString2/consByteString2.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/consByteString/consByteString3/consByteString3.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/consByteString/consByteString3/consByteString3.uplc new file mode 100644 index 00000000..9855cea9 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/consByteString/consByteString3/consByteString3.uplc @@ -0,0 +1,3 @@ +(program 1.0.0 + [(builtin consByteString) (con integer 84) (con bytestring #686543616B654973414C6965)] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/consByteString/consByteString3/consByteString3.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/consByteString/consByteString3/consByteString3.uplc.expected new file mode 100644 index 00000000..19506cb9 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/consByteString/consByteString3/consByteString3.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bytestring #54686543616B654973414C6965)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/constrData/constrData.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/constrData/constrData.uplc new file mode 100644 index 00000000..9cab30e0 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/constrData/constrData.uplc @@ -0,0 +1 @@ +(program 0.0.0 [[(builtin constrData) (con integer 1)] (con list(data) [{ Integer 0 }])] ) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/constrData/constrData.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/constrData/constrData.uplc.expected new file mode 100644 index 00000000..fd569489 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/constrData/constrData.uplc.expected @@ -0,0 +1 @@ +parse error \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/decodeUtf8/decodeUtf8-invalid/decodeUtf8-invalid.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/decodeUtf8/decodeUtf8-invalid/decodeUtf8-invalid.uplc new file mode 100644 index 00000000..76e9e74e --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/decodeUtf8/decodeUtf8-invalid/decodeUtf8-invalid.uplc @@ -0,0 +1,2 @@ +-- invalid utf8 +(program 0.0.0 [(builtin decodeUtf8) (con bytestring #A3)]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/decodeUtf8/decodeUtf8-invalid/decodeUtf8-invalid.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/decodeUtf8/decodeUtf8-invalid/decodeUtf8-invalid.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/decodeUtf8/decodeUtf8-invalid/decodeUtf8-invalid.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/decodeUtf8/decodeUtf8-ok/decodeUtf8-ok.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/decodeUtf8/decodeUtf8-ok/decodeUtf8-ok.uplc new file mode 100644 index 00000000..52eb34cb --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/decodeUtf8/decodeUtf8-ok/decodeUtf8-ok.uplc @@ -0,0 +1 @@ +(program 0.0.0 [(builtin decodeUtf8) (con bytestring #4f6c61)]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/decodeUtf8/decodeUtf8-ok/decodeUtf8-ok.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/decodeUtf8/decodeUtf8-ok/decodeUtf8-ok.uplc.expected new file mode 100644 index 00000000..967acddf --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/decodeUtf8/decodeUtf8-ok/decodeUtf8-ok.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con string "Ola")) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/divideInteger/divideInteger-neg-neg/divideInteger-neg-neg.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/divideInteger/divideInteger-neg-neg/divideInteger-neg-neg.uplc new file mode 100644 index 00000000..de9ea85b --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/divideInteger/divideInteger-neg-neg/divideInteger-neg-neg.uplc @@ -0,0 +1 @@ +(program 1.0.0 [(builtin divideInteger) (con integer -503) (con integer -1777777777)]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/divideInteger/divideInteger-neg-neg/divideInteger-neg-neg.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/divideInteger/divideInteger-neg-neg/divideInteger-neg-neg.uplc.expected new file mode 100644 index 00000000..87e0223f --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/divideInteger/divideInteger-neg-neg/divideInteger-neg-neg.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con integer 0)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/divideInteger/divideInteger-neg-pos/divideInteger-neg-pos.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/divideInteger/divideInteger-neg-pos/divideInteger-neg-pos.uplc new file mode 100644 index 00000000..eb78c4db --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/divideInteger/divideInteger-neg-pos/divideInteger-neg-pos.uplc @@ -0,0 +1 @@ +(program 1.0.0 [(builtin divideInteger) (con integer -503) (con integer 1777777777)]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/divideInteger/divideInteger-neg-pos/divideInteger-neg-pos.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/divideInteger/divideInteger-neg-pos/divideInteger-neg-pos.uplc.expected new file mode 100644 index 00000000..1cb56cff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/divideInteger/divideInteger-neg-pos/divideInteger-neg-pos.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con integer -1)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/divideInteger/divideInteger-pos-neg/divideInteger-pos-neg.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/divideInteger/divideInteger-pos-neg/divideInteger-pos-neg.uplc new file mode 100644 index 00000000..21db5771 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/divideInteger/divideInteger-pos-neg/divideInteger-pos-neg.uplc @@ -0,0 +1 @@ +(program 1.0.0 [(builtin divideInteger) (con integer 503) (con integer -1777777777)]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/divideInteger/divideInteger-pos-neg/divideInteger-pos-neg.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/divideInteger/divideInteger-pos-neg/divideInteger-pos-neg.uplc.expected new file mode 100644 index 00000000..1cb56cff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/divideInteger/divideInteger-pos-neg/divideInteger-pos-neg.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con integer -1)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/divideInteger/divideInteger-pos-pos/divideInteger-pos-pos.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/divideInteger/divideInteger-pos-pos/divideInteger-pos-pos.uplc new file mode 100644 index 00000000..022b4a1a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/divideInteger/divideInteger-pos-pos/divideInteger-pos-pos.uplc @@ -0,0 +1 @@ +(program 1.0.0 [(builtin divideInteger) (con integer 503) (con integer 1777777777)]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/divideInteger/divideInteger-pos-pos/divideInteger-pos-pos.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/divideInteger/divideInteger-pos-pos/divideInteger-pos-pos.uplc.expected new file mode 100644 index 00000000..87e0223f --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/divideInteger/divideInteger-pos-pos/divideInteger-pos-pos.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con integer 0)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/divideInteger/divideInteger-zero/divideInteger-zero.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/divideInteger/divideInteger-zero/divideInteger-zero.uplc new file mode 100644 index 00000000..7d470cd0 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/divideInteger/divideInteger-zero/divideInteger-zero.uplc @@ -0,0 +1 @@ +(program 1.0.0 [(builtin divideInteger) (con integer 1) (con integer 0)]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/divideInteger/divideInteger-zero/divideInteger-zero.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/divideInteger/divideInteger-zero/divideInteger-zero.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/divideInteger/divideInteger-zero/divideInteger-zero.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/divideInteger/divideInteger1/divideInteger1.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/divideInteger/divideInteger1/divideInteger1.uplc new file mode 100644 index 00000000..cb6e196d --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/divideInteger/divideInteger1/divideInteger1.uplc @@ -0,0 +1 @@ +(program 1.0.0 [ [ (builtin divideInteger) (con integer 1) ] (con integer 2) ]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/divideInteger/divideInteger1/divideInteger1.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/divideInteger/divideInteger1/divideInteger1.uplc.expected new file mode 100644 index 00000000..87e0223f --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/divideInteger/divideInteger1/divideInteger1.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con integer 0)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/encodeUtf8/encodeUtf8.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/encodeUtf8/encodeUtf8.uplc new file mode 100644 index 00000000..91b74b41 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/encodeUtf8/encodeUtf8.uplc @@ -0,0 +1 @@ +(program 0.0.0 [(builtin encodeUtf8) (con string "Ola")]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/encodeUtf8/encodeUtf8.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/encodeUtf8/encodeUtf8.uplc.expected new file mode 100644 index 00000000..ad6b2a23 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/encodeUtf8/encodeUtf8.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con bytestring #4f6c61)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsByteString/equalsByteString/equalsByteString.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsByteString/equalsByteString/equalsByteString.uplc new file mode 100644 index 00000000..d211b5da --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsByteString/equalsByteString/equalsByteString.uplc @@ -0,0 +1 @@ +(program 0.0.0 [ [ (builtin equalsByteString) (con bytestring #00ffaa) ] (con bytestring #00ffaa) ]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsByteString/equalsByteString/equalsByteString.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsByteString/equalsByteString/equalsByteString.uplc.expected new file mode 100644 index 00000000..b1057ef7 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsByteString/equalsByteString/equalsByteString.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsByteString/equalsByteString1/equalsByteString1.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsByteString/equalsByteString1/equalsByteString1.uplc new file mode 100644 index 00000000..273c95dc --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsByteString/equalsByteString1/equalsByteString1.uplc @@ -0,0 +1,3 @@ +(program 1.0.0 + [(builtin lengthOfByteString) (con bytestring #54686543616B654973414C6965)] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsByteString/equalsByteString1/equalsByteString1.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsByteString/equalsByteString1/equalsByteString1.uplc.expected new file mode 100644 index 00000000..358b5def --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsByteString/equalsByteString1/equalsByteString1.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con integer 13)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsByteString/equalsByteString2/equalsByteString2.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsByteString/equalsByteString2/equalsByteString2.uplc new file mode 100644 index 00000000..8feae187 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsByteString/equalsByteString2/equalsByteString2.uplc @@ -0,0 +1,3 @@ +(program 1.0.0 + [(builtin equalsByteString) (con bytestring #54686543616B654973414C6965) (con bytestring #54686543616B65497341506965)] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsByteString/equalsByteString2/equalsByteString2.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsByteString/equalsByteString2/equalsByteString2.uplc.expected new file mode 100644 index 00000000..3ee9f07f --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsByteString/equalsByteString2/equalsByteString2.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool False)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsData/equalsData.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsData/equalsData.uplc new file mode 100644 index 00000000..e9532f25 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsData/equalsData.uplc @@ -0,0 +1,3 @@ +(program 0.0.0 [[(builtin equalsData) + (con data { Constr 1 [ Integer 0 ] }) ] + (con data { Constr 1 [ Integer 0 ] }) ]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsData/equalsData.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsData/equalsData.uplc.expected new file mode 100644 index 00000000..fd569489 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsData/equalsData.uplc.expected @@ -0,0 +1 @@ +parse error \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsInteger/equalsInteger1/equalsInteger1.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsInteger/equalsInteger1/equalsInteger1.uplc new file mode 100644 index 00000000..b268648a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsInteger/equalsInteger1/equalsInteger1.uplc @@ -0,0 +1 @@ +(program 1.0.0 [ [ (builtin equalsInteger) (con integer 1) ] (con integer 2) ]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsInteger/equalsInteger1/equalsInteger1.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsInteger/equalsInteger1/equalsInteger1.uplc.expected new file mode 100644 index 00000000..3ee9f07f --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsInteger/equalsInteger1/equalsInteger1.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool False)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsInteger/equalsInteger2/equalsInteger2.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsInteger/equalsInteger2/equalsInteger2.uplc new file mode 100644 index 00000000..208db892 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsInteger/equalsInteger2/equalsInteger2.uplc @@ -0,0 +1 @@ +(program 1.0.0 [ [ (builtin equalsInteger) (con integer 45723452347050234588234852993485827934) ] (con integer 45723452347050234588234852993485827933) ]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsInteger/equalsInteger2/equalsInteger2.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsInteger/equalsInteger2/equalsInteger2.uplc.expected new file mode 100644 index 00000000..3ee9f07f --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsInteger/equalsInteger2/equalsInteger2.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool False)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsInteger/equalsInteger3/equalsInteger3.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsInteger/equalsInteger3/equalsInteger3.uplc new file mode 100644 index 00000000..946682ba --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsInteger/equalsInteger3/equalsInteger3.uplc @@ -0,0 +1 @@ +(program 1.0.0 [ [ (builtin equalsInteger) (con integer 45723452347050234588234852993485827934) ] (con integer 45723452347050234588234852993485827934) ]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsInteger/equalsInteger3/equalsInteger3.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsInteger/equalsInteger3/equalsInteger3.uplc.expected new file mode 100644 index 00000000..3760fc7a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsInteger/equalsInteger3/equalsInteger3.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsString/equalsString1/equalsString1.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsString/equalsString1/equalsString1.uplc new file mode 100644 index 00000000..8f0dbf3e --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsString/equalsString1/equalsString1.uplc @@ -0,0 +1 @@ +(program 0.0.0 [ [ (builtin equalsString) (con string "Ola")] (con string " mundo!") ]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsString/equalsString1/equalsString1.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsString/equalsString1/equalsString1.uplc.expected new file mode 100644 index 00000000..dd87da54 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsString/equalsString1/equalsString1.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con bool False)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsString/equalsString2/equalsString2.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsString/equalsString2/equalsString2.uplc new file mode 100644 index 00000000..57390999 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsString/equalsString2/equalsString2.uplc @@ -0,0 +1 @@ +(program 0.0.0 [ [ (builtin equalsString) (con string "Ola")] (con string "Ola") ]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsString/equalsString2/equalsString2.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsString/equalsString2/equalsString2.uplc.expected new file mode 100644 index 00000000..b1057ef7 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/equalsString/equalsString2/equalsString2.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/fstPairOfPairAndList/fstPairOfPairAndList.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/fstPairOfPairAndList/fstPairOfPairAndList.uplc new file mode 100644 index 00000000..10356aa8 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/fstPairOfPairAndList/fstPairOfPairAndList.uplc @@ -0,0 +1,5 @@ +(program 0.0.0 + [(force (force (builtin fstPair))) + (con (pair bool bytestring) + (True, #012345))] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/fstPairOfPairAndList/fstPairOfPairAndList.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/fstPairOfPairAndList/fstPairOfPairAndList.uplc.expected new file mode 100644 index 00000000..b1057ef7 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/fstPairOfPairAndList/fstPairOfPairAndList.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/headList/headList1/headList1.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/headList/headList1/headList1.uplc new file mode 100644 index 00000000..d434ae6c --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/headList/headList1/headList1.uplc @@ -0,0 +1 @@ +(program 0.0.0 [(force (builtin headList)) (con (list integer) [ 1, 2 ])]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/headList/headList1/headList1.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/headList/headList1/headList1.uplc.expected new file mode 100644 index 00000000..3a607321 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/headList/headList1/headList1.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con integer 1)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/headList/headList2/headList2.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/headList/headList2/headList2.uplc new file mode 100644 index 00000000..31f3ae6e --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/headList/headList2/headList2.uplc @@ -0,0 +1 @@ +(program 0.0.0 [(force (builtin headList)) (con (list integer) [ ])]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/headList/headList2/headList2.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/headList/headList2/headList2.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/headList/headList2/headList2.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/headList/headList3/headList3.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/headList/headList3/headList3.uplc new file mode 100644 index 00000000..1edb44eb --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/headList/headList3/headList3.uplc @@ -0,0 +1 @@ +(program 0.0.0 [(force (builtin headList)) (con (list integer) [ 1, 2, 3 ])]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/headList/headList3/headList3.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/headList/headList3/headList3.uplc.expected new file mode 100644 index 00000000..3a607321 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/headList/headList3/headList3.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con integer 1)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/headList/headPartial/headPartial.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/headList/headPartial/headPartial.uplc new file mode 100644 index 00000000..1b78b850 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/headList/headPartial/headPartial.uplc @@ -0,0 +1,2 @@ +-- head is partial like haskell's and blows up when given an empty list +(program 0.0.0 [(force (builtin headList)) [(builtin mkNilData) (con unit ())]]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/headList/headPartial/headPartial.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/headList/headPartial/headPartial.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/headList/headPartial/headPartial.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/iData/iData.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/iData/iData.uplc new file mode 100644 index 00000000..65a0a42f --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/iData/iData.uplc @@ -0,0 +1 @@ +(program 0.0.0 [(builtin iData) (con integer 0)]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/iData/iData.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/iData/iData.uplc.expected new file mode 100644 index 00000000..f582b220 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/iData/iData.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con data (I 0))) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/ifThenElse/ifThenElse-1/ifThenElse-1.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/ifThenElse/ifThenElse-1/ifThenElse-1.uplc new file mode 100644 index 00000000..185b832a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/ifThenElse/ifThenElse-1/ifThenElse-1.uplc @@ -0,0 +1 @@ +(program 1.0.0 [ [ [ (force (builtin ifThenElse)) (con bool True) ] (con integer 0) ] (con integer 1) ]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/ifThenElse/ifThenElse-1/ifThenElse-1.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/ifThenElse/ifThenElse-1/ifThenElse-1.uplc.expected new file mode 100644 index 00000000..87e0223f --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/ifThenElse/ifThenElse-1/ifThenElse-1.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con integer 0)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/ifThenElse/ifThenElse-2/ifThenElse-2.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/ifThenElse/ifThenElse-2/ifThenElse-2.uplc new file mode 100644 index 00000000..9d65986a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/ifThenElse/ifThenElse-2/ifThenElse-2.uplc @@ -0,0 +1,3 @@ +(program 1.0.0 + [(force (builtin ifThenElse)) (con bool True) (con integer 23) (con integer 42)] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/ifThenElse/ifThenElse-2/ifThenElse-2.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/ifThenElse/ifThenElse-2/ifThenElse-2.uplc.expected new file mode 100644 index 00000000..74af428a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/ifThenElse/ifThenElse-2/ifThenElse-2.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con integer 23)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/ifThenElse/ifThenElse-3/ifThenElse-3.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/ifThenElse/ifThenElse-3/ifThenElse-3.uplc new file mode 100644 index 00000000..1297f975 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/ifThenElse/ifThenElse-3/ifThenElse-3.uplc @@ -0,0 +1,3 @@ +(program 1.0.0 + [(force (builtin ifThenElse)) (con bool False) (con integer 23) (con integer 42)] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/ifThenElse/ifThenElse-3/ifThenElse-3.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/ifThenElse/ifThenElse-3/ifThenElse-3.uplc.expected new file mode 100644 index 00000000..864f897c --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/ifThenElse/ifThenElse-3/ifThenElse-3.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con integer 42)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/ifThenElse/ifThenElse-4/ifThenElse-4.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/ifThenElse/ifThenElse-4/ifThenElse-4.uplc new file mode 100644 index 00000000..62e28438 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/ifThenElse/ifThenElse-4/ifThenElse-4.uplc @@ -0,0 +1,3 @@ +(program 1.0.0 + [(force (builtin ifThenElse)) (con bool False) (error) (con integer 42)] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/ifThenElse/ifThenElse-4/ifThenElse-4.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/ifThenElse/ifThenElse-4/ifThenElse-4.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/ifThenElse/ifThenElse-4/ifThenElse-4.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/ifThenElse/ifThenElse-no-force/ifThenElse-no-force.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/ifThenElse/ifThenElse-no-force/ifThenElse-no-force.uplc new file mode 100644 index 00000000..c203306d --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/ifThenElse/ifThenElse-no-force/ifThenElse-no-force.uplc @@ -0,0 +1 @@ +(program 1.0.0 [ [ [ (builtin ifThenElse) (con bool True) ] (con integer 0) ] (con integer 1) ]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/ifThenElse/ifThenElse-no-force/ifThenElse-no-force.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/ifThenElse/ifThenElse-no-force/ifThenElse-no-force.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/ifThenElse/ifThenElse-no-force/ifThenElse-no-force.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/indexByteString/indexByteString1/indexByteString1.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/indexByteString/indexByteString1/indexByteString1.uplc new file mode 100644 index 00000000..34b2c2ec --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/indexByteString/indexByteString1/indexByteString1.uplc @@ -0,0 +1 @@ +(program 0.0.0 [ [ (builtin indexByteString) (con bytestring #00ffaa) ] (con integer 1) ]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/indexByteString/indexByteString1/indexByteString1.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/indexByteString/indexByteString1/indexByteString1.uplc.expected new file mode 100644 index 00000000..f346be33 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/indexByteString/indexByteString1/indexByteString1.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con integer 255)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/indexByteString/indexByteStringOOB/indexByteStringOOB.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/indexByteString/indexByteStringOOB/indexByteStringOOB.uplc new file mode 100644 index 00000000..340218bb --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/indexByteString/indexByteStringOOB/indexByteStringOOB.uplc @@ -0,0 +1 @@ +(program 1.0.0 [(builtin indexByteString) (con bytestring #00) (con integer 1)]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/indexByteString/indexByteStringOOB/indexByteStringOOB.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/indexByteString/indexByteStringOOB/indexByteStringOOB.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/indexByteString/indexByteStringOOB/indexByteStringOOB.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/indexByteString/indexByteStringOverflow/indexByteStringOverflow.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/indexByteString/indexByteStringOverflow/indexByteStringOverflow.uplc new file mode 100644 index 00000000..07c07c92 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/indexByteString/indexByteStringOverflow/indexByteStringOverflow.uplc @@ -0,0 +1,3 @@ +-- this is different than out-of-bounds error, the index argument overflow'ed the maxBound :: Int64 +-- same error would happen when underflow'ing the minBound :: Int64 +(program 1.0.0 [(builtin indexByteString) (con bytestring #00) (con integer 9223372036854775808)]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/indexByteString/indexByteStringOverflow/indexByteStringOverflow.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/indexByteString/indexByteStringOverflow/indexByteStringOverflow.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/indexByteString/indexByteStringOverflow/indexByteStringOverflow.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/keccak_256/keccak_256-empty/keccak_256-empty.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/keccak_256/keccak_256-empty/keccak_256-empty.uplc new file mode 100644 index 00000000..d25d0276 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/keccak_256/keccak_256-empty/keccak_256-empty.uplc @@ -0,0 +1,17 @@ +-- Test vector (0-bit input) from ShortMsgKAT_256.txt in +-- https://keccak.team/obsolete/KeccakKAT-3.zip. The Keccak function we're +-- testing here is the version used by Ethereum, which was the Keccak submission +-- in round 3 of the SHA-3 competition. The final SHA-3 hash function is a +-- modified version of that. +(program 1.0.0 + [ + [ + (builtin equalsByteString) + [ + (builtin keccak_256) + (con bytestring #) + ] + ] + (con bytestring #C5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470) + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/keccak_256/keccak_256-empty/keccak_256-empty.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/keccak_256/keccak_256-empty/keccak_256-empty.uplc.expected new file mode 100644 index 00000000..3760fc7a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/keccak_256/keccak_256-empty/keccak_256-empty.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/keccak_256/keccak_256-length-200/keccak_256-length-200.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/keccak_256/keccak_256-length-200/keccak_256-length-200.uplc new file mode 100644 index 00000000..26964838 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/keccak_256/keccak_256-length-200/keccak_256-length-200.uplc @@ -0,0 +1,17 @@ +-- Test vector (200-bit input) from ShortMsgKAT_256.txt in +-- https://keccak.team/obsolete/KeccakKAT-3.zip. The Keccak function we're +-- testing here is the version used by Ethereum, which was the Keccak submission +-- in round 3 of the SHA-3 competition. The final SHA-3 hash function is a +-- modified version of that. +(program 1.0.0 + [ + [ + (builtin equalsByteString) + [ + (builtin keccak_256) + (con bytestring #AAFDC9243D3D4A096558A360CC27C8D862F0BE73DB5E88AA55) + ] + ] + (con bytestring #6FFFA070B865BE3EE766DC2DB49B6AA55C369F7DE3703ADA2612D754145C01E6) + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/keccak_256/keccak_256-length-200/keccak_256-length-200.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/keccak_256/keccak_256-length-200/keccak_256-length-200.uplc.expected new file mode 100644 index 00000000..3760fc7a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/keccak_256/keccak_256-length-200/keccak_256-length-200.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lengthOfByteString/lengthOfByteString.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lengthOfByteString/lengthOfByteString.uplc new file mode 100644 index 00000000..99fdcd2c --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lengthOfByteString/lengthOfByteString.uplc @@ -0,0 +1 @@ +(program 0.0.0 [ (builtin lengthOfByteString) (con bytestring #00ffaa) ]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lengthOfByteString/lengthOfByteString.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lengthOfByteString/lengthOfByteString.uplc.expected new file mode 100644 index 00000000..3dc51c5f --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lengthOfByteString/lengthOfByteString.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con integer 3)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanByteString/lessThanByteString0/lessThanByteString0.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanByteString/lessThanByteString0/lessThanByteString0.uplc new file mode 100644 index 00000000..f545f3da --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanByteString/lessThanByteString0/lessThanByteString0.uplc @@ -0,0 +1 @@ +(program 0.0.0 [ [(builtin lessThanByteString) (con bytestring #00ff)] (con bytestring #00ffaa) ]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanByteString/lessThanByteString0/lessThanByteString0.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanByteString/lessThanByteString0/lessThanByteString0.uplc.expected new file mode 100644 index 00000000..b1057ef7 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanByteString/lessThanByteString0/lessThanByteString0.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanByteString/lessThanByteString1/lessThanByteString1.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanByteString/lessThanByteString1/lessThanByteString1.uplc new file mode 100644 index 00000000..0b5a044e --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanByteString/lessThanByteString1/lessThanByteString1.uplc @@ -0,0 +1,3 @@ +(program 1.0.0 + [(builtin equalsByteString) (con bytestring #54686543616B654973414C6965) (con bytestring #54686543616B654973414C6965)] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanByteString/lessThanByteString1/lessThanByteString1.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanByteString/lessThanByteString1/lessThanByteString1.uplc.expected new file mode 100644 index 00000000..3760fc7a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanByteString/lessThanByteString1/lessThanByteString1.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanByteString/lessThanByteString2/lessThanByteString2.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanByteString/lessThanByteString2/lessThanByteString2.uplc new file mode 100644 index 00000000..3f7173b5 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanByteString/lessThanByteString2/lessThanByteString2.uplc @@ -0,0 +1,3 @@ +(program 1.0.0 + [(builtin lessThanByteString) (con bytestring #54686543616B654973414C6965) (con bytestring #54686543616B65497341506965)] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanByteString/lessThanByteString2/lessThanByteString2.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanByteString/lessThanByteString2/lessThanByteString2.uplc.expected new file mode 100644 index 00000000..3760fc7a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanByteString/lessThanByteString2/lessThanByteString2.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanByteString/lessThanByteString3/lessThanByteString3.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanByteString/lessThanByteString3/lessThanByteString3.uplc new file mode 100644 index 00000000..8aa6ebc8 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanByteString/lessThanByteString3/lessThanByteString3.uplc @@ -0,0 +1,3 @@ +(program 1.0.0 + [(builtin lessThanByteString) (con bytestring #54686543616B65497341506965) (con bytestring #54686543616B654973414C6965)] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanByteString/lessThanByteString3/lessThanByteString3.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanByteString/lessThanByteString3/lessThanByteString3.uplc.expected new file mode 100644 index 00000000..3ee9f07f --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanByteString/lessThanByteString3/lessThanByteString3.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool False)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanByteString/lessThanByteString4/lessThanByteString4.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanByteString/lessThanByteString4/lessThanByteString4.uplc new file mode 100644 index 00000000..3b70df6b --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanByteString/lessThanByteString4/lessThanByteString4.uplc @@ -0,0 +1,3 @@ +(program 1.0.0 + [(builtin lessThanByteString) (con bytestring #54686543616B65497341506965) (con bytestring #54686543616B654973414C69)] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanByteString/lessThanByteString4/lessThanByteString4.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanByteString/lessThanByteString4/lessThanByteString4.uplc.expected new file mode 100644 index 00000000..3ee9f07f --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanByteString/lessThanByteString4/lessThanByteString4.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool False)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanByteString/lessThanByteString5/lessThanByteString5.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanByteString/lessThanByteString5/lessThanByteString5.uplc new file mode 100644 index 00000000..320c18ec --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanByteString/lessThanByteString5/lessThanByteString5.uplc @@ -0,0 +1,3 @@ +(program 1.0.0 + [(builtin lessThanByteString) (con bytestring #54686543616B654973414C69) (con bytestring #54686543616B65497341506965)] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanByteString/lessThanByteString5/lessThanByteString5.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanByteString/lessThanByteString5/lessThanByteString5.uplc.expected new file mode 100644 index 00000000..3760fc7a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanByteString/lessThanByteString5/lessThanByteString5.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsByteString/lessThanEqualsByteString0/lessThanEqualsByteString0.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsByteString/lessThanEqualsByteString0/lessThanEqualsByteString0.uplc new file mode 100644 index 00000000..e8ae65a4 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsByteString/lessThanEqualsByteString0/lessThanEqualsByteString0.uplc @@ -0,0 +1 @@ +(program 0.0.0 [ [(builtin lessThanEqualsByteString) (con bytestring #00ff)] (con bytestring #00) ]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsByteString/lessThanEqualsByteString0/lessThanEqualsByteString0.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsByteString/lessThanEqualsByteString0/lessThanEqualsByteString0.uplc.expected new file mode 100644 index 00000000..dd87da54 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsByteString/lessThanEqualsByteString0/lessThanEqualsByteString0.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con bool False)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsByteString/lessThanEqualsByteString1/lessThanEqualsByteString1.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsByteString/lessThanEqualsByteString1/lessThanEqualsByteString1.uplc new file mode 100644 index 00000000..8bbb8ce1 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsByteString/lessThanEqualsByteString1/lessThanEqualsByteString1.uplc @@ -0,0 +1,3 @@ +(program 1.0.0 + [(builtin lessThanEqualsByteString) (con bytestring #54686543616B654973414C6964) (con bytestring #54686543616B654973414C6965)] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsByteString/lessThanEqualsByteString1/lessThanEqualsByteString1.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsByteString/lessThanEqualsByteString1/lessThanEqualsByteString1.uplc.expected new file mode 100644 index 00000000..3760fc7a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsByteString/lessThanEqualsByteString1/lessThanEqualsByteString1.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsByteString/lessThanEqualsByteString2/lessThanEqualsByteString2.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsByteString/lessThanEqualsByteString2/lessThanEqualsByteString2.uplc new file mode 100644 index 00000000..d79b6dc3 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsByteString/lessThanEqualsByteString2/lessThanEqualsByteString2.uplc @@ -0,0 +1,3 @@ +(program 1.0.0 + [(builtin lessThanEqualsByteString) (con bytestring #54686543616B654973414C6966) (con bytestring #54686543616B654973414C6965)] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsByteString/lessThanEqualsByteString2/lessThanEqualsByteString2.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsByteString/lessThanEqualsByteString2/lessThanEqualsByteString2.uplc.expected new file mode 100644 index 00000000..3ee9f07f --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsByteString/lessThanEqualsByteString2/lessThanEqualsByteString2.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool False)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsByteString/lessThanEqualsByteString3/lessThanEqualsByteString3.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsByteString/lessThanEqualsByteString3/lessThanEqualsByteString3.uplc new file mode 100644 index 00000000..a8106432 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsByteString/lessThanEqualsByteString3/lessThanEqualsByteString3.uplc @@ -0,0 +1,3 @@ +(program 1.0.0 + [(builtin lessThanEqualsByteString) (con bytestring #54686543616B654973414C6965) (con bytestring #54686543616B654973414C6965)] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsByteString/lessThanEqualsByteString3/lessThanEqualsByteString3.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsByteString/lessThanEqualsByteString3/lessThanEqualsByteString3.uplc.expected new file mode 100644 index 00000000..3760fc7a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsByteString/lessThanEqualsByteString3/lessThanEqualsByteString3.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsInteger/lessThanEqualsInteger1/lessThanEqualsInteger1.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsInteger/lessThanEqualsInteger1/lessThanEqualsInteger1.uplc new file mode 100644 index 00000000..80100652 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsInteger/lessThanEqualsInteger1/lessThanEqualsInteger1.uplc @@ -0,0 +1 @@ +(program 1.0.0 [ [ (builtin lessThanEqualsInteger) (con integer 1) ] (con integer 2) ]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsInteger/lessThanEqualsInteger1/lessThanEqualsInteger1.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsInteger/lessThanEqualsInteger1/lessThanEqualsInteger1.uplc.expected new file mode 100644 index 00000000..3760fc7a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsInteger/lessThanEqualsInteger1/lessThanEqualsInteger1.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsInteger/lessThanEqualsInteger2/lessThanEqualsInteger2.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsInteger/lessThanEqualsInteger2/lessThanEqualsInteger2.uplc new file mode 100644 index 00000000..38df5f47 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsInteger/lessThanEqualsInteger2/lessThanEqualsInteger2.uplc @@ -0,0 +1,3 @@ +(program 1.0.0 + [(builtin lessThanEqualsInteger) (con integer 8) (con integer 4)] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsInteger/lessThanEqualsInteger2/lessThanEqualsInteger2.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsInteger/lessThanEqualsInteger2/lessThanEqualsInteger2.uplc.expected new file mode 100644 index 00000000..3ee9f07f --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsInteger/lessThanEqualsInteger2/lessThanEqualsInteger2.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool False)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsInteger/lessThanEqualsInteger3/lessThanEqualsInteger3.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsInteger/lessThanEqualsInteger3/lessThanEqualsInteger3.uplc new file mode 100644 index 00000000..e78fc205 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsInteger/lessThanEqualsInteger3/lessThanEqualsInteger3.uplc @@ -0,0 +1,3 @@ +(program 1.0.0 + [(builtin lessThanEqualsInteger) (con integer 4) (con integer 8)] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsInteger/lessThanEqualsInteger3/lessThanEqualsInteger3.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsInteger/lessThanEqualsInteger3/lessThanEqualsInteger3.uplc.expected new file mode 100644 index 00000000..3760fc7a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsInteger/lessThanEqualsInteger3/lessThanEqualsInteger3.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsInteger/lessThanEqualsInteger4/lessThanEqualsInteger4.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsInteger/lessThanEqualsInteger4/lessThanEqualsInteger4.uplc new file mode 100644 index 00000000..0e32e721 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsInteger/lessThanEqualsInteger4/lessThanEqualsInteger4.uplc @@ -0,0 +1,3 @@ +(program 1.0.0 + [(builtin lessThanEqualsInteger) (con integer 4) (con integer 4)] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsInteger/lessThanEqualsInteger4/lessThanEqualsInteger4.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsInteger/lessThanEqualsInteger4/lessThanEqualsInteger4.uplc.expected new file mode 100644 index 00000000..3760fc7a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsInteger/lessThanEqualsInteger4/lessThanEqualsInteger4.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsInteger/lessThanEqualsInteger5/lessThanEqualsInteger5.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsInteger/lessThanEqualsInteger5/lessThanEqualsInteger5.uplc new file mode 100644 index 00000000..7e279e81 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsInteger/lessThanEqualsInteger5/lessThanEqualsInteger5.uplc @@ -0,0 +1,3 @@ +(program 1.0.0 + [(builtin lessThanEqualsInteger) (con integer 3477349701412809834789938452452684373578934257) (con integer 3477349701412809834789938452452684373578934257)] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsInteger/lessThanEqualsInteger5/lessThanEqualsInteger5.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsInteger/lessThanEqualsInteger5/lessThanEqualsInteger5.uplc.expected new file mode 100644 index 00000000..3760fc7a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanEqualsInteger/lessThanEqualsInteger5/lessThanEqualsInteger5.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanInteger/lessThanInteger1/lessThanInteger1.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanInteger/lessThanInteger1/lessThanInteger1.uplc new file mode 100644 index 00000000..da9a4a8c --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanInteger/lessThanInteger1/lessThanInteger1.uplc @@ -0,0 +1 @@ +(program 1.0.0 [ [ (builtin lessThanInteger) (con integer 1) ] (con integer 2) ]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanInteger/lessThanInteger1/lessThanInteger1.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanInteger/lessThanInteger1/lessThanInteger1.uplc.expected new file mode 100644 index 00000000..3760fc7a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanInteger/lessThanInteger1/lessThanInteger1.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanInteger/lessThanInteger2/lessThanInteger2.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanInteger/lessThanInteger2/lessThanInteger2.uplc new file mode 100644 index 00000000..56aee385 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanInteger/lessThanInteger2/lessThanInteger2.uplc @@ -0,0 +1,3 @@ +(program 1.0.0 + [(builtin lessThanInteger) (con integer 8) (con integer 4)] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanInteger/lessThanInteger2/lessThanInteger2.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanInteger/lessThanInteger2/lessThanInteger2.uplc.expected new file mode 100644 index 00000000..3ee9f07f --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanInteger/lessThanInteger2/lessThanInteger2.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool False)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanInteger/lessThanInteger3/lessThanInteger3.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanInteger/lessThanInteger3/lessThanInteger3.uplc new file mode 100644 index 00000000..9811d79f --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanInteger/lessThanInteger3/lessThanInteger3.uplc @@ -0,0 +1,3 @@ +(program 1.0.0 + [(builtin lessThanInteger) (con integer 4) (con integer 8)] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanInteger/lessThanInteger3/lessThanInteger3.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanInteger/lessThanInteger3/lessThanInteger3.uplc.expected new file mode 100644 index 00000000..3760fc7a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanInteger/lessThanInteger3/lessThanInteger3.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanInteger/lessThanInteger4/lessThanInteger4.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanInteger/lessThanInteger4/lessThanInteger4.uplc new file mode 100644 index 00000000..241cd924 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanInteger/lessThanInteger4/lessThanInteger4.uplc @@ -0,0 +1,3 @@ +(program 1.0.0 + [(builtin lessThanInteger) (con integer 4) (con integer 4)] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanInteger/lessThanInteger4/lessThanInteger4.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanInteger/lessThanInteger4/lessThanInteger4.uplc.expected new file mode 100644 index 00000000..3ee9f07f --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanInteger/lessThanInteger4/lessThanInteger4.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool False)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanInteger/lessThanInteger5/lessThanInteger5.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanInteger/lessThanInteger5/lessThanInteger5.uplc new file mode 100644 index 00000000..37bf59ef --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanInteger/lessThanInteger5/lessThanInteger5.uplc @@ -0,0 +1,3 @@ +(program 1.0.0 + [(builtin lessThanInteger) (con integer 3477349701412809834789938452452684373578934257) (con integer 3477349701412809834789938452452684373578934257)] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanInteger/lessThanInteger5/lessThanInteger5.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanInteger/lessThanInteger5/lessThanInteger5.uplc.expected new file mode 100644 index 00000000..3ee9f07f --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/lessThanInteger/lessThanInteger5/lessThanInteger5.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool False)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/listData/listData.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/listData/listData.uplc new file mode 100644 index 00000000..77c18fba --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/listData/listData.uplc @@ -0,0 +1 @@ +(program 0.0.0 [(builtin listData) (con list(data) [{ Integer 0 }])] ) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/listData/listData.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/listData/listData.uplc.expected new file mode 100644 index 00000000..fd569489 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/listData/listData.uplc.expected @@ -0,0 +1 @@ +parse error \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/listOfList/listOfList.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/listOfList/listOfList.uplc new file mode 100644 index 00000000..479fd61f --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/listOfList/listOfList.uplc @@ -0,0 +1 @@ +(program 0.0.0 (con list(list(integer)) [ [0], [0, 1, 2], [4, 5, 2] ])) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/listOfList/listOfList.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/listOfList/listOfList.uplc.expected new file mode 100644 index 00000000..fd569489 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/listOfList/listOfList.uplc.expected @@ -0,0 +1 @@ +parse error \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/listOfPair/listOfPair.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/listOfPair/listOfPair.uplc new file mode 100644 index 00000000..0c60b403 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/listOfPair/listOfPair.uplc @@ -0,0 +1 @@ +(program 0.0.0 (con list(pair (integer) (bool)) [(1, True), (500000, False), (0, True)])) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/listOfPair/listOfPair.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/listOfPair/listOfPair.uplc.expected new file mode 100644 index 00000000..fd569489 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/listOfPair/listOfPair.uplc.expected @@ -0,0 +1 @@ +parse error \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/mapData/mapData.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/mapData/mapData.uplc new file mode 100644 index 00000000..c356a7a8 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/mapData/mapData.uplc @@ -0,0 +1,3 @@ +(program 0.0.0 [(builtin mapData) + (con list(pair (data) (data)) + [({ Integer 0 }, {Integer 1})])]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/mapData/mapData.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/mapData/mapData.uplc.expected new file mode 100644 index 00000000..fd569489 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/mapData/mapData.uplc.expected @@ -0,0 +1 @@ +parse error \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/mkCons/divideInteger/divideInteger.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/mkCons/divideInteger/divideInteger.uplc new file mode 100644 index 00000000..7d470cd0 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/mkCons/divideInteger/divideInteger.uplc @@ -0,0 +1 @@ +(program 1.0.0 [(builtin divideInteger) (con integer 1) (con integer 0)]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/mkCons/divideInteger/divideInteger.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/mkCons/divideInteger/divideInteger.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/mkCons/divideInteger/divideInteger.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/mkCons/mkCons-fail/mkCons-fail.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/mkCons/mkCons-fail/mkCons-fail.uplc new file mode 100644 index 00000000..2c6871b6 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/mkCons/mkCons-fail/mkCons-fail.uplc @@ -0,0 +1,4 @@ +-- a type mismatch +-- plutus implementation detail: note that this conceptually should be a machine type mismatch error (unlifting error), +-- but is currently a user evaluation failure, see: https://github.com/input-output-hk/plutus/pull/3035 +(program 1.0.0 [(force (builtin mkCons)) (con integer 3) [(builtin mkNilData) (con unit ())]]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/mkCons/mkCons-fail/mkCons-fail.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/mkCons/mkCons-fail/mkCons-fail.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/mkCons/mkCons-fail/mkCons-fail.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/mkCons/mkCons1/mkCons1.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/mkCons/mkCons1/mkCons1.uplc new file mode 100644 index 00000000..1c8bc68a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/mkCons/mkCons1/mkCons1.uplc @@ -0,0 +1 @@ +(program 0.0.0 [[(force (builtin mkCons)) (con integer 0)] (con (list integer) [ ])]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/mkCons/mkCons1/mkCons1.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/mkCons/mkCons1/mkCons1.uplc.expected new file mode 100644 index 00000000..690f3569 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/mkCons/mkCons1/mkCons1.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con (list integer) [0])) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/mkCons/mkCons2/mkCons2.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/mkCons/mkCons2/mkCons2.uplc new file mode 100644 index 00000000..88892f6a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/mkCons/mkCons2/mkCons2.uplc @@ -0,0 +1 @@ +(program 0.0.0 [[(force (builtin mkCons)) (con integer 0)] (con (list integer) [ 1, 2 ])]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/mkCons/mkCons2/mkCons2.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/mkCons/mkCons2/mkCons2.uplc.expected new file mode 100644 index 00000000..646ab883 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/mkCons/mkCons2/mkCons2.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con (list integer) [0,1,2])) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/mkNilData/mkNilData.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/mkNilData/mkNilData.uplc new file mode 100644 index 00000000..7530c6b8 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/mkNilData/mkNilData.uplc @@ -0,0 +1 @@ +(program 0.0.0 [(builtin mkNilData) (con unit ())]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/mkNilData/mkNilData.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/mkNilData/mkNilData.uplc.expected new file mode 100644 index 00000000..0e8a94f6 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/mkNilData/mkNilData.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con (list data) [])) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/mkNilPairData/mkNilPairData.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/mkNilPairData/mkNilPairData.uplc new file mode 100644 index 00000000..8c4887cf --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/mkNilPairData/mkNilPairData.uplc @@ -0,0 +1 @@ +(program 0.0.0 [(builtin mkNilPairData) (con unit ())]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/mkNilPairData/mkNilPairData.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/mkNilPairData/mkNilPairData.uplc.expected new file mode 100644 index 00000000..f5d5ad75 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/mkNilPairData/mkNilPairData.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con (list (pair data data)) [])) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/mkPairData/mkPairData.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/mkPairData/mkPairData.uplc new file mode 100644 index 00000000..d83ef98c --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/mkPairData/mkPairData.uplc @@ -0,0 +1,3 @@ +(program 0.0.0 [[(builtin mkPairData) + (con data { List [ Integer 0, Integer 1 ] })] + (con data { Constr 1 [ Integer 3 ] })]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/mkPairData/mkPairData.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/mkPairData/mkPairData.uplc.expected new file mode 100644 index 00000000..fd569489 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/mkPairData/mkPairData.uplc.expected @@ -0,0 +1 @@ +parse error \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/modInteger/modInteger-neg-neg/modInteger-neg-neg.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/modInteger/modInteger-neg-neg/modInteger-neg-neg.uplc new file mode 100644 index 00000000..556d9bba --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/modInteger/modInteger-neg-neg/modInteger-neg-neg.uplc @@ -0,0 +1 @@ +(program 1.0.0 [(builtin modInteger) (con integer -503) (con integer -1777777777)]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/modInteger/modInteger-neg-neg/modInteger-neg-neg.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/modInteger/modInteger-neg-neg/modInteger-neg-neg.uplc.expected new file mode 100644 index 00000000..50009a04 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/modInteger/modInteger-neg-neg/modInteger-neg-neg.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con integer -503)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/modInteger/modInteger-neg-pos/modInteger-neg-pos.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/modInteger/modInteger-neg-pos/modInteger-neg-pos.uplc new file mode 100644 index 00000000..16693aa3 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/modInteger/modInteger-neg-pos/modInteger-neg-pos.uplc @@ -0,0 +1 @@ +(program 1.0.0 [(builtin modInteger) (con integer -503) (con integer 1777777777)]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/modInteger/modInteger-neg-pos/modInteger-neg-pos.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/modInteger/modInteger-neg-pos/modInteger-neg-pos.uplc.expected new file mode 100644 index 00000000..ed7d62be --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/modInteger/modInteger-neg-pos/modInteger-neg-pos.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con integer 1777777274)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/modInteger/modInteger-pos-neg/modInteger-pos-neg.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/modInteger/modInteger-pos-neg/modInteger-pos-neg.uplc new file mode 100644 index 00000000..fa5b7ed7 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/modInteger/modInteger-pos-neg/modInteger-pos-neg.uplc @@ -0,0 +1 @@ +(program 1.0.0 [(builtin modInteger) (con integer 503) (con integer -1777777777)]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/modInteger/modInteger-pos-neg/modInteger-pos-neg.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/modInteger/modInteger-pos-neg/modInteger-pos-neg.uplc.expected new file mode 100644 index 00000000..6679bca3 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/modInteger/modInteger-pos-neg/modInteger-pos-neg.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con integer -1777777274)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/modInteger/modInteger-pos-pos/modInteger-pos-pos.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/modInteger/modInteger-pos-pos/modInteger-pos-pos.uplc new file mode 100644 index 00000000..8a93ecd9 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/modInteger/modInteger-pos-pos/modInteger-pos-pos.uplc @@ -0,0 +1 @@ +(program 1.0.0 [(builtin modInteger) (con integer 503) (con integer 1777777777)]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/modInteger/modInteger-pos-pos/modInteger-pos-pos.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/modInteger/modInteger-pos-pos/modInteger-pos-pos.uplc.expected new file mode 100644 index 00000000..2cb4ba16 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/modInteger/modInteger-pos-pos/modInteger-pos-pos.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con integer 503)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/modInteger/modInteger-zero/modInteger-zero.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/modInteger/modInteger-zero/modInteger-zero.uplc new file mode 100644 index 00000000..d5cdd5db --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/modInteger/modInteger-zero/modInteger-zero.uplc @@ -0,0 +1 @@ +(program 1.0.0 [(builtin modInteger) (con integer 1) (con integer 0)]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/modInteger/modInteger-zero/modInteger-zero.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/modInteger/modInteger-zero/modInteger-zero.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/modInteger/modInteger-zero/modInteger-zero.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/modInteger/modInteger1/modInteger1.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/modInteger/modInteger1/modInteger1.uplc new file mode 100644 index 00000000..02bf787d --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/modInteger/modInteger1/modInteger1.uplc @@ -0,0 +1 @@ +(program 1.0.0 [ [ (builtin modInteger) (con integer 2) ] (con integer 3) ]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/modInteger/modInteger1/modInteger1.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/modInteger/modInteger1/modInteger1.uplc.expected new file mode 100644 index 00000000..00abe6f7 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/modInteger/modInteger1/modInteger1.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con integer 2)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/multiplyInteger/multiplyInteger1/multiplyInteger1.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/multiplyInteger/multiplyInteger1/multiplyInteger1.uplc new file mode 100644 index 00000000..b95eb85d --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/multiplyInteger/multiplyInteger1/multiplyInteger1.uplc @@ -0,0 +1 @@ +(program 1.0.0 [ [ (builtin multiplyInteger) (con integer 1) ] (con integer 1) ]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/multiplyInteger/multiplyInteger1/multiplyInteger1.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/multiplyInteger/multiplyInteger1/multiplyInteger1.uplc.expected new file mode 100644 index 00000000..8e9a3b22 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/multiplyInteger/multiplyInteger1/multiplyInteger1.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con integer 1)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/multiplyInteger/multiplyInteger2/multiplyInteger2.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/multiplyInteger/multiplyInteger2/multiplyInteger2.uplc new file mode 100644 index 00000000..7bfef64b --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/multiplyInteger/multiplyInteger2/multiplyInteger2.uplc @@ -0,0 +1 @@ +(program 1.0.0 [ [ (builtin multiplyInteger) (con integer 793479793478939166266268485555555) ] (con integer 0) ]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/multiplyInteger/multiplyInteger2/multiplyInteger2.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/multiplyInteger/multiplyInteger2/multiplyInteger2.uplc.expected new file mode 100644 index 00000000..87e0223f --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/multiplyInteger/multiplyInteger2/multiplyInteger2.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con integer 0)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/multiplyInteger/multiplyInteger3/multiplyInteger3.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/multiplyInteger/multiplyInteger3/multiplyInteger3.uplc new file mode 100644 index 00000000..53b0e061 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/multiplyInteger/multiplyInteger3/multiplyInteger3.uplc @@ -0,0 +1 @@ +(program 1.0.0 [ [ (builtin multiplyInteger) (con integer 793479793478939) ] (con integer 166266268485555555) ]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/multiplyInteger/multiplyInteger3/multiplyInteger3.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/multiplyInteger/multiplyInteger3/multiplyInteger3.uplc.expected new file mode 100644 index 00000000..b6b6b0b0 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/multiplyInteger/multiplyInteger3/multiplyInteger3.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con integer 131928924380432445633603606956145)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/multiplyInteger/multiplyInteger4/multiplyInteger4.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/multiplyInteger/multiplyInteger4/multiplyInteger4.uplc new file mode 100644 index 00000000..c7be4f5e --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/multiplyInteger/multiplyInteger4/multiplyInteger4.uplc @@ -0,0 +1 @@ +(program 1.0.0 [ [ (builtin multiplyInteger) (con integer 793479793478939) ] (con integer -166266268485555555) ]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/multiplyInteger/multiplyInteger4/multiplyInteger4.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/multiplyInteger/multiplyInteger4/multiplyInteger4.uplc.expected new file mode 100644 index 00000000..ce23b66e --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/multiplyInteger/multiplyInteger4/multiplyInteger4.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con integer -131928924380432445633603606956145)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/multiplyInteger/multiplyInteger5/multiplyInteger5.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/multiplyInteger/multiplyInteger5/multiplyInteger5.uplc new file mode 100644 index 00000000..0f29a07e --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/multiplyInteger/multiplyInteger5/multiplyInteger5.uplc @@ -0,0 +1 @@ +(program 1.0.0 [ [ (builtin multiplyInteger) (con integer -793479793478939) ] (con integer 166266268485555555) ]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/multiplyInteger/multiplyInteger5/multiplyInteger5.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/multiplyInteger/multiplyInteger5/multiplyInteger5.uplc.expected new file mode 100644 index 00000000..ce23b66e --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/multiplyInteger/multiplyInteger5/multiplyInteger5.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con integer -131928924380432445633603606956145)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/multiplyInteger/multiplyInteger6/multiplyInteger6.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/multiplyInteger/multiplyInteger6/multiplyInteger6.uplc new file mode 100644 index 00000000..2a8153be --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/multiplyInteger/multiplyInteger6/multiplyInteger6.uplc @@ -0,0 +1 @@ +(program 1.0.0 [ [ (builtin multiplyInteger) (con integer -793479793478939) ] (con integer -166266268485555555) ]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/multiplyInteger/multiplyInteger6/multiplyInteger6.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/multiplyInteger/multiplyInteger6/multiplyInteger6.uplc.expected new file mode 100644 index 00000000..b6b6b0b0 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/multiplyInteger/multiplyInteger6/multiplyInteger6.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con integer 131928924380432445633603606956145)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/nullList/nullList.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/nullList/nullList.uplc new file mode 100644 index 00000000..4bee0ed8 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/nullList/nullList.uplc @@ -0,0 +1 @@ +(program 0.0.0 [(force (builtin nullList)) (con (list integer) [ 1, 2, 3 ])]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/nullList/nullList.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/nullList/nullList.uplc.expected new file mode 100644 index 00000000..dd87da54 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/nullList/nullList.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con bool False)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/nullList2/nullList2.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/nullList2/nullList2.uplc new file mode 100644 index 00000000..be50b89c --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/nullList2/nullList2.uplc @@ -0,0 +1 @@ +(program 0.0.0 [(force (builtin nullList)) (con (list integer) [ ])]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/nullList2/nullList2.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/nullList2/nullList2.uplc.expected new file mode 100644 index 00000000..b1057ef7 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/nullList2/nullList2.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/pairOfPairAndList/pairOfPairAndList.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/pairOfPairAndList/pairOfPairAndList.uplc new file mode 100644 index 00000000..773704e7 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/pairOfPairAndList/pairOfPairAndList.uplc @@ -0,0 +1,6 @@ +(program 0.0.0 + (con + (pair (pair bool bytestring) (list integer)) + ((True, #012345), [0, 1, 2]) + ) +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/pairOfPairAndList/pairOfPairAndList.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/pairOfPairAndList/pairOfPairAndList.uplc.expected new file mode 100644 index 00000000..330f30b9 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/pairOfPairAndList/pairOfPairAndList.uplc.expected @@ -0,0 +1,4 @@ +(program + 0.0.0 + (con (pair (pair bool bytestring) (list integer)) ((True, #012345), [0,1,2])) +) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/quotientInteger/quotientInteger-neg-neg/quotientInteger-neg-neg.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/quotientInteger/quotientInteger-neg-neg/quotientInteger-neg-neg.uplc new file mode 100644 index 00000000..4310cc84 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/quotientInteger/quotientInteger-neg-neg/quotientInteger-neg-neg.uplc @@ -0,0 +1 @@ +(program 1.0.0 [(builtin quotientInteger) (con integer -503783783785265728700234277) (con integer -1777777777)]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/quotientInteger/quotientInteger-neg-neg/quotientInteger-neg-neg.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/quotientInteger/quotientInteger-neg-neg/quotientInteger-neg-neg.uplc.expected new file mode 100644 index 00000000..8b788167 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/quotientInteger/quotientInteger-neg-neg/quotientInteger-neg-neg.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con integer 283378378503190012)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/quotientInteger/quotientInteger-neg-pos/quotientInteger-neg-pos.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/quotientInteger/quotientInteger-neg-pos/quotientInteger-neg-pos.uplc new file mode 100644 index 00000000..fc14f186 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/quotientInteger/quotientInteger-neg-pos/quotientInteger-neg-pos.uplc @@ -0,0 +1 @@ +(program 1.0.0 [(builtin quotientInteger) (con integer -503783783785265728700234277) (con integer 1777777777)]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/quotientInteger/quotientInteger-neg-pos/quotientInteger-neg-pos.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/quotientInteger/quotientInteger-neg-pos/quotientInteger-neg-pos.uplc.expected new file mode 100644 index 00000000..365002c9 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/quotientInteger/quotientInteger-neg-pos/quotientInteger-neg-pos.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con integer -283378378503190012)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/quotientInteger/quotientInteger-pos-neg/quotientInteger-pos-neg.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/quotientInteger/quotientInteger-pos-neg/quotientInteger-pos-neg.uplc new file mode 100644 index 00000000..5a9c16c2 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/quotientInteger/quotientInteger-pos-neg/quotientInteger-pos-neg.uplc @@ -0,0 +1 @@ +(program 1.0.0 [(builtin quotientInteger) (con integer 503783783785265728700234277) (con integer -1777777777)]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/quotientInteger/quotientInteger-pos-neg/quotientInteger-pos-neg.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/quotientInteger/quotientInteger-pos-neg/quotientInteger-pos-neg.uplc.expected new file mode 100644 index 00000000..365002c9 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/quotientInteger/quotientInteger-pos-neg/quotientInteger-pos-neg.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con integer -283378378503190012)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/quotientInteger/quotientInteger-pos-pos/quotientInteger-pos-pos.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/quotientInteger/quotientInteger-pos-pos/quotientInteger-pos-pos.uplc new file mode 100644 index 00000000..0bd536ba --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/quotientInteger/quotientInteger-pos-pos/quotientInteger-pos-pos.uplc @@ -0,0 +1 @@ +(program 1.0.0 [(builtin quotientInteger) (con integer 503783783785265728700234277) (con integer 1777777777)]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/quotientInteger/quotientInteger-pos-pos/quotientInteger-pos-pos.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/quotientInteger/quotientInteger-pos-pos/quotientInteger-pos-pos.uplc.expected new file mode 100644 index 00000000..8b788167 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/quotientInteger/quotientInteger-pos-pos/quotientInteger-pos-pos.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con integer 283378378503190012)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/quotientInteger/quotientInteger-zero/quotientInteger-zero.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/quotientInteger/quotientInteger-zero/quotientInteger-zero.uplc new file mode 100644 index 00000000..c9d09922 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/quotientInteger/quotientInteger-zero/quotientInteger-zero.uplc @@ -0,0 +1 @@ +(program 1.0.0 [(builtin quotientInteger) (con integer 1) (con integer 0)]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/quotientInteger/quotientInteger-zero/quotientInteger-zero.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/quotientInteger/quotientInteger-zero/quotientInteger-zero.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/quotientInteger/quotientInteger-zero/quotientInteger-zero.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/quotientInteger/quotientInteger1/quotientInteger1.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/quotientInteger/quotientInteger1/quotientInteger1.uplc new file mode 100644 index 00000000..f3f28335 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/quotientInteger/quotientInteger1/quotientInteger1.uplc @@ -0,0 +1 @@ +(program 1.0.0 [ [ (builtin quotientInteger) (con integer 1) ] (con integer 2) ]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/quotientInteger/quotientInteger1/quotientInteger1.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/quotientInteger/quotientInteger1/quotientInteger1.uplc.expected new file mode 100644 index 00000000..87e0223f --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/quotientInteger/quotientInteger1/quotientInteger1.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con integer 0)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/remainderInteger/remainderInteger-neg-neg/remainderInteger-neg-neg.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/remainderInteger/remainderInteger-neg-neg/remainderInteger-neg-neg.uplc new file mode 100644 index 00000000..bca6865f --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/remainderInteger/remainderInteger-neg-neg/remainderInteger-neg-neg.uplc @@ -0,0 +1 @@ +(program 1.0.0 [(builtin remainderInteger) (con integer -503) (con integer -1777777777)]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/remainderInteger/remainderInteger-neg-neg/remainderInteger-neg-neg.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/remainderInteger/remainderInteger-neg-neg/remainderInteger-neg-neg.uplc.expected new file mode 100644 index 00000000..50009a04 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/remainderInteger/remainderInteger-neg-neg/remainderInteger-neg-neg.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con integer -503)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/remainderInteger/remainderInteger-neg-pos/remainderInteger-neg-pos.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/remainderInteger/remainderInteger-neg-pos/remainderInteger-neg-pos.uplc new file mode 100644 index 00000000..afd4b042 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/remainderInteger/remainderInteger-neg-pos/remainderInteger-neg-pos.uplc @@ -0,0 +1 @@ +(program 1.0.0 [(builtin remainderInteger) (con integer -503) (con integer 1777777777)]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/remainderInteger/remainderInteger-neg-pos/remainderInteger-neg-pos.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/remainderInteger/remainderInteger-neg-pos/remainderInteger-neg-pos.uplc.expected new file mode 100644 index 00000000..50009a04 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/remainderInteger/remainderInteger-neg-pos/remainderInteger-neg-pos.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con integer -503)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/remainderInteger/remainderInteger-pos-neg/remainderInteger-pos-neg.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/remainderInteger/remainderInteger-pos-neg/remainderInteger-pos-neg.uplc new file mode 100644 index 00000000..01d4d0f5 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/remainderInteger/remainderInteger-pos-neg/remainderInteger-pos-neg.uplc @@ -0,0 +1 @@ +(program 1.0.0 [(builtin remainderInteger) (con integer 503) (con integer -1777777777)]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/remainderInteger/remainderInteger-pos-neg/remainderInteger-pos-neg.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/remainderInteger/remainderInteger-pos-neg/remainderInteger-pos-neg.uplc.expected new file mode 100644 index 00000000..2cb4ba16 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/remainderInteger/remainderInteger-pos-neg/remainderInteger-pos-neg.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con integer 503)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/remainderInteger/remainderInteger-pos-pos/remainderInteger-pos-pos.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/remainderInteger/remainderInteger-pos-pos/remainderInteger-pos-pos.uplc new file mode 100644 index 00000000..082f0816 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/remainderInteger/remainderInteger-pos-pos/remainderInteger-pos-pos.uplc @@ -0,0 +1 @@ +(program 1.0.0 [(builtin remainderInteger) (con integer 503) (con integer 1777777777)]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/remainderInteger/remainderInteger-pos-pos/remainderInteger-pos-pos.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/remainderInteger/remainderInteger-pos-pos/remainderInteger-pos-pos.uplc.expected new file mode 100644 index 00000000..2cb4ba16 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/remainderInteger/remainderInteger-pos-pos/remainderInteger-pos-pos.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con integer 503)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/remainderInteger/remainderInteger-zero/remainderInteger-zero.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/remainderInteger/remainderInteger-zero/remainderInteger-zero.uplc new file mode 100644 index 00000000..5103a827 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/remainderInteger/remainderInteger-zero/remainderInteger-zero.uplc @@ -0,0 +1 @@ +(program 1.0.0 [(builtin remainderInteger) (con integer 1) (con integer 0)]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/remainderInteger/remainderInteger-zero/remainderInteger-zero.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/remainderInteger/remainderInteger-zero/remainderInteger-zero.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/remainderInteger/remainderInteger-zero/remainderInteger-zero.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/remainderInteger/remainderInteger1/remainderInteger1.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/remainderInteger/remainderInteger1/remainderInteger1.uplc new file mode 100644 index 00000000..d82d0d53 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/remainderInteger/remainderInteger1/remainderInteger1.uplc @@ -0,0 +1 @@ +(program 1.0.0 [ [ (builtin remainderInteger) (con integer 1) ] (con integer 2) ]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/remainderInteger/remainderInteger1/remainderInteger1.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/remainderInteger/remainderInteger1/remainderInteger1.uplc.expected new file mode 100644 index 00000000..8e9a3b22 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/remainderInteger/remainderInteger1/remainderInteger1.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con integer 1)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sha2_256/sha2_256-empty/sha2_256-empty.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sha2_256/sha2_256-empty/sha2_256-empty.uplc new file mode 100644 index 00000000..0adfd953 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sha2_256/sha2_256-empty/sha2_256-empty.uplc @@ -0,0 +1,14 @@ +-- Test vector (0-bit input) from SHA256ShortMessage.rsp in +-- https://csrc.nist.gov/CSRC/media/Projects/Cryptographic-Algorithm-Validation-Program/documents/shs/shabytetestvectors.zip +(program 1.0.0 + [ + [ + (builtin equalsByteString) + [ + (builtin sha2_256) + (con bytestring #) + ] + ] + (con bytestring #e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855) + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sha2_256/sha2_256-empty/sha2_256-empty.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sha2_256/sha2_256-empty/sha2_256-empty.uplc.expected new file mode 100644 index 00000000..3760fc7a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sha2_256/sha2_256-empty/sha2_256-empty.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sha2_256/sha2_256-length-200/sha2_256-length-200.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sha2_256/sha2_256-length-200/sha2_256-length-200.uplc new file mode 100644 index 00000000..2960c8c5 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sha2_256/sha2_256-length-200/sha2_256-length-200.uplc @@ -0,0 +1,14 @@ +-- Test vector (200-bit input) from SHA256ShortMessage.rsp in +-- https://csrc.nist.gov/CSRC/media/Projects/Cryptographic-Algorithm-Validation-Program/documents/shs/shabytetestvectors.zip +(program 1.0.0 + [ + [ + (builtin equalsByteString) + [ + (builtin sha2_256) + (con bytestring #2e7ea84da4bc4d7cfb463e3f2c8647057afff3fbececa1d200) + ] + ] + (con bytestring #76e3acbc718836f2df8ad2d0d2d76f0cfa5fea0986be918f10bcee730df441b9) + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sha2_256/sha2_256-length-200/sha2_256-length-200.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sha2_256/sha2_256-length-200/sha2_256-length-200.uplc.expected new file mode 100644 index 00000000..3760fc7a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sha2_256/sha2_256-length-200/sha2_256-length-200.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sha3_256/sha3_256-empty/sha3_256-empty.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sha3_256/sha3_256-empty/sha3_256-empty.uplc new file mode 100644 index 00000000..a13a9c1a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sha3_256/sha3_256-empty/sha3_256-empty.uplc @@ -0,0 +1,14 @@ +-- Test vector (0-bit input) from SHA3_256ShortMessage.rsp in +-- https://csrc.nist.gov/CSRC/media/Projects/Cryptographic-Algorithm-Validation-Program/documents/sha3/sha-3bytetestvectors.zip +(program 1.0.0 + [ + [ + (builtin equalsByteString) + [ + (builtin sha3_256) + (con bytestring #) + ] + ] + (con bytestring #a7ffc6f8bf1ed76651c14756a061d662f580ff4de43b49fa82d80a4b80f8434a) + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sha3_256/sha3_256-empty/sha3_256-empty.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sha3_256/sha3_256-empty/sha3_256-empty.uplc.expected new file mode 100644 index 00000000..3760fc7a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sha3_256/sha3_256-empty/sha3_256-empty.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sha3_256/sha3_256-length-200/sha3_256-length-200.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sha3_256/sha3_256-length-200/sha3_256-length-200.uplc new file mode 100644 index 00000000..f0b2ae20 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sha3_256/sha3_256-length-200/sha3_256-length-200.uplc @@ -0,0 +1,14 @@ +-- Test vector (200-bit input) from SHA3_256ShortMessage.rsp in +-- https://csrc.nist.gov/CSRC/media/Projects/Cryptographic-Algorithm-Validation-Program/documents/sha3/sha-3bytetestvectors.zip +(program 1.0.0 + [ + [ + (builtin equalsByteString) + [ + (builtin sha3_256) + (con bytestring #9b3fdf8d448680840d6284f2997d3af55ffd85f6f4b33d7f8d) + ] + ] + (con bytestring #25005d10e84ff97c74a589013be42fb37f68db64bdfc7626efc0dd628077493a) + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sha3_256/sha3_256-length-200/sha3_256-length-200.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sha3_256/sha3_256-length-200/sha3_256-length-200.uplc.expected new file mode 100644 index 00000000..3760fc7a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sha3_256/sha3_256-length-200/sha3_256-length-200.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sliceByteString/sliceByteString1/sliceByteString1.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sliceByteString/sliceByteString1/sliceByteString1.uplc new file mode 100644 index 00000000..f283831b --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sliceByteString/sliceByteString1/sliceByteString1.uplc @@ -0,0 +1,3 @@ +(program 1.0.0 + [(builtin sliceByteString) (con integer 3) (con integer 5) (con bytestring #54686543616B654973414C6965)] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sliceByteString/sliceByteString1/sliceByteString1.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sliceByteString/sliceByteString1/sliceByteString1.uplc.expected new file mode 100644 index 00000000..2523d94e --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sliceByteString/sliceByteString1/sliceByteString1.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bytestring #43616b6549)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sliceByteString/sliceByteString2/sliceByteString2.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sliceByteString/sliceByteString2/sliceByteString2.uplc new file mode 100644 index 00000000..2dfcd48d --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sliceByteString/sliceByteString2/sliceByteString2.uplc @@ -0,0 +1,3 @@ +(program 1.0.0 + [(builtin sliceByteString) (con integer -3) (con integer 5) (con bytestring #54686543616B654973414C6965)] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sliceByteString/sliceByteString2/sliceByteString2.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sliceByteString/sliceByteString2/sliceByteString2.uplc.expected new file mode 100644 index 00000000..31f7fd67 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sliceByteString/sliceByteString2/sliceByteString2.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bytestring #5468654361)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sliceByteString/sliceByteString3/sliceByteString3.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sliceByteString/sliceByteString3/sliceByteString3.uplc new file mode 100644 index 00000000..004585d4 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sliceByteString/sliceByteString3/sliceByteString3.uplc @@ -0,0 +1,3 @@ +(program 1.0.0 + [(builtin sliceByteString) (con integer -3) (con integer 1234) (con bytestring #54686543616B654973414C6965)] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sliceByteString/sliceByteString3/sliceByteString3.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sliceByteString/sliceByteString3/sliceByteString3.uplc.expected new file mode 100644 index 00000000..fba0ee4a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sliceByteString/sliceByteString3/sliceByteString3.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bytestring #54686543616b654973414c6965)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sliceByteString/sliceByteString4/sliceByteString4.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sliceByteString/sliceByteString4/sliceByteString4.uplc new file mode 100644 index 00000000..eaf02192 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sliceByteString/sliceByteString4/sliceByteString4.uplc @@ -0,0 +1,3 @@ +(program 1.0.0 + [(builtin sliceByteString) (con integer 5) (con integer 3) (con bytestring #54686543616B654973414C6965)] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sliceByteString/sliceByteString4/sliceByteString4.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sliceByteString/sliceByteString4/sliceByteString4.uplc.expected new file mode 100644 index 00000000..07f93cab --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sliceByteString/sliceByteString4/sliceByteString4.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bytestring #6b6549)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sliceByteString/sliceByteString5/sliceByteString5.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sliceByteString/sliceByteString5/sliceByteString5.uplc new file mode 100644 index 00000000..f72177c2 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sliceByteString/sliceByteString5/sliceByteString5.uplc @@ -0,0 +1,3 @@ +(program 1.0.0 + [(builtin sliceByteString) (con integer 123456789123456789) (con integer 123456789123456789) (con bytestring #54686543616B654973414C6965)] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sliceByteString/sliceByteString5/sliceByteString5.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sliceByteString/sliceByteString5/sliceByteString5.uplc.expected new file mode 100644 index 00000000..5dbd4047 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sliceByteString/sliceByteString5/sliceByteString5.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bytestring #)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sndPairOfPairAndList/sndPairOfPairAndList.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sndPairOfPairAndList/sndPairOfPairAndList.uplc new file mode 100644 index 00000000..bc22d321 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sndPairOfPairAndList/sndPairOfPairAndList.uplc @@ -0,0 +1,5 @@ +(program 0.0.0 + [(force (builtin sndPair)) + (con pair (bool) (bytestring) + (True, #012345))] +) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sndPairOfPairAndList/sndPairOfPairAndList.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sndPairOfPairAndList/sndPairOfPairAndList.uplc.expected new file mode 100644 index 00000000..fd569489 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/sndPairOfPairAndList/sndPairOfPairAndList.uplc.expected @@ -0,0 +1 @@ +parse error \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/subtractInteger-non-iter/subtractInteger-non-iter.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/subtractInteger-non-iter/subtractInteger-non-iter.uplc new file mode 100644 index 00000000..b4b1d8af --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/subtractInteger-non-iter/subtractInteger-non-iter.uplc @@ -0,0 +1 @@ +(program 1.0.0 [ [ (builtin subtractInteger) (con integer 1)] (con integer 2) ]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/subtractInteger-non-iter/subtractInteger-non-iter.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/subtractInteger-non-iter/subtractInteger-non-iter.uplc.expected new file mode 100644 index 00000000..1cb56cff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/subtractInteger-non-iter/subtractInteger-non-iter.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con integer -1)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/subtractInteger/subtractInteger1/subtractInteger1.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/subtractInteger/subtractInteger1/subtractInteger1.uplc new file mode 100644 index 00000000..8b3f8c63 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/subtractInteger/subtractInteger1/subtractInteger1.uplc @@ -0,0 +1 @@ +(program 1.0.0 [ [ (builtin subtractInteger) (con integer 1)] (con integer 1) ]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/subtractInteger/subtractInteger1/subtractInteger1.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/subtractInteger/subtractInteger1/subtractInteger1.uplc.expected new file mode 100644 index 00000000..87e0223f --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/subtractInteger/subtractInteger1/subtractInteger1.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con integer 0)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/subtractInteger/subtractInteger2/subtractInteger2.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/subtractInteger/subtractInteger2/subtractInteger2.uplc new file mode 100644 index 00000000..3d598ee0 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/subtractInteger/subtractInteger2/subtractInteger2.uplc @@ -0,0 +1 @@ +(program 1.0.0 [ [ (builtin subtractInteger) (con integer 123423)] (con integer -794378954789297841) ]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/subtractInteger/subtractInteger2/subtractInteger2.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/subtractInteger/subtractInteger2/subtractInteger2.uplc.expected new file mode 100644 index 00000000..35f6c006 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/subtractInteger/subtractInteger2/subtractInteger2.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con integer 794378954789421264)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/subtractInteger/subtractInteger3/subtractInteger3.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/subtractInteger/subtractInteger3/subtractInteger3.uplc new file mode 100644 index 00000000..d3d561fd --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/subtractInteger/subtractInteger3/subtractInteger3.uplc @@ -0,0 +1 @@ +(program 1.0.0 [ [ (builtin subtractInteger) (con integer 134782734132417234781342718231486243)] (con integer 23443231) ]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/subtractInteger/subtractInteger3/subtractInteger3.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/subtractInteger/subtractInteger3/subtractInteger3.uplc.expected new file mode 100644 index 00000000..c41097cc --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/subtractInteger/subtractInteger3/subtractInteger3.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con integer 134782734132417234781342718208043012)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/subtractInteger/subtractInteger4/subtractInteger4.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/subtractInteger/subtractInteger4/subtractInteger4.uplc new file mode 100644 index 00000000..45b0f5a0 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/subtractInteger/subtractInteger4/subtractInteger4.uplc @@ -0,0 +1 @@ +(program 1.0.0 [ [ (builtin subtractInteger) (con integer 0)] (con integer -327893248793249782347891) ]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/subtractInteger/subtractInteger4/subtractInteger4.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/subtractInteger/subtractInteger4/subtractInteger4.uplc.expected new file mode 100644 index 00000000..d026cd96 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/subtractInteger/subtractInteger4/subtractInteger4.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con integer 327893248793249782347891)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/tailList/tailList-partial/tailList-partial.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/tailList/tailList-partial/tailList-partial.uplc new file mode 100644 index 00000000..2a7afcb2 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/tailList/tailList-partial/tailList-partial.uplc @@ -0,0 +1,2 @@ +-- tail is partial like haskell's and blows up when given an empty list +(program 0.0.0 [(force (builtin tailList)) [(builtin mkNilData) (con unit ())]]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/tailList/tailList-partial/tailList-partial.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/tailList/tailList-partial/tailList-partial.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/tailList/tailList-partial/tailList-partial.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/tailList/tailList1/tailList1.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/tailList/tailList1/tailList1.uplc new file mode 100644 index 00000000..229766be --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/tailList/tailList1/tailList1.uplc @@ -0,0 +1 @@ +(program 0.0.0 [(force (builtin tailList)) (con (list integer) [ ])]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/tailList/tailList1/tailList1.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/tailList/tailList1/tailList1.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/tailList/tailList1/tailList1.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/trace/trace.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/trace/trace.uplc new file mode 100644 index 00000000..26fa0750 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/trace/trace.uplc @@ -0,0 +1 @@ +(program 0.0.0 [[(force (builtin trace)) (con string "Ola")] (con integer 2)]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/trace/trace.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/trace/trace.uplc.expected new file mode 100644 index 00000000..0408fe9b --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/trace/trace.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con integer 2)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unBData/unBData-fail/unBData-fail.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unBData/unBData-fail/unBData-fail.uplc new file mode 100644 index 00000000..b1e4dcb5 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unBData/unBData-fail/unBData-fail.uplc @@ -0,0 +1,2 @@ +-- TODO: rerun test when data concrete syntax is introduced +(program 0.0.0 [(builtin unBData) (con data { Integer 0 })]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unBData/unBData-fail/unBData-fail.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unBData/unBData-fail/unBData-fail.uplc.expected new file mode 100644 index 00000000..fd569489 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unBData/unBData-fail/unBData-fail.uplc.expected @@ -0,0 +1 @@ +parse error \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unBData/unBData1/unBData1.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unBData/unBData1/unBData1.uplc new file mode 100644 index 00000000..60e8553c --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unBData/unBData1/unBData1.uplc @@ -0,0 +1 @@ +(program 0.0.0 [(builtin unBData) (con data { ByteString #AF00 })]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unBData/unBData1/unBData1.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unBData/unBData1/unBData1.uplc.expected new file mode 100644 index 00000000..fd569489 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unBData/unBData1/unBData1.uplc.expected @@ -0,0 +1 @@ +parse error \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unConstrData/unConstrData-fail/unConstrData-fail.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unConstrData/unConstrData-fail/unConstrData-fail.uplc new file mode 100644 index 00000000..901e8708 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unConstrData/unConstrData-fail/unConstrData-fail.uplc @@ -0,0 +1,2 @@ +-- TODO: rerun test when data concrete syntax is introduced +(program 0.0.0 [(builtin unConstrData) (con data { ByteString #AF00 })]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unConstrData/unConstrData-fail/unConstrData-fail.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unConstrData/unConstrData-fail/unConstrData-fail.uplc.expected new file mode 100644 index 00000000..fd569489 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unConstrData/unConstrData-fail/unConstrData-fail.uplc.expected @@ -0,0 +1 @@ +parse error \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unConstrData/unConstrData1/unConstrData1.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unConstrData/unConstrData1/unConstrData1.uplc new file mode 100644 index 00000000..163a6e3d --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unConstrData/unConstrData1/unConstrData1.uplc @@ -0,0 +1 @@ +(program 0.0.0 [(builtin unConstrData) (con data { Constr 1 [ Integer 0 ] })]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unConstrData/unConstrData1/unConstrData1.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unConstrData/unConstrData1/unConstrData1.uplc.expected new file mode 100644 index 00000000..fd569489 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unConstrData/unConstrData1/unConstrData1.uplc.expected @@ -0,0 +1 @@ +parse error \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unIData/unIData-fail/unIData-fail.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unIData/unIData-fail/unIData-fail.uplc new file mode 100644 index 00000000..319e2127 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unIData/unIData-fail/unIData-fail.uplc @@ -0,0 +1,2 @@ +-- TODO: rerun test when data concrete syntax is introduced +(program 0.0.0 [(builtin unIData) (con data { ByteString #AF00 })]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unIData/unIData-fail/unIData-fail.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unIData/unIData-fail/unIData-fail.uplc.expected new file mode 100644 index 00000000..fd569489 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unIData/unIData-fail/unIData-fail.uplc.expected @@ -0,0 +1 @@ +parse error \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unIData/unIData1/unIData1.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unIData/unIData1/unIData1.uplc new file mode 100644 index 00000000..8b779790 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unIData/unIData1/unIData1.uplc @@ -0,0 +1 @@ +(program 0.0.0 [(builtin unIData) (con data { Integer 0 })]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unIData/unIData1/unIData1.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unIData/unIData1/unIData1.uplc.expected new file mode 100644 index 00000000..fd569489 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unIData/unIData1/unIData1.uplc.expected @@ -0,0 +1 @@ +parse error \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unListData/unListData-fail/unListData-fail.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unListData/unListData-fail/unListData-fail.uplc new file mode 100644 index 00000000..7780dbb7 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unListData/unListData-fail/unListData-fail.uplc @@ -0,0 +1,2 @@ +-- TODO: rerun test when data concrete syntax is introduced +(program 0.0.0 [(builtin unListData) (con data { ByteString #AF00 })]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unListData/unListData-fail/unListData-fail.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unListData/unListData-fail/unListData-fail.uplc.expected new file mode 100644 index 00000000..fd569489 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unListData/unListData-fail/unListData-fail.uplc.expected @@ -0,0 +1 @@ +parse error \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unListData/unListData1/unListData1.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unListData/unListData1/unListData1.uplc new file mode 100644 index 00000000..462276b9 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unListData/unListData1/unListData1.uplc @@ -0,0 +1 @@ +(program 0.0.0 [(builtin unListData) (con data { List [ Integer 0, Integer 1 ] })]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unListData/unListData1/unListData1.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unListData/unListData1/unListData1.uplc.expected new file mode 100644 index 00000000..fd569489 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unListData/unListData1/unListData1.uplc.expected @@ -0,0 +1 @@ +parse error \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unMapData/unMapData-fail/unMapData-fail.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unMapData/unMapData-fail/unMapData-fail.uplc new file mode 100644 index 00000000..dbae58a3 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unMapData/unMapData-fail/unMapData-fail.uplc @@ -0,0 +1,2 @@ +-- TODO: rerun test when data concrete syntax is introduced +(program 0.0.0 [(builtin unMapData) (con data { ByteString #AF00 })]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unMapData/unMapData-fail/unMapData-fail.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unMapData/unMapData-fail/unMapData-fail.uplc.expected new file mode 100644 index 00000000..fd569489 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unMapData/unMapData-fail/unMapData-fail.uplc.expected @@ -0,0 +1 @@ +parse error \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unMapData/unMapData1/unMapData1.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unMapData/unMapData1/unMapData1.uplc new file mode 100644 index 00000000..4bd19539 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unMapData/unMapData1/unMapData1.uplc @@ -0,0 +1 @@ +(program 0.0.0 [(builtin unMapData) (con data { Map [ (Integer 0, Integer 1) ] })]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unMapData/unMapData1/unMapData1.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unMapData/unMapData1/unMapData1.uplc.expected new file mode 100644 index 00000000..fd569489 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unMapData/unMapData1/unMapData1.uplc.expected @@ -0,0 +1 @@ +parse error \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEcdsaSecp256k1Signature/verifyEcdsaSecp256k1Signature-invalid-key/verifyEcdsaSecp256k1Signature-invalid-key.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEcdsaSecp256k1Signature/verifyEcdsaSecp256k1Signature-invalid-key/verifyEcdsaSecp256k1Signature-invalid-key.uplc new file mode 100644 index 00000000..e6212408 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEcdsaSecp256k1Signature/verifyEcdsaSecp256k1Signature-invalid-key/verifyEcdsaSecp256k1Signature-invalid-key.uplc @@ -0,0 +1,7 @@ +-- the header of public key should be 02 or 03 +-- 04 is for uncompressed, we don't have uncompressed +-- other bits would also break, e.g. 01,05... +(program 0.0.0 [[[(builtin verifyEcdsaSecp256k1Signature) + (con bytestring #04e253af0766804b869bb1595be9765b534886bbaab8305bf50dbc7f899bfb5f01)] + (con bytestring #e253af0766804b869bb1595be9765b534886bbaab8305bf50dbc7f899bfb5f01)] + (con bytestring #b2fc46ad47af464478c199e1f8be169f1be6327c7f9a0a6689371ca94caf04064a01b22aff1520abd58951341603faed768cf78ce97ae7b038abfe456aa17c09)]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEcdsaSecp256k1Signature/verifyEcdsaSecp256k1Signature-invalid-key/verifyEcdsaSecp256k1Signature-invalid-key.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEcdsaSecp256k1Signature/verifyEcdsaSecp256k1Signature-invalid-key/verifyEcdsaSecp256k1Signature-invalid-key.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEcdsaSecp256k1Signature/verifyEcdsaSecp256k1Signature-invalid-key/verifyEcdsaSecp256k1Signature-invalid-key.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEcdsaSecp256k1Signature/verifyEcdsaSecp256k1Signature-long-key/verifyEcdsaSecp256k1Signature-long-key.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEcdsaSecp256k1Signature/verifyEcdsaSecp256k1Signature-long-key/verifyEcdsaSecp256k1Signature-long-key.uplc new file mode 100644 index 00000000..13be5397 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEcdsaSecp256k1Signature/verifyEcdsaSecp256k1Signature-long-key/verifyEcdsaSecp256k1Signature-long-key.uplc @@ -0,0 +1,4 @@ +(program 0.0.0 [[[(builtin verifyEcdsaSecp256k1Signature) + (con bytestring #02e253af0766804b869bb1595be9765b534886bbaab8305bf50dbc7f899bfb5f0101)] + (con bytestring #e253af0766804b869bb1595be9765b534886bbaab8305bf50dbc7f899bfb5f01)] + (con bytestring #b2fc46ad47af464478c199e1f8be169f1be6327c7f9a0a6689371ca94caf04064a01b22aff1520abd58951341603faed768cf78ce97ae7b038abfe456aa17c09)]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEcdsaSecp256k1Signature/verifyEcdsaSecp256k1Signature-long-key/verifyEcdsaSecp256k1Signature-long-key.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEcdsaSecp256k1Signature/verifyEcdsaSecp256k1Signature-long-key/verifyEcdsaSecp256k1Signature-long-key.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEcdsaSecp256k1Signature/verifyEcdsaSecp256k1Signature-long-key/verifyEcdsaSecp256k1Signature-long-key.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEcdsaSecp256k1Signature/verifyEcdsaSecp256k1Signature-long-msg/verifyEcdsaSecp256k1Signature-long-msg.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEcdsaSecp256k1Signature/verifyEcdsaSecp256k1Signature-long-msg/verifyEcdsaSecp256k1Signature-long-msg.uplc new file mode 100644 index 00000000..7222ddb5 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEcdsaSecp256k1Signature/verifyEcdsaSecp256k1Signature-long-msg/verifyEcdsaSecp256k1Signature-long-msg.uplc @@ -0,0 +1,4 @@ +(program 0.0.0 [[[(builtin verifyEcdsaSecp256k1Signature) + (con bytestring #02e253af0766804b869bb1595be9765b534886bbaab8305bf50dbc7f899bfb5f01)] + (con bytestring #e253af0766804b869bb1595be9765b534886bbaab8305bf50dbc7f899bfb5f0101)] + (con bytestring #b2fc46ad47af464478c199e1f8be169f1be6327c7f9a0a6689371ca94caf04064a01b22aff1520abd58951341603faed768cf78ce97ae7b038abfe456aa17c09)]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEcdsaSecp256k1Signature/verifyEcdsaSecp256k1Signature-long-msg/verifyEcdsaSecp256k1Signature-long-msg.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEcdsaSecp256k1Signature/verifyEcdsaSecp256k1Signature-long-msg/verifyEcdsaSecp256k1Signature-long-msg.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEcdsaSecp256k1Signature/verifyEcdsaSecp256k1Signature-long-msg/verifyEcdsaSecp256k1Signature-long-msg.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEcdsaSecp256k1Signature/verifyEcdsaSecp256k1Signature-long-sig/verifyEcdsaSecp256k1Signature-long-sig.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEcdsaSecp256k1Signature/verifyEcdsaSecp256k1Signature-long-sig/verifyEcdsaSecp256k1Signature-long-sig.uplc new file mode 100644 index 00000000..8c14700b --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEcdsaSecp256k1Signature/verifyEcdsaSecp256k1Signature-long-sig/verifyEcdsaSecp256k1Signature-long-sig.uplc @@ -0,0 +1,4 @@ +(program 0.0.0 [[[(builtin verifyEcdsaSecp256k1Signature) + (con bytestring #02e253af0766804b869bb1595be9765b534886bbaab8305bf50dbc7f899bfb5f01)] + (con bytestring #e253af0766804b869bb1595be9765b534886bbaab8305bf50dbc7f899bfb5f01)] + (con bytestring #b2fc46ad47af464478c199e1f8be169f1be6327c7f9a0a6689371ca94caf04064a01b22aff1520abd58951341603faed768cf78ce97ae7b038abfe456aa17c0909)]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEcdsaSecp256k1Signature/verifyEcdsaSecp256k1Signature-long-sig/verifyEcdsaSecp256k1Signature-long-sig.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEcdsaSecp256k1Signature/verifyEcdsaSecp256k1Signature-long-sig/verifyEcdsaSecp256k1Signature-long-sig.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEcdsaSecp256k1Signature/verifyEcdsaSecp256k1Signature-long-sig/verifyEcdsaSecp256k1Signature-long-sig.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEcdsaSecp256k1Signature/verifyEcdsaSecp256k1Signature-short-key/verifyEcdsaSecp256k1Signature-short-key.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEcdsaSecp256k1Signature/verifyEcdsaSecp256k1Signature-short-key/verifyEcdsaSecp256k1Signature-short-key.uplc new file mode 100644 index 00000000..4e28ad50 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEcdsaSecp256k1Signature/verifyEcdsaSecp256k1Signature-short-key/verifyEcdsaSecp256k1Signature-short-key.uplc @@ -0,0 +1,4 @@ +(program 0.0.0 [[[(builtin verifyEcdsaSecp256k1Signature) + (con bytestring #02e253af0766804b869bb1595be9765b534886bbaab8305bf50dbc7f899bfb5f)] + (con bytestring #e253af0766804b869bb1595be9765b534886bbaab8305bf50dbc7f899bfb5f01)] + (con bytestring #b2fc46ad47af464478c199e1f8be169f1be6327c7f9a0a6689371ca94caf04064a01b22aff1520abd58951341603faed768cf78ce97ae7b038abfe456aa17c09)]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEcdsaSecp256k1Signature/verifyEcdsaSecp256k1Signature-short-key/verifyEcdsaSecp256k1Signature-short-key.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEcdsaSecp256k1Signature/verifyEcdsaSecp256k1Signature-short-key/verifyEcdsaSecp256k1Signature-short-key.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEcdsaSecp256k1Signature/verifyEcdsaSecp256k1Signature-short-key/verifyEcdsaSecp256k1Signature-short-key.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEcdsaSecp256k1Signature/verifyEcdsaSecp256k1Signature-short-msg/verifyEcdsaSecp256k1Signature-short-msg.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEcdsaSecp256k1Signature/verifyEcdsaSecp256k1Signature-short-msg/verifyEcdsaSecp256k1Signature-short-msg.uplc new file mode 100644 index 00000000..e3527029 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEcdsaSecp256k1Signature/verifyEcdsaSecp256k1Signature-short-msg/verifyEcdsaSecp256k1Signature-short-msg.uplc @@ -0,0 +1,4 @@ +(program 0.0.0 [[[(builtin verifyEcdsaSecp256k1Signature) + (con bytestring #02e253af0766804b869bb1595be9765b534886bbaab8305bf50dbc7f899bfb5f01)] + (con bytestring #e253af0766804b869bb1595be9765b534886bbaab8305bf50dbc7f899bfb5f)] + (con bytestring #b2fc46ad47af464478c199e1f8be169f1be6327c7f9a0a6689371ca94caf04064a01b22aff1520abd58951341603faed768cf78ce97ae7b038abfe456aa17c09)]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEcdsaSecp256k1Signature/verifyEcdsaSecp256k1Signature-short-msg/verifyEcdsaSecp256k1Signature-short-msg.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEcdsaSecp256k1Signature/verifyEcdsaSecp256k1Signature-short-msg/verifyEcdsaSecp256k1Signature-short-msg.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEcdsaSecp256k1Signature/verifyEcdsaSecp256k1Signature-short-msg/verifyEcdsaSecp256k1Signature-short-msg.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEcdsaSecp256k1Signature/verifyEcdsaSecp256k1Signature-short-sig/verifyEcdsaSecp256k1Signature-short-sig.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEcdsaSecp256k1Signature/verifyEcdsaSecp256k1Signature-short-sig/verifyEcdsaSecp256k1Signature-short-sig.uplc new file mode 100644 index 00000000..e5e83d27 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEcdsaSecp256k1Signature/verifyEcdsaSecp256k1Signature-short-sig/verifyEcdsaSecp256k1Signature-short-sig.uplc @@ -0,0 +1,4 @@ +(program 0.0.0 [[[(builtin verifyEcdsaSecp256k1Signature) + (con bytestring #02e253af0766804b869bb1595be9765b534886bbaab8305bf50dbc7f899bfb5f01)] + (con bytestring #e253af0766804b869bb1595be9765b534886bbaab8305bf50dbc7f899bfb5f01)] + (con bytestring #b2fc46ad47af464478c199e1f8be169f1be6327c7f9a0a6689371ca94caf04064a01b22aff1520abd58951341603faed768cf78ce97ae7b038abfe456aa17c)]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEcdsaSecp256k1Signature/verifyEcdsaSecp256k1Signature-short-sig/verifyEcdsaSecp256k1Signature-short-sig.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEcdsaSecp256k1Signature/verifyEcdsaSecp256k1Signature-short-sig/verifyEcdsaSecp256k1Signature-short-sig.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEcdsaSecp256k1Signature/verifyEcdsaSecp256k1Signature-short-sig/verifyEcdsaSecp256k1Signature-short-sig.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature1/verifyEd25519Signature1.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature1/verifyEd25519Signature1.uplc new file mode 100644 index 00000000..c29535a5 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature1/verifyEd25519Signature1.uplc @@ -0,0 +1,4 @@ +(program 0.0.0 [[[(builtin verifyEd25519Signature) + (con bytestring #d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a)] + (con bytestring #)] + (con bytestring #e5564300c360ac729086e2cc806e828a84877f1eb8e5d974d873e065224901555fb8821590a33bacc61e39701cf9b46bd25bf5f0595bbe24655141438e7a100b)]) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature1/verifyEd25519Signature1.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature1/verifyEd25519Signature1.uplc.expected new file mode 100644 index 00000000..b1057ef7 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature1/verifyEd25519Signature1.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature10/verifyEd25519Signature10.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature10/verifyEd25519Signature10.uplc new file mode 100644 index 00000000..d258cd6a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature10/verifyEd25519Signature10.uplc @@ -0,0 +1,4 @@ +(program 0.0.0 [[[(builtin verifyEd25519Signature) + (con bytestring #c1a49c66e617f9ef5ec66bc4c6564ca33de2a5fb5e1464062e6d6c6219155efd)] + (con bytestring #672bf8965d04bc5146)] + (con bytestring #2c76a04af2391c147082e33faacdbe56642a1e134bd388620b852b901a6bc16ff6c9cc9404c41dea12ed281da067a1513866f9d964f8bdd24953856c50042901)]) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature10/verifyEd25519Signature10.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature10/verifyEd25519Signature10.uplc.expected new file mode 100644 index 00000000..b1057ef7 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature10/verifyEd25519Signature10.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature11/verifyEd25519Signature11.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature11/verifyEd25519Signature11.uplc new file mode 100644 index 00000000..2797d7ba --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature11/verifyEd25519Signature11.uplc @@ -0,0 +1,4 @@ +(program 0.0.0 [[[(builtin verifyEd25519Signature) + (con bytestring #31b2524b8348f7ab1dfafa675cc538e9a84e3fe5819e27c12ad8bbc1a36e4dff)] + (con bytestring #33d7a786aded8c1bf691)] + (con bytestring #28e4598c415ae9de01f03f9f3fab4e919e8bf537dd2b0cdf6e79b9e6559c9409d9151a4c40f083193937627c369488259e99da5a9f0a87497fa6696a5dd6ce08)]) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature11/verifyEd25519Signature11.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature11/verifyEd25519Signature11.uplc.expected new file mode 100644 index 00000000..b1057ef7 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature11/verifyEd25519Signature11.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature12/verifyEd25519Signature12.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature12/verifyEd25519Signature12.uplc new file mode 100644 index 00000000..cb332d4e --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature12/verifyEd25519Signature12.uplc @@ -0,0 +1,4 @@ +(program 0.0.0 [[[(builtin verifyEd25519Signature) + (con bytestring #44b57ee30cdb55829d0a5d4f046baef078f1e97a7f21b62d75f8e96ea139c35f)] + (con bytestring #3486f68848a65a0eb5507d)] + (con bytestring #77d389e599630d934076329583cd4105a649a9292abc44cd28c40000c8e2f5ac7660a81c85b72af8452d7d25c070861dae91601c7803d656531650dd4e5c4100)]) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature12/verifyEd25519Signature12.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature12/verifyEd25519Signature12.uplc.expected new file mode 100644 index 00000000..b1057ef7 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature12/verifyEd25519Signature12.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature13/verifyEd25519Signature13.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature13/verifyEd25519Signature13.uplc new file mode 100644 index 00000000..ec9cf40b --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature13/verifyEd25519Signature13.uplc @@ -0,0 +1,4 @@ +(program 0.0.0 [[[(builtin verifyEd25519Signature) + (con bytestring #6fe83693d011d111131c4f3fbaaa40a9d3d76b30012ff73bb0e39ec27ab18257)] + (con bytestring #5a8d9d0a22357e6655f9c785)] + (con bytestring #0f9ad9793033a2fa06614b277d37381e6d94f65ac2a5a94558d09ed6ce922258c1a567952e863ac94297aec3c0d0c8ddf71084e504860bb6ba27449b55adc40e)]) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature13/verifyEd25519Signature13.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature13/verifyEd25519Signature13.uplc.expected new file mode 100644 index 00000000..b1057ef7 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature13/verifyEd25519Signature13.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature14/verifyEd25519Signature14.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature14/verifyEd25519Signature14.uplc new file mode 100644 index 00000000..1a908dbc --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature14/verifyEd25519Signature14.uplc @@ -0,0 +1,4 @@ +(program 0.0.0 [[[(builtin verifyEd25519Signature) + (con bytestring #a2eb8c0501e30bae0cf842d2bde8dec7386f6b7fc3981b8c57c9792bb94cf2dd)] + (con bytestring #b87d3813e03f58cf19fd0b6395)] + (con bytestring #d8bb64aad8c9955a115a793addd24f7f2b077648714f49c4694ec995b330d09d640df310f447fd7b6cb5c14f9fe9f490bcf8cfadbfd2169c8ac20d3b8af49a0c)]) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature14/verifyEd25519Signature14.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature14/verifyEd25519Signature14.uplc.expected new file mode 100644 index 00000000..b1057ef7 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature14/verifyEd25519Signature14.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature15/verifyEd25519Signature15.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature15/verifyEd25519Signature15.uplc new file mode 100644 index 00000000..ec1cf10b --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature15/verifyEd25519Signature15.uplc @@ -0,0 +1,4 @@ +(program 0.0.0 [[[(builtin verifyEd25519Signature) + (con bytestring #cf3af898467a5b7a52d33d53bc037e2642a8da996903fc252217e9c033e2f291)] + (con bytestring #55c7fa434f5ed8cdec2b7aeac173)] + (con bytestring #6ee3fe81e23c60eb2312b2006b3b25e6838e02106623f844c44edb8dafd66ab0671087fd195df5b8f58a1d6e52af42908053d55c7321010092748795ef94cf06)]) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature15/verifyEd25519Signature15.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature15/verifyEd25519Signature15.uplc.expected new file mode 100644 index 00000000..b1057ef7 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature15/verifyEd25519Signature15.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature16/verifyEd25519Signature16.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature16/verifyEd25519Signature16.uplc new file mode 100644 index 00000000..1d1fb97f --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature16/verifyEd25519Signature16.uplc @@ -0,0 +1,4 @@ +(program 0.0.0 [[[(builtin verifyEd25519Signature) + (con bytestring #fd2a565723163e29f53c9de3d5e8fbe36a7ab66e1439ec4eae9c0a604af291a5)] + (con bytestring #0a688e79be24f866286d4646b5d81c)] + (con bytestring #f68d04847e5b249737899c014d31c805c5007a62c0a10d50bb1538c5f35503951fbc1e08682f2cc0c92efe8f4985dec61dcbd54d4b94a22547d24451271c8b00)]) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature16/verifyEd25519Signature16.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature16/verifyEd25519Signature16.uplc.expected new file mode 100644 index 00000000..b1057ef7 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature16/verifyEd25519Signature16.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature17/verifyEd25519Signature17.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature17/verifyEd25519Signature17.uplc new file mode 100644 index 00000000..8646e659 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature17/verifyEd25519Signature17.uplc @@ -0,0 +1,4 @@ +(program 0.0.0 [[[(builtin verifyEd25519Signature) + (con bytestring #34e5a8508c4743746962c066e4badea2201b8ab484de5c4f94476ccd2143955b)] + (con bytestring #c942fa7ac6b23ab7ff612fdc8e68ef39)] + (con bytestring #2a3d27dc40d0a8127949a3b7f908b3688f63b7f14f651aacd715940bdbe27a0809aac142f47ab0e1e44fa490ba87ce5392f33a891539caf1ef4c367cae54500c)]) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature17/verifyEd25519Signature17.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature17/verifyEd25519Signature17.uplc.expected new file mode 100644 index 00000000..b1057ef7 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature17/verifyEd25519Signature17.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature18/verifyEd25519Signature18.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature18/verifyEd25519Signature18.uplc new file mode 100644 index 00000000..462c7ff4 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature18/verifyEd25519Signature18.uplc @@ -0,0 +1,4 @@ +(program 0.0.0 [[[(builtin verifyEd25519Signature) + (con bytestring #0445e456dacc7d5b0bbed23c8200cdb74bdcb03e4c7b73f0a2b9b46eac5d4372)] + (con bytestring #7368724a5b0efb57d28d97622dbde725af)] + (con bytestring #3653ccb21219202b8436fb41a32ba2618c4a133431e6e63463ceb3b6106c4d56e1d2ba165ba76eaad3dc39bffb130f1de3d8e6427db5b71938db4e272bc3e20b)]) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature18/verifyEd25519Signature18.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature18/verifyEd25519Signature18.uplc.expected new file mode 100644 index 00000000..b1057ef7 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature18/verifyEd25519Signature18.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature19/verifyEd25519Signature19.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature19/verifyEd25519Signature19.uplc new file mode 100644 index 00000000..f558d30c --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature19/verifyEd25519Signature19.uplc @@ -0,0 +1,4 @@ +(program 0.0.0 [[[(builtin verifyEd25519Signature) + (con bytestring #74d29127f199d86a8676aec33b4ce3f225ccb191f52c191ccd1e8cca65213a6b)] + (con bytestring #bd8e05033f3a8bcdcbf4beceb70901c82e31)] + (con bytestring #fbe929d743a03c17910575492f3092ee2a2bf14a60a3fcacec74a58c7334510fc262db582791322d6c8c41f1700adb80027ecabc14270b703444ae3ee7623e0a)]) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature19/verifyEd25519Signature19.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature19/verifyEd25519Signature19.uplc.expected new file mode 100644 index 00000000..b1057ef7 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature19/verifyEd25519Signature19.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature2/verifyEd25519Signature2.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature2/verifyEd25519Signature2.uplc new file mode 100644 index 00000000..c1e435e2 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature2/verifyEd25519Signature2.uplc @@ -0,0 +1,4 @@ +(program 0.0.0 [[[(builtin verifyEd25519Signature) + (con bytestring #3d4017c3e843895a92b70aa74d1b7ebc9c982ccf2ec4968cc0cd55f12af4660c)] + (con bytestring #72)] + (con bytestring #92a009a9f0d4cab8720e820b5f642540a2b27b5416503f8fb3762223ebdb69da085ac1e43e15996e458f3613d0f11d8c387b2eaeb4302aeeb00d291612bb0c00)]) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature2/verifyEd25519Signature2.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature2/verifyEd25519Signature2.uplc.expected new file mode 100644 index 00000000..b1057ef7 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature2/verifyEd25519Signature2.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature20/verifyEd25519Signature20.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature20/verifyEd25519Signature20.uplc new file mode 100644 index 00000000..c8529a47 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature20/verifyEd25519Signature20.uplc @@ -0,0 +1,4 @@ +(program 0.0.0 [[[(builtin verifyEd25519Signature) + (con bytestring #5b96dca497875bf9664c5e75facf3f9bc54bae913d66ca15ee85f1491ca24d2c)] + (con bytestring #8171456f8b907189b1d779e26bc5afbb08c67a)] + (con bytestring #73bca64e9dd0db88138eedfafcea8f5436cfb74bfb0e7733cf349baa0c49775c56d5934e1d38e36f39b7c5beb0a836510c45126f8ec4b6810519905b0ca07c09)]) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature20/verifyEd25519Signature20.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature20/verifyEd25519Signature20.uplc.expected new file mode 100644 index 00000000..b1057ef7 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature20/verifyEd25519Signature20.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature21/verifyEd25519Signature21.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature21/verifyEd25519Signature21.uplc new file mode 100644 index 00000000..8683db0b --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature21/verifyEd25519Signature21.uplc @@ -0,0 +1,4 @@ +(program 0.0.0 [[[(builtin verifyEd25519Signature) + (con bytestring #1ca281938529896535a7714e3584085b86ef9fec723f42819fc8dd5d8c00817f)] + (con bytestring #8ba6a4c9a15a244a9c26bb2a59b1026f21348b49)] + (con bytestring #a1adc2bc6a2d980662677e7fdff6424de7dba50f5795ca90fdf3e96e256f3285cac71d3360482e993d0294ba4ec7440c61affdf35fe83e6e04263937db93f105)]) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature21/verifyEd25519Signature21.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature21/verifyEd25519Signature21.uplc.expected new file mode 100644 index 00000000..b1057ef7 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature21/verifyEd25519Signature21.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature22/verifyEd25519Signature22.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature22/verifyEd25519Signature22.uplc new file mode 100644 index 00000000..1d67ac7e --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature22/verifyEd25519Signature22.uplc @@ -0,0 +1,4 @@ +(program 0.0.0 [[[(builtin verifyEd25519Signature) + (con bytestring #7fae45dd0a05971026d410bc497af5be7d0827a82a145c203f625dfcb8b03ba8)] + (con bytestring #1d566a6232bbaab3e6d8804bb518a498ed0f904986)] + (con bytestring #bb61cf84de61862207c6a455258bc4db4e15eea0317ff88718b882a06b5cf6ec6fd20c5a269e5d5c805bafbcc579e2590af414c7c227273c102a10070cdfe80f)]) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature22/verifyEd25519Signature22.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature22/verifyEd25519Signature22.uplc.expected new file mode 100644 index 00000000..b1057ef7 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature22/verifyEd25519Signature22.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature23/verifyEd25519Signature23.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature23/verifyEd25519Signature23.uplc new file mode 100644 index 00000000..0ab74c72 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature23/verifyEd25519Signature23.uplc @@ -0,0 +1,4 @@ +(program 0.0.0 [[[(builtin verifyEd25519Signature) + (con bytestring #48359b850d23f0715d94bb8bb75e7e14322eaf14f06f28a805403fbda002fc85)] + (con bytestring #1b0afb0ac4ba9ab7b7172cddc9eb42bba1a64bce47d4)] + (con bytestring #b6dcd09989dfbac54322a3ce87876e1d62134da998c79d24b50bd7a6a797d86a0e14dc9d7491d6c14a673c652cfbec9f962a38c945da3b2f0879d0b68a921300)]) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature23/verifyEd25519Signature23.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature23/verifyEd25519Signature23.uplc.expected new file mode 100644 index 00000000..b1057ef7 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature23/verifyEd25519Signature23.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature24/verifyEd25519Signature24.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature24/verifyEd25519Signature24.uplc new file mode 100644 index 00000000..1a135060 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature24/verifyEd25519Signature24.uplc @@ -0,0 +1,4 @@ +(program 0.0.0 [[[(builtin verifyEd25519Signature) + (con bytestring #fdb30673402faf1c8033714f3517e47cc0f91fe70cf3836d6c23636e3fd2287c)] + (con bytestring #507c94c8820d2a5793cbf3442b3d71936f35fe3afef316)] + (con bytestring #7ef66e5e86f2360848e0014e94880ae2920ad8a3185a46b35d1e07dea8fa8ae4f6b843ba174d99fa7986654a0891c12a794455669375bf92af4cc2770b579e0c)]) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature24/verifyEd25519Signature24.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature24/verifyEd25519Signature24.uplc.expected new file mode 100644 index 00000000..b1057ef7 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature24/verifyEd25519Signature24.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature25/verifyEd25519Signature25.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature25/verifyEd25519Signature25.uplc new file mode 100644 index 00000000..2300b191 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature25/verifyEd25519Signature25.uplc @@ -0,0 +1,4 @@ +(program 0.0.0 [[[(builtin verifyEd25519Signature) + (con bytestring #b1d39801892027d58a8c64335163195893bfc1b61dbeca3260497e1f30371107)] + (con bytestring #d3d615a8472d9962bb70c5b5466a3d983a4811046e2a0ef5)] + (con bytestring #836afa764d9c48aa4770a4388b654e97b3c16f082967febca27f2fc47ddfd9244b03cfc729698acf5109704346b60b230f255430089ddc56912399d1122de70a)]) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature25/verifyEd25519Signature25.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature25/verifyEd25519Signature25.uplc.expected new file mode 100644 index 00000000..b1057ef7 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature25/verifyEd25519Signature25.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature26/verifyEd25519Signature26.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature26/verifyEd25519Signature26.uplc new file mode 100644 index 00000000..ce94e043 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature26/verifyEd25519Signature26.uplc @@ -0,0 +1,4 @@ +(program 0.0.0 [[[(builtin verifyEd25519Signature) + (con bytestring #d0c846f97fe28585c0ee159015d64c56311c886eddcc185d296dbb165d2625d6)] + (con bytestring #6ada80b6fa84f7034920789e8536b82d5e4678059aed27f71c)] + (con bytestring #16e462a29a6dd498685a3718b3eed00cc1598601ee47820486032d6b9acc9bf89f57684e08d8c0f05589cda2882a05dc4c63f9d0431d6552710812433003bc08)]) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature26/verifyEd25519Signature26.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature26/verifyEd25519Signature26.uplc.expected new file mode 100644 index 00000000..b1057ef7 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature26/verifyEd25519Signature26.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature27/verifyEd25519Signature27.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature27/verifyEd25519Signature27.uplc new file mode 100644 index 00000000..dba00a9a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature27/verifyEd25519Signature27.uplc @@ -0,0 +1,4 @@ +(program 0.0.0 [[[(builtin verifyEd25519Signature) + (con bytestring #2bf32ba142ba4622d8f3e29ecd85eea07b9c47be9d64412c9b510b27dd218b23)] + (con bytestring #82cb53c4d5a013bae5070759ec06c3c6955ab7a4050958ec328c)] + (con bytestring #881f5b8c5a030df0f75b6634b070dd27bd1ee3c08738ae349338b3ee6469bbf9760b13578a237d5182535ede121283027a90b5f865d63a6537dca07b44049a0f)]) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature27/verifyEd25519Signature27.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature27/verifyEd25519Signature27.uplc.expected new file mode 100644 index 00000000..b1057ef7 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature27/verifyEd25519Signature27.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature28/verifyEd25519Signature28.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature28/verifyEd25519Signature28.uplc new file mode 100644 index 00000000..b07f60f2 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature28/verifyEd25519Signature28.uplc @@ -0,0 +1,4 @@ +(program 0.0.0 [[[(builtin verifyEd25519Signature) + (con bytestring #94d23d977c33e49e5e4992c68f25ec99a27c41ce6b91f2bfa0cd8292fe962835)] + (con bytestring #a9a8cbb0ad585124e522abbfb40533bdd6f49347b55b18e8558cb0)] + (con bytestring #3acd39bec8c3cd2b44299722b5850a0400c1443590fd4861d59aae7496acb3df73fc3fdf7969ae5f50ba47dddc435246e5fd376f6b891cd4c2caf5d614b6170c)]) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature28/verifyEd25519Signature28.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature28/verifyEd25519Signature28.uplc.expected new file mode 100644 index 00000000..b1057ef7 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature28/verifyEd25519Signature28.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature29/verifyEd25519Signature29.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature29/verifyEd25519Signature29.uplc new file mode 100644 index 00000000..799a1d99 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature29/verifyEd25519Signature29.uplc @@ -0,0 +1,4 @@ +(program 0.0.0 [[[(builtin verifyEd25519Signature) + (con bytestring #9d084aa8b97a6b9bafa496dbc6f76f3306a116c9d917e681520a0f914369427e)] + (con bytestring #5cb6f9aa59b80eca14f6a68fb40cf07b794e75171fba96262c1c6adc)] + (con bytestring #f5875423781b66216cb5e8998de5d9ffc29d1d67107054ace3374503a9c3ef811577f269de81296744bd706f1ac478caf09b54cdf871b3f802bd57f9a6cb9101)]) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature29/verifyEd25519Signature29.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature29/verifyEd25519Signature29.uplc.expected new file mode 100644 index 00000000..b1057ef7 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature29/verifyEd25519Signature29.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature3/verifyEd25519Signature3.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature3/verifyEd25519Signature3.uplc new file mode 100644 index 00000000..1c982279 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature3/verifyEd25519Signature3.uplc @@ -0,0 +1,5 @@ +(program 0.0.0 [[[(builtin verifyEd25519Signature) + (con bytestring #fc51cd8e6218a1a38da47ed00230f0580816ed13ba3303ac5deb911548908025)] + (con bytestring #af82)] + (con bytestring #6291d657deec24024827e69c3abe01a30ce548a284743a445e3680d7db5ac3ac18ff9b538d16f290ae67f760984dc6594a7c15e9716ed28dc027beceea1ec40a)]) + diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature3/verifyEd25519Signature3.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature3/verifyEd25519Signature3.uplc.expected new file mode 100644 index 00000000..b1057ef7 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature3/verifyEd25519Signature3.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature30/verifyEd25519Signature30.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature30/verifyEd25519Signature30.uplc new file mode 100644 index 00000000..8d2c4af8 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature30/verifyEd25519Signature30.uplc @@ -0,0 +1,4 @@ +(program 0.0.0 [[[(builtin verifyEd25519Signature) + (con bytestring #16cee8a3f2631834c88b670897ff0b08ce90cc147b4593b3f1f403727f7e7ad5)] + (con bytestring #32fe27994124202153b5c70d3813fdee9c2aa6e7dc743d4d535f1840a5)] + (con bytestring #d834197c1a3080614e0a5fa0aaaa808824f21c38d692e6ffbd200f7dfb3c8f44402a7382180b98ad0afc8eec1a02acecf3cb7fde627b9f18111f260ab1db9a07)]) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature30/verifyEd25519Signature30.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature30/verifyEd25519Signature30.uplc.expected new file mode 100644 index 00000000..b1057ef7 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature30/verifyEd25519Signature30.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature31/verifyEd25519Signature31.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature31/verifyEd25519Signature31.uplc new file mode 100644 index 00000000..b6369724 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature31/verifyEd25519Signature31.uplc @@ -0,0 +1,4 @@ +(program 0.0.0 [[[(builtin verifyEd25519Signature) + (con bytestring #23be323c562dfd71ce65f5bba56a74a3a6dfc36b573d2f94f635c7f9b4fd5a5b)] + (con bytestring #bb3172795710fe00054d3b5dfef8a11623582da68bf8e46d72d27cece2aa)] + (con bytestring #0f8fad1e6bde771b4f5420eac75c378bae6db5ac6650cd2bc210c1823b432b48e016b10595458ffab92f7a8989b293ceb8dfed6c243a2038fc06652aaaf16f02)]) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature31/verifyEd25519Signature31.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature31/verifyEd25519Signature31.uplc.expected new file mode 100644 index 00000000..b1057ef7 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature31/verifyEd25519Signature31.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature4/verifyEd25519Signature4.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature4/verifyEd25519Signature4.uplc new file mode 100644 index 00000000..b0ed6be7 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature4/verifyEd25519Signature4.uplc @@ -0,0 +1,4 @@ +(program 0.0.0 [[[(builtin verifyEd25519Signature) + (con bytestring #e61a185bcef2613a6c7cb79763ce945d3b245d76114dd440bcf5f2dc1aa57057)] + (con bytestring #cbc77b)] + (con bytestring #d9868d52c2bebce5f3fa5a79891970f309cb6591e3e1702a70276fa97c24b3a8e58606c38c9758529da50ee31b8219cba45271c689afa60b0ea26c99db19b00c)]) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature4/verifyEd25519Signature4.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature4/verifyEd25519Signature4.uplc.expected new file mode 100644 index 00000000..b1057ef7 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature4/verifyEd25519Signature4.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature5/verifyEd25519Signature5.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature5/verifyEd25519Signature5.uplc new file mode 100644 index 00000000..053c66b7 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature5/verifyEd25519Signature5.uplc @@ -0,0 +1,4 @@ +(program 0.0.0 [[[(builtin verifyEd25519Signature) + (con bytestring #6df9340c138cc188b5fe4464ebaa3f7fc206a2d55c3434707e74c9fc04e20ebb)] + (con bytestring #5f4c8989)] + (con bytestring #124f6fc6b0d100842769e71bd530664d888df8507df6c56dedfdb509aeb93416e26b918d38aa06305df3095697c18b2aa832eaa52edc0ae49fbae5a85e150c07)]) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature5/verifyEd25519Signature5.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature5/verifyEd25519Signature5.uplc.expected new file mode 100644 index 00000000..dd87da54 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature5/verifyEd25519Signature5.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con bool False)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature6/verifyEd25519Signature6.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature6/verifyEd25519Signature6.uplc new file mode 100644 index 00000000..34e77acc --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature6/verifyEd25519Signature6.uplc @@ -0,0 +1,4 @@ +(program 0.0.0 [[[(builtin verifyEd25519Signature) + (con bytestring #e253af0766804b869bb1595be9765b534886bbaab8305bf50dbc7f899bfb5f01)] + (con bytestring #18b6bec097)] + (con bytestring #b2fc46ad47af464478c199e1f8be169f1be6327c7f9a0a6689371ca94caf04064a01b22aff1520abd58951341603faed768cf78ce97ae7b038abfe456aa17c09)]) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature6/verifyEd25519Signature6.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature6/verifyEd25519Signature6.uplc.expected new file mode 100644 index 00000000..b1057ef7 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature6/verifyEd25519Signature6.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature7/verifyEd25519Signature7.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature7/verifyEd25519Signature7.uplc new file mode 100644 index 00000000..28b638c4 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature7/verifyEd25519Signature7.uplc @@ -0,0 +1,4 @@ +(program 0.0.0 [[[(builtin verifyEd25519Signature) + (con bytestring #fbcfbfa40505d7f2be444a33d185cc54e16d615260e1640b2b5087b83ee3643d)] + (con bytestring #89010d855972)] + (con bytestring #6ed629fc1d9ce9e1468755ff636d5a3f40a5d9c91afd93b79d241830f7e5fa29854b8f20cc6eecbb248dbd8d16d14e99752194e4904d09c74d639518839d2300)]) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature7/verifyEd25519Signature7.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature7/verifyEd25519Signature7.uplc.expected new file mode 100644 index 00000000..b1057ef7 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature7/verifyEd25519Signature7.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature8/verifyEd25519Signature8.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature8/verifyEd25519Signature8.uplc new file mode 100644 index 00000000..c0e18458 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature8/verifyEd25519Signature8.uplc @@ -0,0 +1,4 @@ +(program 0.0.0 [[[(builtin verifyEd25519Signature) + (con bytestring #98a5e3a36e67aaba89888bf093de1ad963e774013b3902bfab356d8b90178a63)] + (con bytestring #b4a8f381e70e7a)] + (con bytestring #6e0af2fe55ae377a6b7a7278edfb419bd321e06d0df5e27037db8812e7e3529810fa5552f6c0020985ca17a0e02e036d7b222a24f99b77b75fdd16cb05568107)]) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature8/verifyEd25519Signature8.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature8/verifyEd25519Signature8.uplc.expected new file mode 100644 index 00000000..b1057ef7 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature8/verifyEd25519Signature8.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature9/verifyEd25519Signature9.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature9/verifyEd25519Signature9.uplc new file mode 100644 index 00000000..668c70c9 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature9/verifyEd25519Signature9.uplc @@ -0,0 +1,4 @@ +(program 0.0.0 [[[(builtin verifyEd25519Signature) + (con bytestring #f81fb54a825fced95eb033afcd64314075abfb0abd20a970892503436f34b863)] + (con bytestring #4284abc51bb67235)] + (con bytestring #d6addec5afb0528ac17bb178d3e7f2887f9adbb1ad16e110545ef3bc57f9de2314a5c8388f723b8907be0f3ac90c6259bbe885ecc17645df3db7d488f805fa08)]) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature9/verifyEd25519Signature9.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature9/verifyEd25519Signature9.uplc.expected new file mode 100644 index 00000000..b1057ef7 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519Signature9/verifyEd25519Signature9.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519SignatureLongKey/verifyEd25519SignatureLongKey.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519SignatureLongKey/verifyEd25519SignatureLongKey.uplc new file mode 100644 index 00000000..5b1d6a83 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519SignatureLongKey/verifyEd25519SignatureLongKey.uplc @@ -0,0 +1,4 @@ +(program 0.0.0 [[[(builtin verifyEd25519Signature) + (con bytestring #e253af0766804b869bb1595be9765b534886bbaab8305bf50dbc7f899bfb5f0101)] + (con bytestring #18b6bec097)] + (con bytestring #b2fc46ad47af464478c199e1f8be169f1be6327c7f9a0a6689371ca94caf04064a01b22aff1520abd58951341603faed768cf78ce97ae7b038abfe456aa17c09)]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519SignatureLongKey/verifyEd25519SignatureLongKey.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519SignatureLongKey/verifyEd25519SignatureLongKey.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519SignatureLongKey/verifyEd25519SignatureLongKey.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519SignatureLongSig/verifyEd25519SignatureLongSig.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519SignatureLongSig/verifyEd25519SignatureLongSig.uplc new file mode 100644 index 00000000..dda7bd82 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519SignatureLongSig/verifyEd25519SignatureLongSig.uplc @@ -0,0 +1,4 @@ +(program 0.0.0 [[[(builtin verifyEd25519Signature) + (con bytestring #e253af0766804b869bb1595be9765b534886bbaab8305bf50dbc7f899bfb5f01)] + (con bytestring #18b6bec097)] + (con bytestring #b2fc46ad47af464478c199e1f8be169f1be6327c7f9a0a6689371ca94caf04064a01b22aff1520abd58951341603faed768cf78ce97ae7b038abfe456aa17c0909)]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519SignatureLongSig/verifyEd25519SignatureLongSig.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519SignatureLongSig/verifyEd25519SignatureLongSig.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519SignatureLongSig/verifyEd25519SignatureLongSig.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519SignatureShortKey/verifyEd25519SignatureShortKey.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519SignatureShortKey/verifyEd25519SignatureShortKey.uplc new file mode 100644 index 00000000..5a824790 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519SignatureShortKey/verifyEd25519SignatureShortKey.uplc @@ -0,0 +1,4 @@ +(program 0.0.0 [[[(builtin verifyEd25519Signature) + (con bytestring #e253af0766804b869bb1595be9765b534886bbaab8305bf50dbc7f899bfb5f)] + (con bytestring #18b6bec097)] + (con bytestring #b2fc46ad47af464478c199e1f8be169f1be6327c7f9a0a6689371ca94caf04064a01b22aff1520abd58951341603faed768cf78ce97ae7b038abfe456aa17c09)]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519SignatureShortKey/verifyEd25519SignatureShortKey.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519SignatureShortKey/verifyEd25519SignatureShortKey.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519SignatureShortKey/verifyEd25519SignatureShortKey.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519SignatureShortSig/verifyEd25519SignatureShortSig.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519SignatureShortSig/verifyEd25519SignatureShortSig.uplc new file mode 100644 index 00000000..26288c98 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519SignatureShortSig/verifyEd25519SignatureShortSig.uplc @@ -0,0 +1,4 @@ +(program 0.0.0 [[[(builtin verifyEd25519Signature) + (con bytestring #e253af0766804b869bb1595be9765b534886bbaab8305bf50dbc7f899bfb5f01)] + (con bytestring #18b6bec097)] + (con bytestring #b2fc46ad47af464478c199e1f8be169f1be6327c7f9a0a6689371ca94caf04064a01b22aff1520abd58951341603faed768cf78ce97ae7b038abfe456aa17c)]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519SignatureShortSig/verifyEd25519SignatureShortSig.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519SignatureShortSig/verifyEd25519SignatureShortSig.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifyEd25519Signature/verifyEd25519SignatureShortSig/verifyEd25519SignatureShortSig.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifySchnorrSecp256k1Signature/verifySchnorrSecp256k1Signature-long-key/verifySchnorrSecp256k1Signature-long-key.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifySchnorrSecp256k1Signature/verifySchnorrSecp256k1Signature-long-key/verifySchnorrSecp256k1Signature-long-key.uplc new file mode 100644 index 00000000..882502a7 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifySchnorrSecp256k1Signature/verifySchnorrSecp256k1Signature-long-key/verifySchnorrSecp256k1Signature-long-key.uplc @@ -0,0 +1,4 @@ +(program 0.0.0 [[[(builtin verifySchnorrSecp256k1Signature) + (con bytestring #e253af0766804b869bb1595be9765b534886bbaab8305bf50dbc7f899bfb5f0101)] + (con bytestring #18b6bec097)] + (con bytestring #b2fc46ad47af464478c199e1f8be169f1be6327c7f9a0a6689371ca94caf04064a01b22aff1520abd58951341603faed768cf78ce97ae7b038abfe456aa17c09)]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifySchnorrSecp256k1Signature/verifySchnorrSecp256k1Signature-long-key/verifySchnorrSecp256k1Signature-long-key.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifySchnorrSecp256k1Signature/verifySchnorrSecp256k1Signature-long-key/verifySchnorrSecp256k1Signature-long-key.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifySchnorrSecp256k1Signature/verifySchnorrSecp256k1Signature-long-key/verifySchnorrSecp256k1Signature-long-key.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifySchnorrSecp256k1Signature/verifySchnorrSecp256k1Signature-long-sig/verifySchnorrSecp256k1Signature-long-sig.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifySchnorrSecp256k1Signature/verifySchnorrSecp256k1Signature-long-sig/verifySchnorrSecp256k1Signature-long-sig.uplc new file mode 100644 index 00000000..ef1d6519 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifySchnorrSecp256k1Signature/verifySchnorrSecp256k1Signature-long-sig/verifySchnorrSecp256k1Signature-long-sig.uplc @@ -0,0 +1,4 @@ +(program 0.0.0 [[[(builtin verifySchnorrSecp256k1Signature) + (con bytestring #e253af0766804b869bb1595be9765b534886bbaab8305bf50dbc7f899bfb5f01)] + (con bytestring #18b6bec097)] + (con bytestring #b2fc46ad47af464478c199e1f8be169f1be6327c7f9a0a6689371ca94caf04064a01b22aff1520abd58951341603faed768cf78ce97ae7b038abfe456aa17c0909)]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifySchnorrSecp256k1Signature/verifySchnorrSecp256k1Signature-long-sig/verifySchnorrSecp256k1Signature-long-sig.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifySchnorrSecp256k1Signature/verifySchnorrSecp256k1Signature-long-sig/verifySchnorrSecp256k1Signature-long-sig.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifySchnorrSecp256k1Signature/verifySchnorrSecp256k1Signature-long-sig/verifySchnorrSecp256k1Signature-long-sig.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifySchnorrSecp256k1Signature/verifySchnorrSecp256k1Signature-short-key/verifySchnorrSecp256k1Signature-short-key.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifySchnorrSecp256k1Signature/verifySchnorrSecp256k1Signature-short-key/verifySchnorrSecp256k1Signature-short-key.uplc new file mode 100644 index 00000000..4dd3a72e --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifySchnorrSecp256k1Signature/verifySchnorrSecp256k1Signature-short-key/verifySchnorrSecp256k1Signature-short-key.uplc @@ -0,0 +1,4 @@ +(program 0.0.0 [[[(builtin verifySchnorrSecp256k1Signature) + (con bytestring #e253af0766804b869bb1595be9765b534886bbaab8305bf50dbc7f899bfb5f)] + (con bytestring #18b6bec097)] + (con bytestring #b2fc46ad47af464478c199e1f8be169f1be6327c7f9a0a6689371ca94caf04064a01b22aff1520abd58951341603faed768cf78ce97ae7b038abfe456aa17c09)]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifySchnorrSecp256k1Signature/verifySchnorrSecp256k1Signature-short-key/verifySchnorrSecp256k1Signature-short-key.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifySchnorrSecp256k1Signature/verifySchnorrSecp256k1Signature-short-key/verifySchnorrSecp256k1Signature-short-key.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifySchnorrSecp256k1Signature/verifySchnorrSecp256k1Signature-short-key/verifySchnorrSecp256k1Signature-short-key.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifySchnorrSecp256k1Signature/verifySchnorrSecp256k1Signature-short-sig/verifySchnorrSecp256k1Signature-short-sig.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifySchnorrSecp256k1Signature/verifySchnorrSecp256k1Signature-short-sig/verifySchnorrSecp256k1Signature-short-sig.uplc new file mode 100644 index 00000000..0d769ed2 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifySchnorrSecp256k1Signature/verifySchnorrSecp256k1Signature-short-sig/verifySchnorrSecp256k1Signature-short-sig.uplc @@ -0,0 +1,4 @@ +(program 0.0.0 [[[(builtin verifySchnorrSecp256k1Signature) + (con bytestring #e253af0766804b869bb1595be9765b534886bbaab8305bf50dbc7f899bfb5f01)] + (con bytestring #18b6bec097)] + (con bytestring #b2fc46ad47af464478c199e1f8be169f1be6327c7f9a0a6689371ca94caf04064a01b22aff1520abd58951341603faed768cf78ce97ae7b038abfe456aa17c)]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifySchnorrSecp256k1Signature/verifySchnorrSecp256k1Signature-short-sig/verifySchnorrSecp256k1Signature-short-sig.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifySchnorrSecp256k1Signature/verifySchnorrSecp256k1Signature-short-sig/verifySchnorrSecp256k1Signature-short-sig.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/verifySchnorrSecp256k1Signature/verifySchnorrSecp256k1Signature-short-sig/verifySchnorrSecp256k1Signature-short-sig.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/example/ApplyAdd1/ApplyAdd1.uplc b/crates/uplc/test_data/conformance/evaluation/example/ApplyAdd1/ApplyAdd1.uplc new file mode 100644 index 00000000..601c56c3 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/example/ApplyAdd1/ApplyAdd1.uplc @@ -0,0 +1,94 @@ +(program + 1.0.0 + [ + [ + (force (force (delay (delay (lam f (lam x [ f x ])))))) + [ + (builtin addInteger) + [ + (lam + x0 + [ + [ + (builtin multiplyInteger) + [ [ (builtin multiplyInteger) x0 ] x0 ] + ] + [ + [ + (builtin subtractInteger) + [ + [ (builtin subtractInteger) (con integer 0) ] + (con integer 1) + ] + ] + [ + [ (builtin subtractInteger) (con integer 3) ] (con integer 0) + ] + ] + ] + ) + [ + (lam + x1 + [ + [ + (builtin subtractInteger) + [ + [ (builtin multiplyInteger) (con integer 0) ] + (con integer 2) + ] + ] + [ [ (builtin addInteger) (con integer 0) ] (con integer 1) ] + ] + ) + [ + (lam + x2 + [ + [ (builtin subtractInteger) (con integer 2) ] (con integer 2) + ] + ) + [ (builtin sha3_256) (con bytestring #76) ] + ] + ] + ] + ] + ] + [ + (lam + x0 + [ + [ + (builtin addInteger) + [ + [ + (builtin addInteger) + [ + [ (builtin multiplyInteger) (con integer 2) ] (con integer 1) + ] + ] + [ [ (builtin addInteger) (con integer 2) ] (con integer 3) ] + ] + ] + [ + [ + (builtin subtractInteger) + [ [ (builtin subtractInteger) (con integer 1) ] (con integer 2) ] + ] + [ [ (builtin subtractInteger) (con integer 2) ] (con integer 1) ] + ] + ] + ) + [ + [ (builtin lessThanInteger) (con integer 3) ] + [ + [ + (builtin multiplyInteger) + [ [ (builtin addInteger) (con integer 2) ] (con integer 1) ] + ] + [ [ (builtin subtractInteger) (con integer 2) ] (con integer 0) ] + ] + ] + ] + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/example/ApplyAdd1/ApplyAdd1.uplc.expected b/crates/uplc/test_data/conformance/evaluation/example/ApplyAdd1/ApplyAdd1.uplc.expected new file mode 100644 index 00000000..8e9a3b22 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/example/ApplyAdd1/ApplyAdd1.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con integer 1)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/example/ApplyAdd2/ApplyAdd2.uplc b/crates/uplc/test_data/conformance/evaluation/example/ApplyAdd2/ApplyAdd2.uplc new file mode 100644 index 00000000..691d4641 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/example/ApplyAdd2/ApplyAdd2.uplc @@ -0,0 +1,106 @@ +(program + 1.0.0 + [ + [ + [ + (force (force (delay (delay (lam f (lam x [ f x ])))))) + (builtin addInteger) + ] + [ + (lam + x0 + [ + [ + (builtin multiplyInteger) + [ + [ + (builtin subtractInteger) + [ + [ (builtin subtractInteger) (con integer 3) ] + (con integer 2) + ] + ] + [ [ (builtin addInteger) (con integer 2) ] (con integer 0) ] + ] + ] + [ + [ + (builtin subtractInteger) + [ + [ (builtin multiplyInteger) (con integer 3) ] (con integer 0) + ] + ] + [ [ (builtin multiplyInteger) (con integer 1) ] (con integer 1) ] + ] + ] + ) + [ + [ + (builtin lessThanEqualsInteger) + [ + [ + (builtin subtractInteger) + [ + [ (builtin multiplyInteger) (con integer 3) ] (con integer 3) + ] + ] + [ [ (builtin subtractInteger) (con integer 2) ] (con integer 3) ] + ] + ] + [ + [ + (builtin addInteger) + [ [ (builtin addInteger) (con integer 2) ] (con integer 3) ] + ] + [ [ (builtin subtractInteger) (con integer 3) ] (con integer 3) ] + ] + ] + ] + ] + [ + (lam + x0 + [ + (lam + x2 + [ + [ + (builtin addInteger) + [ + [ (builtin subtractInteger) (con integer 0) ] (con integer 3) + ] + ] + [ [ (builtin subtractInteger) (con integer 2) ] (con integer 1) ] + ] + ) + [ + [ + (builtin subtractInteger) + [ [ (builtin addInteger) (con integer 1) ] (con integer 1) ] + ] + [ [ (builtin subtractInteger) (con integer 2) ] (con integer 0) ] + ] + ] + ) + [ + (lam + x1 + [ + [ + (builtin lessThanInteger) + [ [ (builtin multiplyInteger) (con integer 0) ] (con integer 3) ] + ] + [ [ (builtin addInteger) (con integer 0) ] (con integer 1) ] + ] + ) + [ + [ + (builtin equalsInteger) + [ [ (builtin multiplyInteger) (con integer 3) ] (con integer 2) ] + ] + [ [ (builtin subtractInteger) (con integer 2) ] (con integer 0) ] + ] + ] + ] + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/example/ApplyAdd2/ApplyAdd2.uplc.expected b/crates/uplc/test_data/conformance/evaluation/example/ApplyAdd2/ApplyAdd2.uplc.expected new file mode 100644 index 00000000..1cb56cff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/example/ApplyAdd2/ApplyAdd2.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con integer -1)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/example/DivideByZero/DivideByZero.uplc b/crates/uplc/test_data/conformance/evaluation/example/DivideByZero/DivideByZero.uplc new file mode 100644 index 00000000..b03716cc --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/example/DivideByZero/DivideByZero.uplc @@ -0,0 +1,50 @@ +(program + 1.0.0 + [ + [ + (builtin remainderInteger) + [ + (lam + x0 + [ + [ + (builtin addInteger) + [ + (lam + x1 + [ [ (builtin addInteger) (con integer 3) ] (con integer 3) ] + ) + [ + [ (builtin lessThanInteger) (con integer 1) ] (con integer 0) + ] + ] + ] + [ + (lam + x2 + [ + [ (builtin subtractInteger) (con integer 1) ] (con integer 3) + ] + ) + [ + [ (builtin equalsByteString) (con bytestring #7063) ] + (con bytestring #716466) + ] + ] + ] + ) + [ + (builtin sha2_256) + [ + [ + (builtin appendByteString) + [ (builtin sha2_256) (con bytestring #67696d) ] + ] + [ (builtin sha2_256) (con bytestring #767174) ] + ] + ] + ] + ] + (con integer 0) + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/example/DivideByZero/DivideByZero.uplc.expected b/crates/uplc/test_data/conformance/evaluation/example/DivideByZero/DivideByZero.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/example/DivideByZero/DivideByZero.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/example/DivideByZeroDrop/DivideByZeroDrop.uplc b/crates/uplc/test_data/conformance/evaluation/example/DivideByZeroDrop/DivideByZeroDrop.uplc new file mode 100644 index 00000000..b5f6dfbb --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/example/DivideByZeroDrop/DivideByZeroDrop.uplc @@ -0,0 +1,44 @@ +(program + 1.0.0 + [ + [ (force (force (delay (delay (lam x (lam y x)))))) (con integer 0) ] + [ + [ + (builtin divideInteger) + [ + (lam + x0 + [ + (lam x2 x2) + [ + [ + (builtin multiplyInteger) + [ + [ (builtin multiplyInteger) (con integer 2) ] + (con integer 0) + ] + ] + [ + [ (builtin subtractInteger) (con integer 1) ] (con integer 1) + ] + ] + ] + ) + [ + (lam x1 (con integer 1)) + [ + [ + (builtin subtractInteger) + [ + [ (builtin multiplyInteger) (con integer 2) ] (con integer 3) + ] + ] + [ [ (builtin multiplyInteger) (con integer 2) ] (con integer 2) ] + ] + ] + ] + ] + (con integer 0) + ] + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/example/DivideByZeroDrop/DivideByZeroDrop.uplc.expected b/crates/uplc/test_data/conformance/evaluation/example/DivideByZeroDrop/DivideByZeroDrop.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/example/DivideByZeroDrop/DivideByZeroDrop.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/example/IfIntegers/IfIntegers.uplc b/crates/uplc/test_data/conformance/evaluation/example/IfIntegers/IfIntegers.uplc new file mode 100644 index 00000000..11eebed8 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/example/IfIntegers/IfIntegers.uplc @@ -0,0 +1,91 @@ +(program + 1.0.0 + [ + [ + [ + (force + (delay + (lam + b + (lam + x + (lam + y + [ + [ [ [ (force (builtin ifThenElse)) b ] x ] y ] (con unit ()) + ] + ) + ) + ) + ) + ) + [ + (lam + x0 + [ + [ + (builtin equalsByteString) + [ + (builtin sha2_256) [ (builtin sha3_256) (con bytestring #64) ] + ] + ] + x0 + ] + ) + [ + [ + (builtin appendByteString) + [ + (lam x1 [ (builtin sha3_256) (con bytestring #78) ]) + [ (builtin sha3_256) (con bytestring #726e) ] + ] + ] + (con bytestring #6973) + ] + ] + ] + [ + (force (force (delay (delay (lam x (lam y x)))))) + [ + (lam + x0 + [ + (lam x2 x0) + [ (builtin sha2_256) [ (builtin sha3_256) (con bytestring #) ] ] + ] + ) + [ + [ + (builtin subtractInteger) + [ + [ + (builtin addInteger) + [ + [ (builtin subtractInteger) (con integer 2) ] + (con integer 2) + ] + ] + [ + [ (builtin subtractInteger) (con integer 1) ] (con integer 3) + ] + ] + ] + [ + (lam + x1 + [ + [ (builtin subtractInteger) (con integer 3) ] (con integer 3) + ] + ) + [ + [ (builtin equalsByteString) (con bytestring #6c7a) ] + (con bytestring #6673) + ] + ] + ] + ] + ] + ] + [ (force (force (delay (delay (lam x (lam y x)))))) (con integer 0) ] + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/example/IfIntegers/IfIntegers.uplc.expected b/crates/uplc/test_data/conformance/evaluation/example/IfIntegers/IfIntegers.uplc.expected new file mode 100644 index 00000000..87e0223f --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/example/IfIntegers/IfIntegers.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con integer 0)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/example/NatRoundTrip/NatRoundTrip.uplc b/crates/uplc/test_data/conformance/evaluation/example/NatRoundTrip/NatRoundTrip.uplc new file mode 100644 index 00000000..fc04c311 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/example/NatRoundTrip/NatRoundTrip.uplc @@ -0,0 +1,51 @@ +(program + 1.0.0 + [ + [ + [ + (force + (delay + (lam + f + [ + (force + (force + (delay + (delay + (lam + f + [ + (force (delay (lam s [ s s ]))) + (lam + s + (lam + x + [ + [ f [ (force (delay (lam s [ s s ]))) s ] ] x + ] + ) + ) + ] + ) + ) + ) + ) + ) + (lam + rec + (lam + z + (lam n [ [ (force n) z ] (lam n' [ [ rec [ f z ] ] n' ]) ]) + ) + ) + ] + ) + ) + ) + [ (builtin addInteger) (con integer 1) ] + ] + (con integer 0) + ] + [ (lam n (delay (lam z (lam f [ f n ])))) (delay (lam z (lam f z))) ] + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/example/NatRoundTrip/NatRoundTrip.uplc.expected b/crates/uplc/test_data/conformance/evaluation/example/NatRoundTrip/NatRoundTrip.uplc.expected new file mode 100644 index 00000000..8e9a3b22 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/example/NatRoundTrip/NatRoundTrip.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con integer 1)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/example/ScottListSum/ScottListSum.uplc b/crates/uplc/test_data/conformance/evaluation/example/ScottListSum/ScottListSum.uplc new file mode 100644 index 00000000..12b47561 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/example/ScottListSum/ScottListSum.uplc @@ -0,0 +1,64 @@ +(program + 1.0.0 + [ + [ + [ + (force + (force + (delay + (delay + (lam + f + [ + (force + (force + (delay + (delay + (lam + f + [ + (force (delay (lam s [ s s ]))) + (lam + s + (lam + x + [ + [ + f [ (force (delay (lam s [ s s ]))) s ] + ] + x + ] + ) + ) + ] + ) + ) + ) + ) + ) + (lam + rec + (lam + z + (lam + xs + [ + [ (force xs) z ] + (lam x (lam xs' [ [ rec [ [ f z ] x ] ] xs' ])) + ] + ) + ) + ) + ] + ) + ) + ) + ) + ) + (builtin addInteger) + ] + (con integer 0) + ] + (force (delay (delay (lam z (lam f z))))) + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/example/ScottListSum/ScottListSum.uplc.expected b/crates/uplc/test_data/conformance/evaluation/example/ScottListSum/ScottListSum.uplc.expected new file mode 100644 index 00000000..87e0223f --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/example/ScottListSum/ScottListSum.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con integer 0)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/example/churchSucc/churchSucc.uplc b/crates/uplc/test_data/conformance/evaluation/example/churchSucc/churchSucc.uplc new file mode 100644 index 00000000..677a7e10 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/example/churchSucc/churchSucc.uplc @@ -0,0 +1 @@ +(program 1.0.0 (lam n (delay (lam z (lam f [ f [ [ (force n) z ] f ] ]))))) diff --git a/crates/uplc/test_data/conformance/evaluation/example/churchSucc/churchSucc.uplc.expected b/crates/uplc/test_data/conformance/evaluation/example/churchSucc/churchSucc.uplc.expected new file mode 100644 index 00000000..c9a111e0 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/example/churchSucc/churchSucc.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (lam n (delay (lam z (lam f [ f [ [ (force n) z ] f ] ]))))) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/example/churchZero/churchZero.uplc b/crates/uplc/test_data/conformance/evaluation/example/churchZero/churchZero.uplc new file mode 100644 index 00000000..5d1d5d7a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/example/churchZero/churchZero.uplc @@ -0,0 +1 @@ +(program 1.0.0 (delay (lam z (lam f z)))) diff --git a/crates/uplc/test_data/conformance/evaluation/example/churchZero/churchZero.uplc.expected b/crates/uplc/test_data/conformance/evaluation/example/churchZero/churchZero.uplc.expected new file mode 100644 index 00000000..1d90a18c --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/example/churchZero/churchZero.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (delay (lam z (lam f z)))) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/example/even2/even2.uplc b/crates/uplc/test_data/conformance/evaluation/example/even2/even2.uplc new file mode 100644 index 00000000..eb7ad3c1 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/example/even2/even2.uplc @@ -0,0 +1,176 @@ +(program + 1.0.0 + [ + [ + (force + [ + (force + (force + (force + (force + (delay + (delay + (delay + (delay + (lam + f_7 + [ + [ + (force + (delay + (lam + by_1 + [ + (force + (force + (delay + (delay + (lam + f_2 + [ + (force + (delay + (lam s_1 [ s_1 s_1 ]) + ) + ) + (lam + s_3 + (lam + x_4 + [ + [ + f_2 + [ + (force + (delay + (lam + s_1 + [ s_1 s_1 ] + ) + ) + ) + s_3 + ] + ] + x_4 + ] + ) + ) + ] + ) + ) + ) + ) + ) + (lam + rec_8 + (lam + h_11 + (delay + (lam + fr_14 + [ + (force + [ + by_1 + (delay + (lam + fq_16 + [ + (force + [ rec_8 h_11 ] + ) + [ + (force h_11) fq_16 + ] + ] + ) + ) + ] + ) + fr_14 + ] + ) + ) + ) + ) + ] + ) + ) + ) + (lam + k_9 + (delay + (lam + h_12 + [ + [ + h_12 + (lam + x_15 + [ + (force k_9) + (lam + f_0_13 + (lam f_1_14 [ f_0_13 x_15 ]) + ) + ] + ) + ] + (lam + x_18 + [ + (force k_9) + (lam + f_0_16 + (lam f_1_17 [ f_1_17 x_18 ]) + ) + ] + ) + ] + ) + ) + ) + ] + f_7 + ] + ) + ) + ) + ) + ) + ) + ) + ) + ) + (delay + (lam + choose_5 + (lam + even_0 + (lam + odd_1 + [ + [ + choose_5 + (lam n_2 [ [ (force n_2) (con bool True) ] odd_1 ]) + ] + (lam n_3 [ [ (force n_3) (con bool False) ] even_0 ]) + ] + ) + ) + ) + ) + ] + ) + (lam arg_0_0 (lam arg_1_1 arg_0_0)) + ] + [ + (lam n_0 (delay (lam z_2 (lam f_3 [ f_3 n_0 ])))) + [ + (lam n_0 (delay (lam z_2 (lam f_3 [ f_3 n_0 ])))) + (delay (lam z_1 (lam f_2 z_1))) + ] + ] + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/example/even2/even2.uplc.expected b/crates/uplc/test_data/conformance/evaluation/example/even2/even2.uplc.expected new file mode 100644 index 00000000..3760fc7a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/example/even2/even2.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool True)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/example/even3/even3.uplc b/crates/uplc/test_data/conformance/evaluation/example/even3/even3.uplc new file mode 100644 index 00000000..a2a7d1d5 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/example/even3/even3.uplc @@ -0,0 +1,179 @@ +(program + 1.0.0 + [ + [ + (force + [ + (force + (force + (force + (force + (delay + (delay + (delay + (delay + (lam + f_7 + [ + [ + (force + (delay + (lam + by_1 + [ + (force + (force + (delay + (delay + (lam + f_2 + [ + (force + (delay + (lam s_1 [ s_1 s_1 ]) + ) + ) + (lam + s_3 + (lam + x_4 + [ + [ + f_2 + [ + (force + (delay + (lam + s_1 + [ s_1 s_1 ] + ) + ) + ) + s_3 + ] + ] + x_4 + ] + ) + ) + ] + ) + ) + ) + ) + ) + (lam + rec_8 + (lam + h_11 + (delay + (lam + fr_14 + [ + (force + [ + by_1 + (delay + (lam + fq_16 + [ + (force + [ rec_8 h_11 ] + ) + [ + (force h_11) fq_16 + ] + ] + ) + ) + ] + ) + fr_14 + ] + ) + ) + ) + ) + ] + ) + ) + ) + (lam + k_9 + (delay + (lam + h_12 + [ + [ + h_12 + (lam + x_15 + [ + (force k_9) + (lam + f_0_13 + (lam f_1_14 [ f_0_13 x_15 ]) + ) + ] + ) + ] + (lam + x_18 + [ + (force k_9) + (lam + f_0_16 + (lam f_1_17 [ f_1_17 x_18 ]) + ) + ] + ) + ] + ) + ) + ) + ] + f_7 + ] + ) + ) + ) + ) + ) + ) + ) + ) + ) + (delay + (lam + choose_5 + (lam + even_0 + (lam + odd_1 + [ + [ + choose_5 + (lam n_2 [ [ (force n_2) (con bool True) ] odd_1 ]) + ] + (lam n_3 [ [ (force n_3) (con bool False) ] even_0 ]) + ] + ) + ) + ) + ) + ] + ) + (lam arg_0_0 (lam arg_1_1 arg_0_0)) + ] + [ + (lam n_0 (delay (lam z_2 (lam f_3 [ f_3 n_0 ])))) + [ + (lam n_0 (delay (lam z_2 (lam f_3 [ f_3 n_0 ])))) + [ + (lam n_0 (delay (lam z_2 (lam f_3 [ f_3 n_0 ])))) + (delay (lam z_1 (lam f_2 z_1))) + ] + ] + ] + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/example/even3/even3.uplc.expected b/crates/uplc/test_data/conformance/evaluation/example/even3/even3.uplc.expected new file mode 100644 index 00000000..3ee9f07f --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/example/even3/even3.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool False)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/example/evenList/evenList.uplc b/crates/uplc/test_data/conformance/evaluation/example/evenList/evenList.uplc new file mode 100644 index 00000000..cf278d92 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/example/evenList/evenList.uplc @@ -0,0 +1,416 @@ +(program + 1.0.0 + [ + [ + [ + (force + (force + (delay + (delay + (lam + f_2 + [ + (force + (force + (delay + (delay + (lam + f_2 + [ + (force (delay (lam s_1 [ s_1 s_1 ]))) + (lam + s_3 + (lam + x_4 + [ + [ + f_2 + [ + (force (delay (lam s_1 [ s_1 s_1 ]))) + s_3 + ] + ] + x_4 + ] + ) + ) + ] + ) + ) + ) + ) + ) + (lam + rec_3 + (lam + z_4 + (lam + xs_5 + [ + [ (force xs_5) z_4 ] + (lam + x_6 + (lam + xs'_7 [ [ rec_3 [ [ f_2 z_4 ] x_6 ] ] xs'_7 ] + ) + ) + ] + ) + ) + ) + ] + ) + ) + ) + ) + ) + (lam + acc_0 + (lam + n_1 + [ + [ (builtin addInteger) acc_0 ] + [ + [ + [ + (force + (delay + (lam + f_1 + [ + (force + (force + (delay + (delay + (lam + f_2 + [ + (force (delay (lam s_1 [ s_1 s_1 ]))) + (lam + s_3 + (lam + x_4 + [ + [ + f_2 + [ + (force + (delay + (lam s_1 [ s_1 s_1 ]) + ) + ) + s_3 + ] + ] + x_4 + ] + ) + ) + ] + ) + ) + ) + ) + ) + (lam + rec_2 + (lam + z_3 + (lam + n_4 + [ + [ (force n_4) z_3 ] + (lam n'_5 [ [ rec_2 [ f_1 z_3 ] ] n'_5 ]) + ] + ) + ) + ) + ] + ) + ) + ) + [ (builtin addInteger) (con integer 1) ] + ] + (con integer 0) + ] + n_1 + ] + ] + ) + ) + ] + (con integer 0) + ] + [ + [ + (force + [ + (force + (force + (force + (force + (delay + (delay + (delay + (delay + (lam + f_7 + [ + [ + (force + (delay + (lam + by_1 + [ + (force + (force + (delay + (delay + (lam + f_2 + [ + (force + (delay + (lam s_1 [ s_1 s_1 ]) + ) + ) + (lam + s_3 + (lam + x_4 + [ + [ + f_2 + [ + (force + (delay + (lam + s_1 + [ + s_1 s_1 + ] + ) + ) + ) + s_3 + ] + ] + x_4 + ] + ) + ) + ] + ) + ) + ) + ) + ) + (lam + rec_8 + (lam + h_11 + (delay + (lam + fr_14 + [ + (force + [ + by_1 + (delay + (lam + fq_16 + [ + (force + [ rec_8 h_11 ] + ) + [ + (force h_11) + fq_16 + ] + ] + ) + ) + ] + ) + fr_14 + ] + ) + ) + ) + ) + ] + ) + ) + ) + (lam + k_9 + (delay + (lam + h_12 + [ + [ + h_12 + (lam + x_15 + [ + (force k_9) + (lam + f_0_13 + (lam f_1_14 [ f_0_13 x_15 ]) + ) + ] + ) + ] + (lam + x_18 + [ + (force k_9) + (lam + f_0_16 + (lam f_1_17 [ f_1_17 x_18 ]) + ) + ] + ) + ] + ) + ) + ) + ] + f_7 + ] + ) + ) + ) + ) + ) + ) + ) + ) + ) + (delay + (lam + choose_9 + (lam + even_0 + (lam + odd_1 + [ + [ + choose_9 + (lam + l_4 + [ + [ + (force l_4) + (force (delay (delay (lam z_2 (lam f_3 z_2))))) + ] + (lam + head_2 + (lam + tail_3 + [ + [ + (force + (delay + (lam + x_1 + (lam + xs_2 + (delay + (lam + z_4 + (lam f_5 [ [ f_5 x_1 ] xs_2 ]) + ) + ) + ) + ) + ) + ) + head_2 + ] + [ odd_1 tail_3 ] + ] + ) + ) + ] + ) + ] + (lam + l_7 + [ + [ + (force l_7) + (force (delay (delay (lam z_2 (lam f_3 z_2))))) + ] + (lam head_5 (lam tail_6 [ even_0 tail_6 ])) + ] + ) + ] + ) + ) + ) + ) + ] + ) + (lam arg_0_0 (lam arg_1_1 arg_0_0)) + ] + [ + [ + (force + (delay + (lam + x_1 (lam xs_2 (delay (lam z_4 (lam f_5 [ [ f_5 x_1 ] xs_2 ])))) + ) + ) + ) + [ + (lam n_0 (delay (lam z_2 (lam f_3 [ f_3 n_0 ])))) + (delay (lam z_1 (lam f_2 z_1))) + ] + ] + [ + [ + (force + (delay + (lam + x_1 + (lam xs_2 (delay (lam z_4 (lam f_5 [ [ f_5 x_1 ] xs_2 ])))) + ) + ) + ) + [ + (lam n_0 (delay (lam z_2 (lam f_3 [ f_3 n_0 ])))) + [ + (lam n_0 (delay (lam z_2 (lam f_3 [ f_3 n_0 ])))) + (delay (lam z_1 (lam f_2 z_1))) + ] + ] + ] + [ + [ + (force + (delay + (lam + x_1 + (lam xs_2 (delay (lam z_4 (lam f_5 [ [ f_5 x_1 ] xs_2 ])))) + ) + ) + ) + [ + (lam n_0 (delay (lam z_2 (lam f_3 [ f_3 n_0 ])))) + [ + (lam n_0 (delay (lam z_2 (lam f_3 [ f_3 n_0 ])))) + [ + (lam n_0 (delay (lam z_2 (lam f_3 [ f_3 n_0 ])))) + (delay (lam z_1 (lam f_2 z_1))) + ] + ] + ] + ] + (force (delay (delay (lam z_2 (lam f_3 z_2))))) + ] + ] + ] + ] + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/example/evenList/evenList.uplc.expected b/crates/uplc/test_data/conformance/evaluation/example/evenList/evenList.uplc.expected new file mode 100644 index 00000000..68ab9fd0 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/example/evenList/evenList.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con integer 4)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/example/factorial/factorial.uplc b/crates/uplc/test_data/conformance/evaluation/example/factorial/factorial.uplc new file mode 100644 index 00000000..2f90c3ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/example/factorial/factorial.uplc @@ -0,0 +1,184 @@ +(program + 1.0.0 + [ + (lam + i + [ + [ + [ + (force + (force + (delay + (delay + (lam + f + [ + (force + (force + (delay + (delay + (lam + f + [ + (force (delay (lam s [ s s ]))) + (lam + s + (lam + x + [ + [ + f + [ + (force (delay (lam s [ s s ]))) s + ] + ] + x + ] + ) + ) + ] + ) + ) + ) + ) + ) + (lam + rec + (lam + z + (lam + xs + [ + [ (force xs) z ] + (lam x (lam xs' [ [ rec [ [ f z ] x ] ] xs' ])) + ] + ) + ) + ) + ] + ) + ) + ) + ) + ) + (builtin multiplyInteger) + ] + (con integer 1) + ] + [ + [ + (lam + n + (lam + m + [ + [ + (force + (force + (delay + (delay + (lam + f + [ + (force (delay (lam s [ s s ]))) + (lam + s + (lam + x + [ + [ + f [ (force (delay (lam s [ s s ]))) s ] + ] + x + ] + ) + ) + ] + ) + ) + ) + ) + ) + (lam + rec + (lam + n' + [ + [ + [ + (force + (delay + (lam + b + (lam + x + (lam + y + [ + [ + [ + [ (force (builtin ifThenElse)) b ] + x + ] + y + ] + (con unit ()) + ] + ) + ) + ) + ) + ) + [ [ (builtin lessThanEqualsInteger) n' ] m ] + ] + (lam + u + [ + [ + (force + (delay + (lam + x + (lam + xs + (delay (lam z (lam f [ [ f x ] xs ]))) + ) + ) + ) + ) + n' + ] + [ + rec + [ + (lam + i + [ + [ (builtin addInteger) i ] + (con integer 1) + ] + ) + n' + ] + ] + ] + ) + ] + (lam u (force (delay (delay (lam z (lam f z)))))) + ] + ) + ) + ] + n + ] + ) + ) + (con integer 1) + ] + i + ] + ] + ) + (con integer 4) + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/example/factorial/factorial.uplc.expected b/crates/uplc/test_data/conformance/evaluation/example/factorial/factorial.uplc.expected new file mode 100644 index 00000000..60f178c4 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/example/factorial/factorial.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con integer 24)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/example/fibonacci/fibonacci.uplc b/crates/uplc/test_data/conformance/evaluation/example/fibonacci/fibonacci.uplc new file mode 100644 index 00000000..b1683917 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/example/fibonacci/fibonacci.uplc @@ -0,0 +1,77 @@ +(program + 1.0.0 + [ + (lam + i0 + [ + [ + (force + (force + (delay + (delay + (lam + f + [ + (force (delay (lam s [ s s ]))) + (lam + s + (lam + x [ [ f [ (force (delay (lam s [ s s ]))) s ] ] x ] + ) + ) + ] + ) + ) + ) + ) + ) + (lam + rec + (lam + i + [ + [ + [ + (force + (delay + (lam + b + (lam + x + (lam + y + [ + [ [ [ (force (builtin ifThenElse)) b ] x ] y ] + (con unit ()) + ] + ) + ) + ) + ) + ) + [ [ (builtin lessThanEqualsInteger) i ] (con integer 1) ] + ] + (lam u i) + ] + (lam + u + [ + [ + (builtin addInteger) + [ + rec [ [ (builtin subtractInteger) i ] (con integer 1) ] + ] + ] + [ rec [ [ (builtin subtractInteger) i ] (con integer 2) ] ] + ] + ) + ] + ) + ) + ] + i0 + ] + ) + (con integer 0) + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/example/fibonacci/fibonacci.uplc.expected b/crates/uplc/test_data/conformance/evaluation/example/fibonacci/fibonacci.uplc.expected new file mode 100644 index 00000000..87e0223f --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/example/fibonacci/fibonacci.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con integer 0)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/example/force-lam/force-lam.uplc b/crates/uplc/test_data/conformance/evaluation/example/force-lam/force-lam.uplc new file mode 100644 index 00000000..8e096832 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/example/force-lam/force-lam.uplc @@ -0,0 +1 @@ +(program 1.0.0 (lam x (force x))) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/example/force-lam/force-lam.uplc.expected b/crates/uplc/test_data/conformance/evaluation/example/force-lam/force-lam.uplc.expected new file mode 100644 index 00000000..8e096832 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/example/force-lam/force-lam.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (lam x (force x))) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/example/overapplication/overapplication.uplc b/crates/uplc/test_data/conformance/evaluation/example/overapplication/overapplication.uplc new file mode 100644 index 00000000..6ed2b6f6 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/example/overapplication/overapplication.uplc @@ -0,0 +1,19 @@ +(program + 1.0.0 + [ + [ + [ + [ + [ + (force (builtin ifThenElse)) + [ [ (builtin lessThanInteger) (con integer 1) ] (con integer 3) ] + ] + (builtin addInteger) + ] + (builtin subtractInteger) + ] + (con integer 1) + ] + (con integer 3) + ] +) diff --git a/crates/uplc/test_data/conformance/evaluation/example/overapplication/overapplication.uplc.expected b/crates/uplc/test_data/conformance/evaluation/example/overapplication/overapplication.uplc.expected new file mode 100644 index 00000000..68ab9fd0 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/example/overapplication/overapplication.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con integer 4)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/example/succInteger/succInteger.uplc b/crates/uplc/test_data/conformance/evaluation/example/succInteger/succInteger.uplc new file mode 100644 index 00000000..036d9af1 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/example/succInteger/succInteger.uplc @@ -0,0 +1 @@ +(program 1.0.0 (lam i [ [ (builtin addInteger) i ] (con integer 1) ])) diff --git a/crates/uplc/test_data/conformance/evaluation/example/succInteger/succInteger.uplc.expected b/crates/uplc/test_data/conformance/evaluation/example/succInteger/succInteger.uplc.expected new file mode 100644 index 00000000..8508da2a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/example/succInteger/succInteger.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (lam i [ [ (builtin addInteger) i ] (con integer 1) ])) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/term/app/app-1/app-1.uplc b/crates/uplc/test_data/conformance/evaluation/term/app/app-1/app-1.uplc new file mode 100644 index 00000000..3fdc38c6 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/app/app-1/app-1.uplc @@ -0,0 +1 @@ +(program 1.0.0 [(lam x x) (con unit ())]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/term/app/app-1/app-1.uplc.expected b/crates/uplc/test_data/conformance/evaluation/term/app/app-1/app-1.uplc.expected new file mode 100644 index 00000000..10b621b0 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/app/app-1/app-1.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con unit ())) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/term/app/app-2/app-2.uplc b/crates/uplc/test_data/conformance/evaluation/term/app/app-2/app-2.uplc new file mode 100644 index 00000000..0da7f8a4 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/app/app-2/app-2.uplc @@ -0,0 +1 @@ +(program 1.0.0 [(lam x x) (con integer 0)]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/term/app/app-2/app-2.uplc.expected b/crates/uplc/test_data/conformance/evaluation/term/app/app-2/app-2.uplc.expected new file mode 100644 index 00000000..87e0223f --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/app/app-2/app-2.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con integer 0)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/term/app/app-3/app-3.uplc b/crates/uplc/test_data/conformance/evaluation/term/app/app-3/app-3.uplc new file mode 100644 index 00000000..2ce0b3cc --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/app/app-3/app-3.uplc @@ -0,0 +1,3 @@ +(program 1.0.0 + [(lam x (con bool False)) (con integer 42)] +) diff --git a/crates/uplc/test_data/conformance/evaluation/term/app/app-3/app-3.uplc.expected b/crates/uplc/test_data/conformance/evaluation/term/app/app-3/app-3.uplc.expected new file mode 100644 index 00000000..3ee9f07f --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/app/app-3/app-3.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool False)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/term/app/app-4/app-4.uplc b/crates/uplc/test_data/conformance/evaluation/term/app/app-4/app-4.uplc new file mode 100644 index 00000000..6af5c82a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/app/app-4/app-4.uplc @@ -0,0 +1,3 @@ +(program 1.0.0 + [(lam x x) (con integer 42)] +) diff --git a/crates/uplc/test_data/conformance/evaluation/term/app/app-4/app-4.uplc.expected b/crates/uplc/test_data/conformance/evaluation/term/app/app-4/app-4.uplc.expected new file mode 100644 index 00000000..864f897c --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/app/app-4/app-4.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con integer 42)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/term/app/app-5/app-5.uplc b/crates/uplc/test_data/conformance/evaluation/term/app/app-5/app-5.uplc new file mode 100644 index 00000000..c6650881 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/app/app-5/app-5.uplc @@ -0,0 +1,3 @@ +(program 1.0.0 + [[(lam x x) (lam y y)] (con integer 42)] +) diff --git a/crates/uplc/test_data/conformance/evaluation/term/app/app-5/app-5.uplc.expected b/crates/uplc/test_data/conformance/evaluation/term/app/app-5/app-5.uplc.expected new file mode 100644 index 00000000..864f897c --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/app/app-5/app-5.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con integer 42)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/term/app/app-6/app-6.uplc b/crates/uplc/test_data/conformance/evaluation/term/app/app-6/app-6.uplc new file mode 100644 index 00000000..3f1d2b8d --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/app/app-6/app-6.uplc @@ -0,0 +1,3 @@ +(program 1.0.0 + [(lam x x) (lam y y)] +) diff --git a/crates/uplc/test_data/conformance/evaluation/term/app/app-6/app-6.uplc.expected b/crates/uplc/test_data/conformance/evaluation/term/app/app-6/app-6.uplc.expected new file mode 100644 index 00000000..781faab6 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/app/app-6/app-6.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (lam y y)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/term/app/app-7/app-7.uplc b/crates/uplc/test_data/conformance/evaluation/term/app/app-7/app-7.uplc new file mode 100644 index 00000000..7a51dad8 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/app/app-7/app-7.uplc @@ -0,0 +1,3 @@ +(program 1.0.0 + [(lam x (lam y x)) (con integer 42)] +) diff --git a/crates/uplc/test_data/conformance/evaluation/term/app/app-7/app-7.uplc.expected b/crates/uplc/test_data/conformance/evaluation/term/app/app-7/app-7.uplc.expected new file mode 100644 index 00000000..4f6ed134 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/app/app-7/app-7.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (lam y (con integer 42))) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/term/app/app-8/app-8.uplc b/crates/uplc/test_data/conformance/evaluation/term/app/app-8/app-8.uplc new file mode 100644 index 00000000..be6b2e9c --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/app/app-8/app-8.uplc @@ -0,0 +1,3 @@ +(program 1.0.0 + [(lam x (lam y x)) (con integer 42) (con bool False)] +) diff --git a/crates/uplc/test_data/conformance/evaluation/term/app/app-8/app-8.uplc.expected b/crates/uplc/test_data/conformance/evaluation/term/app/app-8/app-8.uplc.expected new file mode 100644 index 00000000..864f897c --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/app/app-8/app-8.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con integer 42)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/term/app/app-9/app-9.uplc b/crates/uplc/test_data/conformance/evaluation/term/app/app-9/app-9.uplc new file mode 100644 index 00000000..377c1737 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/app/app-9/app-9.uplc @@ -0,0 +1,3 @@ +(program 1.0.0 + [(lam f (lam x (lam y [f x y]))) (lam a (lam b a)) (con bool False) (con bool True)] +) diff --git a/crates/uplc/test_data/conformance/evaluation/term/app/app-9/app-9.uplc.expected b/crates/uplc/test_data/conformance/evaluation/term/app/app-9/app-9.uplc.expected new file mode 100644 index 00000000..3ee9f07f --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/app/app-9/app-9.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con bool False)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/term/argExpected/argExpected.uplc b/crates/uplc/test_data/conformance/evaluation/term/argExpected/argExpected.uplc new file mode 100644 index 00000000..30669c97 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/argExpected/argExpected.uplc @@ -0,0 +1,2 @@ +-- addInteger is monomorphic so it must not be forced +(program 1.0.0 [(force (builtin addInteger)) (con integer 5) (con integer 6)]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/term/argExpected/argExpected.uplc.expected b/crates/uplc/test_data/conformance/evaluation/term/argExpected/argExpected.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/argExpected/argExpected.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/term/case/case-1/case-1.uplc b/crates/uplc/test_data/conformance/evaluation/term/case/case-1/case-1.uplc new file mode 100644 index 00000000..a08de31c --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/case/case-1/case-1.uplc @@ -0,0 +1,4 @@ +-- select first branch +(program 1.1.0 + (case (constr 0 (con integer 0)) (lam x (con integer 1)) (lam x (con integer 2))) +) diff --git a/crates/uplc/test_data/conformance/evaluation/term/case/case-1/case-1.uplc.expected b/crates/uplc/test_data/conformance/evaluation/term/case/case-1/case-1.uplc.expected new file mode 100644 index 00000000..c897a619 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/case/case-1/case-1.uplc.expected @@ -0,0 +1 @@ +(program 1.1.0 (con integer 1)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/term/case/case-2/case-2.uplc b/crates/uplc/test_data/conformance/evaluation/term/case/case-2/case-2.uplc new file mode 100644 index 00000000..b9861165 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/case/case-2/case-2.uplc @@ -0,0 +1,4 @@ +-- select second branch +(program 1.1.0 + (case (constr 1 (con integer 0)) (lam x (con integer 1)) (lam x (con integer 2))) +) diff --git a/crates/uplc/test_data/conformance/evaluation/term/case/case-2/case-2.uplc.expected b/crates/uplc/test_data/conformance/evaluation/term/case/case-2/case-2.uplc.expected new file mode 100644 index 00000000..2b513f80 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/case/case-2/case-2.uplc.expected @@ -0,0 +1 @@ +(program 1.1.0 (con integer 2)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/term/case/case-3/case-3.uplc b/crates/uplc/test_data/conformance/evaluation/term/case/case-3/case-3.uplc new file mode 100644 index 00000000..a4399f95 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/case/case-3/case-3.uplc @@ -0,0 +1,4 @@ +-- select first branch and do computation with the args +(program 1.1.0 + (case (constr 0 (con integer 3) (con integer 2)) (lam x (lam y [(builtin addInteger) x y])) (lam x (lam y [(builtin subtractInteger) x y]))) +) diff --git a/crates/uplc/test_data/conformance/evaluation/term/case/case-3/case-3.uplc.expected b/crates/uplc/test_data/conformance/evaluation/term/case/case-3/case-3.uplc.expected new file mode 100644 index 00000000..307ccca4 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/case/case-3/case-3.uplc.expected @@ -0,0 +1 @@ +(program 1.1.0 (con integer 5)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/term/case/case-4/case-4.uplc b/crates/uplc/test_data/conformance/evaluation/term/case/case-4/case-4.uplc new file mode 100644 index 00000000..e471f4ec --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/case/case-4/case-4.uplc @@ -0,0 +1,4 @@ +-- select second branch and do computation with the args +(program 1.1.0 + (case (constr 1 (con integer 3) (con integer 2)) (lam x (lam y [(builtin addInteger) x y])) (lam x (lam y [(builtin subtractInteger) x y]))) +) diff --git a/crates/uplc/test_data/conformance/evaluation/term/case/case-4/case-4.uplc.expected b/crates/uplc/test_data/conformance/evaluation/term/case/case-4/case-4.uplc.expected new file mode 100644 index 00000000..c897a619 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/case/case-4/case-4.uplc.expected @@ -0,0 +1 @@ +(program 1.1.0 (con integer 1)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/term/case/case-5/case-5.uplc b/crates/uplc/test_data/conformance/evaluation/term/case/case-5/case-5.uplc new file mode 100644 index 00000000..5478b918 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/case/case-5/case-5.uplc @@ -0,0 +1,4 @@ +-- case of non-constr +(program 1.1.0 + (case (con integer 1) (lam x x) (lam x x)) +) diff --git a/crates/uplc/test_data/conformance/evaluation/term/case/case-5/case-5.uplc.expected b/crates/uplc/test_data/conformance/evaluation/term/case/case-5/case-5.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/case/case-5/case-5.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/term/case/case-6/case-6.uplc b/crates/uplc/test_data/conformance/evaluation/term/case/case-6/case-6.uplc new file mode 100644 index 00000000..2d400a90 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/case/case-6/case-6.uplc @@ -0,0 +1,4 @@ +-- branch with wrong arguments +(program 1.1.0 + (case (constr 0 (con integer 0)) (con integer 1) (lam x (con integer 2))) +) diff --git a/crates/uplc/test_data/conformance/evaluation/term/case/case-6/case-6.uplc.expected b/crates/uplc/test_data/conformance/evaluation/term/case/case-6/case-6.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/case/case-6/case-6.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/term/case/case-7/case-7.uplc b/crates/uplc/test_data/conformance/evaluation/term/case/case-7/case-7.uplc new file mode 100644 index 00000000..94153d58 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/case/case-7/case-7.uplc @@ -0,0 +1,4 @@ +-- case can't be used before 1.1.0 +(program 1.0.0 + (case (con integer 1)) +) diff --git a/crates/uplc/test_data/conformance/evaluation/term/case/case-7/case-7.uplc.expected b/crates/uplc/test_data/conformance/evaluation/term/case/case-7/case-7.uplc.expected new file mode 100644 index 00000000..fd569489 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/case/case-7/case-7.uplc.expected @@ -0,0 +1 @@ +parse error \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/term/case/case-8/case-8.uplc b/crates/uplc/test_data/conformance/evaluation/term/case/case-8/case-8.uplc new file mode 100644 index 00000000..5aae469b --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/case/case-8/case-8.uplc @@ -0,0 +1,4 @@ +-- nullary case +(program 1.1.0 + (case (constr 0) (con integer 1) (con integer 2)) +) diff --git a/crates/uplc/test_data/conformance/evaluation/term/case/case-8/case-8.uplc.expected b/crates/uplc/test_data/conformance/evaluation/term/case/case-8/case-8.uplc.expected new file mode 100644 index 00000000..c897a619 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/case/case-8/case-8.uplc.expected @@ -0,0 +1 @@ +(program 1.1.0 (con integer 1)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/term/case/case-9/case-9.uplc b/crates/uplc/test_data/conformance/evaluation/term/case/case-9/case-9.uplc new file mode 100644 index 00000000..73b0719b --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/case/case-9/case-9.uplc @@ -0,0 +1,4 @@ +-- empty case, aka -XEmptyCase +(program 1.1.0 + (case (constr 0)) +) diff --git a/crates/uplc/test_data/conformance/evaluation/term/case/case-9/case-9.uplc.expected b/crates/uplc/test_data/conformance/evaluation/term/case/case-9/case-9.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/case/case-9/case-9.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/term/closure/closure.uplc b/crates/uplc/test_data/conformance/evaluation/term/closure/closure.uplc new file mode 100644 index 00000000..ece5f5b5 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/closure/closure.uplc @@ -0,0 +1 @@ +(program 1.0.0 [ (lam i_0 (lam j_1 i_0)) (con integer 1) ]) diff --git a/crates/uplc/test_data/conformance/evaluation/term/closure/closure.uplc.expected b/crates/uplc/test_data/conformance/evaluation/term/closure/closure.uplc.expected new file mode 100644 index 00000000..ee5792f3 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/closure/closure.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (lam j_0 (con integer 1))) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/term/constr/constr-1/constr-1.uplc b/crates/uplc/test_data/conformance/evaluation/term/constr/constr-1/constr-1.uplc new file mode 100644 index 00000000..9c413fa7 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/constr/constr-1/constr-1.uplc @@ -0,0 +1,4 @@ +-- empty constr +(program 1.1.0 + (constr 0 ) +) diff --git a/crates/uplc/test_data/conformance/evaluation/term/constr/constr-1/constr-1.uplc.expected b/crates/uplc/test_data/conformance/evaluation/term/constr/constr-1/constr-1.uplc.expected new file mode 100644 index 00000000..a65a6aca --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/constr/constr-1/constr-1.uplc.expected @@ -0,0 +1 @@ +(program 1.1.0 (constr 0)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/term/constr/constr-2/constr-2.uplc b/crates/uplc/test_data/conformance/evaluation/term/constr/constr-2/constr-2.uplc new file mode 100644 index 00000000..a27c1c66 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/constr/constr-2/constr-2.uplc @@ -0,0 +1,4 @@ +-- constr with an argument +(program 1.1.0 + (constr 0 (con integer 1)) +) diff --git a/crates/uplc/test_data/conformance/evaluation/term/constr/constr-2/constr-2.uplc.expected b/crates/uplc/test_data/conformance/evaluation/term/constr/constr-2/constr-2.uplc.expected new file mode 100644 index 00000000..fafd655d --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/constr/constr-2/constr-2.uplc.expected @@ -0,0 +1 @@ +(program 1.1.0 (constr 0 (con integer 1))) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/term/constr/constr-3/constr-3.uplc b/crates/uplc/test_data/conformance/evaluation/term/constr/constr-3/constr-3.uplc new file mode 100644 index 00000000..03932fb8 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/constr/constr-3/constr-3.uplc @@ -0,0 +1,4 @@ +-- constr can have arbitrary terms in it +(program 1.1.0 + (constr 1 (con integer 1) (lam x x) (constr 0 (con integer 1))) +) diff --git a/crates/uplc/test_data/conformance/evaluation/term/constr/constr-3/constr-3.uplc.expected b/crates/uplc/test_data/conformance/evaluation/term/constr/constr-3/constr-3.uplc.expected new file mode 100644 index 00000000..eba1d628 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/constr/constr-3/constr-3.uplc.expected @@ -0,0 +1 @@ +(program 1.1.0 (constr 1 (con integer 1) (lam x x) (constr 0 (con integer 1)))) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/term/constr/constr-4/constr-4.uplc b/crates/uplc/test_data/conformance/evaluation/term/constr/constr-4/constr-4.uplc new file mode 100644 index 00000000..106cc268 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/constr/constr-4/constr-4.uplc @@ -0,0 +1,4 @@ +-- constr is strict in all its arguments +(program 1.1.0 + (constr 0 (error)) +) diff --git a/crates/uplc/test_data/conformance/evaluation/term/constr/constr-4/constr-4.uplc.expected b/crates/uplc/test_data/conformance/evaluation/term/constr/constr-4/constr-4.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/constr/constr-4/constr-4.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/term/constr/constr-5/constr-5.uplc b/crates/uplc/test_data/conformance/evaluation/term/constr/constr-5/constr-5.uplc new file mode 100644 index 00000000..b62e1fe7 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/constr/constr-5/constr-5.uplc @@ -0,0 +1,4 @@ +-- constr is strict in all its arguments +(program 1.1.0 + (constr 0 (con integer 1) (error)) +) diff --git a/crates/uplc/test_data/conformance/evaluation/term/constr/constr-5/constr-5.uplc.expected b/crates/uplc/test_data/conformance/evaluation/term/constr/constr-5/constr-5.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/constr/constr-5/constr-5.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/term/constr/constr-6/constr-6.uplc b/crates/uplc/test_data/conformance/evaluation/term/constr/constr-6/constr-6.uplc new file mode 100644 index 00000000..cc13663b --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/constr/constr-6/constr-6.uplc @@ -0,0 +1,4 @@ +-- constr can't be used before 1.1.0 +(program 1.0.0 + (constr 0 ) +) diff --git a/crates/uplc/test_data/conformance/evaluation/term/constr/constr-6/constr-6.uplc.expected b/crates/uplc/test_data/conformance/evaluation/term/constr/constr-6/constr-6.uplc.expected new file mode 100644 index 00000000..fd569489 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/constr/constr-6/constr-6.uplc.expected @@ -0,0 +1 @@ +parse error \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/term/delay/delay-error-1/delay-error-1.uplc b/crates/uplc/test_data/conformance/evaluation/term/delay/delay-error-1/delay-error-1.uplc new file mode 100644 index 00000000..cdb6cecd --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/delay/delay-error-1/delay-error-1.uplc @@ -0,0 +1,3 @@ +(program 1.0.0 + [(lam x (con integer 4)) (delay (error))] +) diff --git a/crates/uplc/test_data/conformance/evaluation/term/delay/delay-error-1/delay-error-1.uplc.expected b/crates/uplc/test_data/conformance/evaluation/term/delay/delay-error-1/delay-error-1.uplc.expected new file mode 100644 index 00000000..68ab9fd0 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/delay/delay-error-1/delay-error-1.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con integer 4)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/term/delay/delay-error-2/delay-error-2.uplc b/crates/uplc/test_data/conformance/evaluation/term/delay/delay-error-2/delay-error-2.uplc new file mode 100644 index 00000000..c66a7e76 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/delay/delay-error-2/delay-error-2.uplc @@ -0,0 +1,3 @@ +(program 1.0.0 + [(lam x x) (delay (error))] +) diff --git a/crates/uplc/test_data/conformance/evaluation/term/delay/delay-error-2/delay-error-2.uplc.expected b/crates/uplc/test_data/conformance/evaluation/term/delay/delay-error-2/delay-error-2.uplc.expected new file mode 100644 index 00000000..2a995cfc --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/delay/delay-error-2/delay-error-2.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (delay (error ))) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/term/delay/delay-lam/delay-lam.uplc b/crates/uplc/test_data/conformance/evaluation/term/delay/delay-lam/delay-lam.uplc new file mode 100644 index 00000000..53caa7da --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/delay/delay-lam/delay-lam.uplc @@ -0,0 +1 @@ +(program 1.0.0 (lam x (delay x))) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/term/delay/delay-lam/delay-lam.uplc.expected b/crates/uplc/test_data/conformance/evaluation/term/delay/delay-lam/delay-lam.uplc.expected new file mode 100644 index 00000000..53caa7da --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/delay/delay-lam/delay-lam.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (lam x (delay x))) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/term/force/force-1/force-1.uplc b/crates/uplc/test_data/conformance/evaluation/term/force/force-1/force-1.uplc new file mode 100644 index 00000000..c18ae365 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/force/force-1/force-1.uplc @@ -0,0 +1,2 @@ +-- can only force a delay or a forceable (polymorphic) builtin +(program 1.0.0 (force (con integer 5))) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/term/force/force-1/force-1.uplc.expected b/crates/uplc/test_data/conformance/evaluation/term/force/force-1/force-1.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/force/force-1/force-1.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/term/force/force-2/force-2.uplc b/crates/uplc/test_data/conformance/evaluation/term/force/force-2/force-2.uplc new file mode 100644 index 00000000..2242bd8a --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/force/force-2/force-2.uplc @@ -0,0 +1,3 @@ +(program 1.0.0 + [(lam x (force x)) (delay (con integer 4))] +) diff --git a/crates/uplc/test_data/conformance/evaluation/term/force/force-2/force-2.uplc.expected b/crates/uplc/test_data/conformance/evaluation/term/force/force-2/force-2.uplc.expected new file mode 100644 index 00000000..68ab9fd0 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/force/force-2/force-2.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con integer 4)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/term/force/force-3/force-3.uplc b/crates/uplc/test_data/conformance/evaluation/term/force/force-3/force-3.uplc new file mode 100644 index 00000000..faec27e0 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/force/force-3/force-3.uplc @@ -0,0 +1,3 @@ +(program 1.0.0 + [(lam x (force [(lam y y) x])) (delay (con integer 4))] +) diff --git a/crates/uplc/test_data/conformance/evaluation/term/force/force-3/force-3.uplc.expected b/crates/uplc/test_data/conformance/evaluation/term/force/force-3/force-3.uplc.expected new file mode 100644 index 00000000..68ab9fd0 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/force/force-3/force-3.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (con integer 4)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/term/force/force-4/force-4.uplc b/crates/uplc/test_data/conformance/evaluation/term/force/force-4/force-4.uplc new file mode 100644 index 00000000..c7b2c594 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/force/force-4/force-4.uplc @@ -0,0 +1,3 @@ +(program 1.0.0 + (force (lam x x)) +) diff --git a/crates/uplc/test_data/conformance/evaluation/term/force/force-4/force-4.uplc.expected b/crates/uplc/test_data/conformance/evaluation/term/force/force-4/force-4.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/force/force-4/force-4.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/term/lam/lam-1/lam-1.uplc b/crates/uplc/test_data/conformance/evaluation/term/lam/lam-1/lam-1.uplc new file mode 100644 index 00000000..b4f6fd5c --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/lam/lam-1/lam-1.uplc @@ -0,0 +1 @@ +(program 1.0.0 (lam x x)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/term/lam/lam-1/lam-1.uplc.expected b/crates/uplc/test_data/conformance/evaluation/term/lam/lam-1/lam-1.uplc.expected new file mode 100644 index 00000000..b4f6fd5c --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/lam/lam-1/lam-1.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (lam x x)) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/term/lam/lam-2/lam-2.uplc b/crates/uplc/test_data/conformance/evaluation/term/lam/lam-2/lam-2.uplc new file mode 100644 index 00000000..3cd7e867 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/lam/lam-2/lam-2.uplc @@ -0,0 +1,3 @@ +(program 1.0.0 + (lam x (con integer 23)) +) diff --git a/crates/uplc/test_data/conformance/evaluation/term/lam/lam-2/lam-2.uplc.expected b/crates/uplc/test_data/conformance/evaluation/term/lam/lam-2/lam-2.uplc.expected new file mode 100644 index 00000000..44694d36 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/lam/lam-2/lam-2.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 (lam x (con integer 23))) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/term/nonFunctionalApplication/nonFunctionalApplication.uplc b/crates/uplc/test_data/conformance/evaluation/term/nonFunctionalApplication/nonFunctionalApplication.uplc new file mode 100644 index 00000000..c2d797db --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/nonFunctionalApplication/nonFunctionalApplication.uplc @@ -0,0 +1 @@ +(program 1.0.0 [(con integer 3) (con integer 4)]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/term/nonFunctionalApplication/nonFunctionalApplication.uplc.expected b/crates/uplc/test_data/conformance/evaluation/term/nonFunctionalApplication/nonFunctionalApplication.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/nonFunctionalApplication/nonFunctionalApplication.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/term/unlifting-sat/unlifting-sat.uplc b/crates/uplc/test_data/conformance/evaluation/term/unlifting-sat/unlifting-sat.uplc new file mode 100644 index 00000000..e0450e29 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/unlifting-sat/unlifting-sat.uplc @@ -0,0 +1,2 @@ +-- ill-typed. This fails at runtime since the builtin application is saturated. +(program 1.0.0 [(builtin addInteger) (con unit ()) (con integer 3)]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/term/unlifting-sat/unlifting-sat.uplc.expected b/crates/uplc/test_data/conformance/evaluation/term/unlifting-sat/unlifting-sat.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/unlifting-sat/unlifting-sat.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/term/unlifting-unsat/unlifting-unsat.uplc b/crates/uplc/test_data/conformance/evaluation/term/unlifting-unsat/unlifting-unsat.uplc new file mode 100644 index 00000000..ce2efb7b --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/unlifting-unsat/unlifting-unsat.uplc @@ -0,0 +1,2 @@ +-- ill-typed but does not fail at runtime because the builtin application is not saturated. +(program 1.0.0 [(builtin addInteger) (con unit ())]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/term/unlifting-unsat/unlifting-unsat.uplc.expected b/crates/uplc/test_data/conformance/evaluation/term/unlifting-unsat/unlifting-unsat.uplc.expected new file mode 100644 index 00000000..57d2ddd4 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/unlifting-unsat/unlifting-unsat.uplc.expected @@ -0,0 +1 @@ +(program 1.0.0 [ (builtin addInteger) (con unit ()) ]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/term/var/var.uplc b/crates/uplc/test_data/conformance/evaluation/term/var/var.uplc new file mode 100644 index 00000000..7a343083 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/var/var.uplc @@ -0,0 +1 @@ +(program 1.0.0 x) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/term/var/var.uplc.expected b/crates/uplc/test_data/conformance/evaluation/term/var/var.uplc.expected new file mode 100644 index 00000000..ccc477ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/term/var/var.uplc.expected @@ -0,0 +1 @@ +evaluation failure \ No newline at end of file diff --git a/crates/uplc/tests/conformance.rs b/crates/uplc/tests/conformance.rs new file mode 100644 index 00000000..a343a1ed --- /dev/null +++ b/crates/uplc/tests/conformance.rs @@ -0,0 +1,61 @@ +use std::{ + ffi::OsStr, + fs, + path::{Path, PathBuf}, +}; + +use uplc::{ + ast::{Name, NamedDeBruijn, Program}, + parser, +}; +use walkdir::WalkDir; + +const PARSE_ERROR: &str = "parse error"; +const EVALUATION_FAILURE: &str = "evaluation failure"; + +fn expected_to_program(expected_file: &PathBuf) -> Result, String> { + let code = fs::read_to_string(expected_file).expect("Failed to read .uplc.expected file"); + + if code == PARSE_ERROR || code == EVALUATION_FAILURE { + Err(code) + } else { + parser::program(&code).map_err(|_| code) + } +} + +fn actual_evaluation_result(file: &Path) -> Result, String> { + let code = fs::read_to_string(file).expect("Failed to read .uplc file"); + + let program = parser::program(&code).map_err(|_| PARSE_ERROR.to_string())?; + + let program: Program = program.try_into().unwrap(); + + let version = program.version; + + let term = program + .eval(Default::default()) + .result() + .map_err(|_| EVALUATION_FAILURE.to_string())?; + + let program = Program { version, term }; + + Ok(program.try_into().unwrap()) +} + +#[test] +fn evaluation() { + let root = "test_data/conformance/evaluation"; + + for entry in WalkDir::new(root).into_iter().filter_map(|e| e.ok()) { + let path = entry.path(); + + if path.extension().and_then(OsStr::to_str) == Some("uplc") { + let expected_file = path.with_extension("uplc.expected"); + + let actual = actual_evaluation_result(path); + let expected = expected_to_program(&expected_file); + + assert_eq!(actual, expected, "{}", path.display()); + } + } +}