package
2.21.1-hedera-beta.0
Repository: https://github.com/smartcontractkit/chainlink.git
Documentation: pkg.go.dev

# Functions

FieldHash hashes xs uniformly into {0, ..., fieldSize-1}.
HashToCurve is a cryptographic hash function which outputs a secp256k1 point, or an error.
IsCurveXOrdinate returns true iff there is y s.t.
IsSquare returns true iff x = y^2 for some y in GF(p).
ProjectiveECAdd(px, py, qx, qy) duplicates the calculation in projective coordinates of VRF.sol#projectiveECAdd, so we can reliably get the denominator (i.e, z).
ScalarFromCurve returns a hash for the curve points.
SquareRoot returns a s.t.
YSquared returns x^3+7 mod fieldSize, the right-hand side of the secp256k1 curve equation.

# Variables

FieldSize is number of elements in secp256k1's base field, i.e.
RandomOutputHashPrefix is a domain-separation tag for the hash used to compute the final VRF random output.

# Structs

EncryptedVRFKey contains encrypted private key to be serialized to DB We could re-use geth's key handling, here, but this makes it much harder to misuse VRF proving keys as ethereum keys or vice versa.
Proof represents a proof that Gamma was constructed from the Seed according to the process mandated by the PublicKey.

# Type aliases