Skip to content

Commit

Permalink
Crypto -> PlutusCore.Crypto for stuff we've defined
Browse files Browse the repository at this point in the history
  • Loading branch information
kwxm committed Mar 24, 2023
1 parent 1c182de commit b0c8f7f
Show file tree
Hide file tree
Showing 24 changed files with 115 additions and 116 deletions.
6 changes: 3 additions & 3 deletions plutus-core/cost-model/budgeting-bench/Benchmarks/Crypto.hs
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@ import Cardano.Crypto.DSIGN.Ed25519 (Ed25519DSIGN)
import Cardano.Crypto.DSIGN.SchnorrSecp256k1 (SchnorrSecp256k1DSIGN)
import Cardano.Crypto.Seed (mkSeedFromBytes)

import Crypto.BLS12_381.G1 qualified as G1
import Crypto.BLS12_381.G2 qualified as G2
import Crypto.BLS12_381.Pairing qualified as Pairing
import PlutusCore.Crypto.BLS12_381.G1 qualified as G1
import PlutusCore.Crypto.BLS12_381.G2 qualified as G2
import PlutusCore.Crypto.BLS12_381.Pairing qualified as Pairing

import Criterion.Main (Benchmark, bgroup)
import Data.ByteString (ByteString)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@

module CreateBuiltinCostModel where

import Crypto.BLS12_381.G1 qualified as G1
import Crypto.BLS12_381.G2 qualified as G2
import Crypto.BLS12_381.Pairing qualified as Pairing
import PlutusCore.Crypto.BLS12_381.G1 qualified as G1
import PlutusCore.Crypto.BLS12_381.G2 qualified as G2
import PlutusCore.Crypto.BLS12_381.Pairing qualified as Pairing
import PlutusCore.Evaluation.Machine.BuiltinCostModel
import PlutusCore.Evaluation.Machine.ExMemory

Expand Down
12 changes: 6 additions & 6 deletions plutus-core/plutus-core.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -78,12 +78,7 @@ common lang
library
import: lang
exposed-modules:
Crypto.BLS12_381.G1
Crypto.BLS12_381.G2
Crypto.BLS12_381.Pairing
Crypto.Ed25519
Crypto.External.EllipticCurve.BLS12_381
Crypto.Secp256k1
Data.ByteString.Hash
Data.Either.Extras
Data.MultiSet.Lens
Expand All @@ -100,6 +95,11 @@ library
PlutusCore.Compiler
PlutusCore.Compiler.Erase
PlutusCore.Core
PlutusCore.Crypto.BLS12_381.G1
PlutusCore.Crypto.BLS12_381.G2
PlutusCore.Crypto.BLS12_381.Pairing
PlutusCore.Crypto.Ed25519
PlutusCore.Crypto.Secp256k1
PlutusCore.Data
PlutusCore.DataFilePaths
PlutusCore.DeBruijn
Expand Down Expand Up @@ -183,7 +183,6 @@ library

other-modules:
Crypto.External.EllipticCurve.BLS12_381.Internal
Crypto.Utils
Data.Aeson.Flatten
Data.Aeson.THReader
Data.Functor.Foldable.Monadic
Expand All @@ -209,6 +208,7 @@ library
PlutusCore.Core.Instance.Scoping
PlutusCore.Core.Plated
PlutusCore.Core.Type
PlutusCore.Crypto.Utils
PlutusCore.DeBruijn.Internal
PlutusCore.Default.Builtins
PlutusCore.Default.Universe
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE TypeApplications #-}

