test4
Fully qualified path: test4
Modules
Re-exports:
Modules
Modules
ecvrf
Fully qualified path: test4::ecvrf
Free functions
Structs
Traits
Impls
Extern functions
Free functions
Free functions
hash_to_curve
Fully qualified path: test4::ecvrf::hash_to_curve
pub fn hash_to_curve(
pk: Point, a: Span<felt252>, sqrt_ratio_hint: felt252,
) -> Result<EcPoint, Error>
Structs
Structs
Point
Fully qualified path: test4::ecvrf::Point
[derive(Copy, Drop, Serde)]
pub struct Point {
pub x: felt252,
pub y: felt252,
}
Members
x
Fully qualified path: test4::ecvrf::Point::x
pub x: felt252
y
Fully qualified path: test4::ecvrf::Point::y
pub y: felt252
Proof
Fully qualified path: test4::ecvrf::Proof
#[derive(Clone, Drop, Serde)]
pub struct Proof {
pub gamma: Point,
pub c: felt252,
pub s: felt252,
pub sqrt_ratio_hint: felt252,
}
Members
gamma
Fully qualified path: test4::ecvrf::Proof::gamma
pub gamma: Point
c
Fully qualified path: test4::ecvrf::Proof::c
pub c: felt252
s
Fully qualified path: test4::ecvrf::Proof::s
pub s: felt252
sqrt_ratio_hint
Fully qualified path: test4::ecvrf::Proof::sqrt_ratio_hint
pub sqrt_ratio_hint: felt252
ECVRF
Fully qualified path: test4::ecvrf::ECVRF
#[derive(Drop)]
pub struct ECVRF {
pub pk: Point,
/* private fields */
}
Members
pk
Fully qualified path: test4::ecvrf::ECVRF::pk
pub pk: Point
Traits
Traits
ECVRFTrait
Fully qualified path: test4::ecvrf::ECVRFTrait
pub trait ECVRFTrait
Trait functions
new
Fully qualified path: test4::ecvrf::ECVRFTrait::new
fn new(pk: Point) -> ECVRF
verify
Fully qualified path: test4::ecvrf::ECVRFTrait::verify
fn verify(self: @ECVRF, proof: Proof, seed: Span<felt252>) -> Result<felt252, Error>
proof_to_hash
Fully qualified path: test4::ecvrf::ECVRFTrait::proof_to_hash
fn proof_to_hash(self: @ECVRF, proof: Proof) -> Result<felt252, Error>
Impls
Impls
ECVRFImpl
Fully qualified path: test4::ecvrf::ECVRFImpl
pub impl ECVRFImpl of ECVRFTrait;
Impl functions
new
Fully qualified path: test4::ecvrf::ECVRFImpl::new
fn new(pk: Point) -> ECVRF
verify
Fully qualified path: test4::ecvrf::ECVRFImpl::verify
fn verify(self: @ECVRF, proof: Proof, seed: Span<felt252>) -> Result<felt252, Error>
proof_to_hash
Fully qualified path: test4::ecvrf::ECVRFImpl::proof_to_hash
fn proof_to_hash(self: @ECVRF, proof: Proof) -> Result<felt252, Error>
Extern functions
Extern functions
felt252_div
Fully qualified path: test4::ecvrf::felt252_div
pub extern fn felt252_div(lhs: felt252, rhs: NonZero<felt252>) -> felt252 nopanic;
error
Fully qualified path: test4::error
Enums
Enums
Enums
Error
Fully qualified path: test4::error::Error
pub enum Error {
ProofVerificationError,
PointAtInfinity,
}
Variants
ProofVerificationError
Fully qualified path: test4::error::Error::ProofVerificationError
ProofVerificationError
PointAtInfinity
Fully qualified path: test4::error::Error::PointAtInfinity
PointAtInfinity
math
Fully qualified path: test4::math
Constants
Free functions
Constants
Constants
Z
Fully qualified path: test4::math::Z
pub const Z: felt252 = 19;
A
Fully qualified path: test4::math::A
pub const A: felt252 = 1;
B
Fully qualified path: test4::math::B
pub const B: felt252 = 3141592653589793238462643383279502884197169399375105820974944592307816406665;
Free functions
Free functions
sqrt_ratio
Fully qualified path: test4::math::sqrt_ratio
pub fn sqrt_ratio(u: felt252, v: felt252, sqrt_ratio_hint: felt252) -> (bool, felt252)