Skip to content

placeholder_verifier

Classes

Name
struct placeholder_verifier::placeholder_proof_type
struct placeholder_verifier::placeholder_challenges_type
struct placeholder_verifier::placeholder_permutation_argument_input_type
struct placeholder_verifier::transcript_state_type
struct placeholder_verifier::precomputed_values_type

Types

Name
typedef attribute((ext_vector_type(2))) typename pallas typedef attribute((ext_vector_type(4))) typename pallas typedef attribute((ext_vector_type(2))) typename pallas bool(std::array< pallas::base_field_type::value_type, full_public_input_size > public_input, std::array< pallas::base_field_type::value_type, 2 > vk, placeholder_proof_type proof) placeholder_verifier

Functions

Name
void transcript(transcript_state_type & tr_state, pallas::base_field_type::value_type value)
pallas::base_field_type::value_type transcript_challenge(transcript_state_type & tr_state)
pallas::base_field_type::value_type pow_rows_amount(pallas::base_field_type::value_type x)
pallas::base_field_type::value_type pow2(pallas::base_field_type::value_type x)
pallas::base_field_type::value_type pow3(pallas::base_field_type::value_type x)
pallas::base_field_type::value_type pow4(pallas::base_field_type::value_type x)
pallas::base_field_type::value_type pow5(pallas::base_field_type::value_type x)
pallas::base_field_type::value_type pow6(pallas::base_field_type::value_type x)
pallas::base_field_type::value_type pow7(pallas::base_field_type::value_type x)
pallas::base_field_type::value_type pow8(pallas::base_field_type::value_type x)
pallas::base_field_type::value_type pow9(pallas::base_field_type::value_type x)
template <std::size_t p>
pallas::base_field_type::value_type
pow(pallas::base_field_type::value_type x)
std::array< pallas::base_field_type::value_type, singles_amount > fill_singles(pallas::base_field_type::value_type xi, pallas::base_field_type::value_type eta)
placeholder_challenges_type generate_challenges(const std::array< pallas::base_field_type::value_type, 2 > & vk, const placeholder_proof_type & proof)
std::pair< pallas::base_field_type::value_type, pallas::base_field_type::value_type > xi_polys(pallas::base_field_type::value_type xi)
std::array< pallas::base_field_type::value_type, constraints_amount > calculate_constraints(std::array< pallas::base_field_type::value_type, points_num > z)
pallas::base_field_type::value_type gate_argument_verifier(std::array< typename pallas::base_field_type::value_type, gates_amount > selectors, std::array< typename pallas::base_field_type::value_type, constraints_amount > constraints, typename pallas::base_field_type::value_type theta)
template <std::size_t start_index,std::size_t leaf_size>
pallas::base_field_type::value_type
calculate_leaf_hash(std::array< pallas::base_field_type::value_type, initial_proof_points_num > val, bool reversed)

Attributes

Name
const bool use_lookups
const size_t batches_num
const size_t commitments_num
const size_t points_num
const size_t poly_num
const size_t initial_proof_points_num
const size_t round_proof_points_num
const size_t fri_roots_num
const size_t initial_merkle_proofs_num
const size_t initial_merkle_proofs_position_num
const size_t initial_merkle_proofs_hash_num
const size_t round_merkle_proofs_position_num
const size_t round_merkle_proofs_hash_num
const size_t final_polynomial_size
const size_t lambda
const size_t rows_amount
const size_t rows_log
const size_t total_columns
const size_t sorted_columns
const size_t permutation_size
const std::array< size_t, total_columns > zero_indices
const size_t table_values_num
const size_t gates_amount
std::array< std::size_t, gates_amount > gates_selector_indices
const size_t constraints_amount
const size_t quotient_polys_start
const size_t quotient_polys_amount
const size_t lookup_sorted_polys_start
const size_t D0_size
const size_t D0_log
const pallas::base_field_type::value_type D0_omega
const pallas::base_field_type::value_type omega
const size_t fri_rounds
const std::array< int, gates_amount > gates_sizes
const size_t unique_points
const size_t singles_amount
const std::array< std::size_t, batches_num > batches_amount_list
std::size_t L0_IND
std::size_t Z_AT_XI_IND
std::size_t F_CONSOLIDATED_IND
std::size_t T_CONSOLIDATED_IND

Types Documentation

typedef placeholder_verifier

typedef __attribute__((ext_vector_type(2))) typename pallas typedef __attribute__((ext_vector_type(4))) typename pallas typedef __attribute__((ext_vector_type(2))) typename pallas bool placeholder_verifier::placeholder_verifier(std::array< pallas::base_field_type::value_type, full_public_input_size > public_input, std::array< pallas::base_field_type::value_type, 2 > vk, placeholder_proof_type proof);

Functions Documentation

function transcript

void transcript(
    transcript_state_type & tr_state,
    pallas::base_field_type::value_type value
)

function transcript_challenge

pallas::base_field_type::value_type transcript_challenge(
    transcript_state_type & tr_state
)

function pow_rows_amount

pallas::base_field_type::value_type pow_rows_amount(
    pallas::base_field_type::value_type x
)

function pow2

pallas::base_field_type::value_type pow2(
    pallas::base_field_type::value_type x
)

function pow3

pallas::base_field_type::value_type pow3(
    pallas::base_field_type::value_type x
)

function pow4

pallas::base_field_type::value_type pow4(
    pallas::base_field_type::value_type x
)

function pow5

pallas::base_field_type::value_type pow5(
    pallas::base_field_type::value_type x
)

function pow6

pallas::base_field_type::value_type pow6(
    pallas::base_field_type::value_type x
)

function pow7

pallas::base_field_type::value_type pow7(
    pallas::base_field_type::value_type x
)

function pow8

