Struct zkinterface::zkinterface_generated::zkinterface::CircuitHeader[][src]

pub struct CircuitHeader<'a> {
    pub _tab: Table<'a>,
}

A description of a circuit or sub-circuit. This can be a complete circuit ready for proving, or a part of a circuit being built.

Fields

_tab: Table<'a>

Implementations

impl<'a> CircuitHeader<'a>[src]

pub fn init_from_table(table: Table<'a>) -> Self[src]

pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
    _fbb: &'mut_bldr mut FlatBufferBuilder<'bldr>,
    args: &'args CircuitHeaderArgs<'args>
) -> WIPOffset<CircuitHeader<'bldr>>
[src]

pub const VT_INSTANCE_VARIABLES: VOffsetT[src]

pub const VT_FREE_VARIABLE_ID: VOffsetT[src]

pub const VT_FIELD_MAXIMUM: VOffsetT[src]

pub const VT_CONFIGURATION: VOffsetT[src]

pub fn instance_variables(&self) -> Option<Variables<'a>>[src]

Instance variables. This is also called public inputs to the circuit.

  • Variables are allocated by the sender of this message.
  • The same structure must be provided for R1CS and witness generations.
  • Values may be omitted in some contexts, such as in a preprocessing phase.
  • During witness generation, variables must be assigned values.
  • In the particular context of a gadget call, instance_variables holds the inputs to the gadget, i.e. variables allocated by the caller that the gadget can refer to. In the context of a gadget response, it holds the outputs of the gadget, i.e. variables allocated by the gadget that the caller can refer to.

pub fn free_variable_id(&self) -> u64[src]

A variable ID greater than all IDs allocated by the sender of this message. The recipient of this message can allocate new IDs >= free_variable_id.

pub fn field_maximum(&self) -> Option<&'a [u8]>[src]

The largest element of the finite field used by the current system. A canonical little-endian representation of the field order minus one. See Variables.values below.

pub fn configuration(&self) -> Option<Vector<'a, ForwardsUOffset<KeyValue<'a>>>>[src]

Optional: Any custom parameter that may influence the circuit construction.

Example: function_name, if a gadget supports multiple function variants. Example: the depth of a Merkle tree. Counter-example: a Merkle path is not config and belongs in instance_variables.info.

Trait Implementations

impl<'a> Clone for CircuitHeader<'a>[src]

impl<'a> Copy for CircuitHeader<'a>[src]

impl<'a> Debug for CircuitHeader<'a>[src]

impl<'a> Follow<'a> for CircuitHeader<'a>[src]

type Inner = CircuitHeader<'a>

impl<'a> From<CircuitHeader<'a>> for CircuitHeader[src]

fn from(fb_header: CircuitHeader<'_>) -> CircuitHeader[src]

Convert from Flatbuffers references to owned structure.

impl<'a> PartialEq<CircuitHeader<'a>> for CircuitHeader<'a>[src]

impl<'a> StructuralPartialEq for CircuitHeader<'a>[src]

Auto Trait Implementations

impl<'a> RefUnwindSafe for CircuitHeader<'a>

impl<'a> Send for CircuitHeader<'a>

impl<'a> Sync for CircuitHeader<'a>

impl<'a> Unpin for CircuitHeader<'a>

impl<'a> UnwindSafe for CircuitHeader<'a>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,