plutarch-1.9.0
Safe HaskellSafe-Inferred
LanguageGHC2021

Plutarch.BLS

Synopsis

Documentation

newtype PBuiltinBLS12_381_G1_Element s Source #

A point on the BLS12-381 G1 curve.

Since: 1.9.0

Instances

Instances details
PEq PBuiltinBLS12_381_G1_Element Source #

Since: 1.9.0

Instance details

Defined in Plutarch.BLS

PLiftable PBuiltinBLS12_381_G1_Element Source # 
Instance details

Defined in Plutarch.BLS

DerivePlutusType PBuiltinBLS12_381_G1_Element Source #

Since: 1.9.0

Instance details

Defined in Plutarch.BLS

PlutusType PBuiltinBLS12_381_G1_Element Source # 
Instance details

Defined in Plutarch.BLS

Generic (PBuiltinBLS12_381_G1_Element s) Source # 
Instance details

Defined in Plutarch.BLS

Associated Types

type Rep (PBuiltinBLS12_381_G1_Element s) :: Type -> Type Source #

type AsHaskell PBuiltinBLS12_381_G1_Element Source #

@since WIP

Instance details

Defined in Plutarch.BLS

type PlutusRepr PBuiltinBLS12_381_G1_Element Source # 
Instance details

Defined in Plutarch.BLS

type DPTStrat PBuiltinBLS12_381_G1_Element Source # 
Instance details

Defined in Plutarch.BLS

type PContravariant' PBuiltinBLS12_381_G1_Element Source # 
Instance details

Defined in Plutarch.BLS

type PCovariant' PBuiltinBLS12_381_G1_Element Source # 
Instance details

Defined in Plutarch.BLS

type PInner PBuiltinBLS12_381_G1_Element Source # 
Instance details

Defined in Plutarch.BLS

type PVariant' PBuiltinBLS12_381_G1_Element Source # 
Instance details

Defined in Plutarch.BLS

type Rep (PBuiltinBLS12_381_G1_Element s) Source # 
Instance details

Defined in Plutarch.BLS

