# tezex v4.0.0 - API Reference

## Modules

- [Tezex.Crypto](Tezex.Crypto.md): Provides cryptographic functions for Tezos blockchain operations.
- [Tezex.Crypto.BLS](Tezex.Crypto.BLS.md): Pure Elixir BLS12-381 cryptographic operations for Tezos tz4 addresses.
- [Tezex.Crypto.BLS.Constants](Tezex.Crypto.BLS.Constants.md): BLS12-381 curve constants for pairing computation.
Standard BLS12-381 curve constants.

- [Tezex.Crypto.BLS.Fq](Tezex.Crypto.BLS.Fq.md): Base field Fq for BLS12-381.
- [Tezex.Crypto.BLS.Fq12](Tezex.Crypto.BLS.Fq12.md): The 12th-degree extension field Fq12 for BLS12-381.
This is the target field for pairings: GT = Fq12.
- [Tezex.Crypto.BLS.Fq2](Tezex.Crypto.BLS.Fq2.md): Quadratic extension field Fq2 for BLS12-381.
- [Tezex.Crypto.BLS.FqP](Tezex.Crypto.BLS.FqP.md): Polynomial extension field base class for BLS12-381.
This is the base for building higher-degree extension fields like Fq12.

- [Tezex.Crypto.BLS.Fr](Tezex.Crypto.BLS.Fr.md): Scalar field Fr for BLS12-381 (curve order).
- [Tezex.Crypto.BLS.G1](Tezex.Crypto.BLS.G1.md): G1 elliptic curve group for BLS12-381.
- [Tezex.Crypto.BLS.G2](Tezex.Crypto.BLS.G2.md): G2 elliptic curve group for BLS12-381.
- [Tezex.Crypto.BLS.HashToField](Tezex.Crypto.BLS.HashToField.md): Hash-to-Field implementation for BLS12-381
- [Tezex.Crypto.BLS.Pairing](Tezex.Crypto.BLS.Pairing.md): BLS12-381 pairing operations implementing the Optimal ATE pairing.
- [Tezex.Crypto.Base58Check](Tezex.Crypto.Base58Check.md): Base58Check encoding/decoding utils

- [Tezex.Crypto.Curve](Tezex.Crypto.Curve.md): Specific elliptic curve data.
- [Tezex.Crypto.ECDSA](Tezex.Crypto.ECDSA.md): Elliptic Curve Digital Signature Algorithm (ECDSA) implementation to:
- decode compressed public key
- verify signatures
- sign bytes

- [Tezex.Crypto.HMACDRBG](Tezex.Crypto.HMACDRBG.md): Pure Elixir implementation of [HMAC-DRBG](https://csrc.nist.gov/csrc/media/events/random-number-generation-workshop-2004/documents/hashblockcipherdrbg.pdf)
- [Tezex.Crypto.KnownCurves](Tezex.Crypto.KnownCurves.md): The supported elliptic curves

- [Tezex.Crypto.NaCl](Tezex.Crypto.NaCl.md): NaCl-compatible cryptographic functions for Tezos encrypted key handling.
- [Tezex.Crypto.Point](Tezex.Crypto.Point.md): Holds point data. Is usually handled internally by the library and serves only as detailed information to the end-user.
- [Tezex.Crypto.PrivateKey](Tezex.Crypto.PrivateKey.md): Holds private key data.
- [Tezex.Crypto.PublicKey](Tezex.Crypto.PublicKey.md): Holds public key data.
- [Tezex.Crypto.Signature](Tezex.Crypto.Signature.md): Holds signature data.
- [Tezex.Fee](Tezex.Fee.md)
- [Tezex.Forge](Tezex.Forge.md): Convert Tezos Micheline data from/to binary form for injection into the Tezos blockchain (aka forging/unforging Micheline).
- [Tezex.ForgeOperation](Tezex.ForgeOperation.md): Prepare an operation or an operation group for injection into the Tezos blockchain.
- [Tezex.Micheline](Tezex.Micheline.md): Serialize/deserialize data to/from Tezos Micheline optimized binary representation.

- [Tezex.Rpc](Tezex.Rpc.md): Send transactions to the Tezos network.
- [Tezex.Zarith](Tezex.Zarith.md): Provides encoding and decoding functions for Zarith numbers.

