Crate phoenix_core

source ·
Expand description

Phoenix’s Core library types and behaviors

Modules§

  • AES symmetric cipher
  • ElGamal asymmetric encryption This module implements the ElGamal asymmetric cipher. It allows to encrypt and decrypt.

Structs§

  • A note that does not encrypt its value
  • Public pair of a·G and b·G defining a PublicKey
  • Secret pair of a and b defining a SecretKey
  • To obfuscate the identity of the participants, we utilizes a Stealth Address system. A StealthAddress is composed by a one-time note-public-key (the actual address) and a random point R.
  • Transaction Skeleton used by the phoenix transaction model A phoenix transaction, referred to as tx-skeleton in the specs.
  • Pair of a secret a and public b·G

Enums§

  • All possible errors for Phoenix’s Core
  • The types of a Note
  • The sender of the Note. This can be either the encrypted sender’s PublicKey, if the Note was created as an output note of a phoenix-transaction, or some contract-data if the Note was created in another way, e.g. by withdrawing from a contract.

Constants§

Functions§

  • Hashes a JubJub’s ExtendedPoint into a JubJub’s Scalar using the JubJub’s hash to scalar function
  • Use the pedersen commitment scheme to compute a transparent value commitment.
  • Use the pedersen commitment scheme to compute a value commitment using a blinding-factor.