Struct switchboard_solana::oracle_program::accounts::ecvrf::VrfBuilder
source · #[repr(packed(1))]pub struct VrfBuilder {Show 38 fields
pub producer: Pubkey,
pub status: VrfStatus,
pub repr_proof: [u8; 80],
pub proof: EcvrfProofZC,
pub Y_point: Pubkey,
pub stage: u32,
pub stage1_out: EcvrfIntermediate,
pub R_1: EdwardsPointZC,
pub R_2: EdwardsPointZC,
pub stage3_out: EcvrfIntermediate,
pub H_point: EdwardsPointZC,
pub s_reduced: Scalar,
pub Y_point_builder: [FieldElementZC; 3],
pub Y_ristretto_point: EdwardsPointZC,
pub mul_round: u8,
pub hash_points_round: u8,
pub mul_tmp1: CompletedPointZC,
pub U_point1: EdwardsPointZC,
pub U_point2: EdwardsPointZC,
pub V_point1: EdwardsPointZC,
pub V_point2: EdwardsPointZC,
pub U_point: EdwardsPointZC,
pub V_point: EdwardsPointZC,
pub u1: FieldElementZC,
pub u2: FieldElementZC,
pub invertee: FieldElementZC,
pub y: FieldElementZC,
pub z: FieldElementZC,
pub p1_bytes: [u8; 32],
pub p2_bytes: [u8; 32],
pub p3_bytes: [u8; 32],
pub p4_bytes: [u8; 32],
pub c_prime_hashbuf: [u8; 16],
pub m1: FieldElementZC,
pub m2: FieldElementZC,
pub tx_remaining: u32,
pub verified: bool,
pub result: [u8; 32],
}
Fields§
§producer: Pubkey
The OracleAccountData that is producing the randomness.
status: VrfStatus
The current status of the VRF verification.
repr_proof: [u8; 80]
The VRF proof sourced from the producer.
proof: EcvrfProofZC
§Y_point: Pubkey
§stage: u32
§stage1_out: EcvrfIntermediate
§R_1: EdwardsPointZC
§R_2: EdwardsPointZC
§stage3_out: EcvrfIntermediate
§H_point: EdwardsPointZC
§s_reduced: Scalar
§Y_point_builder: [FieldElementZC; 3]
§Y_ristretto_point: EdwardsPointZC
§mul_round: u8
§hash_points_round: u8
§mul_tmp1: CompletedPointZC
§U_point1: EdwardsPointZC
§U_point2: EdwardsPointZC
§V_point1: EdwardsPointZC
§V_point2: EdwardsPointZC
§U_point: EdwardsPointZC
§V_point: EdwardsPointZC
§u1: FieldElementZC
§u2: FieldElementZC
§invertee: FieldElementZC
§y: FieldElementZC
§z: FieldElementZC
§p1_bytes: [u8; 32]
§p2_bytes: [u8; 32]
§p3_bytes: [u8; 32]
§p4_bytes: [u8; 32]
§c_prime_hashbuf: [u8; 16]
§m1: FieldElementZC
§m2: FieldElementZC
§tx_remaining: u32
The number of transactions remaining to verify the VRF proof.
verified: bool
Whether the VRF proof has been verified on-chain.
result: [u8; 32]
The VRF proof verification result. Will be zeroized if still awaiting fulfillment.
Trait Implementations§
source§impl Clone for VrfBuilder
impl Clone for VrfBuilder
source§fn clone(&self) -> VrfBuilder
fn clone(&self) -> VrfBuilder
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Default for VrfBuilder
impl Default for VrfBuilder
impl Copy for VrfBuilder
Auto Trait Implementations§
impl RefUnwindSafe for VrfBuilder
impl Send for VrfBuilder
impl Sync for VrfBuilder
impl Unpin for VrfBuilder
impl UnwindSafe for VrfBuilder
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more