Skip to content

Commit

Permalink
Update BLS names in plutus-tx-plugin
Browse files Browse the repository at this point in the history
  • Loading branch information
kwxm committed Mar 15, 2023
1 parent fc02f08 commit 885747e
Show file tree
Hide file tree
Showing 22 changed files with 90 additions and 86 deletions.
22 changes: 11 additions & 11 deletions plutus-tx-plugin/src/PlutusTx/Compiler/Builtins.hs
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ import PlutusIR.Purity qualified as PIR
import PlutusCore qualified as PLC
import PlutusCore.BLS12_381.G1 qualified as BLS12_381.G1
import PlutusCore.BLS12_381.G2 qualified as BLS12_381.G2
import PlutusCore.BLS12_381.GT qualified as BLS12_381.GT
import PlutusCore.BLS12_381.Pairing qualified as BLS12_381.Pairing
import PlutusCore.Builtin qualified as PLC
import PlutusCore.Data qualified as PLC
import PlutusCore.Quote
Expand Down Expand Up @@ -245,24 +245,24 @@ builtinNames = [
, ''Builtins.BuiltinBLS12_381_G1_Element
, 'Builtins.bls12_381_G1_equals
, 'Builtins.bls12_381_G1_add
, 'Builtins.bls12_381_G1_mul
, 'Builtins.bls12_381_G1_neg
, 'Builtins.bls12_381_G1_scalarMul
, 'Builtins.bls12_381_G1_compress
, 'Builtins.bls12_381_G1_uncompress
, 'Builtins.bls12_381_G1_hashToCurve

, ''Builtins.BuiltinBLS12_381_G2_Element
, 'Builtins.bls12_381_G2_equals
, 'Builtins.bls12_381_G2_add
, 'Builtins.bls12_381_G2_mul
, 'Builtins.bls12_381_G2_neg
, 'Builtins.bls12_381_G2_scalarMul
, 'Builtins.bls12_381_G2_compress
, 'Builtins.bls12_381_G2_uncompress
, 'Builtins.bls12_381_G2_hashToCurve

, ''Builtins.BuiltinBLS12_381_GT_Element
, 'Builtins.bls12_381_GT_mul
, ''Builtins.BuiltinBLS12_381_MlResult
, 'Builtins.bls12_381_pairing
, 'Builtins.bls12_381_mulMlResult
, 'Builtins.bls12_381_finalVerify
]