pallas::base_field_type::value_type pow8(
    pallas::base_field_type::value_type x
)

function pow9

pallas::base_field_type::value_type pow9(
    pallas::base_field_type::value_type x
)

function pow

template <std::size_t p>
pallas::base_field_type::value_type pow(
    pallas::base_field_type::value_type x
)

function fill_singles

std::array< pallas::base_field_type::value_type, singles_amount > fill_singles(
    pallas::base_field_type::value_type xi,
    pallas::base_field_type::value_type eta
)

function generate_challenges

placeholder_challenges_type generate_challenges(
    const std::array< pallas::base_field_type::value_type, 2 > & vk,
    const placeholder_proof_type & proof
)

function xi_polys

std::pair< pallas::base_field_type::value_type, pallas::base_field_type::value_type > xi_polys(
    pallas::base_field_type::value_type xi
)

function calculate_constraints

std::array< pallas::base_field_type::value_type, constraints_amount > calculate_constraints(
    std::array< pallas::base_field_type::value_type, points_num > z
)

function gate_argument_verifier

pallas::base_field_type::value_type gate_argument_verifier(
    std::array< typename pallas::base_field_type::value_type, gates_amount > selectors,
    std::array< typename pallas::base_field_type::value_type, constraints_amount > constraints,
    typename pallas::base_field_type::value_type theta
)

function calculate_leaf_hash

template <std::size_t start_index,
std::size_t leaf_size>
pallas::base_field_type::value_type calculate_leaf_hash(
    std::array< pallas::base_field_type::value_type, initial_proof_points_num > val,
    bool reversed
)

Attributes Documentation

variable use_lookups

const bool use_lookups = false;

variable batches_num

const size_t batches_num = 4;

variable commitments_num

const size_t commitments_num = 3;

variable points_num

const size_t points_num = 328;

variable poly_num

const size_t poly_num = 166;

variable initial_proof_points_num

const size_t initial_proof_points_num = 332;

variable round_proof_points_num

const size_t round_proof_points_num = 18;

variable fri_roots_num

const size_t fri_roots_num = 9;

variable initial_merkle_proofs_num

const size_t initial_merkle_proofs_num = 36;

variable initial_merkle_proofs_position_num

const size_t initial_merkle_proofs_position_num = 11;

variable initial_merkle_proofs_hash_num

const size_t initial_merkle_proofs_hash_num = 44;

variable round_merkle_proofs_position_num

const size_t round_merkle_proofs_position_num = 63;

variable round_merkle_proofs_hash_num

const size_t round_merkle_proofs_hash_num = 63;

variable final_polynomial_size

const size_t final_polynomial_size = 2;

variable lambda

const size_t lambda = 9;

variable rows_amount

const size_t rows_amount = 1024;

variable rows_log

const size_t rows_log = 10;

variable total_columns

const size_t total_columns = 107;

variable sorted_columns

const size_t sorted_columns = 0;

variable permutation_size

const size_t permutation_size = 18;

variable zero_indices

const std::array< size_t, total_columns > zero_indices                                                 = {
261, 264, 267, 270, 273, 276, 279, 282, 285, 288, 291, 294, 297, 300, 303, 305, 78,  80,  82,  84,  86,  88,  90,  92,  94,  96,  98,
100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122, 124, 126, 128, 130, 132, 134, 136, 138, 140, 142, 144, 146, 148, 150, 152,
154, 156, 158, 160, 162, 164, 166, 168, 170, 172, 174, 176, 178, 180, 182, 184, 186, 188, 190, 192, 194, 196, 198, 200, 202, 204, 206,
208, 210, 212, 214, 216, 218, 220, 222, 224, 226, 228, 230, 232, 234, 236, 238, 240, 242, 244, 246, 248, 250, 252, 254, 256, 258 };

variable table_values_num

const size_t table_values_num = 228;

variable gates_amount

const size_t gates_amount = 7;

variable gates_selector_indices

std::array< std::size_t, gates_amount > gates_selector_indices = { 0, 1, 2, 3, 4, 5, 6 };

variable constraints_amount

const size_t constraints_amount = 77;

variable quotient_polys_start

const size_t quotient_polys_start = 308;

variable quotient_polys_amount

const size_t quotient_polys_amount = 20;

variable lookup_sorted_polys_start

const size_t lookup_sorted_polys_start = 328;

variable D0_size

const size_t D0_size = 4096;

variable D0_log

const size_t D0_log = 12;

variable D0_omega

const pallas::base_field_type::value_type D0_omega                                                      =
pallas::base_field_type::value_type( 0x291917312f33e5239161008fab331deeb7292c5c6cf6e088c29b8d7491fcb2a4_cppui255 );

variable omega

const pallas::base_field_type::value_type omega                                             =
pallas::base_field_type::value_type( 0x2ebbfd0093d6cb763b4ade66b66e653bd9786c8a7b47604b73e211ee3dd8df75_cppui255 );

variable fri_rounds

const size_t fri_rounds = 9;

variable gates_sizes

const std::array< int, gates_amount > gates_sizes = { 21, 34, 3, 12, 3, 3, 1 };

variable unique_points

const size_t unique_points = 4;

variable singles_amount

const size_t singles_amount = 4;

variable batches_amount_list

const std::array< std::size_t, batches_num > batches_amount_list = { 129, 16, 1, 20 };

variable L0_IND

std::size_t L0_IND = 0;

variable Z_AT_XI_IND

std::size_t Z_AT_XI_IND = 1;

variable F_CONSOLIDATED_IND

std::size_t F_CONSOLIDATED_IND = 2;

variable T_CONSOLIDATED_IND

std::size_t T_CONSOLIDATED_IND = 3;

Updated on 2026-04-13 at 23:22:46 -0700