Keyboard shortcuts

Press or to navigate between chapters

Press ? to show this help

Press Esc to hide this help

test4

Fully qualified path: test4

Modules

ecvrf
error
math

Re-exports:

ECVRF
Point
Proof


Modules

Modules

ecvrf
error
math

ecvrf

Fully qualified path: test4::ecvrf

Free functions

Structs

Point
Proof
ECVRF

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
Proof
ECVRF

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

Error

Enums

Enums

Error

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

Z
A
B

Free functions

Constants

Constants

Z
A
B

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)