type Rep (PBuiltinBLS12_381_G1_Element s) = D1 ('MetaData "PBuiltinBLS12_381_G1_Element" "Plutarch.BLS" "plutarch-1.9.0-DaxzFvLNVysDL1hkJ4YFrw" 'True) (C1 ('MetaCons "PBuiltinBLS12_381_G1_Element" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Term s POpaque))))

pbls12_381_G1_scalarMul :: Term s (PInteger :--> (PBuiltinBLS12_381_G1_Element :--> PBuiltinBLS12_381_G1_Element)) Source #

Multiply a point on the BLS12-381 G1 curve by a scalar.

Since: 1.9.0

pbls12_381_G1_neg :: Term s (PBuiltinBLS12_381_G1_Element :--> PBuiltinBLS12_381_G1_Element) Source #

Negate a point on the BLS12-381 G1 curve.

Since: 1.9.0

pbls12_381_G1_compress :: Term s (PBuiltinBLS12_381_G1_Element :--> PByteString) Source #

Compress a point on the BLS12-381 G1 curve to a byte string.

Since: 1.9.0

pbls12_381_G1_uncompress :: Term s (PByteString :--> PBuiltinBLS12_381_G1_Element) Source #

Uncompress a byte string to a point on the BLS12-381 G1 curve.

Since: 1.9.0

pbls12_381_G1_hashToGroup :: Term s (PByteString :--> (PByteString :--> PBuiltinBLS12_381_G1_Element)) Source #

Hash a message to a point on the BLS12-381 G1 curve.

Since: 1.9.0

pbls12_381_G1_compressed_zero :: Term s PByteString Source #

The compressed representation of the zero point on the BLS12-381 G1 curve.

Since: 1.9.0

pbls12_381_G1_compressed_generator :: Term s PByteString Source #

The compressed representation of the generator point on the BLS12-381 G1 curve.

Since: 1.9.0

newtype PBuiltinBLS12_381_G2_Element s Source #

Since: 1.9.0

Instances

Instances details
PEq PBuiltinBLS12_381_G2_Element Source #

Since: 1.9.0

Instance details

Defined in Plutarch.BLS

PLiftable PBuiltinBLS12_381_G2_Element Source # 
Instance details

Defined in Plutarch.BLS

DerivePlutusType PBuiltinBLS12_381_G2_Element Source #

Since: 1.9.0

Instance details

Defined in Plutarch.BLS

PlutusType PBuiltinBLS12_381_G2_Element Source # 
Instance details

Defined in Plutarch.BLS

Generic (PBuiltinBLS12_381_G2_Element s) Source # 
Instance details

Defined in Plutarch.BLS

Associated Types

type Rep (PBuiltinBLS12_381_G2_Element s) :: Type -> Type Source #

type AsHaskell PBuiltinBLS12_381_G2_Element Source #

@since WIP

Instance details

Defined in Plutarch.BLS

type PlutusRepr PBuiltinBLS12_381_G2_Element Source # 
Instance details

Defined in Plutarch.BLS

type DPTStrat PBuiltinBLS12_381_G2_Element Source # 
Instance details

Defined in Plutarch.BLS

type PContravariant' PBuiltinBLS12_381_G2_Element Source # 
Instance details

Defined in Plutarch.BLS

type PCovariant' PBuiltinBLS12_381_G2_Element Source # 
Instance details

Defined in Plutarch.BLS

type PInner PBuiltinBLS12_381_G2_Element Source # 
Instance details

Defined in Plutarch.BLS

type PVariant' PBuiltinBLS12_381_G2_Element Source # 
Instance details

Defined in Plutarch.BLS

type Rep (PBuiltinBLS12_381_G2_Element s) Source # 
Instance details

Defined in Plutarch.BLS

type Rep (PBuiltinBLS12_381_G2_Element s) = D1 ('MetaData "PBuiltinBLS12_381_G2_Element" "Plutarch.BLS" "plutarch-1.9.0-DaxzFvLNVysDL1hkJ4YFrw" 'True) (C1 ('MetaCons "PBuiltinBLS12_381_G2_Element" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Term s POpaque))))

pbls12_381_G2_scalarMul :: Term s (PInteger :--> (PBuiltinBLS12_381_G2_Element :--> PBuiltinBLS12_381_G2_Element)) Source #

Multiply a point on the BLS12-381 G2 curve by a scalar.

Since: 1.9.0

pbls12_381_G2_neg :: Term s (PBuiltinBLS12_381_G2_Element :--> PBuiltinBLS12_381_G2_Element) Source #

Negate a point on the BLS12-381 G2 curve.

Since: 1.9.0

pbls12_381_G2_compress :: Term s (PBuiltinBLS12_381_G2_Element :--> PByteString) Source #

Compress a point on the BLS12-381 G2 curve to a byte string.

Since: 1.9.0

pbls12_381_G2_uncompress :: Term s (PByteString :--> PBuiltinBLS12_381_G2_Element) Source #

Uncompress a byte string to a point on the BLS12-381 G2 curve.

Since: 1.9.0

pbls12_381_G2_hashToGroup :: Term s (PByteString :--> (PByteString :--> PBuiltinBLS12_381_G2_Element)) Source #

Hash a message to a point on the BLS12-381 G2 curve.

Since: 1.9.0

pbls12_381_G2_compressed_zero :: Term s PByteString Source #

The compressed representation of the zero point on the BLS12-381 G2 curve.

Since: 1.9.0

pbls12_381_G2_compressed_generator :: Term s PByteString Source #

The compressed representation of the generator point on the BLS12-381 G2 curve.

Since: 1.9.0

newtype PBuiltinBLS12_381_MlResult s Source #

Represents the result of a Miller loop operation in BLS12-381 pairing.

Since: 1.9.0

Instances

Instances details
PLiftable PBuiltinBLS12_381_MlResult Source # 
Instance details

Defined in Plutarch.BLS

DerivePlutusType PBuiltinBLS12_381_MlResult Source #

Since: 1.9.0

Instance details

Defined in Plutarch.BLS

PlutusType PBuiltinBLS12_381_MlResult Source # 
Instance details

Defined in Plutarch.BLS

Generic (PBuiltinBLS12_381_MlResult s) Source # 
Instance details

Defined in Plutarch.BLS

Associated Types

type Rep (PBuiltinBLS12_381_MlResult s) :: Type -> Type Source #

type AsHaskell PBuiltinBLS12_381_MlResult Source #

@since WIP

Instance details

Defined in Plutarch.BLS

type PlutusRepr PBuiltinBLS12_381_MlResult Source # 
Instance details

Defined in Plutarch.BLS

type DPTStrat PBuiltinBLS12_381_MlResult Source # 
Instance details

Defined in Plutarch.BLS

type PContravariant' PBuiltinBLS12_381_MlResult Source # 
Instance details

Defined in Plutarch.BLS

type PCovariant' PBuiltinBLS12_381_MlResult Source # 
Instance details

Defined in Plutarch.BLS

type PInner PBuiltinBLS12_381_MlResult Source # 
Instance details

Defined in Plutarch.BLS

type PVariant' PBuiltinBLS12_381_MlResult Source # 
Instance details

Defined in Plutarch.BLS

type Rep (PBuiltinBLS12_381_MlResult s) Source # 
Instance details

Defined in Plutarch.BLS

type Rep (PBuiltinBLS12_381_MlResult s) = D1 ('MetaData "PBuiltinBLS12_381_MlResult" "Plutarch.BLS" "plutarch-1.9.0-DaxzFvLNVysDL1hkJ4YFrw" 'True) (C1 ('MetaCons "PBuiltinBLS12_381_MlResult" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Term s POpaque))))

pbls12_381_millerLoop :: Term s (PBuiltinBLS12_381_G1_Element :--> (PBuiltinBLS12_381_G2_Element :--> PBuiltinBLS12_381_MlResult)) Source #

Perform a Miller loop operation on a G1 and G2 element.

Since: 1.9.0

pbls12_381_finalVerify :: Term s (PBuiltinBLS12_381_MlResult :--> (PBuiltinBLS12_381_MlResult :--> PBool)) Source #

Perform the final verification step in BLS12-381 pairing.

Since: 1.9.0