Expand Down Expand Up @@ -397,21 +397,21 @@ defineBuiltinTerms = do
-- BLS
defineBuiltinTerm annMayInline 'Builtins.bls12_381_G1_equals $ mkBuiltin PLC.Bls12_381_G1_equal
defineBuiltinTerm annMayInline 'Builtins.bls12_381_G1_add $ mkBuiltin PLC.Bls12_381_G1_add
defineBuiltinTerm annMayInline 'Builtins.bls12_381_G1_mul $ mkBuiltin PLC.Bls12_381_G1_mul
defineBuiltinTerm annMayInline 'Builtins.bls12_381_G1_neg $ mkBuiltin PLC.Bls12_381_G1_neg
defineBuiltinTerm annMayInline 'Builtins.bls12_381_G1_scalarMul $ mkBuiltin PLC.Bls12_381_G1_scalarMul
defineBuiltinTerm annMayInline 'Builtins.bls12_381_G1_compress $ mkBuiltin PLC.Bls12_381_G1_compress
defineBuiltinTerm annMayInline 'Builtins.bls12_381_G1_uncompress $ mkBuiltin PLC.Bls12_381_G1_uncompress
defineBuiltinTerm annMayInline 'Builtins.bls12_381_G1_hashToCurve $ mkBuiltin PLC.Bls12_381_G1_hashToCurve
defineBuiltinTerm annMayInline 'Builtins.bls12_381_G2_equals $ mkBuiltin PLC.Bls12_381_G2_equal
defineBuiltinTerm annMayInline 'Builtins.bls12_381_G2_add $ mkBuiltin PLC.Bls12_381_G2_add
defineBuiltinTerm annMayInline 'Builtins.bls12_381_G2_mul $ mkBuiltin PLC.Bls12_381_G2_mul
defineBuiltinTerm annMayInline 'Builtins.bls12_381_G2_scalarMul $ mkBuiltin PLC.Bls12_381_G2_scalarMul
defineBuiltinTerm annMayInline 'Builtins.bls12_381_G2_neg $ mkBuiltin PLC.Bls12_381_G2_neg
defineBuiltinTerm annMayInline 'Builtins.bls12_381_G2_compress $ mkBuiltin PLC.Bls12_381_G2_compress
defineBuiltinTerm annMayInline 'Builtins.bls12_381_G2_uncompress $ mkBuiltin PLC.Bls12_381_G2_uncompress
defineBuiltinTerm annMayInline 'Builtins.bls12_381_G2_hashToCurve $ mkBuiltin PLC.Bls12_381_G2_hashToCurve
defineBuiltinTerm annMayInline 'Builtins.bls12_381_GT_mul $ mkBuiltin PLC.Bls12_381_GT_mul
defineBuiltinTerm annMayInline 'Builtins.bls12_381_pairing $ mkBuiltin PLC.Bls12_381_GT_pairing
defineBuiltinTerm annMayInline 'Builtins.bls12_381_finalVerify $ mkBuiltin PLC.Bls12_381_GT_finalVerify
defineBuiltinTerm annMayInline 'Builtins.bls12_381_pairing $ mkBuiltin PLC.Bls12_381_pairing
defineBuiltinTerm annMayInline 'Builtins.bls12_381_mulMlResult $ mkBuiltin PLC.Bls12_381_mulMlResult
defineBuiltinTerm annMayInline 'Builtins.bls12_381_finalVerify $ mkBuiltin PLC.Bls12_381_finalVerify

defineBuiltinTypes
:: CompilingDefault uni fun m ann
Expand All @@ -427,7 +427,7 @@ defineBuiltinTypes = do
defineBuiltinType ''Builtins.BuiltinList . ($> annMayInline) $ PLC.TyBuiltin () (PLC.SomeTypeIn PLC.DefaultUniProtoList)
defineBuiltinType ''Builtins.BuiltinBLS12_381_G1_Element . ($> annMayInline) $ PLC.toTypeAst $ Proxy @BLS12_381.G1.Element
defineBuiltinType ''Builtins.BuiltinBLS12_381_G2_Element . ($> annMayInline) $ PLC.toTypeAst $ Proxy @BLS12_381.G2.Element
defineBuiltinType ''Builtins.BuiltinBLS12_381_GT_Element . ($> annMayInline) $ PLC.toTypeAst $ Proxy @BLS12_381.GT.Element
defineBuiltinType ''Builtins.BuiltinBLS12_381_MlResult . ($> annMayInline) $ PLC.toTypeAst $ Proxy @BLS12_381.Pairing.MlResult