module Crypto.BLS12_381.G1
module PlutusCore.Crypto.BLS12_381.G1
( Element (..)
, add
, neg
Expand All @@ -18,7 +18,7 @@ module Crypto.BLS12_381.G1
import Crypto.External.EllipticCurve.BLS12_381 qualified as BlstBindings
import Crypto.External.EllipticCurve.BLS12_381.Internal qualified as BlstBindings.Internal

import Crypto.Utils (byteStringAsHex)
import PlutusCore.Crypto.Utils (byteStringAsHex)
import PlutusCore.Pretty.PrettyConst (ConstConfig)
import Text.PrettyBy (PrettyBy, prettyBy)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE TypeApplications #-}

module Crypto.BLS12_381.G2
module PlutusCore.Crypto.BLS12_381.G2
( Element (..)
, add
, neg
Expand All @@ -18,7 +18,7 @@ module Crypto.BLS12_381.G2
import Crypto.External.EllipticCurve.BLS12_381 qualified as BlstBindings
import Crypto.External.EllipticCurve.BLS12_381.Internal qualified as BlstBindings.Internal

import Crypto.Utils (byteStringAsHex)
import PlutusCore.Crypto.Utils (byteStringAsHex)
import PlutusCore.Pretty.PrettyConst (ConstConfig)
import Text.PrettyBy (PrettyBy, prettyBy)

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{-# LANGUAGE DeriveAnyClass #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE TypeApplications #-}
module Crypto.BLS12_381.Pairing
module PlutusCore.Crypto.BLS12_381.Pairing
(
MlResult (..),
millerLoop,
Expand All @@ -13,8 +13,8 @@ module Crypto.BLS12_381.Pairing
import Crypto.External.EllipticCurve.BLS12_381 qualified as BlstBindings
import Crypto.External.EllipticCurve.BLS12_381.Internal qualified as BlstBindings.Internal

import Crypto.BLS12_381.G1 qualified as G1
import Crypto.BLS12_381.G2 qualified as G2
import PlutusCore.Crypto.BLS12_381.G1 qualified as G1
import PlutusCore.Crypto.BLS12_381.G2 qualified as G2
import PlutusCore.Pretty.PrettyConst (ConstConfig)
import Text.PrettyBy (PrettyBy, prettyBy)

Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE TypeApplications #-}

module Crypto.Ed25519 (
module PlutusCore.Crypto.Ed25519 (
verifyEd25519Signature_V1,
verifyEd25519Signature_V2
) where

import Crypto.Utils
import PlutusCore.Crypto.Utils

import Cardano.Crypto.DSIGN.Class qualified as DSIGN
import Cardano.Crypto.DSIGN.Ed25519 (Ed25519DSIGN)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE TypeApplications #-}

module Crypto.Secp256k1 (
module PlutusCore.Crypto.Secp256k1 (
verifyEcdsaSecp256k1Signature,
verifySchnorrSecp256k1Signature
) where

import Crypto.Utils
import PlutusCore.Crypto.Utils

import Cardano.Crypto.DSIGN.Class qualified as DSIGN
import Cardano.Crypto.DSIGN.EcdsaSecp256k1 (EcdsaSecp256k1DSIGN, toMessageHash)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{-# LANGUAGE KindSignatures #-}
{-# LANGUAGE OverloadedStrings #-}

module Crypto.Utils (failWithMessage, byteStringAsHex)
module PlutusCore.Crypto.Utils (failWithMessage, byteStringAsHex)
where

import Data.ByteString (ByteString, foldr')
Expand Down
44 changes: 22 additions & 22 deletions plutus-core/plutus-core/src/PlutusCore/Default/Builtins.hs
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,13 @@ import PlutusCore.Evaluation.Machine.ExMemory
import PlutusCore.Evaluation.Result
import PlutusCore.Pretty

import Crypto.BLS12_381.G1 qualified
import Crypto.BLS12_381.G2 qualified
import Crypto.BLS12_381.Pairing qualified
import PlutusCore.Crypto.BLS12_381.G1 qualified as BLS12_381.G1
import PlutusCore.Crypto.BLS12_381.G2 qualified as BLS12_381.G2
import PlutusCore.Crypto.BLS12_381.Pairing qualified as BLS12_381.Pairing
import PlutusCore.Crypto.Ed25519 (verifyEd25519Signature_V1, verifyEd25519Signature_V2)
import PlutusCore.Crypto.Secp256k1 (verifyEcdsaSecp256k1Signature, verifySchnorrSecp256k1Signature)

import Codec.Serialise (serialise)
import Crypto.Ed25519 (verifyEd25519Signature_V1, verifyEd25519Signature_V2)
import Crypto.Secp256k1 (verifyEcdsaSecp256k1Signature, verifySchnorrSecp256k1Signature)
import Data.ByteString qualified as BS
import Data.ByteString.Hash qualified as Hash
import Data.ByteString.Lazy qualified as BSL
Expand Down Expand Up @@ -1391,85 +1391,85 @@ instance uni ~ DefaultUni => ToBuiltinMeaning uni DefaultFun where
-- BLS12_381.G1
toBuiltinMeaning _var Bls12_381_G1_add =
makeBuiltinMeaning
Crypto.BLS12_381.G1.add
BLS12_381.G1.add
(runCostingFunTwoArguments . paramBls12_381_G1_add)
toBuiltinMeaning _var Bls12_381_G1_neg =
makeBuiltinMeaning
Crypto.BLS12_381.G1.neg
BLS12_381.G1.neg
(runCostingFunOneArgument . paramBls12_381_G1_neg)
toBuiltinMeaning _var Bls12_381_G1_scalarMul =
makeBuiltinMeaning
Crypto.BLS12_381.G1.scalarMul
BLS12_381.G1.scalarMul
(runCostingFunTwoArguments . paramBls12_381_G1_scalarMul)
toBuiltinMeaning _var Bls12_381_G1_compress =
makeBuiltinMeaning
Crypto.BLS12_381.G1.compress
BLS12_381.G1.compress
(runCostingFunOneArgument . paramBls12_381_G1_compress)
toBuiltinMeaning _var Bls12_381_G1_uncompress =
makeBuiltinMeaning
uncompressG1
(runCostingFunOneArgument . paramBls12_381_G1_uncompress)
where uncompressG1 s =
case Crypto.BLS12_381.G1.uncompress s of
case BLS12_381.G1.uncompress s of
Left _ -> EvaluationFailure
Right p -> EvaluationSuccess p
toBuiltinMeaning _var Bls12_381_G1_hashToGroup =
makeBuiltinMeaning
Crypto.BLS12_381.G1.hashToGroup
BLS12_381.G1.hashToGroup
(runCostingFunOneArgument . paramBls12_381_G1_hashToGroup)
toBuiltinMeaning _var Bls12_381_G1_equal =
makeBuiltinMeaning
((==) @Crypto.BLS12_381.G1.Element)
((==) @BLS12_381.G1.Element)
(runCostingFunTwoArguments . paramBls12_381_G1_equal)
-- BLS12_381.G2
toBuiltinMeaning _var Bls12_381_G2_add =
makeBuiltinMeaning
Crypto.BLS12_381.G2.add
BLS12_381.G2.add
(runCostingFunTwoArguments . paramBls12_381_G2_add)
toBuiltinMeaning _var Bls12_381_G2_neg =
makeBuiltinMeaning
Crypto.BLS12_381.G2.neg
BLS12_381.G2.neg
(runCostingFunOneArgument . paramBls12_381_G2_neg)
toBuiltinMeaning _var Bls12_381_G2_scalarMul =
makeBuiltinMeaning
Crypto.BLS12_381.G2.scalarMul
BLS12_381.G2.scalarMul
(runCostingFunTwoArguments . paramBls12_381_G2_scalarMul)
toBuiltinMeaning _var Bls12_381_G2_compress =
makeBuiltinMeaning
Crypto.BLS12_381.G2.compress
BLS12_381.G2.compress
(runCostingFunOneArgument . paramBls12_381_G2_compress)
toBuiltinMeaning _var Bls12_381_G2_uncompress =
makeBuiltinMeaning
uncompressG2
(runCostingFunOneArgument . paramBls12_381_G2_uncompress)
where uncompressG2 s =
case Crypto.BLS12_381.G2.uncompress s of
case BLS12_381.G2.uncompress s of
Left _ -> EvaluationFailure
Right p -> EvaluationSuccess p
toBuiltinMeaning _var Bls12_381_G2_hashToGroup =
makeBuiltinMeaning
Crypto.BLS12_381.G2.hashToGroup
BLS12_381.G2.hashToGroup
(runCostingFunOneArgument . paramBls12_381_G2_hashToGroup)
toBuiltinMeaning _var Bls12_381_G2_equal =
makeBuiltinMeaning
((==) @Crypto.BLS12_381.G2.Element)
((==) @BLS12_381.G2.Element)
(runCostingFunTwoArguments . paramBls12_381_G2_equal)
-- BLS12_381.Pairing
toBuiltinMeaning _var Bls12_381_millerLoop =
makeBuiltinMeaning
ml
(runCostingFunTwoArguments . paramBls12_381_millerLoop)
where ml a b =
case Crypto.BLS12_381.Pairing.millerLoop a b of
case BLS12_381.Pairing.millerLoop a b of
Left _ -> EvaluationFailure
Right p -> EvaluationSuccess p
toBuiltinMeaning _var Bls12_381_mulMlResult =
makeBuiltinMeaning
Crypto.BLS12_381.Pairing.mulMlResult
BLS12_381.Pairing.mulMlResult
(runCostingFunTwoArguments . paramBls12_381_mulMlResult)
toBuiltinMeaning _var Bls12_381_finalVerify =
makeBuiltinMeaning
Crypto.BLS12_381.Pairing.finalVerify
BLS12_381.Pairing.finalVerify
(runCostingFunTwoArguments . paramBls12_381_finalVerify)
-- See Note [Inlining meanings of builtins].
{-# INLINE toBuiltinMeaning #-}
Expand Down
6 changes: 3 additions & 3 deletions plutus-core/plutus-core/src/PlutusCore/Default/Universe.hs
Original file line number Diff line number Diff line change
Expand Up @@ -36,10 +36,10 @@ module PlutusCore.Default.Universe
, noMoreTypeFunctions
) where

import Crypto.BLS12_381.G1 qualified as BLS12_381.G1
import Crypto.BLS12_381.G2 qualified as BLS12_381.G2
import Crypto.BLS12_381.Pairing qualified as BLS12_381.Pairing
import PlutusCore.Builtin
import PlutusCore.Crypto.BLS12_381.G1 qualified as BLS12_381.G1
import PlutusCore.Crypto.BLS12_381.G2 qualified as BLS12_381.G2
import PlutusCore.Crypto.BLS12_381.Pairing qualified as BLS12_381.Pairing
import PlutusCore.Data
import PlutusCore.Evaluation.Machine.Exception
import PlutusCore.Evaluation.Result
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,13 @@ module PlutusCore.Evaluation.Machine.ExMemory
, ExMemoryUsage(..)
) where

import PlutusCore.Crypto.BLS12_381.G1 as BLS12_381.G1
import PlutusCore.Crypto.BLS12_381.G2 as BLS12_381.G2
import PlutusCore.Crypto.BLS12_381.Pairing as BLS12_381.Pairing
import PlutusCore.Data
import PlutusCore.Pretty
import PlutusPrelude

import Crypto.BLS12_381.G1
import Crypto.BLS12_381.G2
import Crypto.BLS12_381.Pairing

import Codec.Serialise (Serialise)
import Control.Monad.RWS.Strict
import Data.Aeson
Expand Down Expand Up @@ -281,14 +280,14 @@ instance ExMemoryUsage Data where
sizeDataPairs [] = 0
sizeDataPairs ((d1,d2):ps) = sizeData d1 + sizeData d2 + sizeDataPairs ps

instance ExMemoryUsage Crypto.BLS12_381.G1.Element where
memoryUsage _ = fromIntegral $ Crypto.BLS12_381.G1.memSizeBytes `div` 8
instance ExMemoryUsage BLS12_381.G1.Element where
memoryUsage _ = fromIntegral $ BLS12_381.G1.memSizeBytes `div` 8
-- Should be 12

instance ExMemoryUsage Crypto.BLS12_381.G2.Element where
memoryUsage _ = fromIntegral $ Crypto.BLS12_381.G2.memSizeBytes `div` 8
instance ExMemoryUsage BLS12_381.G2.Element where
memoryUsage _ = fromIntegral $ BLS12_381.G2.memSizeBytes `div` 8
-- Should be 24

instance ExMemoryUsage Crypto.BLS12_381.Pairing.MlResult where
memoryUsage _ = fromIntegral $ Crypto.BLS12_381.Pairing.mlResultMemSizeBytes `div` 8
instance ExMemoryUsage BLS12_381.Pairing.MlResult where
memoryUsage _ = fromIntegral $ BLS12_381.Pairing.mlResultMemSizeBytes `div` 8
-- Should be 144
4 changes: 2 additions & 2 deletions plutus-core/plutus-core/src/PlutusCore/Parser/Builtin.hs
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ module PlutusCore.Parser.Builtin where

import PlutusPrelude (Word8, reoption)

import Crypto.BLS12_381.G1 qualified as BLS12_381.G1
import Crypto.BLS12_381.G2 qualified as BLS12_381.G2
import PlutusCore.Crypto.BLS12_381.G1 qualified as BLS12_381.G1
import PlutusCore.Crypto.BLS12_381.G2 qualified as BLS12_381.G2
import PlutusCore.Data
import PlutusCore.Default
import PlutusCore.Error (ParserError (InvalidData, UnknownBuiltinFunction))
Expand Down
4 changes: 2 additions & 2 deletions plutus-core/plutus-core/src/PlutusCore/Parser/Type.hs
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@ module PlutusCore.Parser.Type where

import PlutusPrelude

import Crypto.BLS12_381.G1 as BLS12_381.G1
import Crypto.BLS12_381.G2 as BLS12_381.G2
import PlutusCore.Annotation
import PlutusCore.Core.Type
import PlutusCore.Crypto.BLS12_381.G1 as BLS12_381.G1
import PlutusCore.Crypto.BLS12_381.G2 as BLS12_381.G2
import PlutusCore.Data
import PlutusCore.Default
import PlutusCore.MkPlc (mkIterTyApp)
Expand Down
Loading

0 comments on commit b0c8f7f

Please sign in to comment.