diff --git a/plutus-conformance/agda/Spec.hs b/plutus-conformance/agda/Spec.hs index b64664904c6..e8008b9159f 100644 --- a/plutus-conformance/agda/Spec.hs +++ b/plutus-conformance/agda/Spec.hs @@ -62,15 +62,19 @@ failingTests = [ , "bls12_381_G1_equal/equal-false" , "bls12_381_G1_equal/equal-true" , "bls12_381_G1_hashToCurve/hash" - , "bls12_381_G1_mul/mul0" - , "bls12_381_G1_mul/mul4x11" - , "bls12_381_G1_mul/muladd" - , "bls12_381_G1_mul/mul1" - , "bls12_381_G1_mul/mul44" - , "bls12_381_G1_mul/addmul" - , "bls12_381_G1_mul/mulneg44" - , "bls12_381_G1_mul/mul19+25" - , "bls12_381_G1_mul/mulneg1" + , "bls12_381_G1_scalarMul/mul0" + , "bls12_381_G1_scalarMul/mul4x11" + , "bls12_381_G1_scalarMul/muladd" + , "bls12_381_G1_scalarMul/mul1" + , "bls12_381_G1_scalarMul/mul44" + , "bls12_381_G1_scalarMul/addmul" + , "bls12_381_G1_scalarMul/mulneg44" + , "bls12_381_G1_scalarMul/mul19+25" + , "bls12_381_G1_scalarMul/mulneg1" + , "bls12_381_G1_scalarMul/mulperiodic1" + , "bls12_381_G1_scalarMul/mulperiodic2" + , "bls12_381_G1_scalarMul/mulperiodic3" + , "bls12_381_G1_scalarMul/mulperiodic4" , "bls12_381_G1_neg/neg" , "bls12_381_G1_neg/add-neg" , "bls12_381_G1_neg/neg-zero" @@ -93,15 +97,19 @@ failingTests = [ , "bls12_381_G2_equal/equal-false" , "bls12_381_G2_equal/equal-true" , "bls12_381_G2_hashToCurve/hash" - , "bls12_381_G2_mul/mul0" - , "bls12_381_G2_mul/mul4x11" - , "bls12_381_G2_mul/muladd" - , "bls12_381_G2_mul/mul1" - , "bls12_381_G2_mul/mul44" - , "bls12_381_G2_mul/addmul" - , "bls12_381_G2_mul/mulneg44" - , "bls12_381_G2_mul/mul19+25" - , "bls12_381_G2_mul/mulneg1" + , "bls12_381_G2_scalarMul/mul0" + , "bls12_381_G2_scalarMul/mul4x11" + , "bls12_381_G2_scalarMul/muladd" + , "bls12_381_G2_scalarMul/mul1" + , "bls12_381_G2_scalarMul/mul44" + , "bls12_381_G2_scalarMul/addmul" + , "bls12_381_G2_scalarMul/mulneg44" + , "bls12_381_G2_scalarMul/mul19+25" + , "bls12_381_G2_scalarMul/mulneg1" + , "bls12_381_G2_scalarMul/mulperiodic1" + , "bls12_381_G2_scalarMul/mulperiodic2" + , "bls12_381_G2_scalarMul/mulperiodic3" + , "bls12_381_G2_scalarMul/mulperiodic4" , "bls12_381_G2_neg/neg" , "bls12_381_G2_neg/add-neg" , "bls12_381_G2_neg/neg-zero" diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_mul/addmul/addmul.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_scalarMul/addmul/addmul.uplc similarity index 100% rename from plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_mul/addmul/addmul.uplc rename to plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_scalarMul/addmul/addmul.uplc diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_mul/addmul/addmul.uplc.expected b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_scalarMul/addmul/addmul.uplc.expected similarity index 100% rename from plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_mul/addmul/addmul.uplc.expected rename to plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_scalarMul/addmul/addmul.uplc.expected diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_mul/mul0/mul0.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul0/mul0.uplc similarity index 100% rename from plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_mul/mul0/mul0.uplc rename to plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul0/mul0.uplc diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_mul/mul0/mul0.uplc.expected b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul0/mul0.uplc.expected similarity index 100% rename from plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_mul/mul0/mul0.uplc.expected rename to plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul0/mul0.uplc.expected diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_mul/mul1/mul1.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul1/mul1.uplc similarity index 100% rename from plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_mul/mul1/mul1.uplc rename to plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul1/mul1.uplc diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_mul/mul1/mul1.uplc.expected b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul1/mul1.uplc.expected similarity index 100% rename from plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_mul/mul1/mul1.uplc.expected rename to plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul1/mul1.uplc.expected diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_mul/mul19+25/mul19+25.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul19+25/mul19+25.uplc similarity index 100% rename from plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_mul/mul19+25/mul19+25.uplc rename to plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul19+25/mul19+25.uplc diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_mul/mul19+25/mul19+25.uplc.expected b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul19+25/mul19+25.uplc.expected similarity index 100% rename from plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_mul/mul19+25/mul19+25.uplc.expected rename to plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul19+25/mul19+25.uplc.expected diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_mul/mul44/mul44.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul44/mul44.uplc similarity index 100% rename from plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_mul/mul44/mul44.uplc rename to plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul44/mul44.uplc diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_mul/mul44/mul44.uplc.expected b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul44/mul44.uplc.expected similarity index 100% rename from plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_mul/mul44/mul44.uplc.expected rename to plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul44/mul44.uplc.expected diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_mul/mul4x11/mul4x11.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul4x11/mul4x11.uplc similarity index 100% rename from plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_mul/mul4x11/mul4x11.uplc rename to plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul4x11/mul4x11.uplc diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_mul/mul4x11/mul4x11.uplc.expected b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul4x11/mul4x11.uplc.expected similarity index 100% rename from plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_mul/mul4x11/mul4x11.uplc.expected rename to plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mul4x11/mul4x11.uplc.expected diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_mul/muladd/muladd.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_scalarMul/muladd/muladd.uplc similarity index 100% rename from plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_mul/muladd/muladd.uplc rename to plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_scalarMul/muladd/muladd.uplc diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_mul/muladd/muladd.uplc.expected b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_scalarMul/muladd/muladd.uplc.expected similarity index 100% rename from plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_mul/muladd/muladd.uplc.expected rename to plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_scalarMul/muladd/muladd.uplc.expected diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_mul/mulneg1/mulneg1.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulneg1/mulneg1.uplc similarity index 100% rename from plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_mul/mulneg1/mulneg1.uplc rename to plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulneg1/mulneg1.uplc diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_mul/mulneg1/mulneg1.uplc.expected b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulneg1/mulneg1.uplc.expected similarity index 100% rename from plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_mul/mulneg1/mulneg1.uplc.expected rename to plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulneg1/mulneg1.uplc.expected diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_mul/mulneg44/mulneg44.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulneg44/mulneg44.uplc similarity index 100% rename from plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_mul/mulneg44/mulneg44.uplc rename to plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulneg44/mulneg44.uplc diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_mul/mulneg44/mulneg44.uplc.expected b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulneg44/mulneg44.uplc.expected similarity index 100% rename from plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_mul/mulneg44/mulneg44.uplc.expected rename to plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulneg44/mulneg44.uplc.expected diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulperiodic1/mulperiodic1.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulperiodic1/mulperiodic1.uplc new file mode 100644 index 00000000000..974dc102591 --- /dev/null +++ b/plutus-conformance/test-cases/uplc/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/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulperiodic1/mulperiodic1.uplc.expected b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulperiodic1/mulperiodic1.uplc.expected new file mode 100644 index 00000000000..3760fc7a698 --- /dev/null +++ b/plutus-conformance/test-cases/uplc/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/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulperiodic2/mulperiodic2.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulperiodic2/mulperiodic2.uplc new file mode 100644 index 00000000000..8b0277589cc --- /dev/null +++ b/plutus-conformance/test-cases/uplc/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/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulperiodic2/mulperiodic2.uplc.expected b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulperiodic2/mulperiodic2.uplc.expected new file mode 100644 index 00000000000..3760fc7a698 --- /dev/null +++ b/plutus-conformance/test-cases/uplc/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/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulperiodic3/mulperiodic3.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulperiodic3/mulperiodic3.uplc new file mode 100644 index 00000000000..8aeb4591ce8 --- /dev/null +++ b/plutus-conformance/test-cases/uplc/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/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulperiodic3/mulperiodic3.uplc.expected b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulperiodic3/mulperiodic3.uplc.expected new file mode 100644 index 00000000000..3760fc7a698 --- /dev/null +++ b/plutus-conformance/test-cases/uplc/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/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulperiodic4/mulperiodic4.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulperiodic4/mulperiodic4.uplc new file mode 100644 index 00000000000..250e6fa3711 --- /dev/null +++ b/plutus-conformance/test-cases/uplc/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/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulperiodic4/mulperiodic4.uplc.expected b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G1_scalarMul/mulperiodic4/mulperiodic4.uplc.expected new file mode 100644 index 00000000000..3760fc7a698 --- /dev/null +++ b/plutus-conformance/test-cases/uplc/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/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_mul/addmul/addmul.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_scalarMul/addmul/addmul.uplc similarity index 100% rename from plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_mul/addmul/addmul.uplc rename to plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_scalarMul/addmul/addmul.uplc diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_mul/addmul/addmul.uplc.expected b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_scalarMul/addmul/addmul.uplc.expected similarity index 100% rename from plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_mul/addmul/addmul.uplc.expected rename to plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_scalarMul/addmul/addmul.uplc.expected diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_mul/mul0/mul0.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul0/mul0.uplc similarity index 100% rename from plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_mul/mul0/mul0.uplc rename to plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul0/mul0.uplc diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_mul/mul0/mul0.uplc.expected b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul0/mul0.uplc.expected similarity index 100% rename from plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_mul/mul0/mul0.uplc.expected rename to plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul0/mul0.uplc.expected diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_mul/mul1/mul1.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul1/mul1.uplc similarity index 100% rename from plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_mul/mul1/mul1.uplc rename to plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul1/mul1.uplc diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_mul/mul1/mul1.uplc.expected b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul1/mul1.uplc.expected similarity index 100% rename from plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_mul/mul1/mul1.uplc.expected rename to plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul1/mul1.uplc.expected diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_mul/mul19+25/mul19+25.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul19+25/mul19+25.uplc similarity index 100% rename from plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_mul/mul19+25/mul19+25.uplc rename to plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul19+25/mul19+25.uplc diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_mul/mul19+25/mul19+25.uplc.expected b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul19+25/mul19+25.uplc.expected similarity index 100% rename from plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_mul/mul19+25/mul19+25.uplc.expected rename to plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul19+25/mul19+25.uplc.expected diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_mul/mul44/mul44.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul44/mul44.uplc similarity index 100% rename from plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_mul/mul44/mul44.uplc rename to plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul44/mul44.uplc diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_mul/mul44/mul44.uplc.expected b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul44/mul44.uplc.expected similarity index 100% rename from plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_mul/mul44/mul44.uplc.expected rename to plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul44/mul44.uplc.expected diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_mul/mul4x11/mul4x11.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul4x11/mul4x11.uplc similarity index 100% rename from plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_mul/mul4x11/mul4x11.uplc rename to plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul4x11/mul4x11.uplc diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_mul/mul4x11/mul4x11.uplc.expected b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul4x11/mul4x11.uplc.expected similarity index 100% rename from plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_mul/mul4x11/mul4x11.uplc.expected rename to plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mul4x11/mul4x11.uplc.expected diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_mul/muladd/muladd.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_scalarMul/muladd/muladd.uplc similarity index 100% rename from plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_mul/muladd/muladd.uplc rename to plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_scalarMul/muladd/muladd.uplc diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_mul/muladd/muladd.uplc.expected b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_scalarMul/muladd/muladd.uplc.expected similarity index 100% rename from plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_mul/muladd/muladd.uplc.expected rename to plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_scalarMul/muladd/muladd.uplc.expected diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_mul/mulneg1/mulneg1.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulneg1/mulneg1.uplc similarity index 100% rename from plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_mul/mulneg1/mulneg1.uplc rename to plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulneg1/mulneg1.uplc diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_mul/mulneg1/mulneg1.uplc.expected b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulneg1/mulneg1.uplc.expected similarity index 100% rename from plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_mul/mulneg1/mulneg1.uplc.expected rename to plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulneg1/mulneg1.uplc.expected diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_mul/mulneg44/mulneg44.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulneg44/mulneg44.uplc similarity index 100% rename from plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_mul/mulneg44/mulneg44.uplc rename to plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulneg44/mulneg44.uplc diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_mul/mulneg44/mulneg44.uplc.expected b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulneg44/mulneg44.uplc.expected similarity index 100% rename from plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_mul/mulneg44/mulneg44.uplc.expected rename to plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulneg44/mulneg44.uplc.expected diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulperiodic1/mulperiodic1.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulperiodic1/mulperiodic1.uplc new file mode 100644 index 00000000000..b9c3fc157d1 --- /dev/null +++ b/plutus-conformance/test-cases/uplc/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/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulperiodic1/mulperiodic1.uplc.expected b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulperiodic1/mulperiodic1.uplc.expected new file mode 100644 index 00000000000..3760fc7a698 --- /dev/null +++ b/plutus-conformance/test-cases/uplc/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/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulperiodic2/mulperiodic2.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulperiodic2/mulperiodic2.uplc new file mode 100644 index 00000000000..134e98d0951 --- /dev/null +++ b/plutus-conformance/test-cases/uplc/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/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulperiodic2/mulperiodic2.uplc.expected b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulperiodic2/mulperiodic2.uplc.expected new file mode 100644 index 00000000000..3760fc7a698 --- /dev/null +++ b/plutus-conformance/test-cases/uplc/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/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulperiodic3/mulperiodic3.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulperiodic3/mulperiodic3.uplc new file mode 100644 index 00000000000..0218e35941e --- /dev/null +++ b/plutus-conformance/test-cases/uplc/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/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulperiodic3/mulperiodic3.uplc.expected b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulperiodic3/mulperiodic3.uplc.expected new file mode 100644 index 00000000000..3760fc7a698 --- /dev/null +++ b/plutus-conformance/test-cases/uplc/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/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulperiodic4/mulperiodic4.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulperiodic4/mulperiodic4.uplc new file mode 100644 index 00000000000..5bb2845d8d9 --- /dev/null +++ b/plutus-conformance/test-cases/uplc/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/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulperiodic4/mulperiodic4.uplc.expected b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/bls12_381_G2_scalarMul/mulperiodic4/mulperiodic4.uplc.expected new file mode 100644 index 00000000000..3760fc7a698 --- /dev/null +++ b/plutus-conformance/test-cases/uplc/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