-- | Lookup a builtin term by its TH name. These are assumed to be present, so fails if it cannot find it.
lookupBuiltinTerm :: Compiling uni fun m ann => TH.Name -> m (PIRTerm uni fun)
Expand Down
2 changes: 1 addition & 1 deletion plutus-tx-plugin/test/Budget/allCheap.budget.golden
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 16383630
({cpu: 14665540
| mem: 58920})
2 changes: 1 addition & 1 deletion plutus-tx-plugin/test/Budget/allExpensive.budget.golden
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 16383630
({cpu: 14665540
| mem: 58920})
2 changes: 1 addition & 1 deletion plutus-tx-plugin/test/Budget/anyCheap.budget.golden
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 16383630
({cpu: 14665540
| mem: 58920})
2 changes: 1 addition & 1 deletion plutus-tx-plugin/test/Budget/anyExpensive.budget.golden
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 16383630
({cpu: 14665540
| mem: 58920})
2 changes: 1 addition & 1 deletion plutus-tx-plugin/test/Budget/applicative.budget.golden
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 2023577
({cpu: 1903476
| mem: 8002})
2 changes: 1 addition & 1 deletion plutus-tx-plugin/test/Budget/elem.budget.golden
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 16418990
({cpu: 14646520
| mem: 58920})
2 changes: 1 addition & 1 deletion plutus-tx-plugin/test/Budget/filter.budget.golden
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 28773590
({cpu: 30562440
| mem: 92930})
2 changes: 1 addition & 1 deletion plutus-tx-plugin/test/Budget/findCheap.budget.golden
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 16245630
({cpu: 14527540
| mem: 58320})
2 changes: 1 addition & 1 deletion plutus-tx-plugin/test/Budget/findExpensive.budget.golden
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 16245630
({cpu: 14527540
| mem: 58320})
2 changes: 1 addition & 1 deletion plutus-tx-plugin/test/Budget/ifThenElse1.budget.golden
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 796063
({cpu: 620748
| mem: 2302})
2 changes: 1 addition & 1 deletion plutus-tx-plugin/test/Budget/ifThenElse2.budget.golden
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 1416017
({cpu: 1000500
| mem: 3206})
2 changes: 1 addition & 1 deletion plutus-tx-plugin/test/Budget/monadicDo.budget.golden
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 2207577
({cpu: 2087476
| mem: 8802})
2 changes: 1 addition & 1 deletion plutus-tx-plugin/test/Budget/patternMatch.budget.golden
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 1540577
({cpu: 1420476
| mem: 5902})
2 changes: 1 addition & 1 deletion plutus-tx-plugin/test/Budget/show.budget.golden
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 6420742630
({cpu: 6009471883
| mem: 21729973})
2 changes: 1 addition & 1 deletion plutus-tx-plugin/test/Budget/sum.budget.golden
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 13012870
({cpu: 11811860
| mem: 47720})
2 changes: 1 addition & 1 deletion plutus-tx-plugin/test/Budget/toFromData.budget.golden
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 13616457
({cpu: 12269916
| mem: 43192})
32 changes: 16 additions & 16 deletions plutus-tx/src/PlutusTx/Builtins.hs
Original file line number Diff line number Diff line change
Expand Up @@ -73,22 +73,22 @@ module PlutusTx.Builtins (
, BuiltinBLS12_381_G1_Element
, bls12_381_G1_equals
, bls12_381_G1_add
, bls12_381_G1_mul
, bls12_381_G1_scalarMul
, bls12_381_G1_neg
, bls12_381_G1_compress
, bls12_381_G1_uncompress
, bls12_381_G1_hashToCurve
, BuiltinBLS12_381_G2_Element
, bls12_381_G2_equals
, bls12_381_G2_add
, bls12_381_G2_mul
, bls12_381_G2_scalarMul
, bls12_381_G2_neg
, bls12_381_G2_compress
, bls12_381_G2_uncompress
, bls12_381_G2_hashToCurve
, BuiltinBLS12_381_GT_Element
, bls12_381_GT_mul
, BuiltinBLS12_381_MlResult
, bls12_381_pairing
, bls12_381_mulMlResult
, bls12_381_finalVerify
-- * Conversions
, fromBuiltin
Expand All @@ -99,7 +99,7 @@ import PlutusTx.Base (const, uncurry)
import PlutusTx.Bool (Bool (..))
import PlutusTx.Builtins.Class
import PlutusTx.Builtins.Internal (BuiltinBLS12_381_G1_Element (..), BuiltinBLS12_381_G2_Element (..),
BuiltinBLS12_381_GT_Element (..), BuiltinByteString (..), BuiltinData, BuiltinString)
BuiltinBLS12_381_MlResult (..), BuiltinByteString (..), BuiltinData, BuiltinString)
import PlutusTx.Builtins.Internal qualified as BI
import PlutusTx.Integer (Integer)

