@@ -62,6 +62,8 @@ import PlutusIR.MkPir qualified as PIR
6262import PlutusIR.Purity qualified as PIR
6363
6464import PlutusCore qualified as PLC
65+ import PlutusCore.Crypto.BLS12_381.G1 qualified as BLS12_381_G1
66+ import PlutusCore.Crypto.BLS12_381.G2 qualified as BLS12_381_G2
6567import PlutusCore.Data qualified as PLC
6668import PlutusCore.MkPlc qualified as PLC
6769import PlutusCore.StdLib.Data.Function qualified
@@ -867,6 +869,8 @@ compileExpr e = traceCompilation 2 ("Compiling expr:" GHC.<+> GHC.ppr e) $ do
867869 builtinIntegerTyCon <- lookupGhcTyCon ''BI. BuiltinInteger
868870 builtinDataTyCon <- lookupGhcTyCon ''Builtins. BuiltinData
869871 builtinPairTyCon <- lookupGhcTyCon ''BI. BuiltinPair
872+ builtinBLS12_G1_TyCon <- lookupGhcTyCon ''BI. BuiltinBLS12_381_G1_Element
873+ builtinBLS12_G2_TyCon <- lookupGhcTyCon ''BI. BuiltinBLS12_381_G2_Element
870874 stringTyName <- lookupGhcName ''Builtins. BuiltinString
871875 stringToBuiltinStringName <- lookupGhcName 'Builtins. stringToBuiltinString
872876 builtinByteStringTyName <- lookupGhcName ''Builtins. BuiltinByteString
@@ -1033,6 +1037,10 @@ compileExpr e = traceCompilation 2 ("Compiling expr:" GHC.<+> GHC.ppr e) $ do
10331037 | tyCon == GHC. integerTyCon || tyCon == builtinIntegerTyCon ->
10341038 pure $ PLC. mkConstant annMayInline ([] @ Integer )
10351039 | tyCon == builtinDataTyCon -> pure $ PLC. mkConstant annMayInline ([] @ PLC. Data )
1040+ | tyCon == builtinBLS12_G1_TyCon ->
1041+ pure $ PLC. mkConstant annMayInline ([] @ BLS12_381_G1. Element )
1042+ | tyCon == builtinBLS12_G2_TyCon ->
1043+ pure $ PLC. mkConstant annMayInline ([] @ BLS12_381_G2. Element )
10361044 GHC. TyConApp tyCon [GHC. TyConApp tyArg1 [] , GHC. TyConApp tyArg2 [] ]
10371045 | (tyCon, tyArg1, tyArg2) == (builtinPairTyCon, builtinDataTyCon, builtinDataTyCon) ->
10381046 pure $ PLC. mkConstant annMayInline ([] @ (PLC. Data , PLC. Data ))
0 commit comments