Expand Down Expand Up @@ -476,9 +476,9 @@ bls12_381_G1_equals a b = fromBuiltin (BI.bls12_381_G1_equals a b)
bls12_381_G1_add :: BuiltinBLS12_381_G1_Element -> BuiltinBLS12_381_G1_Element -> BuiltinBLS12_381_G1_Element
bls12_381_G1_add = BI.bls12_381_G1_add

{-# INLINABLE bls12_381_G1_mul #-}
bls12_381_G1_mul :: Integer -> BuiltinBLS12_381_G1_Element -> BuiltinBLS12_381_G1_Element
bls12_381_G1_mul = BI.bls12_381_G1_mul
{-# INLINABLE bls12_381_G1_scalarMul #-}
bls12_381_G1_scalarMul :: Integer -> BuiltinBLS12_381_G1_Element -> BuiltinBLS12_381_G1_Element
bls12_381_G1_scalarMul = BI.bls12_381_G1_scalarMul

{-# INLINABLE bls12_381_G1_neg #-}
bls12_381_G1_neg :: BuiltinBLS12_381_G1_Element -> BuiltinBLS12_381_G1_Element
Expand All @@ -505,9 +505,9 @@ bls12_381_G2_equals a b = fromBuiltin (BI.bls12_381_G2_equals a b)
bls12_381_G2_add :: BuiltinBLS12_381_G2_Element -> BuiltinBLS12_381_G2_Element -> BuiltinBLS12_381_G2_Element
bls12_381_G2_add = BI.bls12_381_G2_add

{-# INLINABLE bls12_381_G2_mul #-}
bls12_381_G2_mul :: Integer -> BuiltinBLS12_381_G2_Element -> BuiltinBLS12_381_G2_Element
bls12_381_G2_mul = BI.bls12_381_G2_mul
{-# INLINABLE bls12_381_G2_scalarMul #-}
bls12_381_G2_scalarMul :: Integer -> BuiltinBLS12_381_G2_Element -> BuiltinBLS12_381_G2_Element
bls12_381_G2_scalarMul = BI.bls12_381_G2_scalarMul

{-# INLINABLE bls12_381_G2_neg #-}
bls12_381_G2_neg :: BuiltinBLS12_381_G2_Element -> BuiltinBLS12_381_G2_Element
Expand All @@ -526,16 +526,16 @@ bls12_381_G2_hashToCurve :: BuiltinByteString -> BuiltinBLS12_381_G2_Element
bls12_381_G2_hashToCurve = BI.bls12_381_G2_hashToCurve

-- G2 --
{-# INLINABLE bls12_381_GT_mul #-}
bls12_381_GT_mul :: BuiltinBLS12_381_GT_Element -> BuiltinBLS12_381_GT_Element -> BuiltinBLS12_381_GT_Element
bls12_381_GT_mul = BI.bls12_381_GT_mul
{-# INLINABLE bls12_381_mulMlResult #-}
bls12_381_mulMlResult :: BuiltinBLS12_381_MlResult -> BuiltinBLS12_381_MlResult -> BuiltinBLS12_381_MlResult
bls12_381_mulMlResult = BI.bls12_381_mulMlResult

{-# INLINABLE bls12_381_pairing #-}
bls12_381_pairing :: BuiltinBLS12_381_G1_Element -> BuiltinBLS12_381_G2_Element -> BuiltinBLS12_381_GT_Element
bls12_381_pairing :: BuiltinBLS12_381_G1_Element -> BuiltinBLS12_381_G2_Element -> BuiltinBLS12_381_MlResult
bls12_381_pairing = BI.bls12_381_pairing

{-# INLINABLE bls12_381_finalVerify #-}
bls12_381_finalVerify :: BuiltinBLS12_381_GT_Element -> BuiltinBLS12_381_GT_Element -> Bool
bls12_381_finalVerify :: BuiltinBLS12_381_MlResult -> BuiltinBLS12_381_MlResult -> Bool
bls12_381_finalVerify a b = fromBuiltin (BI.bls12_381_finalVerify a b)


10 changes: 5 additions & 5 deletions plutus-tx/src/PlutusTx/Builtins/Class.hs
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ import Data.Text (Text, pack)
import GHC.Magic qualified as Magic
import PlutusCore.BLS12_381.G1 (Element)
import PlutusCore.BLS12_381.G2 (Element)
import PlutusCore.BLS12_381.GT (Element)
import PlutusCore.BLS12_381.Pairing (MlResult)
import PlutusTx.Base (const, id, ($))
import PlutusTx.Bool (Bool (..))
import PlutusTx.Integer (Integer)
Expand Down Expand Up @@ -213,11 +213,11 @@ instance ToBuiltin PlutusCore.BLS12_381.G2.Element BuiltinBLS12_381_G2_Element w
{-# INLINABLE toBuiltin #-}
toBuiltin = BuiltinBLS12_381_G2_Element

instance FromBuiltin BuiltinBLS12_381_GT_Element PlutusCore.BLS12_381.GT.Element where
instance FromBuiltin BuiltinBLS12_381_MlResult PlutusCore.BLS12_381.Pairing.MlResult where
{-# INLINABLE fromBuiltin #-}
fromBuiltin (BuiltinBLS12_381_GT_Element a) = a
instance ToBuiltin PlutusCore.BLS12_381.GT.Element BuiltinBLS12_381_GT_Element where
fromBuiltin (BuiltinBLS12_381_MlResult a) = a
instance ToBuiltin PlutusCore.BLS12_381.Pairing.MlResult BuiltinBLS12_381_MlResult where
{-# INLINABLE toBuiltin #-}
toBuiltin = BuiltinBLS12_381_GT_Element
toBuiltin = BuiltinBLS12_381_MlResult


60 changes: 32 additions & 28 deletions plutus-tx/src/PlutusTx/Builtins/Internal.hs
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ import Data.Text as Text (Text, empty)
import Data.Text.Encoding as Text (decodeUtf8, encodeUtf8)
import PlutusCore.BLS12_381.G1 qualified as BLS12_381.G1
import PlutusCore.BLS12_381.G2 qualified as BLS12_381.G2
import PlutusCore.BLS12_381.GT qualified as BLS12_381.GT
import PlutusCore.BLS12_381.Pairing qualified as BLS12_381.Pairing
import PlutusCore.Builtin.Emitter (Emitter (Emitter))
import PlutusCore.Data qualified as PLC
import PlutusCore.Evaluation.Result (EvaluationResult (EvaluationFailure, EvaluationSuccess))
Expand Down Expand Up @@ -538,14 +538,14 @@ bls12_381_G1_equals a b = BuiltinBool $ coerce ((==) @BuiltinBLS12_381_G1_Elemen
bls12_381_G1_add :: BuiltinBLS12_381_G1_Element -> BuiltinBLS12_381_G1_Element -> BuiltinBLS12_381_G1_Element
bls12_381_G1_add (BuiltinBLS12_381_G1_Element a) (BuiltinBLS12_381_G1_Element b) = BuiltinBLS12_381_G1_Element (BLS12_381.G1.add a b)

{-# NOINLINE bls12_381_G1_mul #-}
bls12_381_G1_mul :: BuiltinInteger -> BuiltinBLS12_381_G1_Element -> BuiltinBLS12_381_G1_Element
bls12_381_G1_mul n (BuiltinBLS12_381_G1_Element a) = BuiltinBLS12_381_G1_Element (BLS12_381.G1.mul n a)

{-# NOINLINE bls12_381_G1_neg #-}
bls12_381_G1_neg :: BuiltinBLS12_381_G1_Element -> BuiltinBLS12_381_G1_Element
bls12_381_G1_neg (BuiltinBLS12_381_G1_Element a) = BuiltinBLS12_381_G1_Element (BLS12_381.G1.neg a)

{-# NOINLINE bls12_381_G1_scalarMul #-}
bls12_381_G1_scalarMul :: BuiltinInteger -> BuiltinBLS12_381_G1_Element -> BuiltinBLS12_381_G1_Element
bls12_381_G1_scalarMul n (BuiltinBLS12_381_G1_Element a) = BuiltinBLS12_381_G1_Element (BLS12_381.G1.scalarMul n a)

{-# NOINLINE bls12_381_G1_compress #-}
bls12_381_G1_compress :: BuiltinBLS12_381_G1_Element -> BuiltinByteString
bls12_381_G1_compress (BuiltinBLS12_381_G1_Element a) = BuiltinByteString (BLS12_381.G1.compress a)
Expand Down Expand Up @@ -582,14 +582,14 @@ bls12_381_G2_equals a b = BuiltinBool $ coerce ((==) @BuiltinBLS12_381_G2_Elemen
bls12_381_G2_add :: BuiltinBLS12_381_G2_Element -> BuiltinBLS12_381_G2_Element -> BuiltinBLS12_381_G2_Element
bls12_381_G2_add (BuiltinBLS12_381_G2_Element a) (BuiltinBLS12_381_G2_Element b) = BuiltinBLS12_381_G2_Element (BLS12_381.G2.add a b)

{-# NOINLINE bls12_381_G2_mul #-}
bls12_381_G2_mul :: BuiltinInteger -> BuiltinBLS12_381_G2_Element -> BuiltinBLS12_381_G2_Element
bls12_381_G2_mul n (BuiltinBLS12_381_G2_Element a) = BuiltinBLS12_381_G2_Element (BLS12_381.G2.mul n a)

{-# NOINLINE bls12_381_G2_neg #-}
bls12_381_G2_neg :: BuiltinBLS12_381_G2_Element -> BuiltinBLS12_381_G2_Element
bls12_381_G2_neg (BuiltinBLS12_381_G2_Element a) = BuiltinBLS12_381_G2_Element (BLS12_381.G2.neg a)

{-# NOINLINE bls12_381_G2_scalarMul #-}
bls12_381_G2_scalarMul :: BuiltinInteger -> BuiltinBLS12_381_G2_Element -> BuiltinBLS12_381_G2_Element
bls12_381_G2_scalarMul n (BuiltinBLS12_381_G2_Element a) = BuiltinBLS12_381_G2_Element (BLS12_381.G2.scalarMul n a)

{-# NOINLINE bls12_381_G2_compress #-}
bls12_381_G2_compress :: BuiltinBLS12_381_G2_Element -> BuiltinByteString
bls12_381_G2_compress (BuiltinBLS12_381_G2_Element a) = BuiltinByteString (BLS12_381.G2.compress a)
Expand All @@ -606,28 +606,32 @@ bls12_381_G2_hashToCurve :: BuiltinByteString -> BuiltinBLS12_381_G2_Element
bls12_381_G2_hashToCurve (BuiltinByteString b) = BuiltinBLS12_381_G2_Element $ BLS12_381.G2.hashToCurve b


---------------- GT ----------------

data BuiltinBLS12_381_GT_Element = BuiltinBLS12_381_GT_Element BLS12_381.GT.Element
---------------- Pairing ----------------

instance Haskell.Show BuiltinBLS12_381_GT_Element where
show (BuiltinBLS12_381_GT_Element a) = show a
instance Haskell.Eq BuiltinBLS12_381_GT_Element where
(==) (BuiltinBLS12_381_GT_Element a) (BuiltinBLS12_381_GT_Element b) = (==) a b
instance NFData BuiltinBLS12_381_GT_Element where
rnf (BuiltinBLS12_381_GT_Element a) = rnf a
instance Pretty BuiltinBLS12_381_GT_Element where
pretty (BuiltinBLS12_381_GT_Element a) = pretty a
data BuiltinBLS12_381_MlResult = BuiltinBLS12_381_MlResult BLS12_381.Pairing.MlResult

{-# NOINLINE bls12_381_GT_mul #-}
bls12_381_GT_mul :: BuiltinBLS12_381_GT_Element -> BuiltinBLS12_381_GT_Element -> BuiltinBLS12_381_GT_Element
bls12_381_GT_mul (BuiltinBLS12_381_GT_Element a) (BuiltinBLS12_381_GT_Element b) = BuiltinBLS12_381_GT_Element (BLS12_381.GT.mul a b)
instance Haskell.Show BuiltinBLS12_381_MlResult where
show (BuiltinBLS12_381_MlResult a) = show a
instance Haskell.Eq BuiltinBLS12_381_MlResult where
(==) (BuiltinBLS12_381_MlResult a) (BuiltinBLS12_381_MlResult b) = (==) a b
instance NFData BuiltinBLS12_381_MlResult where
rnf (BuiltinBLS12_381_MlResult a) = rnf a
instance Pretty BuiltinBLS12_381_MlResult where
pretty (BuiltinBLS12_381_MlResult a) = pretty a

bls12_381_pairing :: BuiltinBLS12_381_G1_Element -> BuiltinBLS12_381_G2_Element -> BuiltinBLS12_381_GT_Element
{-# NOINLINE bls12_381_pairing #-}
bls12_381_pairing :: BuiltinBLS12_381_G1_Element -> BuiltinBLS12_381_G2_Element -> BuiltinBLS12_381_MlResult
bls12_381_pairing (BuiltinBLS12_381_G1_Element a) (BuiltinBLS12_381_G2_Element b) =
case BLS12_381.GT.pairing a b of
case BLS12_381.Pairing.pairing a b of
Left err -> mustBeReplaced $ "BSL12_381 pairing error: " ++ show err
Right c -> BuiltinBLS12_381_GT_Element c
Right c -> BuiltinBLS12_381_MlResult c

{-# NOINLINE bls12_381_mulMlResult #-}
bls12_381_mulMlResult :: BuiltinBLS12_381_MlResult -> BuiltinBLS12_381_MlResult -> BuiltinBLS12_381_MlResult
bls12_381_mulMlResult (BuiltinBLS12_381_MlResult a) (BuiltinBLS12_381_MlResult b)
= BuiltinBLS12_381_MlResult (BLS12_381.Pairing.mulMlResult a b)

bls12_381_finalVerify :: BuiltinBLS12_381_GT_Element -> BuiltinBLS12_381_GT_Element -> BuiltinBool
bls12_381_finalVerify (BuiltinBLS12_381_GT_Element a) (BuiltinBLS12_381_GT_Element b) = BuiltinBool (BLS12_381.GT.finalVerify a b)
{-# NOINLINE bls12_381_finalVerify #-}
bls12_381_finalVerify :: BuiltinBLS12_381_MlResult -> BuiltinBLS12_381_MlResult -> BuiltinBool
bls12_381_finalVerify (BuiltinBLS12_381_MlResult a) (BuiltinBLS12_381_MlResult b)
= BuiltinBool (BLS12_381.Pairing.finalVerify a b)
4 changes: 2 additions & 2 deletions plutus-tx/src/PlutusTx/Lift/Class.hs
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ import PlutusIR.Compiler.Definitions
import PlutusCore qualified as PLC
import PlutusCore.BLS12_381.G1 (Element)
import PlutusCore.BLS12_381.G2 (Element)
import PlutusCore.BLS12_381.GT (Element)
import PlutusCore.BLS12_381.Pairing (MlResult)
import PlutusCore.Data
import PlutusCore.Quote
import PlutusIR.MkPir
Expand Down Expand Up @@ -171,5 +171,5 @@ instance uni `PLC.Includes` PlutusCore.BLS12_381.G1.Element => Lift uni BuiltinB
instance uni `PLC.Includes` PlutusCore.BLS12_381.G2.Element => Lift uni BuiltinBLS12_381_G2_Element where
lift a = liftBuiltin $ fromBuiltin a

instance uni `PLC.Includes` PlutusCore.BLS12_381.GT.Element => Lift uni BuiltinBLS12_381_GT_Element where
instance uni `PLC.Includes` PlutusCore.BLS12_381.Pairing.MlResult => Lift uni BuiltinBLS12_381_MlResult where
lift a = liftBuiltin $ fromBuiltin a

0 comments on commit 885747e

Please sign in to comment.